1 #ifndef AliAnalysisTaskEMCALPi0PbPb_cxx
2 #define AliAnalysisTaskEMCALPi0PbPb_cxx
11 class AliAODCaloCells;
12 class AliAODCaloCluster;
14 class AliEMCALGeoUtils;
15 class AliESDCaloCells;
16 class AliESDCaloCluster;
19 #include "AliAnalysisTaskSE.h"
21 class AliAnalysisTaskEMCALPi0PbPb : public AliAnalysisTaskSE {
23 AliAnalysisTaskEMCALPi0PbPb(const char *name=0);
24 virtual ~AliAnalysisTaskEMCALPi0PbPb();
26 void UserCreateOutputObjects();
27 void UserExec(Option_t *option);
28 void Terminate(Option_t *);
30 void SetAsymMax(Double_t asymMax) { fAsymMax = asymMax; }
31 void SetCentrality(const char *name) { fCentVar = name; }
32 void SetCentralityRange(Double_t from, Double_t to) { fCentFrom=from; fCentTo=to; }
33 void SetClusName(const char *name) { fClusName = name; }
34 void SetUseQualFlag(Bool_t b) { fUseQualFlag = b; }
35 void SetVertexRange(Double_t z1, Double_t z2) { fVtxZMin=z1; fVtxZMax=z2; }
38 virtual void FillCellHists();
39 virtual void FillClusHists();
40 virtual void FillPionHists();
41 Double_t GetEnergyRatio(AliVCluster *c);
42 Double_t GetSigmaMax(AliVCluster *c);
45 Double_t fAsymMax; // energy asymmetry max (def=1)
46 TString fCentVar; // variable for centrality determination
47 Double_t fCentFrom; // min centrality (def=0)
48 Double_t fCentTo; // max centrality (def=100)
49 Double_t fVtxZMin; // min primary vertex z (def=-10cm)
50 Double_t fVtxZMax; // max primary vertex z (def=+10cm)
51 Bool_t fUseQualFlag; // if true use quality flag for centrality
52 TString fClusName; // cluster branch name (def="")
53 // derived members (ie with ! after //)
54 AliEMCALGeoUtils *fGeom; //! geometry utils
55 TList *fOutput; //!container of output histograms
56 AliESDEvent *fEsdEv; //!pointer to input esd event
57 AliAODEvent *fAodEv; //!pointer to input aod event
58 TObjArray *fRecPoints; //!pointer to rec points (AliAnalysisTaskEMCALClusterizeFast)
59 TObjArray *fEsdClusters; //!pointer to esd clusters
60 AliESDCaloCells *fEsdCells; //!pointer to esd cells
61 TObjArray *fAodClusters; //!pointer to aod clusters
62 AliAODCaloCells *fAodCells; //!pointer to aod cells
63 TAxis *fPtRanges; //!pointer to pt ranges
65 TH1F *fHCuts; //!histo for cuts
66 TH1F *fHVertexZ; //!histo for vtxz
67 TH1F *fHVertexZ2; //!histo for vtxz after vtx cuts
68 TH1F *fHCent; //!histo for cent
69 TH1F *fHCentQual; //!histo for cent after quality flag cut
70 // histograms for cells
71 TH2F **fHColuRow; //!histo for cell column and row
72 TH2F **fHColuRowE; //!histo for cell column and row weight energy
73 TH1F **fHCellMult; //!histo for cell multiplicity in module
74 TH1F *fHCellE; //!histo for cell energy
75 TH1F *fHCellH; //!histo for highest cell energy
76 // histograms for clusters
77 TH2F *fHClustEtaPhi; //!histo for cluster eta vs. phi
78 TH2F *fHClustEnergyPt; //!histo for cluster energy vs. pT
79 TH2F *fHClustEnergySigma; //!histo for cluster energy vs. variance over long axis
80 TH2F *fHClustSigmaSigma; //!histo for sigma vs. lambda_0 comparison
81 TH2F *fHClustNTowEnergyRatio;//!histo for cluster n tow vs. energy ratio
82 // histograms for pion candidates
83 TH2F *fHPionEtaPhi; //!histo for pion eta vs. phi
84 TH2F *fHPionMggPt; //!histo for pion mass vs. pT
85 TH2F *fHPionMggAsym; //!histo for pion mass vs. asym
86 TH1F *fHPionInvMasses[20]; //!histos for invariant mass plots
89 AliAnalysisTaskEMCALPi0PbPb(const AliAnalysisTaskEMCALPi0PbPb&); // not implemented
90 AliAnalysisTaskEMCALPi0PbPb &operator=(const AliAnalysisTaskEMCALPi0PbPb&); // not implemented
92 ClassDef(AliAnalysisTaskEMCALPi0PbPb, 1); // Analysis task for neutral pions in Pb+Pb