]>
Commit | Line | Data |
---|---|---|
04b116e8 | 1 | /* $Id: AliAnalysisTaskPi0V2.h 45956 2010-12-10 12:55:37Z agheata $ */ |
cd0e5e33 | 2 | |
8071d5b2 | 3 | #ifndef ALIANALYSISTASKPI0V2_H |
4 | #define ALIANALYSISTASKPI0V2_H | |
3c40321c | 5 | |
6 | class TH1F; | |
7 | class TH2F; | |
04b116e8 | 8 | class TH3F; |
3c40321c | 9 | class TList; |
10 | class AliESDCaloCluster; | |
ceba2d0c | 11 | class AliVCluster; |
3c40321c | 12 | class AliESDtrackCuts; |
13 | class AliESDEvent; | |
04b116e8 | 14 | class THnSparse; |
e5ba16b4 | 15 | class TClonesArray; |
16 | class TString; | |
79ad78fd | 17 | class TProfile; |
79ad78fd | 18 | class AliOADBContainer; |
898aee41 | 19 | class AliEPFlattener; |
3c40321c | 20 | |
04b116e8 | 21 | #ifndef ALIANALYSISTASKSE_H |
3c40321c | 22 | #include "AliAnalysisTaskSE.h" |
04b116e8 | 23 | #endif |
3c40321c | 24 | |
25 | class AliAnalysisTaskPi0V2 : public AliAnalysisTaskSE { | |
26 | public: | |
965c985f | 27 | AliAnalysisTaskPi0V2(); |
8f40bd27 | 28 | AliAnalysisTaskPi0V2(const char *name); |
04b116e8 | 29 | virtual ~AliAnalysisTaskPi0V2(); |
3c40321c | 30 | |
04b116e8 | 31 | virtual void UserCreateOutputObjects(); |
32 | virtual void UserExec(Option_t *option); | |
33 | virtual void Terminate(Option_t *); | |
34 | Double_t GetCrossEnergy(const AliVCluster *cluster, Short_t &idmax) const; | |
35 | Double_t GetMaxCellEnergy(const AliVCluster *cluster, Short_t &id) const; | |
36 | Bool_t IsWithinFiducialVolume(Short_t id) const; | |
ceba2d0c | 37 | Bool_t IsGoodCluster(const AliVCluster *c) const; |
38 | Bool_t IsGoodClusterV1(const AliVCluster *c) const; | |
04b116e8 | 39 | Bool_t IsGoodPion(const TLorentzVector& p1, const TLorentzVector& p2) const; |
79ad78fd | 40 | void FillPion(const TLorentzVector& p1, const TLorentzVector& p2, Double_t EPV0A, Double_t EPV0C, Double_t EPTPC); |
41 | void FillCluster(const TLorentzVector& p1, Double_t EPV0r, Double_t EPV0C, Double_t EPTPC, AliVCluster *c); | |
ceba2d0c | 42 | void GetMom(TLorentzVector& p, const AliVCluster *c, Double_t *vertex); |
670ffa5c | 43 | void SetVtxCut(Double_t v ) { fVtxCut =v ;} |
44 | void SetClusNcell(Double_t c ) { fNcellCut =c ;} | |
45 | void SetClusE(Double_t e ) { fECut =e ;} | |
46 | void SetClusEta(Double_t e ) { fEtaCut =e ;} | |
47 | void SetClusM02(Double_t m ) { fM02Cut =m ;} | |
c45a0734 | 48 | void SetDrCut(Double_t m ) { fDrCut =m ;} |
670ffa5c | 49 | void SetPi0Asy(Double_t a ) { fPi0AsyCut =a ;} |
e5ba16b4 | 50 | void SetTracksName(const char *n) { fTracksName =n ;} |
d21ea448 | 51 | void SetTrigClass(const char *n) { fTrigClass =n ;} |
52 | void SetV1ClusName(const char *n) { fV1ClusName =n ;} | |
53 | void SetV2ClusName(const char *n) { fV2ClusName =n ;} | |
7bb82cc2 | 54 | Int_t ConvertToInternalRunNumber(Int_t n); |
55 | void FillEPQA(); | |
79ad78fd | 56 | void SetIsV1Clus(Bool_t e) { isV1Clus =e ;} |
57 | void SetIsPHOSCali(Bool_t e) { isPhosCali =e ;} | |
98c280d5 | 58 | void SetIsCentFlat(Bool_t e) { isCentFlat =e ;} |
3b7c7423 | 59 | void SetIsFullHist(Bool_t e) { isFullHist =e ;} |
79ad78fd | 60 | void SetFlatteningData(); // phos flattening |
61 | Double_t ApplyFlattening(Double_t phi, Double_t c) ; //Apply centrality-dependent flattening | |
62 | Double_t ApplyFlatteningV0A(Double_t phi, Double_t c) ; //Apply centrality-dependent flattening | |
63 | Double_t ApplyFlatteningV0C(Double_t phi, Double_t c) ; //Apply centrality-dependent flattening | |
7bb82cc2 | 64 | |
04b116e8 | 65 | |
3c40321c | 66 | |
67 | private: | |
7bb82cc2 | 68 | TList *fOutput; //! Output list |
69 | AliESDEvent *fESD; //!ESD object | |
79ad78fd | 70 | AliAODEvent *fAOD; //!AOD object |
7bb82cc2 | 71 | TString fTracksName; // name of track collection |
ceba2d0c | 72 | TString fV1ClusName; // name of V1 Clus collection |
73 | TString fV2ClusName; // name of V1 Clus collection | |
7bb82cc2 | 74 | TString fTrigClass; // trigger class name for event selection |
75 | TClonesArray *fTracks; //! pico tracks specific for Skim ESD | |
ceba2d0c | 76 | TClonesArray *fV1Clus; //! Cluster Array for V1 |
77 | TClonesArray *fV2Clus; //! Cluster Array for V2 | |
7bb82cc2 | 78 | Int_t fRunNumber; //! Run numbers |
79ad78fd | 79 | Int_t fInterRunNumber; //! Run numbers |
7bb82cc2 | 80 | Double_t fVtxCut; // vertex cut |
81 | Double_t fNcellCut; // N cells Cut | |
82 | Double_t fECut; // Cluster E cut | |
83 | Double_t fEtaCut; // Cluster Eta Cut | |
84 | Double_t fM02Cut; // Cluster long axis cut | |
cd0e5e33 | 85 | Double_t fDrCut; // Cluster long axis cut |
7bb82cc2 | 86 | Bool_t fPi0AsyCut; // pion Asymetry cut 0=off 1=on |
8f4922cb | 87 | Bool_t isV1Clus; // pion Asymetry cut 0=off 1=on |
79ad78fd | 88 | Bool_t isPhosCali; // use Phos flattening |
98c280d5 | 89 | Bool_t isCentFlat; // use the centrality flatten |
3b7c7423 | 90 | Bool_t isFullHist; // remove some histo to save memory |
7bb82cc2 | 91 | Double_t fCentrality; //! Centrality |
92 | Double_t fEPTPC; //! Evt plane TPC | |
93 | Double_t fEPTPCreso; //! resolution of TPC method | |
94 | Double_t fEPV0; //! EP V0 | |
95 | Double_t fEPV0A; //! EP V0A | |
96 | Double_t fEPV0C; //! EP V0C | |
97 | Double_t fEPV0Ar; //! EP V0A reduced | |
98 | Double_t fEPV0Cr; //! EP V0C reduced | |
99 | Double_t fEPV0r; //! EP V0 reduced | |
100 | Double_t fEPV0AR4; //! EP V0A ring4 only | |
101 | Double_t fEPV0AR5; //! EP V0A ring5 only | |
102 | Double_t fEPV0AR6; //! EP V0A ring6 only | |
103 | Double_t fEPV0AR7; //! EP V0A ring7 only | |
104 | Double_t fEPV0CR0; //! EP V0C ring0 only | |
105 | Double_t fEPV0CR1; //! EP V0C ring1 only | |
106 | Double_t fEPV0CR2; //! EP V0C ring2 only | |
107 | Double_t fEPV0CR3; //! EP V0C ring3 only | |
108 | ||
109 | TH1F *hEvtCount; //! | |
98c280d5 | 110 | TH1F *hCent; //! |
7bb82cc2 | 111 | |
79ad78fd | 112 | TProfile *h2DcosV0A; //! |
113 | TProfile *h2DsinV0A; //! | |
114 | TProfile *h2DcosV0C; //! | |
115 | TProfile *h2DsinV0C; //! | |
116 | TProfile *h2DcosTPC; //! | |
117 | TProfile *h2DsinTPC; //! | |
7bb82cc2 | 118 | |
119 | TH2F *hEPTPC; //! 2-D histo EPTPC vs cent | |
120 | TH2F *hresoTPC; //! 2-D histo TPC resolution vs cent | |
121 | TH2F *hEPV0; //! 2-D histo EPV0 vs cent | |
122 | TH2F *hEPV0A; //! 2-D histo EPV0A vs cent | |
123 | TH2F *hEPV0C; //! 2-D histo EPV0C vs cent | |
124 | TH2F *hEPV0Ar; //! 2-D histo EPV0Ar vs cent | |
125 | TH2F *hEPV0Cr; //! 2-D histo EPV0Cr vs cent | |
126 | TH2F *hEPV0r; //! 2-D histo EPV0r vs cent | |
127 | TH2F *hEPV0AR4; //! 2-D histo EPV0AR4 vs cent | |
128 | TH2F *hEPV0AR7; //! 2-D histo EPV0AR7 vs cent | |
129 | TH2F *hEPV0CR0; //! 2-D histo EPV0AR0 vs cent | |
130 | TH2F *hEPV0CR3; //! 2-D histo EPV0AR3 vs cent | |
04b116e8 | 131 | |
79ad78fd | 132 | TH2F *hEPTPCCor; //! 2-D histo EPTPC vs cent after PHOS Correct |
133 | TH2F *hEPV0ACor; //! 2-D histo EPV0A vs cent after PHOS Correct | |
134 | TH2F *hEPV0CCor; //! 2-D histo EPV0C vs cent after PHOS Correct | |
135 | ||
e50db689 | 136 | TH2F *hdifV0Ar_V0Cr; //! 2-D histo diff V0Ar, V0Cr vs cent |
04b116e8 | 137 | TH2F *hdifV0A_V0CR0; //! 2-D histo diff V0A, V0CR0 vs cent |
138 | TH2F *hdifV0A_V0CR3; //! 2-D histo diff V0A, V0CR3 vs cent | |
139 | TH2F *hdifV0ACR0_V0CR3; //! 2-D histo diff V0CR0, V0CR3 vs cent | |
140 | TH2F *hdifV0C_V0AR4; //! 2-D histo diff V0C, V0AR4 vs cent | |
141 | TH2F *hdifV0C_V0AR7; //! 2-D histo diff V0C, V0AR7 vs cent | |
142 | TH2F *hdifV0AR4_V0AR7; //! 2-D histo diff V0AR7, V0AR4 vs cent | |
143 | ||
144 | TH2F *hdifV0A_V0C; //! 2-D histo diff V0A - V0C | |
145 | TH2F *hdifV0A_TPC; //! 2-D histo diff V0A - TPC | |
146 | TH2F *hdifV0C_TPC; //! 2-D histo diff V0C - TPC | |
147 | TH2F *hdifV0C_V0A; //! 2-D histo diff V0C - V0A | |
148 | ||
cc57d293 | 149 | TH2F *hM02vsPtA; //! 2-D histo clus M02 vs Pt before cut |
150 | TH2F *hM02vsPtB; //! 2-D histo clus M02 vs Pt after cut | |
8f4922cb | 151 | TH2F *hClusDxDZA; //! 2-D histo clus Dx vs Dz before |
152 | TH2F *hClusDxDZB; //! 2-D histo clus Dx vs Dz after | |
cc57d293 | 153 | |
93df010a | 154 | TH3F *hdifEMC_EPV0A; //! 3-D histo dif phi in EMC with EPV0A |
155 | TH3F *hdifEMC_EPV0C; //! 3-D histo dif phi in EMC with EPV0C | |
156 | ||
93df010a | 157 | TH3F *hdifful_EPV0A; //! 3-D histo dif phi in full with EPV0A |
158 | TH3F *hdifful_EPV0C; //! 3-D histo dif phi in full with EPV0C | |
159 | ||
93df010a | 160 | TH3F *hdifout_EPV0A; //! 3-D histo dif phi out EMC with EPV0A |
161 | TH3F *hdifout_EPV0C; //! 3-D histo dif phi out EMC with EPV0C | |
162 | ||
91d49d74 | 163 | TH3F *hCv2EMC_EPV0A; //! 3-D histo for raw charged v2 in EMC with EPV0A |
164 | TH3F *hCv2EMC_EPV0C; //! 3-D histo for raw charged v2 in EMC with EPV0C | |
165 | ||
166 | TH3F *hCv2ful_EPV0A; //! 3-D histo for raw charged v2 in full with EPV0A | |
167 | TH3F *hCv2ful_EPV0C; //! 3-D histo for raw charged v2 in full with EPV0A | |
168 | ||
169 | TH3F *hCv2out_EPV0A; //! 3-D histo for raw charged v2 in out with EPV0A | |
170 | TH3F *hCv2out_EPV0C; //! 3-D histo for raw charged v2 in out with EPV0A | |
171 | ||
172 | TH3F *hclusDif_EPV0A; //! 3-D histo for dif phi with EPV0A | |
173 | TH3F *hclusDif_EPV0C; //! 3-D histo for dif phi with EPV0A | |
174 | ||
175 | TH3F *hclusv2_EPV0A; //! 3-D histo for raw cluster v2 in out with EPV0A | |
176 | TH3F *hclusv2_EPV0C; //! 3-D histo for raw cluster v2 in out with EPV0C | |
177 | ||
cd0e5e33 | 178 | TString fEPcalibFileName; // Name for calibration |
179 | AliEPFlattener *fTPCFlat; //! Object for flattening of TPC | |
180 | AliEPFlattener *fV0AFlat; //! Object for flattening of V0A | |
181 | AliEPFlattener *fV0CFlat; //! Object for flattening of V0C | |
04b116e8 | 182 | |
cd0e5e33 | 183 | THnSparse *fClusterPbV0; //! |
184 | THnSparse *fClusterPbV0A; //! | |
185 | THnSparse *fClusterPbV0C; //! | |
186 | THnSparse *fClusterPbTPC; //! | |
7bb82cc2 | 187 | |
1accedbd | 188 | THnSparse *fHEPV0A; //! Flow 5-D Histo |
189 | THnSparse *fHEPV0C; //! Flow 5-D Histo | |
190 | THnSparse *fHEPTPC; //! Flow 5-D Histo | |
d118f9e0 | 191 | |
192 | THnSparse *fHEPV0AM2; //! Flow 5-D Histo | |
193 | THnSparse *fHEPV0CM2; //! Flow 5-D Histo | |
194 | THnSparse *fHEPTPCM2; //! Flow 5-D Histo | |
3c40321c | 195 | |
04b116e8 | 196 | AliAnalysisTaskPi0V2(const AliAnalysisTaskPi0V2&); // not implemented |
197 | AliAnalysisTaskPi0V2& operator=(const AliAnalysisTaskPi0V2&); // not implemented | |
198 | ||
d118f9e0 | 199 | ClassDef(AliAnalysisTaskPi0V2, 6); // example of analysis |
3c40321c | 200 | }; |
3c40321c | 201 | #endif |