LCOV - code coverage report
Current view: top level - EMCAL/EMCALrec - AliEMCALClusterizerNxN.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 8 12.5 %
Date: 2016-06-14 17:26:59 Functions: 1 12 8.3 %

          Line data    Source code
       1             : #ifndef ALIEMCALCLUSTERIZERNXN_H
       2             : #define ALIEMCALCLUSTERIZERNXN_H
       3             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       4             :  * See cxx source for full Copyright notice                               */
       5             : 
       6             : //_________________________________________________________________________
       7             : // This class derives from AliEMCALClustrerizer but also keeps the API of AliEMCALClusterizerv1
       8             : // Algorithm:
       9             : // 1. peek the most energetic cell
      10             : // 2. assign it as a center of the cluster and add cells surrounding it: 3x3, 5x5...
      11             : // 3. remove the cells contributing to the cluster
      12             : // 4. start from 1 for the remaining clusters
      13             : // 5. cluster splitting (not implemented yet) - use the shape analysis to resolve the energy sharing
      14             : // - for high energy clusters check the surrounding of the 3x3 clusters for extra energy 
      15             : // (merge 3x3 clusters and resolve the internal energy sharing - case for 2 clusters merged)
      16             : 
      17             : #include "AliEMCALClusterizer.h"
      18             : class AliEMCALRecPoint ; 
      19             : class AliEMCALDigit ;
      20             : 
      21             : class AliEMCALClusterizerNxN : public AliEMCALClusterizer {
      22             :   
      23             : public:
      24             :   
      25             :   AliEMCALClusterizerNxN() ;         
      26             :   AliEMCALClusterizerNxN(AliEMCALGeometry* geometry);
      27             :   AliEMCALClusterizerNxN(AliEMCALGeometry* geometry, AliEMCALCalibData * calib,
      28             :                          AliEMCALCalibTime * calibt, AliCaloCalibPedestal *pedestal);
      29             :         
      30             :   virtual ~AliEMCALClusterizerNxN()  ;
      31             : 
      32             :   virtual Int_t   AreNeighbours(AliEMCALDigit * d1, AliEMCALDigit * d2, Bool_t & shared)const ; 
      33             :                                // Checks if digits are in neighbour cells 
      34             : 
      35             :   virtual void   Digits2Clusters(Option_t *option);                // Does the job
      36             : 
      37           0 :   virtual const char * Version() const { return "clu-NxN" ; }  
      38             :   
      39           0 :   void SetNRowDiff(Int_t nd) { fNRowDiff = nd; }
      40           0 :   void SetNColDiff(Int_t nd) { fNColDiff = nd; }
      41           0 :   Int_t GetNRowDiff() const { return fNRowDiff; } 
      42           0 :   Int_t GetNColDiff() const { return fNColDiff; } 
      43           0 :   void SetEnergyGrad(Bool_t b) { fEnergyGrad= b; }
      44           0 :   Bool_t GetEnergyGrad() const { return fEnergyGrad; }
      45             : 
      46             : protected:
      47             : 
      48             :   virtual void   MakeClusters();            
      49             : 
      50             : private:
      51             :   AliEMCALClusterizerNxN(const AliEMCALClusterizerNxN &); //copy ctor
      52             :   AliEMCALClusterizerNxN & operator = (const AliEMCALClusterizerNxN &);
      53             : 
      54             :   Int_t  fNRowDiff;  //how many neighbors to consider along row (phi)
      55             :   Int_t  fNColDiff;  //how many neighbors to consider along col (eta)
      56             :   Bool_t fEnergyGrad; //if true only cluster if neighboring cell has less energy
      57             : 
      58          42 :   ClassDef(AliEMCALClusterizerNxN,4)   // Clusterizer implementation version 1
      59             : };
      60             : 
      61             : #endif // AliEMCALCLUSTERIZERNXN_H

Generated by: LCOV version 1.11