#ifndef ALIANALYSISTASKEMCALPI0CALIBSELECTION_H
#define ALIANALYSISTASKEMCALPI0CALIBSELECTION_H
class TH1F;
#include "TH2I.h"
#include "TObjArray.h"
#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);
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 ; }
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 ; }
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 ; }
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;
TGeoHMatrix * fMatrix[AliEMCALGeoParams::fgkEMCALModules];
Bool_t fLoadMatrices;
TString fEMCALGeoName;
TString fTriggerName;
AliEMCALRecoUtils * fRecoUtils;
TString fOADBFilePath ;
Bool_t fCorrectClusters;
TRefArray * fCaloClustersArr;
AliVCaloCells * fEMCALCells;
TList * fCuts ;
TList * fOutputContainer;
Double_t fVertex[3];
Bool_t fFilteredInput;
Float_t fEmin;
Float_t fEmax;
Float_t fL0min;
Float_t fL0max;
Float_t fDTimeCut;
Float_t fTimeMax;
Float_t fTimeMin;
Float_t fAsyCut;
Int_t fMinNCells;
Int_t fGroupNCells;
Float_t fLogWeight;
Bool_t fSameSM;
Int_t fNMaskCellColumns;
Int_t* fMaskCellColumns;
Float_t fInvMassCutMin;
Float_t fInvMassCutMax;
Int_t fNbins;
Float_t fMinBin;
Float_t fMaxBin;
Int_t fNTimeBins;
Float_t fMinTimeBin;
Float_t fMaxTimeBin;
TH1F* fHmpi0[AliEMCALGeoParams::fgkEMCALModules][AliEMCALGeoParams::fgkEMCALCols][AliEMCALGeoParams::fgkEMCALRows];
TH2F* fHmgg;
TH2F* fHmggDifferentSM;
TH2F* fHmggSM[AliEMCALGeoParams::fgkEMCALModules];
TH2F* fHmggPairSameSectorSM[AliEMCALGeoParams::fgkEMCALModules/2];
TH2F* fHmggPairSameSideSM [AliEMCALGeoParams::fgkEMCALModules-2];
TH2F* fHmggMaskFrame;
TH2F* fHmggDifferentSMMaskFrame;
TH2F* fHmggSMMaskFrame[AliEMCALGeoParams::fgkEMCALModules];
TH2F* fHmggPairSameSectorSMMaskFrame[AliEMCALGeoParams::fgkEMCALModules/2];
TH2F* fHmggPairSameSideSMMaskFrame [AliEMCALGeoParams::fgkEMCALModules-2];
TH2F* fHOpeningAngle;
TH2F* fHOpeningAngleDifferentSM;
TH2F* fHOpeningAngleSM[AliEMCALGeoParams::fgkEMCALModules];
TH2F* fHOpeningAnglePairSM[AliEMCALGeoParams::fgkEMCALModules];
TH2F* fHAsymmetry;
TH2F* fHAsymmetryDifferentSM;
TH2F* fHAsymmetrySM[AliEMCALGeoParams::fgkEMCALModules];
TH2F* fHAsymmetryPairSM[AliEMCALGeoParams::fgkEMCALModules];
TH2F* fhTowerDecayPhotonHit[AliEMCALGeoParams::fgkEMCALModules] ;
TH2F* fhTowerDecayPhotonEnergy[AliEMCALGeoParams::fgkEMCALModules] ;
TH2F* fhTowerDecayPhotonAsymmetry[AliEMCALGeoParams::fgkEMCALModules] ;
TH2F* fhTowerDecayPhotonHitMaskFrame[AliEMCALGeoParams::fgkEMCALModules] ;
TH1I* fhNEvents;
TH2F* fHTpi0[4];
TH2F* fhClusterTime ;
TH2F* fhClusterTimeSM[AliEMCALGeoParams::fgkEMCALModules] ;
TH2F* fhClusterPairDiffTime;
TH2F* fhClusterPairDiffTimeSameSM[AliEMCALGeoParams::fgkEMCALModules];
TH2F* fhClusterPairDiffTimeSameSector[AliEMCALGeoParams::fgkEMCALModules/2];
TH2F* fhClusterPairDiffTimeSameSide[AliEMCALGeoParams::fgkEMCALModules-2];
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