#ifndef AliAnalysisTaskEMCALPi0PbPb_h
#define AliAnalysisTaskEMCALPi0PbPb_h
class TAxis;
class TClonesArray;
class TH1;
class TH2;
class TNtuple;
class TObjArray;
class AliAODCaloCells;
class AliAODCaloCluster;
class AliAODEvent;
class AliAODTrack;
class AliAODVertex;
class AliEMCALGeometry;
class AliEMCALRecoUtils;
class AliESDCaloCells;
class AliESDCaloCluster;
class AliESDEvent;
class AliESDTrack;
class AliESDVertex;
class AliESDtrackCuts;
class AliMCEvent;
class AliMCParticle;
class AliStaHeader;
class AliStaVertex;
#include "AliAnalysisTaskSE.h"
#include "AliStaObjects.h"
class AliAnalysisTaskEMCALPi0PbPb : public AliAnalysisTaskSE {
public:
AliAnalysisTaskEMCALPi0PbPb();
AliAnalysisTaskEMCALPi0PbPb(const char *name);
virtual ~AliAnalysisTaskEMCALPi0PbPb();
void UserCreateOutputObjects();
void UserExec(Option_t *option);
void Terminate(Option_t *);
void SetAsymMax(Double_t asymMax) { fAsymMax = asymMax; }
void SetCentrality(const char *n) { fCentVar = n; }
void SetCentralityRange(Double_t from, Double_t to) { fCentFrom=from; fCentTo=to; }
void SetClusName(const char *n) { fClusName = n; }
void SetDoAfterburner(Bool_t b) { fDoAfterburner = b; }
void SetDoPhysicsSelection(Bool_t b) { fDoPSel = b; }
void SetDoTrackMatWithGeom(Bool_t b) { fDoTrMatGeom = b; }
void SetEmbedMode(Bool_t b) { fEmbedMode = b; }
void SetFillNtuple(Bool_t b) { fDoNtuple = b; }
void SetGeoName(const char *n) { fGeoName = n; }
void SetGeoUtils(AliEMCALGeometry *geo) { fGeom = geo; }
void SetIsoDist(Double_t d) { fIsoDist = d; }
void SetL0TimeRange(Int_t l, Int_t h) { fMinL0Time=l; fMaxL0Time=h; }
void SetMarkCells(const char *n) { fMarkCells = n; }
void SetMcMode(Bool_t b) { fMcMode = b; }
void SetMinClusEnergy(Double_t e) { fMinE = e; }
void SetMinEcc(Double_t ecc) { fMinEcc = ecc; }
void SetMinErat(Double_t erat) { fMinErat = erat; }
void SetMinNClustersPerTrack(Double_t m) { fMinNClusPerTr = m; }
void SetNminCells(Int_t n) { fNminCells = n; }
void SetPrimTrackCuts(AliESDtrackCuts *c) { fPrimTrCuts = c; }
void SetPrimTracksName(const char *n) { fPrimTracksName = n; }
void SetRecoUtils(AliEMCALRecoUtils *reco) { fReco = reco; }
void SetTrClassNames(const char *n) { fTrClassNames = n; }
void SetTrackCuts(AliESDtrackCuts *c) { fTrCuts = c; }
void SetTrainMode(Bool_t b) { fTrainMode = b; }
void SetTrigName(const char *n) { fTrigName = n; }
void SetUseQualFlag(Bool_t b) { fUseQualFlag = b; }
void SetVertexRange(Double_t z1, Double_t z2) { fVtxZMin=z1; fVtxZMax=z2; }
protected:
virtual void CalcCaloTriggers();
virtual void CalcClusterProps();
virtual void CalcPrimTracks();
virtual void CalcMcInfo();
virtual void CalcTracks();
virtual void ClusterAfterburner();
virtual void FillCellHists();
virtual void FillClusHists();
virtual void FillNtuple();
virtual void FillOtherHists();
virtual void FillPionHists();
virtual void FillMcHists();
virtual void FillTrackHists();
void FillVertex(AliStaVertex *v, const AliESDVertex *esdv);
void FillVertex(AliStaVertex *v, const AliAODVertex *aodv);
Double_t GetCellIsolation(Double_t cEta, Double_t cPhi, Double_t radius=0.2) const;
Double_t GetCellIsoNxM(Double_t cEta, Double_t cPhi, Int_t N, Int_t M) const;
Double_t GetCellEnergy(const AliVCluster *c) const;
Double_t GetMaxCellEnergy(const AliVCluster *c) const { Short_t id=-1; return GetMaxCellEnergy(c,id); }
Double_t GetMaxCellEnergy(const AliVCluster *c, Short_t &id) const;
Double_t GetSecondMaxCellEnergy(AliVCluster *clus, Short_t &id) const;
Int_t GetNCells(const AliVCluster *c, Double_t emin=0.) const;
Int_t GetNCells(Int_t sm, Double_t emin=0.) const;
void GetSigma(const AliVCluster *c, Double_t &sigmaMax, Double_t &sigmaMin) const;
void GetSigmaEtaEta(const AliVCluster *c, Double_t &sigmaEtaEta, Double_t &sigmaPhiPhi) const;
Double_t GetTrackIsolation(Double_t cEta, Double_t cPhi, Double_t radius=0.2, Double_t pt=0.) const;
Double_t GetTrackIsoStrip(Double_t cEta, Double_t cPhi, Double_t dEta=0.015, Double_t dPhi=0.3, Double_t pt=0.) const;
Bool_t IsShared(const AliVCluster *c) const;
Bool_t IsIdPartOfCluster(const AliVCluster *c, Short_t id) const;
void PrintDaughters(const AliVParticle *p, const TObjArray *arr, Int_t level=0) const;
void PrintDaughters(const AliMCParticle *p, const AliMCEvent *arr, Int_t level=0) const;
void PrintTrackRefs(AliMCParticle *p) const;
void ProcessDaughters(AliVParticle *p, Int_t index, const TObjArray *arr);
void ProcessDaughters(AliMCParticle *p, Int_t index, const AliMCEvent *arr);
TString fCentVar;
Double_t fCentFrom;
Double_t fCentTo;
Double_t fVtxZMin;
Double_t fVtxZMax;
Bool_t fUseQualFlag;
TString fClusName;
Bool_t fDoNtuple;
Bool_t fDoAfterburner;
Double_t fAsymMax;
Int_t fNminCells;
Double_t fMinE;
Double_t fMinErat;
Double_t fMinEcc;
TString fGeoName;
Double_t fMinNClusPerTr;
Double_t fIsoDist;
TString fTrClassNames;
AliESDtrackCuts *fTrCuts;
AliESDtrackCuts *fPrimTrCuts;
TString fPrimTracksName;
Bool_t fDoTrMatGeom;
Bool_t fTrainMode;
TString fMarkCells;
Int_t fMinL0Time;
Int_t fMaxL0Time;
Bool_t fMcMode;
Bool_t fEmbedMode;
AliEMCALGeometry *fGeom;
AliEMCALRecoUtils *fReco;
TString fTrigName;
Bool_t fDoPSel;
Bool_t fIsGeoMatsSet;
ULong64_t fNEvs;
TList *fOutput;
TObjArray *fTrClassNamesArr;
AliESDEvent *fEsdEv;
AliAODEvent *fAodEv;
const TObjArray *fRecPoints;
const TClonesArray *fDigits;
TObjArray *fEsdClusters;
AliESDCaloCells *fEsdCells;
TObjArray *fAodClusters;
AliAODCaloCells *fAodCells;
TAxis *fPtRanges;
TObjArray *fSelTracks;
TObjArray *fSelPrimTracks;
TTree *fNtuple;
AliStaHeader *fHeader;
AliStaVertex *fPrimVert;
AliStaVertex *fSpdVert;
AliStaVertex *fTpcVert;
TClonesArray *fClusters;
TClonesArray *fTriggers;
TClonesArray *fMcParts;
TH1 *fHCuts;
TH1 *fHVertexZ;
TH1 *fHVertexZ2;
TH1 *fHCent;
TH1 *fHCentQual;
TH1 *fHTclsBeforeCuts;
TH1 *fHTclsAfterCuts;
TH2 **fHColuRow;
TH2 **fHColuRowE;
TH1 **fHCellMult;
TH1 *fHCellE;
TH1 *fHCellH;
TH1 *fHCellM;
TH1 *fHCellM2;
TH1 **fHCellFreqNoCut;
TH1 **fHCellFreqCut100M;
TH1 **fHCellFreqCut300M;
TH1 **fHCellFreqE;
TH1 **fHCellCheckE;
TH1 *fHClustEccentricity;
TH2 *fHClustEtaPhi;
TH2 *fHClustEnergyPt;
TH2 *fHClustEnergySigma;
TH2 *fHClustSigmaSigma;
TH2 *fHClustNCellEnergyRatio;
TH2 *fHClustEnergyNCell;
TH1 *fHPrimTrackPt;
TH1 *fHPrimTrackEta;
TH1 *fHPrimTrackPhi;
TH1 *fHMatchDr;
TH1 *fHMatchDz;
TH1 *fHMatchEp;
TH2 *fHPionEtaPhi;
TH2 *fHPionMggPt;
TH2 *fHPionMggAsym;
TH2 *fHPionMggDgg;
TH1 *fHPionInvMasses[21];
private:
AliAnalysisTaskEMCALPi0PbPb(const AliAnalysisTaskEMCALPi0PbPb&);
AliAnalysisTaskEMCALPi0PbPb &operator=(const AliAnalysisTaskEMCALPi0PbPb&);
ClassDef(AliAnalysisTaskEMCALPi0PbPb, 13)
};
#endif
AliAnalysisTaskEMCALPi0PbPb.h:1 AliAnalysisTaskEMCALPi0PbPb.h:2 AliAnalysisTaskEMCALPi0PbPb.h:3 AliAnalysisTaskEMCALPi0PbPb.h:4 AliAnalysisTaskEMCALPi0PbPb.h:5 AliAnalysisTaskEMCALPi0PbPb.h:6 AliAnalysisTaskEMCALPi0PbPb.h:7 AliAnalysisTaskEMCALPi0PbPb.h:8 AliAnalysisTaskEMCALPi0PbPb.h:9 AliAnalysisTaskEMCALPi0PbPb.h:10 AliAnalysisTaskEMCALPi0PbPb.h:11 AliAnalysisTaskEMCALPi0PbPb.h:12 AliAnalysisTaskEMCALPi0PbPb.h:13 AliAnalysisTaskEMCALPi0PbPb.h:14 AliAnalysisTaskEMCALPi0PbPb.h:15 AliAnalysisTaskEMCALPi0PbPb.h:16 AliAnalysisTaskEMCALPi0PbPb.h:17 AliAnalysisTaskEMCALPi0PbPb.h:18 AliAnalysisTaskEMCALPi0PbPb.h:19 AliAnalysisTaskEMCALPi0PbPb.h:20 AliAnalysisTaskEMCALPi0PbPb.h:21 AliAnalysisTaskEMCALPi0PbPb.h:22 AliAnalysisTaskEMCALPi0PbPb.h:23 AliAnalysisTaskEMCALPi0PbPb.h:24 AliAnalysisTaskEMCALPi0PbPb.h:25 AliAnalysisTaskEMCALPi0PbPb.h:26 AliAnalysisTaskEMCALPi0PbPb.h:27 AliAnalysisTaskEMCALPi0PbPb.h:28 AliAnalysisTaskEMCALPi0PbPb.h:29 AliAnalysisTaskEMCALPi0PbPb.h:30 AliAnalysisTaskEMCALPi0PbPb.h:31 AliAnalysisTaskEMCALPi0PbPb.h:32 AliAnalysisTaskEMCALPi0PbPb.h:33 AliAnalysisTaskEMCALPi0PbPb.h:34 AliAnalysisTaskEMCALPi0PbPb.h:35 AliAnalysisTaskEMCALPi0PbPb.h:36 AliAnalysisTaskEMCALPi0PbPb.h:37 AliAnalysisTaskEMCALPi0PbPb.h:38 AliAnalysisTaskEMCALPi0PbPb.h:39 AliAnalysisTaskEMCALPi0PbPb.h:40 AliAnalysisTaskEMCALPi0PbPb.h:41 AliAnalysisTaskEMCALPi0PbPb.h:42 AliAnalysisTaskEMCALPi0PbPb.h:43 AliAnalysisTaskEMCALPi0PbPb.h:44 AliAnalysisTaskEMCALPi0PbPb.h:45 AliAnalysisTaskEMCALPi0PbPb.h:46 AliAnalysisTaskEMCALPi0PbPb.h:47 AliAnalysisTaskEMCALPi0PbPb.h:48 AliAnalysisTaskEMCALPi0PbPb.h:49 AliAnalysisTaskEMCALPi0PbPb.h:50 AliAnalysisTaskEMCALPi0PbPb.h:51 AliAnalysisTaskEMCALPi0PbPb.h:52 AliAnalysisTaskEMCALPi0PbPb.h:53 AliAnalysisTaskEMCALPi0PbPb.h:54 AliAnalysisTaskEMCALPi0PbPb.h:55 AliAnalysisTaskEMCALPi0PbPb.h:56 AliAnalysisTaskEMCALPi0PbPb.h:57 AliAnalysisTaskEMCALPi0PbPb.h:58 AliAnalysisTaskEMCALPi0PbPb.h:59 AliAnalysisTaskEMCALPi0PbPb.h:60 AliAnalysisTaskEMCALPi0PbPb.h:61 AliAnalysisTaskEMCALPi0PbPb.h:62 AliAnalysisTaskEMCALPi0PbPb.h:63 AliAnalysisTaskEMCALPi0PbPb.h:64 AliAnalysisTaskEMCALPi0PbPb.h:65 AliAnalysisTaskEMCALPi0PbPb.h:66 AliAnalysisTaskEMCALPi0PbPb.h:67 AliAnalysisTaskEMCALPi0PbPb.h:68 AliAnalysisTaskEMCALPi0PbPb.h:69 AliAnalysisTaskEMCALPi0PbPb.h:70 AliAnalysisTaskEMCALPi0PbPb.h:71 AliAnalysisTaskEMCALPi0PbPb.h:72 AliAnalysisTaskEMCALPi0PbPb.h:73 AliAnalysisTaskEMCALPi0PbPb.h:74 AliAnalysisTaskEMCALPi0PbPb.h:75 AliAnalysisTaskEMCALPi0PbPb.h:76 AliAnalysisTaskEMCALPi0PbPb.h:77 AliAnalysisTaskEMCALPi0PbPb.h:78 AliAnalysisTaskEMCALPi0PbPb.h:79 AliAnalysisTaskEMCALPi0PbPb.h:80 AliAnalysisTaskEMCALPi0PbPb.h:81 AliAnalysisTaskEMCALPi0PbPb.h:82 AliAnalysisTaskEMCALPi0PbPb.h:83 AliAnalysisTaskEMCALPi0PbPb.h:84 AliAnalysisTaskEMCALPi0PbPb.h:85 AliAnalysisTaskEMCALPi0PbPb.h:86 AliAnalysisTaskEMCALPi0PbPb.h:87 AliAnalysisTaskEMCALPi0PbPb.h:88 AliAnalysisTaskEMCALPi0PbPb.h:89 AliAnalysisTaskEMCALPi0PbPb.h:90 AliAnalysisTaskEMCALPi0PbPb.h:91 AliAnalysisTaskEMCALPi0PbPb.h:92 AliAnalysisTaskEMCALPi0PbPb.h:93 AliAnalysisTaskEMCALPi0PbPb.h:94 AliAnalysisTaskEMCALPi0PbPb.h:95 AliAnalysisTaskEMCALPi0PbPb.h:96 AliAnalysisTaskEMCALPi0PbPb.h:97 AliAnalysisTaskEMCALPi0PbPb.h:98 AliAnalysisTaskEMCALPi0PbPb.h:99 AliAnalysisTaskEMCALPi0PbPb.h:100 AliAnalysisTaskEMCALPi0PbPb.h:101 AliAnalysisTaskEMCALPi0PbPb.h:102 AliAnalysisTaskEMCALPi0PbPb.h:103 AliAnalysisTaskEMCALPi0PbPb.h:104 AliAnalysisTaskEMCALPi0PbPb.h:105 AliAnalysisTaskEMCALPi0PbPb.h:106 AliAnalysisTaskEMCALPi0PbPb.h:107 AliAnalysisTaskEMCALPi0PbPb.h:108 AliAnalysisTaskEMCALPi0PbPb.h:109 AliAnalysisTaskEMCALPi0PbPb.h:110 AliAnalysisTaskEMCALPi0PbPb.h:111 AliAnalysisTaskEMCALPi0PbPb.h:112 AliAnalysisTaskEMCALPi0PbPb.h:113 AliAnalysisTaskEMCALPi0PbPb.h:114 AliAnalysisTaskEMCALPi0PbPb.h:115 AliAnalysisTaskEMCALPi0PbPb.h:116 AliAnalysisTaskEMCALPi0PbPb.h:117 AliAnalysisTaskEMCALPi0PbPb.h:118 AliAnalysisTaskEMCALPi0PbPb.h:119 AliAnalysisTaskEMCALPi0PbPb.h:120 AliAnalysisTaskEMCALPi0PbPb.h:121 AliAnalysisTaskEMCALPi0PbPb.h:122 AliAnalysisTaskEMCALPi0PbPb.h:123 AliAnalysisTaskEMCALPi0PbPb.h:124 AliAnalysisTaskEMCALPi0PbPb.h:125 AliAnalysisTaskEMCALPi0PbPb.h:126 AliAnalysisTaskEMCALPi0PbPb.h:127 AliAnalysisTaskEMCALPi0PbPb.h:128 AliAnalysisTaskEMCALPi0PbPb.h:129 AliAnalysisTaskEMCALPi0PbPb.h:130 AliAnalysisTaskEMCALPi0PbPb.h:131 AliAnalysisTaskEMCALPi0PbPb.h:132 AliAnalysisTaskEMCALPi0PbPb.h:133 AliAnalysisTaskEMCALPi0PbPb.h:134 AliAnalysisTaskEMCALPi0PbPb.h:135 AliAnalysisTaskEMCALPi0PbPb.h:136 AliAnalysisTaskEMCALPi0PbPb.h:137 AliAnalysisTaskEMCALPi0PbPb.h:138 AliAnalysisTaskEMCALPi0PbPb.h:139 AliAnalysisTaskEMCALPi0PbPb.h:140 AliAnalysisTaskEMCALPi0PbPb.h:141 AliAnalysisTaskEMCALPi0PbPb.h:142 AliAnalysisTaskEMCALPi0PbPb.h:143 AliAnalysisTaskEMCALPi0PbPb.h:144 AliAnalysisTaskEMCALPi0PbPb.h:145 AliAnalysisTaskEMCALPi0PbPb.h:146 AliAnalysisTaskEMCALPi0PbPb.h:147 AliAnalysisTaskEMCALPi0PbPb.h:148 AliAnalysisTaskEMCALPi0PbPb.h:149 AliAnalysisTaskEMCALPi0PbPb.h:150 AliAnalysisTaskEMCALPi0PbPb.h:151 AliAnalysisTaskEMCALPi0PbPb.h:152 AliAnalysisTaskEMCALPi0PbPb.h:153 AliAnalysisTaskEMCALPi0PbPb.h:154 AliAnalysisTaskEMCALPi0PbPb.h:155 AliAnalysisTaskEMCALPi0PbPb.h:156 AliAnalysisTaskEMCALPi0PbPb.h:157 AliAnalysisTaskEMCALPi0PbPb.h:158 AliAnalysisTaskEMCALPi0PbPb.h:159 AliAnalysisTaskEMCALPi0PbPb.h:160 AliAnalysisTaskEMCALPi0PbPb.h:161 AliAnalysisTaskEMCALPi0PbPb.h:162 AliAnalysisTaskEMCALPi0PbPb.h:163 AliAnalysisTaskEMCALPi0PbPb.h:164 AliAnalysisTaskEMCALPi0PbPb.h:165 AliAnalysisTaskEMCALPi0PbPb.h:166 AliAnalysisTaskEMCALPi0PbPb.h:167 AliAnalysisTaskEMCALPi0PbPb.h:168 AliAnalysisTaskEMCALPi0PbPb.h:169 AliAnalysisTaskEMCALPi0PbPb.h:170 AliAnalysisTaskEMCALPi0PbPb.h:171 AliAnalysisTaskEMCALPi0PbPb.h:172 AliAnalysisTaskEMCALPi0PbPb.h:173 AliAnalysisTaskEMCALPi0PbPb.h:174 AliAnalysisTaskEMCALPi0PbPb.h:175 AliAnalysisTaskEMCALPi0PbPb.h:176 AliAnalysisTaskEMCALPi0PbPb.h:177 AliAnalysisTaskEMCALPi0PbPb.h:178 AliAnalysisTaskEMCALPi0PbPb.h:179 AliAnalysisTaskEMCALPi0PbPb.h:180 AliAnalysisTaskEMCALPi0PbPb.h:181 AliAnalysisTaskEMCALPi0PbPb.h:182 AliAnalysisTaskEMCALPi0PbPb.h:183 AliAnalysisTaskEMCALPi0PbPb.h:184 AliAnalysisTaskEMCALPi0PbPb.h:185 AliAnalysisTaskEMCALPi0PbPb.h:186 AliAnalysisTaskEMCALPi0PbPb.h:187 AliAnalysisTaskEMCALPi0PbPb.h:188 AliAnalysisTaskEMCALPi0PbPb.h:189 AliAnalysisTaskEMCALPi0PbPb.h:190 AliAnalysisTaskEMCALPi0PbPb.h:191 AliAnalysisTaskEMCALPi0PbPb.h:192 AliAnalysisTaskEMCALPi0PbPb.h:193 AliAnalysisTaskEMCALPi0PbPb.h:194 AliAnalysisTaskEMCALPi0PbPb.h:195 AliAnalysisTaskEMCALPi0PbPb.h:196 AliAnalysisTaskEMCALPi0PbPb.h:197 AliAnalysisTaskEMCALPi0PbPb.h:198 AliAnalysisTaskEMCALPi0PbPb.h:199 AliAnalysisTaskEMCALPi0PbPb.h:200 AliAnalysisTaskEMCALPi0PbPb.h:201 AliAnalysisTaskEMCALPi0PbPb.h:202 AliAnalysisTaskEMCALPi0PbPb.h:203 AliAnalysisTaskEMCALPi0PbPb.h:204 AliAnalysisTaskEMCALPi0PbPb.h:205 AliAnalysisTaskEMCALPi0PbPb.h:206 AliAnalysisTaskEMCALPi0PbPb.h:207 AliAnalysisTaskEMCALPi0PbPb.h:208 AliAnalysisTaskEMCALPi0PbPb.h:209 AliAnalysisTaskEMCALPi0PbPb.h:210 AliAnalysisTaskEMCALPi0PbPb.h:211 AliAnalysisTaskEMCALPi0PbPb.h:212 AliAnalysisTaskEMCALPi0PbPb.h:213 AliAnalysisTaskEMCALPi0PbPb.h:214 AliAnalysisTaskEMCALPi0PbPb.h:215 AliAnalysisTaskEMCALPi0PbPb.h:216 AliAnalysisTaskEMCALPi0PbPb.h:217 AliAnalysisTaskEMCALPi0PbPb.h:218 AliAnalysisTaskEMCALPi0PbPb.h:219