ROOT logo
#ifndef ALIANALYSISTASKEMCALCLUSTERIZE_H
#define ALIANALYSISTASKEMCALCLUSTERIZE_H

// This analysis provides a new list of clusters to be used in other analysis
// Author: Gustavo Conesa Balbastre,
//         Adapted from analysis class from Deepa Thomas

//Root
class TTree;
class TClonesArray;

#include "AliCentrality.h"

//EMCAL
class AliEMCALGeometry;
class AliEMCALCalibData;
class AliCaloCalibPedestal;
class AliEMCALClusterizer;
class AliEMCALAfterBurnerUF;
class AliEMCALRecPoint;
class AliAODCaloCluster;
#include "AliEMCALRecParam.h"
#include "AliEMCALRecoUtils.h"


#include "AliAnalysisTaskSE.h"

class AliAnalysisTaskEMCALClusterize : public AliAnalysisTaskSE {
 public:
  AliAnalysisTaskEMCALClusterize();
  AliAnalysisTaskEMCALClusterize(const char *name);
  virtual ~AliAnalysisTaskEMCALClusterize();

  virtual void   UserCreateOutputObjects();
  virtual void   UserExec(Option_t *option);
  virtual void   Init();
  virtual void   LocalInit()                                    { Init()                       ; }
    
  // Event methods, settings
  
  Bool_t         AcceptEventEMCAL();
  void           SwitchOnSelectEMCALEvent()                    { fSelectEMCALEvent   = kTRUE   ; }
  void           SwitchOffSelectEMCALEvent()                   { fSelectEMCALEvent   = kFALSE  ; }
  void           SetEMCALEnergyCut(Float_t cut)                { fEMCALEnergyCut     = cut     ; }
  void           SetEMCALNcellsCut(Int_t cut)                  { fEMCALNcellsCut     = cut     ; }

  void           SwitchOnInputAODFilter()                      { fInputFromFilter    = kTRUE   ; }
  void           SwitchOffInputAODFilter()                     { fInputFromFilter    = kFALSE  ; }
  
  void           CheckAndGetEvent();
  
  Bool_t         IsExoticEvent();
  void           SwitchOnExoticEventsRemoval()                  { fRemoveExoticEvents= kTRUE   ; }
  void           SwitchOffExoticEventsRemoval()                 { fRemoveExoticEvents= kFALSE  ; } 
  
  Bool_t         IsLEDEvent(const Int_t run);
  void           SwitchOnLEDEventsRemoval()                     { fRemoveLEDEvents   = kTRUE   ; }
  void           SwitchOffLEDEventsRemoval()                    { fRemoveLEDEvents   = kFALSE  ; } 
  
  //OCDB
  Bool_t         AccessOCDB();
  void           SwitchOnAccessOCDB()                           { fAccessOCDB       = kTRUE    ; }
  void           SwitchOffAccessOCDB()                          { fAccessOCDB       = kFALSE   ; } 
  void           SetOCDBPath(const char *path)                  { fOCDBpath         = path     ; }
  
  //Geometry methods
  void           InitGeometry();
  void           SetGeometryName(TString &name)                 { fGeomName = name             ; }
  TString        GeometryName()                          const  { return fGeomName             ; }  
  void           SwitchOnLoadOwnGeometryMatrices()              { fLoadGeomMatrices = kTRUE    ; }
  void           SwitchOffLoadOwnGeometryMatrices()             { fLoadGeomMatrices = kFALSE   ; } 
  void           SetGeometryMatrixInSM(TGeoHMatrix* m, Int_t i) { fGeomMatrix[i]    = m        ; }

  void           SetImportGeometryFromFile(Bool_t  im, 
                                           TString pa = "")     { fImportGeometryFromFile = im ; 
                                                                  fImportGeometryFilePath = pa ; }    
  //AOD methods
  void           SetAODBranchName(TString &name)                { fOutputAODBranchName = name  ; }
  void           FillAODFile(Bool_t yesno)                      { fFillAODFile         = yesno ; }
  void           FillAODCaloCells();
  void           FillAODHeader();
  void           SwitchOnFillAODHeader()                        { fFillAODHeader     = kTRUE   ; }
  void           SwitchOffFillAODHeader()                       { fFillAODHeader     = kFALSE  ; } 
  void           SwitchOnFillAODCaloCells()                     { fFillAODCaloCells  = kTRUE   ; }
  void           SwitchOffFillAODCaloCells()                    { fFillAODCaloCells  = kFALSE  ; } 

  void           SwitchOnRecalibrateWithClusterTime()           { fRecalibrateWithClusterTime  = kTRUE   ; }
  void           SwitchOffRecalibrateWithClusterTime()          { fRecalibrateWithClusterTime  = kFALSE  ; }
  

  
  //Algorithms settings
  
  AliEMCALRecParam * GetRecParam()                              { if(!fRecParam)  fRecParam  = new AliEMCALRecParam  ;
                                                                  return fRecParam             ; }
  
  AliEMCALRecoUtils* GetRecoUtils()                             { if(!fRecoUtils) fRecoUtils = new AliEMCALRecoUtils ;  
                                                                  return fRecoUtils            ; }

  void           InitClusterization();
  void           ClusterizeCells();
  void           ClusterUnfolding();
  void           JustUnfold(Bool_t yesno)                       { fJustUnfold        = yesno   ; }
    
  void           SetConfigFileName(TString name)                { fConfigName        = name    ; }
  void           SetMaxEvent(Int_t max)                         { fMaxEvent          = max     ; }
  
  void           SwitchOnTrackMatching()                        { fDoTrackMatching   = kTRUE   ; }
  void           SwitchOffTrackMatching()                       { fDoTrackMatching   = kFALSE  ; } 

  // Cell selection after unfolding
  void           SwitchOnCellEnergySelection()                  { fSelectCell        = kTRUE   ; }
  void           SwitchOffCellEnergySelection()                 { fSelectCell        = kFALSE  ; } 
  void           SetCellCuts(Float_t e, Float_t frac)           { fSelectCellMinE    = e       ; 
                                                                  fSelectCellMinFrac = frac    ; }
  void           SetRejectBelowThreshold(Bool_t reject)         { fRejectBelowThreshold =reject ; }
  // OADB options settings
  
  void           AccessOADB() ;
  
  TString        GetPass()    ;
  
  void           SwitchOnEMCALOADB()                            { fAccessOADB        = kTRUE   ; }
  void           SwitchOffEMCALOADB()                           { fAccessOADB        = kFALSE  ; }
    
  void           SetOADBFilePath(TString path)                  { fOADBFilePath      = path    ; }
  
  // Centrality selection
  
  AliCentrality* GetCentrality()                                { return InputEvent()->GetCentrality() ; } //Look in AOD reader, different there
  void           SetCentralityClass(TString name)               { fCentralityClass   = name            ; }
  TString        GetCentralityClass()                     const { return fCentralityClass              ; }
  Float_t        GetEventCentrality()                           { if(GetCentrality()) return GetCentrality()->GetCentralityPercentile(fCentralityClass) ;
                                                                  else                return -1.       ; }
  void           SetCentralityBin(Int_t min, Int_t max) //Set the centrality bin to select the event. If used, then need to get percentile
                                                                { fCentralityBin[0]=min ; fCentralityBin[1]=max ; }
  Float_t        GetCentralityBin(Int_t i)                const { if(i < 0 || i > 1) return -1 ; 
                                                                  else               return fCentralityBin[i]   ; }
  
  //MC label methods
  
  void           RemapMCLabelForAODs(Int_t &label);
  void           SwitchOnRemapMCLabelForAODs()                  { fRemapMCLabelForAODs  = kTRUE   ; }
  void           SwitchOffRemapMCLabelForAODs()                 { fRemapMCLabelForAODs  = kFALSE  ; }

  void           SetClustersMCLabelFrom2SelectedLabels(AliEMCALRecPoint* recPoint, AliAODCaloCluster *clus) ;
  void           SetClustersMCLabelFromOriginalClusters(AliAODCaloCluster * clus) ;
  
  void           SwitchOnUseClusterMCLabelForCell(Int_t opt = 2) { fSetCellMCLabelFromCluster = opt ; }
  void           SwitchOffUseClusterMCLabelForCell()             { fSetCellMCLabelFromCluster = 0   ; }

private:
    
  virtual void   FillCaloClusterInEvent();
  
  virtual void   RecPoints2Clusters();
  
  virtual void   ResetArrays();
    
  AliVEvent             *fEvent;                   // Event 
  
  //Geometry  
  AliEMCALGeometry      *fGeom;                    // EMCAL geometry
  TString                fGeomName;                // Name of geometry to use.
  TGeoHMatrix           *fGeomMatrix[12];          // Geometry matrices with alignments
  Bool_t                 fGeomMatrixSet;           // Set geometry matrices only once, for the first event.         
  Bool_t                 fLoadGeomMatrices;        // Matrices set from configuration, not get from geometry.root or from ESDs/AODs

  //OCDB
  AliEMCALCalibData     *fCalibData;               // EMCAL calib data
  AliCaloCalibPedestal  *fPedestalData;            // EMCAL pedestal
  TString                fOCDBpath;                // Path with OCDB location
  Bool_t                 fAccessOCDB;              // Need to access info from OCDB (not really)   

  //Temporal arrays
  TClonesArray          *fDigitsArr;               //! Digits array
  TObjArray             *fClusterArr;              //! Recpoints array
  TObjArray             *fCaloClusterArr;          //! CaloClusters array

  //Clusterizers 
  AliEMCALRecParam      *fRecParam;                // Reconstruction parameters container
  AliEMCALClusterizer   *fClusterizer;             //! EMCAL clusterizer
  AliEMCALAfterBurnerUF *fUnfolder;                //! Unfolding procedure
  Bool_t                 fJustUnfold;              // Just unfold, do not recluster
  
  //AOD
  TClonesArray          *fOutputAODBranch;         //! AOD Branch with output clusters  
  TString                fOutputAODBranchName;     // New of output AOD branch
  Bool_t                 fOutputAODBranchSet ;     // Set the AOD clusters branch in the input event once
  Bool_t                 fFillAODFile;             // Fill the output AOD file with the new clusters, 
                                                   // if not they will be only available for the event they were generated
  Bool_t                 fFillAODHeader;           // Copy header to standard branch
  Bool_t                 fFillAODCaloCells;        // Copy calocells to standard branch

  Int_t                  fRun;                     // run number
  
  AliEMCALRecoUtils*     fRecoUtils;               // Access to factorized reconstruction algorithms
  TString                fConfigName;              // Name of analysis configuration file
  
  
  Int_t                  fOrgClusterCellId[12672]; // Array ID of cluster to wich the cell belongs in unmodified clusters
  Int_t                  fCellLabels[12672];       // Array with MC label to be passed to digit.
  Int_t                  fCellSecondLabels[12672]; // Array with Second MC label to be passed to digit. 
  Double_t               fCellTime[12672];         // Array with cluster time to be passed to digit in case of AODs 
  Float_t                fCellMatchdEta[12672];    // Array with cluster-track dPhi 
  Float_t                fCellMatchdPhi[12672];    // Array with cluster-track dEta 

  Bool_t                 fRecalibrateWithClusterTime; // Use fCellTime to store time of cells in cluster
  
  Int_t                  fMaxEvent;                // Set a maximum event
  
  Bool_t                 fDoTrackMatching;         // On/Off the matching recalulation to speed up analysis in PbPb
  Bool_t                 fSelectCell;              // Reject cells from cluster if energy is too low and recalculate position/energy and other
  Float_t                fSelectCellMinE;          // Min energy cell threshold, after unfolding
  Float_t                fSelectCellMinFrac;       // Min fraction of cell energy after unfolding cut
  Bool_t                 fRejectBelowThreshold;    // split (false-default) or reject (true) cell energy below threshold after UF
  Bool_t                 fRemoveLEDEvents;         // Remove LED events, use only for LHC11a 
  Bool_t                 fRemoveExoticEvents;      // Remove exotic events
  
  Bool_t                 fImportGeometryFromFile;  // Import geometry settings in geometry.root file
  TString                fImportGeometryFilePath;  // path fo geometry.root file

  Bool_t                 fOADBSet ;                // AODB parameters already set
  Bool_t                 fAccessOADB ;             // Get calibration from OADB for EMCAL
  TString                fOADBFilePath ;           // Default path $ALICE_ROOT/OADB/EMCAL, if needed change
    
  //Centrality
  TString                fCentralityClass;         // Name of selected centrality class     
  Float_t                fCentralityBin[2];        // Minimum and maximum value of the centrality for the analysis
  
  // Event selection with some signal in EMCAL
  Bool_t                 fSelectEMCALEvent;       //  Process the event if there is some high energy cluster 
  Float_t                fEMCALEnergyCut;         //  At least an EMCAL cluster with this energy in the event
  Int_t                  fEMCALNcellsCut;         //  At least an EMCAL cluster with fNCellsCut cells over fEnergyCut

  Int_t                  fSetCellMCLabelFromCluster; // Use cluster MC label as cell label:
                                                     // 0 - get the MC label stored in cells
                                                     // 1 - from old way, select 2 most likely labels
                                                     // 2 - from new way, get the original clusters, add all the MC labels (useful for any reclusterization with output V1 clusters)
  Bool_t                 fRemapMCLabelForAODs ;      // Remap AOD cells MC label

  
  Bool_t                 fInputFromFilter ;          // Get the input from AODs from the filter 
  
  AliAnalysisTaskEMCALClusterize(           const AliAnalysisTaskEMCALClusterize&); // not implemented
  AliAnalysisTaskEMCALClusterize& operator=(const AliAnalysisTaskEMCALClusterize&); // not implemented

  ClassDef(AliAnalysisTaskEMCALClusterize, 28);

};

#endif //ALIANALYSISTASKEMCALCLUSTERIZE_H
 AliAnalysisTaskEMCALClusterize.h:1
 AliAnalysisTaskEMCALClusterize.h:2
 AliAnalysisTaskEMCALClusterize.h:3
 AliAnalysisTaskEMCALClusterize.h:4
 AliAnalysisTaskEMCALClusterize.h:5
 AliAnalysisTaskEMCALClusterize.h:6
 AliAnalysisTaskEMCALClusterize.h:7
 AliAnalysisTaskEMCALClusterize.h:8
 AliAnalysisTaskEMCALClusterize.h:9
 AliAnalysisTaskEMCALClusterize.h:10
 AliAnalysisTaskEMCALClusterize.h:11
 AliAnalysisTaskEMCALClusterize.h:12
 AliAnalysisTaskEMCALClusterize.h:13
 AliAnalysisTaskEMCALClusterize.h:14
 AliAnalysisTaskEMCALClusterize.h:15
 AliAnalysisTaskEMCALClusterize.h:16
 AliAnalysisTaskEMCALClusterize.h:17
 AliAnalysisTaskEMCALClusterize.h:18
 AliAnalysisTaskEMCALClusterize.h:19
 AliAnalysisTaskEMCALClusterize.h:20
 AliAnalysisTaskEMCALClusterize.h:21
 AliAnalysisTaskEMCALClusterize.h:22
 AliAnalysisTaskEMCALClusterize.h:23
 AliAnalysisTaskEMCALClusterize.h:24
 AliAnalysisTaskEMCALClusterize.h:25
 AliAnalysisTaskEMCALClusterize.h:26
 AliAnalysisTaskEMCALClusterize.h:27
 AliAnalysisTaskEMCALClusterize.h:28
 AliAnalysisTaskEMCALClusterize.h:29
 AliAnalysisTaskEMCALClusterize.h:30
 AliAnalysisTaskEMCALClusterize.h:31
 AliAnalysisTaskEMCALClusterize.h:32
 AliAnalysisTaskEMCALClusterize.h:33
 AliAnalysisTaskEMCALClusterize.h:34
 AliAnalysisTaskEMCALClusterize.h:35
 AliAnalysisTaskEMCALClusterize.h:36
 AliAnalysisTaskEMCALClusterize.h:37
 AliAnalysisTaskEMCALClusterize.h:38
 AliAnalysisTaskEMCALClusterize.h:39
 AliAnalysisTaskEMCALClusterize.h:40
 AliAnalysisTaskEMCALClusterize.h:41
 AliAnalysisTaskEMCALClusterize.h:42
 AliAnalysisTaskEMCALClusterize.h:43
 AliAnalysisTaskEMCALClusterize.h:44
 AliAnalysisTaskEMCALClusterize.h:45
 AliAnalysisTaskEMCALClusterize.h:46
 AliAnalysisTaskEMCALClusterize.h:47
 AliAnalysisTaskEMCALClusterize.h:48
 AliAnalysisTaskEMCALClusterize.h:49
 AliAnalysisTaskEMCALClusterize.h:50
 AliAnalysisTaskEMCALClusterize.h:51
 AliAnalysisTaskEMCALClusterize.h:52
 AliAnalysisTaskEMCALClusterize.h:53
 AliAnalysisTaskEMCALClusterize.h:54
 AliAnalysisTaskEMCALClusterize.h:55
 AliAnalysisTaskEMCALClusterize.h:56
 AliAnalysisTaskEMCALClusterize.h:57
 AliAnalysisTaskEMCALClusterize.h:58
 AliAnalysisTaskEMCALClusterize.h:59
 AliAnalysisTaskEMCALClusterize.h:60
 AliAnalysisTaskEMCALClusterize.h:61
 AliAnalysisTaskEMCALClusterize.h:62
 AliAnalysisTaskEMCALClusterize.h:63
 AliAnalysisTaskEMCALClusterize.h:64
 AliAnalysisTaskEMCALClusterize.h:65
 AliAnalysisTaskEMCALClusterize.h:66
 AliAnalysisTaskEMCALClusterize.h:67
 AliAnalysisTaskEMCALClusterize.h:68
 AliAnalysisTaskEMCALClusterize.h:69
 AliAnalysisTaskEMCALClusterize.h:70
 AliAnalysisTaskEMCALClusterize.h:71
 AliAnalysisTaskEMCALClusterize.h:72
 AliAnalysisTaskEMCALClusterize.h:73
 AliAnalysisTaskEMCALClusterize.h:74
 AliAnalysisTaskEMCALClusterize.h:75
 AliAnalysisTaskEMCALClusterize.h:76
 AliAnalysisTaskEMCALClusterize.h:77
 AliAnalysisTaskEMCALClusterize.h:78
 AliAnalysisTaskEMCALClusterize.h:79
 AliAnalysisTaskEMCALClusterize.h:80
 AliAnalysisTaskEMCALClusterize.h:81
 AliAnalysisTaskEMCALClusterize.h:82
 AliAnalysisTaskEMCALClusterize.h:83
 AliAnalysisTaskEMCALClusterize.h:84
 AliAnalysisTaskEMCALClusterize.h:85
 AliAnalysisTaskEMCALClusterize.h:86
 AliAnalysisTaskEMCALClusterize.h:87
 AliAnalysisTaskEMCALClusterize.h:88
 AliAnalysisTaskEMCALClusterize.h:89
 AliAnalysisTaskEMCALClusterize.h:90
 AliAnalysisTaskEMCALClusterize.h:91
 AliAnalysisTaskEMCALClusterize.h:92
 AliAnalysisTaskEMCALClusterize.h:93
 AliAnalysisTaskEMCALClusterize.h:94
 AliAnalysisTaskEMCALClusterize.h:95
 AliAnalysisTaskEMCALClusterize.h:96
 AliAnalysisTaskEMCALClusterize.h:97
 AliAnalysisTaskEMCALClusterize.h:98
 AliAnalysisTaskEMCALClusterize.h:99
 AliAnalysisTaskEMCALClusterize.h:100
 AliAnalysisTaskEMCALClusterize.h:101
 AliAnalysisTaskEMCALClusterize.h:102
 AliAnalysisTaskEMCALClusterize.h:103
 AliAnalysisTaskEMCALClusterize.h:104
 AliAnalysisTaskEMCALClusterize.h:105
 AliAnalysisTaskEMCALClusterize.h:106
 AliAnalysisTaskEMCALClusterize.h:107
 AliAnalysisTaskEMCALClusterize.h:108
 AliAnalysisTaskEMCALClusterize.h:109
 AliAnalysisTaskEMCALClusterize.h:110
 AliAnalysisTaskEMCALClusterize.h:111
 AliAnalysisTaskEMCALClusterize.h:112
 AliAnalysisTaskEMCALClusterize.h:113
 AliAnalysisTaskEMCALClusterize.h:114
 AliAnalysisTaskEMCALClusterize.h:115
 AliAnalysisTaskEMCALClusterize.h:116
 AliAnalysisTaskEMCALClusterize.h:117
 AliAnalysisTaskEMCALClusterize.h:118
 AliAnalysisTaskEMCALClusterize.h:119
 AliAnalysisTaskEMCALClusterize.h:120
 AliAnalysisTaskEMCALClusterize.h:121
 AliAnalysisTaskEMCALClusterize.h:122
 AliAnalysisTaskEMCALClusterize.h:123
 AliAnalysisTaskEMCALClusterize.h:124
 AliAnalysisTaskEMCALClusterize.h:125
 AliAnalysisTaskEMCALClusterize.h:126
 AliAnalysisTaskEMCALClusterize.h:127
 AliAnalysisTaskEMCALClusterize.h:128
 AliAnalysisTaskEMCALClusterize.h:129
 AliAnalysisTaskEMCALClusterize.h:130
 AliAnalysisTaskEMCALClusterize.h:131
 AliAnalysisTaskEMCALClusterize.h:132
 AliAnalysisTaskEMCALClusterize.h:133
 AliAnalysisTaskEMCALClusterize.h:134
 AliAnalysisTaskEMCALClusterize.h:135
 AliAnalysisTaskEMCALClusterize.h:136
 AliAnalysisTaskEMCALClusterize.h:137
 AliAnalysisTaskEMCALClusterize.h:138
 AliAnalysisTaskEMCALClusterize.h:139
 AliAnalysisTaskEMCALClusterize.h:140
 AliAnalysisTaskEMCALClusterize.h:141
 AliAnalysisTaskEMCALClusterize.h:142
 AliAnalysisTaskEMCALClusterize.h:143
 AliAnalysisTaskEMCALClusterize.h:144
 AliAnalysisTaskEMCALClusterize.h:145
 AliAnalysisTaskEMCALClusterize.h:146
 AliAnalysisTaskEMCALClusterize.h:147
 AliAnalysisTaskEMCALClusterize.h:148
 AliAnalysisTaskEMCALClusterize.h:149
 AliAnalysisTaskEMCALClusterize.h:150
 AliAnalysisTaskEMCALClusterize.h:151
 AliAnalysisTaskEMCALClusterize.h:152
 AliAnalysisTaskEMCALClusterize.h:153
 AliAnalysisTaskEMCALClusterize.h:154
 AliAnalysisTaskEMCALClusterize.h:155
 AliAnalysisTaskEMCALClusterize.h:156
 AliAnalysisTaskEMCALClusterize.h:157
 AliAnalysisTaskEMCALClusterize.h:158
 AliAnalysisTaskEMCALClusterize.h:159
 AliAnalysisTaskEMCALClusterize.h:160
 AliAnalysisTaskEMCALClusterize.h:161
 AliAnalysisTaskEMCALClusterize.h:162
 AliAnalysisTaskEMCALClusterize.h:163
 AliAnalysisTaskEMCALClusterize.h:164
 AliAnalysisTaskEMCALClusterize.h:165
 AliAnalysisTaskEMCALClusterize.h:166
 AliAnalysisTaskEMCALClusterize.h:167
 AliAnalysisTaskEMCALClusterize.h:168
 AliAnalysisTaskEMCALClusterize.h:169
 AliAnalysisTaskEMCALClusterize.h:170
 AliAnalysisTaskEMCALClusterize.h:171
 AliAnalysisTaskEMCALClusterize.h:172
 AliAnalysisTaskEMCALClusterize.h:173
 AliAnalysisTaskEMCALClusterize.h:174
 AliAnalysisTaskEMCALClusterize.h:175
 AliAnalysisTaskEMCALClusterize.h:176
 AliAnalysisTaskEMCALClusterize.h:177
 AliAnalysisTaskEMCALClusterize.h:178
 AliAnalysisTaskEMCALClusterize.h:179
 AliAnalysisTaskEMCALClusterize.h:180
 AliAnalysisTaskEMCALClusterize.h:181
 AliAnalysisTaskEMCALClusterize.h:182
 AliAnalysisTaskEMCALClusterize.h:183
 AliAnalysisTaskEMCALClusterize.h:184
 AliAnalysisTaskEMCALClusterize.h:185
 AliAnalysisTaskEMCALClusterize.h:186
 AliAnalysisTaskEMCALClusterize.h:187
 AliAnalysisTaskEMCALClusterize.h:188
 AliAnalysisTaskEMCALClusterize.h:189
 AliAnalysisTaskEMCALClusterize.h:190
 AliAnalysisTaskEMCALClusterize.h:191
 AliAnalysisTaskEMCALClusterize.h:192
 AliAnalysisTaskEMCALClusterize.h:193
 AliAnalysisTaskEMCALClusterize.h:194
 AliAnalysisTaskEMCALClusterize.h:195
 AliAnalysisTaskEMCALClusterize.h:196
 AliAnalysisTaskEMCALClusterize.h:197
 AliAnalysisTaskEMCALClusterize.h:198
 AliAnalysisTaskEMCALClusterize.h:199
 AliAnalysisTaskEMCALClusterize.h:200
 AliAnalysisTaskEMCALClusterize.h:201
 AliAnalysisTaskEMCALClusterize.h:202
 AliAnalysisTaskEMCALClusterize.h:203
 AliAnalysisTaskEMCALClusterize.h:204
 AliAnalysisTaskEMCALClusterize.h:205
 AliAnalysisTaskEMCALClusterize.h:206
 AliAnalysisTaskEMCALClusterize.h:207
 AliAnalysisTaskEMCALClusterize.h:208
 AliAnalysisTaskEMCALClusterize.h:209
 AliAnalysisTaskEMCALClusterize.h:210
 AliAnalysisTaskEMCALClusterize.h:211
 AliAnalysisTaskEMCALClusterize.h:212
 AliAnalysisTaskEMCALClusterize.h:213
 AliAnalysisTaskEMCALClusterize.h:214
 AliAnalysisTaskEMCALClusterize.h:215
 AliAnalysisTaskEMCALClusterize.h:216
 AliAnalysisTaskEMCALClusterize.h:217
 AliAnalysisTaskEMCALClusterize.h:218
 AliAnalysisTaskEMCALClusterize.h:219
 AliAnalysisTaskEMCALClusterize.h:220
 AliAnalysisTaskEMCALClusterize.h:221
 AliAnalysisTaskEMCALClusterize.h:222
 AliAnalysisTaskEMCALClusterize.h:223
 AliAnalysisTaskEMCALClusterize.h:224
 AliAnalysisTaskEMCALClusterize.h:225
 AliAnalysisTaskEMCALClusterize.h:226
 AliAnalysisTaskEMCALClusterize.h:227
 AliAnalysisTaskEMCALClusterize.h:228
 AliAnalysisTaskEMCALClusterize.h:229
 AliAnalysisTaskEMCALClusterize.h:230
 AliAnalysisTaskEMCALClusterize.h:231
 AliAnalysisTaskEMCALClusterize.h:232
 AliAnalysisTaskEMCALClusterize.h:233
 AliAnalysisTaskEMCALClusterize.h:234
 AliAnalysisTaskEMCALClusterize.h:235
 AliAnalysisTaskEMCALClusterize.h:236
 AliAnalysisTaskEMCALClusterize.h:237
 AliAnalysisTaskEMCALClusterize.h:238
 AliAnalysisTaskEMCALClusterize.h:239
 AliAnalysisTaskEMCALClusterize.h:240
 AliAnalysisTaskEMCALClusterize.h:241
 AliAnalysisTaskEMCALClusterize.h:242
 AliAnalysisTaskEMCALClusterize.h:243
 AliAnalysisTaskEMCALClusterize.h:244
 AliAnalysisTaskEMCALClusterize.h:245
 AliAnalysisTaskEMCALClusterize.h:246
 AliAnalysisTaskEMCALClusterize.h:247
 AliAnalysisTaskEMCALClusterize.h:248
 AliAnalysisTaskEMCALClusterize.h:249
 AliAnalysisTaskEMCALClusterize.h:250
 AliAnalysisTaskEMCALClusterize.h:251
 AliAnalysisTaskEMCALClusterize.h:252