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