ROOT logo
#ifndef ALIANALYSISTASKEMCALPI0CALIBSELECTION_H
#define ALIANALYSISTASKEMCALPI0CALIBSELECTION_H

// $Id$

// Root includes
class TH1F;
#include "TH2I.h"
#include "TObjArray.h"

// AliRoot includes
#include "AliAnalysisTaskSE.h"
class AliEMCALGeometry;
#include "AliEMCALGeoParams.h"
class AliEMCALRecoUtils;

class AliAnalysisTaskEMCALPi0CalibSelection : public AliAnalysisTaskSE
{
public:

  AliAnalysisTaskEMCALPi0CalibSelection(const char* name);
  virtual ~AliAnalysisTaskEMCALPi0CalibSelection();
    
  void    CorrectClusters();
  
  void    FillHistograms();
  
  void    InitGeometryMatrices();
  
  void    InitTemperatureCorrections();
  
  void    UserCreateOutputObjects();
  
  void    UserExec(Option_t * opt);
    
  void    PrintInfo();

  void    Terminate(Option_t* opt);
  
  void    GetMaxEnergyCellPosAndClusterPos(AliVCaloCells* cells, AliVCluster* clu, Int_t& iSM, Int_t& ieta, Int_t& iphi);
  
  // Analysis parameter setting
  
  void    SetPairDTimeCut(Float_t t)                     { fDTimeCut    = t          ; }
  void    SetClusterMinTime(Float_t tmin)                { fTimeMin     = tmin       ; }
  void    SetClusterMaxTime(Float_t tmax)                { fTimeMax     = tmax       ; }

  void    SetAsymmetryCut(Float_t asy)                   { fAsyCut      = asy        ; }
  
  void    SetClusterMinEnergy(Float_t emin)              { fEmin        = emin       ; }
  void    SetClusterMaxEnergy(Float_t emax)              { fEmax        = emax       ; }
  
  void    SetClusterLambda0Cuts(Float_t min, Float_t max){ fL0max       = max        ;
                                                           fL0min       = min        ; }
  void    SetClusterMinNCells(Int_t n)                   { fMinNCells   = n          ; }
  void    SetNCellsGroup(Int_t n)                        { fGroupNCells = n          ; }
  void    SetLogWeight(Float_t w)                        { fLogWeight   = w          ; }
  	  
  void    SetPairMinMassCut(Float_t min)                 { fInvMassCutMin = min      ; }
  void    SetPairMaxMassCut(Float_t max)                 { fInvMassCutMax = max      ; }
  
  void    SwitchOnSameSM()                               { fSameSM = kTRUE           ; }
  void    SwitchOffSameSM()                              { fSameSM = kFALSE          ; }
  
  void    UseFilteredEventAsInput()                      { fFilteredInput = kTRUE    ; }
  void    UseNormalEventAsInput()                        { fFilteredInput = kFALSE   ; }
  
  void    SetTriggerName(TString name)                   { fTriggerName = name       ; }

  //Geometry setters
  
  void    SetGeometryName(TString name)                  { fEMCALGeoName = name      ; }
  TString GeometryName() const                           { return fEMCALGeoName      ; }
  void    SwitchOnLoadOwnGeometryMatrices()              { fLoadMatrices = kTRUE     ; }
  void    SwitchOffLoadOwnGeometryMatrices()             { fLoadMatrices = kFALSE    ; }
  void    SetGeometryMatrixInSM(TGeoHMatrix* m, Int_t i) { fMatrix[i]    = m         ; }

  void    SetOADBFilePath(TString path)                  { fOADBFilePath      = path ; }
  
  // Cluster recalculation
  
  void    SwitchOnClusterCorrection()                    { fCorrectClusters = kTRUE  ; }
  void    SwitchOffClusterCorrection()                   { fCorrectClusters = kFALSE ; }
  void    SetEMCALRecoUtils(AliEMCALRecoUtils * ru)      { fRecoUtils = ru           ; }
  AliEMCALRecoUtils* GetEMCALRecoUtils()    const        { return fRecoUtils         ; }
  
  void    SetInvariantMassHistoBinRange(Int_t nBins, Float_t minbin, Float_t maxbin){
                                        fNbins     = nBins ; fMinBin     = minbin ; fMaxBin     = maxbin ; }

  void    SetTimeHistoBinRange         (Int_t nBins, Float_t minbin, Float_t maxbin){
                                        fNTimeBins = nBins ; fMinTimeBin = minbin ; fMaxTimeBin = maxbin ; }

  
  // Mask clusters
  void    SetNMaskCellColumns(Int_t n) {
    if(n > fNMaskCellColumns){ delete [] fMaskCellColumns ; fMaskCellColumns = new Int_t[n] ; }
    fNMaskCellColumns = n ; }
  
  void    SetMaskCellColumn(Int_t ipos, Int_t icol) { if(ipos < fNMaskCellColumns) fMaskCellColumns[ipos] = icol            ;
                                                      else printf("Not set, position larger than allocated set size first") ; }
  
  Bool_t  MaskFrameCluster(Int_t iSM, Int_t ieta) const;
  
private:

  AliEMCALGeometry  * fEMCALGeo;         //! EMCAL geometry
  TGeoHMatrix       * fMatrix[AliEMCALGeoParams::fgkEMCALModules]; // Geometry matrices with alignments
  Bool_t              fLoadMatrices;    //  Matrices set from configuration, not get from geometry.root or from ESDs/AODs
  
  TString             fEMCALGeoName;    //  Name of geometry to use.
  TString             fTriggerName;     //  Trigger name must contain this name
    
  AliEMCALRecoUtils * fRecoUtils;       //  Access to reconstruction utilities
  TString             fOADBFilePath ;   //  Default path $ALICE_ROOT/OADB/EMCAL, if needed change
  Bool_t              fCorrectClusters; //  Correct clusters energy, position etc.


  TRefArray         * fCaloClustersArr; //! list of clusters
  AliVCaloCells     * fEMCALCells;      //! list of cells
  
  TList             * fCuts ;           //! List with analysis cuts
  TList             * fOutputContainer; //! histogram container
  Double_t            fVertex[3];       //! primary vertex
  Bool_t              fFilteredInput;   //  Read input produced with filter.

  // analysis cuts
  
  Float_t   fEmin;               // min. cluster energy (GeV)
  Float_t   fEmax;               // max. cluster energy (GeV)
  Float_t   fL0min;              // min. cluster L0
  Float_t   fL0max;              // max. cluster L0

  Float_t   fDTimeCut;           // Maximum difference between time of cluster pairs (ns)
  Float_t   fTimeMax;            // Maximum cluster time (ns)
  Float_t   fTimeMin;            // Minimum cluster time (ns)

  Float_t   fAsyCut;             // Asymmetry cut
  Int_t     fMinNCells;          // min. ncells in cluster
  Int_t     fGroupNCells;        // group n cells
  Float_t   fLogWeight;          // log weight used in cluster recalibration
  Bool_t    fSameSM;             // Combine clusters in channels on same SM

  Int_t     fNMaskCellColumns;   // Number of masked columns
  Int_t*    fMaskCellColumns;    //[fNMaskCellColumns] list of masked cell collumn
    
  Float_t   fInvMassCutMin;      // Min mass cut for clusters to fill time or other histograms
  Float_t   fInvMassCutMax;      // Mas mass cut for clusters to fill time or other histograms
  
  //Output histograms	and settings

  Int_t     fNbins;              // N       mass bins of invariant mass histograms
  Float_t   fMinBin;             // Minimum mass bins of invariant mass histograms
  Float_t   fMaxBin;             // Maximum mass bins of invariant mass histograms
  
  Int_t     fNTimeBins;          // N       time bins of invariant mass histograms
  Float_t   fMinTimeBin;         // Minimum time bins of invariant mass histograms
  Float_t   fMaxTimeBin;         // Maximum time bins of invariant mass histograms
  
  TH1F*     fHmpi0[AliEMCALGeoParams::fgkEMCALModules][AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows];//! two-cluster inv. mass assigned to each cell.

  TH2F*     fHmgg;                                                                 //! two-cluster inv.mass vs pt of pair
  TH2F*     fHmggDifferentSM;                                                      //! two-cluster inv.mass vs pt of pair, each cluster in different SM
  TH2F*     fHmggSM[AliEMCALGeoParams::fgkEMCALModules];                           //! two-cluster inv.mass per SM
  TH2F*     fHmggPairSameSectorSM[AliEMCALGeoParams::fgkEMCALModules/2];           //! two-cluster inv.mass per Pair
  TH2F*     fHmggPairSameSideSM  [AliEMCALGeoParams::fgkEMCALModules-2];           //! two-cluster inv.mass per Pair
  
  TH2F*     fHmggMaskFrame;                                                        //! two-cluster inv.mass vs pt of pair, mask clusters facing frames
  TH2F*     fHmggDifferentSMMaskFrame;                                             //! two-cluster inv.mass vs pt of pair, each cluster in different SM,mask clusters facing frames
  TH2F*     fHmggSMMaskFrame[AliEMCALGeoParams::fgkEMCALModules];                  //! two-cluster inv.mass per SM, mask clusters facing frames
  TH2F*     fHmggPairSameSectorSMMaskFrame[AliEMCALGeoParams::fgkEMCALModules/2];  //! two-cluster inv.mass per Pair, mask clusters facing frames
  TH2F*     fHmggPairSameSideSMMaskFrame  [AliEMCALGeoParams::fgkEMCALModules-2];  //! two-cluster inv.mass per Pair, mask clusters facing frames

  TH2F*     fHOpeningAngle;                                                        //! two-cluster opening angle vs pt of pair, with mass close to pi0
  TH2F*     fHOpeningAngleDifferentSM;                                             //! two-cluster opening angle vs pt of pair, each cluster in different SM, with mass close to pi0
  TH2F*     fHOpeningAngleSM[AliEMCALGeoParams::fgkEMCALModules];                  //! two-cluster opening angle vs pt per SM,with mass close to pi0
  TH2F*     fHOpeningAnglePairSM[AliEMCALGeoParams::fgkEMCALModules];              //! two-cluster opening angle vs pt per Pair,with mass close to pi0

  TH2F*     fHAsymmetry;                                                           //! two-cluster asymmetry vs pt of pair, with mass close to pi0
  TH2F*     fHAsymmetryDifferentSM;                                                //! two-cluster asymmetry vs pt of pair, each cluster in different SM, with mass close to pi0
  TH2F*     fHAsymmetrySM[AliEMCALGeoParams::fgkEMCALModules];                     //! two-cluster asymmetry vs pt per SM,with mass close to pi0
  TH2F*     fHAsymmetryPairSM[AliEMCALGeoParams::fgkEMCALModules];                 //! two-cluster asymmetry vs pt per Pair,with mass close to pi0
  
  TH2F*     fhTowerDecayPhotonHit[AliEMCALGeoParams::fgkEMCALModules] ;            //! Cells ordered in column/row for different module, number of times a decay photon hits
  TH2F*     fhTowerDecayPhotonEnergy[AliEMCALGeoParams::fgkEMCALModules] ;         //! Cells ordered in column/row for different module, accumulated energy in the tower by decay photons.
  TH2F*     fhTowerDecayPhotonAsymmetry[AliEMCALGeoParams::fgkEMCALModules] ;      //! Cells ordered in column/row for different module, accumulated asymmetry in the tower by decay photons.
  TH2F*     fhTowerDecayPhotonHitMaskFrame[AliEMCALGeoParams::fgkEMCALModules] ;   //! Cells ordered in column/row for different module, number of times a decay photon hits

  TH1I*     fhNEvents;                                                             //! Number of events counter histogram
 
  //Time
  TH2F*     fHTpi0[4];                                                             //! Time of cell under pi0 mass, for 4 bunch crossings
  TH2F*     fhClusterTime ;                                                        //! Timing of clusters vs energy
  TH2F*     fhClusterTimeSM[AliEMCALGeoParams::fgkEMCALModules] ;                  //! Timing of clusters vs energy per SM
  TH2F*     fhClusterPairDiffTime;                                                 //! Diference in time of clusters
  TH2F*     fhClusterPairDiffTimeSameSM[AliEMCALGeoParams::fgkEMCALModules];       //! Diference in time of clusters same SM
  TH2F*     fhClusterPairDiffTimeSameSector[AliEMCALGeoParams::fgkEMCALModules/2]; //! Diference in time of clusters same sector
  TH2F*     fhClusterPairDiffTimeSameSide[AliEMCALGeoParams::fgkEMCALModules-2];   //! Diference in time of clusters same side

  AliAnalysisTaskEMCALPi0CalibSelection(           const AliAnalysisTaskEMCALPi0CalibSelection&); 
  AliAnalysisTaskEMCALPi0CalibSelection& operator=(const AliAnalysisTaskEMCALPi0CalibSelection&); 
  
  ClassDef(AliAnalysisTaskEMCALPi0CalibSelection,20);

};

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