]>
Commit | Line | Data |
---|---|---|
ea3fd2d5 | 1 | #ifndef AliAnalysisTaskEMCALPi0PbPb_cxx |
2 | #define AliAnalysisTaskEMCALPi0PbPb_cxx | |
3 | ||
4 | // $Id$ | |
5 | ||
fa443410 | 6 | class TAxis; |
f5d4ab70 | 7 | class TClonesArray; |
ea3fd2d5 | 8 | class TH1F; |
9 | class TH2F; | |
f5d4ab70 | 10 | class TNtuple; |
717fe7de | 11 | class TObjArray; |
12 | class AliAODCaloCells; | |
13 | class AliAODCaloCluster; | |
ea3fd2d5 | 14 | class AliAODEvent; |
d595acbb | 15 | class AliEMCALGeoUtils; |
717fe7de | 16 | class AliESDCaloCells; |
ea3fd2d5 | 17 | class AliESDCaloCluster; |
717fe7de | 18 | class AliESDEvent; |
ea3fd2d5 | 19 | |
20 | #include "AliAnalysisTaskSE.h" | |
21 | ||
22 | class AliAnalysisTaskEMCALPi0PbPb : public AliAnalysisTaskSE { | |
23 | public: | |
d595acbb | 24 | AliAnalysisTaskEMCALPi0PbPb(const char *name=0); |
ea3fd2d5 | 25 | virtual ~AliAnalysisTaskEMCALPi0PbPb(); |
26 | ||
286b47a5 | 27 | void UserCreateOutputObjects(); |
28 | void UserExec(Option_t *option); | |
29 | void Terminate(Option_t *); | |
717fe7de | 30 | |
d595acbb | 31 | void SetAsymMax(Double_t asymMax) { fAsymMax = asymMax; } |
286b47a5 | 32 | void SetCentrality(const char *name) { fCentVar = name; } |
33 | void SetCentralityRange(Double_t from, Double_t to) { fCentFrom=from; fCentTo=to; } | |
34 | void SetClusName(const char *name) { fClusName = name; } | |
a49742b5 | 35 | void SetDoAfterburner(Bool_t b) { fDoAfterburner = b; } |
f5d4ab70 | 36 | void SetFillNtuple(Bool_t b) { fDoNtuple = b; } |
a49742b5 | 37 | void SetNminCells(Int_t n) { fNminCells = n; } |
76332037 | 38 | void SetUseQualFlag(Bool_t b) { fUseQualFlag = b; } |
d595acbb | 39 | void SetVertexRange(Double_t z1, Double_t z2) { fVtxZMin=z1; fVtxZMax=z2; } |
717fe7de | 40 | |
41 | protected: | |
76332037 | 42 | virtual void FillCellHists(); |
43 | virtual void FillClusHists(); | |
44 | virtual void FillPionHists(); | |
6eb6260e | 45 | virtual void ClusterAfterburner(); |
f5d4ab70 | 46 | |
90d5b88b | 47 | Double_t GetMaxCellEnergy(AliVCluster *c); |
6eb6260e | 48 | void GetSigma(AliVCluster *c, Double_t &sigmaMax, Double_t &sigmaMin); |
286b47a5 | 49 | |
717fe7de | 50 | // input members |
6eb6260e | 51 | Double_t fAsymMax; // energy asymmetry max (def=1) |
52 | TString fCentVar; // variable for centrality determination | |
53 | Double_t fCentFrom; // min centrality (def=0) | |
54 | Double_t fCentTo; // max centrality (def=100) | |
55 | Double_t fVtxZMin; // min primary vertex z (def=-10cm) | |
56 | Double_t fVtxZMax; // max primary vertex z (def=+10cm) | |
57 | Bool_t fUseQualFlag; // if true use quality flag for centrality | |
58 | TString fClusName; // cluster branch name (def="") | |
59 | Bool_t fDoNtuple; // if true write out ntuple | |
a49742b5 | 60 | Bool_t fDoAfterburner; // if true run after burner |
61 | Int_t fNminCells; // minimum number of cells attached to cluster | |
f5d4ab70 | 62 | // derived members (ie with ! after //) |
6eb6260e | 63 | AliEMCALGeoUtils *fGeom; //! geometry utils |
64 | TList *fOutput; //!container of output histograms | |
65 | AliESDEvent *fEsdEv; //!pointer to input esd event | |
66 | AliAODEvent *fAodEv; //!pointer to input aod event | |
67 | TObjArray *fRecPoints; //!pointer to rec points (AliAnalysisTaskEMCALClusterizeFast) | |
68 | TObjArray *fEsdClusters; //!pointer to esd clusters | |
69 | AliESDCaloCells *fEsdCells; //!pointer to esd cells | |
70 | TObjArray *fAodClusters; //!pointer to aod clusters | |
71 | AliAODCaloCells *fAodCells; //!pointer to aod cells | |
72 | TAxis *fPtRanges; //!pointer to pt ranges | |
73 | TNtuple *fNtuple; //!pointer to ntuple | |
717fe7de | 74 | // histograms |
6eb6260e | 75 | TH1F *fHCuts; //!histo for cuts |
76 | TH1F *fHVertexZ; //!histo for vtxz | |
77 | TH1F *fHVertexZ2; //!histo for vtxz after vtx cuts | |
78 | TH1F *fHCent; //!histo for cent | |
79 | TH1F *fHCentQual; //!histo for cent after quality flag cut | |
d595acbb | 80 | // histograms for cells |
6eb6260e | 81 | TH2F **fHColuRow; //!histo for cell column and row |
82 | TH2F **fHColuRowE; //!histo for cell column and row weight energy | |
83 | TH1F **fHCellMult; //!histo for cell multiplicity in module | |
84 | TH1F *fHCellE; //!histo for cell energy | |
85 | TH1F *fHCellH; //!histo for highest cell energy | |
a49742b5 | 86 | TH1F *fHCellM; //!histo for mean cell energy (normalized to hit cells) |
87 | TH1F *fHCellM2; //!histo for mean cell energy (normalized to all cells) | |
fa443410 | 88 | // histograms for clusters |
6eb6260e | 89 | TH1F *fHClustEccentricity; //!histo for cluster eccentricity |
90 | TH2F *fHClustEtaPhi; //!histo for cluster eta vs. phi | |
91 | TH2F *fHClustEnergyPt; //!histo for cluster energy vs. pT | |
92 | TH2F *fHClustEnergySigma; //!histo for cluster energy vs. variance over long axis | |
93 | TH2F *fHClustSigmaSigma; //!histo for sigma vs. lambda_0 comparison | |
94 | TH2F *fHClustNCellEnergyRatio; //!histo for cluster n tow vs. energy ratio | |
fa443410 | 95 | // histograms for pion candidates |
6eb6260e | 96 | TH2F *fHPionEtaPhi; //!histo for pion eta vs. phi |
97 | TH2F *fHPionMggPt; //!histo for pion mass vs. pT | |
98 | TH2F *fHPionMggAsym; //!histo for pion mass vs. asym | |
99 | TH2F *fHPionMggDgg; //!histo for pion mass vs. opening angle | |
100 | TH1F *fHPionInvMasses[20]; //!histos for invariant mass plots | |
ea3fd2d5 | 101 | |
ea3fd2d5 | 102 | private: |
717fe7de | 103 | AliAnalysisTaskEMCALPi0PbPb(const AliAnalysisTaskEMCALPi0PbPb&); // not implemented |
104 | AliAnalysisTaskEMCALPi0PbPb &operator=(const AliAnalysisTaskEMCALPi0PbPb&); // not implemented | |
ea3fd2d5 | 105 | |
717fe7de | 106 | ClassDef(AliAnalysisTaskEMCALPi0PbPb, 1); // Analysis task for neutral pions in Pb+Pb |
ea3fd2d5 | 107 | }; |
ea3fd2d5 | 108 | #endif |