]>
Commit | Line | Data |
---|---|---|
04b116e8 | 1 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
2 | * See cxx source for full Copyright notice */ | |
3c40321c | 3 | |
04b116e8 | 4 | /* $Id: AliAnalysisTaskPi0V2.h 45956 2010-12-10 12:55:37Z agheata $ */ |
5 | /* AliAnalysisTaskPi0V2.h | |
6 | * | |
7 | * Template task producing a P_t spectrum and pseudorapidity distribution. | |
8 | * Includes explanations of physics and primary track selections | |
9 | * | |
10 | * Based on tutorial example from offline pages | |
11 | * Edited by Arvinder Palaha | |
12 | */ | |
8071d5b2 | 13 | #ifndef ALIANALYSISTASKPI0V2_H |
14 | #define ALIANALYSISTASKPI0V2_H | |
3c40321c | 15 | |
16 | class TH1F; | |
17 | class TH2F; | |
04b116e8 | 18 | class TH3F; |
3c40321c | 19 | class TList; |
20 | class AliESDCaloCluster; | |
21 | class AliESDtrackCuts; | |
22 | class AliESDEvent; | |
04b116e8 | 23 | class THnSparse; |
e5ba16b4 | 24 | class TClonesArray; |
25 | class TString; | |
3c40321c | 26 | |
04b116e8 | 27 | #ifndef ALIANALYSISTASKSE_H |
3c40321c | 28 | #include "AliAnalysisTaskSE.h" |
04b116e8 | 29 | #endif |
3c40321c | 30 | |
31 | class AliAnalysisTaskPi0V2 : public AliAnalysisTaskSE { | |
32 | public: | |
965c985f | 33 | AliAnalysisTaskPi0V2(); |
8f40bd27 | 34 | AliAnalysisTaskPi0V2(const char *name); |
04b116e8 | 35 | virtual ~AliAnalysisTaskPi0V2(); |
3c40321c | 36 | |
04b116e8 | 37 | virtual void UserCreateOutputObjects(); |
38 | virtual void UserExec(Option_t *option); | |
39 | virtual void Terminate(Option_t *); | |
40 | Double_t GetCrossEnergy(const AliVCluster *cluster, Short_t &idmax) const; | |
41 | Double_t GetMaxCellEnergy(const AliVCluster *cluster, Short_t &id) const; | |
42 | Bool_t IsWithinFiducialVolume(Short_t id) const; | |
43 | Bool_t IsGoodCluster(const AliESDCaloCluster *c) const; | |
44 | Bool_t IsGoodPion(const TLorentzVector& p1, const TLorentzVector& p2) const; | |
45 | void FillPion(const TLorentzVector& p1, const TLorentzVector& p2, Double_t EPV0r, Double_t EPV0A, Double_t EPV0C, Double_t EPTPC); | |
7bb82cc2 | 46 | void FillCluster(const TLorentzVector& p1, Double_t EPV0r, Double_t EPV0A, Double_t EPV0C, Double_t EPTPC); |
04b116e8 | 47 | void GetMom(TLorentzVector& p, const AliESDCaloCluster *c, Double_t *vertex); |
670ffa5c | 48 | void SetEventMethod(Double_t e ) { fEvtSelect =e ;} |
49 | void SetVtxCut(Double_t v ) { fVtxCut =v ;} | |
50 | void SetClusNcell(Double_t c ) { fNcellCut =c ;} | |
51 | void SetClusE(Double_t e ) { fECut =e ;} | |
52 | void SetClusEta(Double_t e ) { fEtaCut =e ;} | |
53 | void SetClusM02(Double_t m ) { fM02Cut =m ;} | |
54 | void SetPi0Asy(Double_t a ) { fPi0AsyCut =a ;} | |
e5ba16b4 | 55 | void SetTracksName(const char *n) { fTracksName =n ;} |
7bb82cc2 | 56 | void SetTrigClass(const char *n) { fTrigClass = n ;} |
57 | Int_t ConvertToInternalRunNumber(Int_t n); | |
58 | void FillEPQA(); | |
59 | ||
04b116e8 | 60 | |
3c40321c | 61 | |
62 | private: | |
7bb82cc2 | 63 | TList *fOutput; //! Output list |
64 | AliESDEvent *fESD; //!ESD object | |
65 | TString fTracksName; // name of track collection | |
66 | TString fTrigClass; // trigger class name for event selection | |
67 | TClonesArray *fTracks; //! pico tracks specific for Skim ESD | |
68 | Int_t fRunNumber; //! Run numbers | |
69 | Double_t fEvtSelect; // 1 = MB+Semi+Central, 2 = MB+Semi, 3 = MB; | |
70 | Double_t fVtxCut; // vertex cut | |
71 | Double_t fNcellCut; // N cells Cut | |
72 | Double_t fECut; // Cluster E cut | |
73 | Double_t fEtaCut; // Cluster Eta Cut | |
74 | Double_t fM02Cut; // Cluster long axis cut | |
75 | Bool_t fPi0AsyCut; // pion Asymetry cut 0=off 1=on | |
76 | Double_t fCentrality; //! Centrality | |
77 | Double_t fEPTPC; //! Evt plane TPC | |
78 | Double_t fEPTPCreso; //! resolution of TPC method | |
79 | Double_t fEPV0; //! EP V0 | |
80 | Double_t fEPV0A; //! EP V0A | |
81 | Double_t fEPV0C; //! EP V0C | |
82 | Double_t fEPV0Ar; //! EP V0A reduced | |
83 | Double_t fEPV0Cr; //! EP V0C reduced | |
84 | Double_t fEPV0r; //! EP V0 reduced | |
85 | Double_t fEPV0AR4; //! EP V0A ring4 only | |
86 | Double_t fEPV0AR5; //! EP V0A ring5 only | |
87 | Double_t fEPV0AR6; //! EP V0A ring6 only | |
88 | Double_t fEPV0AR7; //! EP V0A ring7 only | |
89 | Double_t fEPV0CR0; //! EP V0C ring0 only | |
90 | Double_t fEPV0CR1; //! EP V0C ring1 only | |
91 | Double_t fEPV0CR2; //! EP V0C ring2 only | |
92 | Double_t fEPV0CR3; //! EP V0C ring3 only | |
93 | ||
94 | TH1F *hEvtCount; //! | |
95 | TH1F *hAllcentV0; //! | |
96 | TH1F *hAllcentV0r; //! | |
97 | TH1F *hAllcentV0A; //! | |
98 | TH1F *hAllcentV0C; //! | |
99 | TH1F *hAllcentTPC; //! | |
100 | ||
101 | TH2F *h2DcosV0r; //! QA for cos(Phi) V0r vs Run NUmber | |
102 | TH2F *h2DsinV0r; //! QA for cos(Phi) V0r vs Run NUmber | |
103 | TH2F *h2DcosV0A; //! | |
104 | TH2F *h2DsinV0A; //! | |
105 | TH2F *h2DcosV0C; //! | |
106 | TH2F *h2DsinV0C; //! | |
107 | TH2F *h2DcosTPC; //! | |
108 | TH2F *h2DsinTPC; //! | |
109 | ||
110 | TH2F *hEPTPC; //! 2-D histo EPTPC vs cent | |
111 | TH2F *hresoTPC; //! 2-D histo TPC resolution vs cent | |
112 | TH2F *hEPV0; //! 2-D histo EPV0 vs cent | |
113 | TH2F *hEPV0A; //! 2-D histo EPV0A vs cent | |
114 | TH2F *hEPV0C; //! 2-D histo EPV0C vs cent | |
115 | TH2F *hEPV0Ar; //! 2-D histo EPV0Ar vs cent | |
116 | TH2F *hEPV0Cr; //! 2-D histo EPV0Cr vs cent | |
117 | TH2F *hEPV0r; //! 2-D histo EPV0r vs cent | |
118 | TH2F *hEPV0AR4; //! 2-D histo EPV0AR4 vs cent | |
119 | TH2F *hEPV0AR7; //! 2-D histo EPV0AR7 vs cent | |
120 | TH2F *hEPV0CR0; //! 2-D histo EPV0AR0 vs cent | |
121 | TH2F *hEPV0CR3; //! 2-D histo EPV0AR3 vs cent | |
04b116e8 | 122 | |
123 | TH2F *hdifV0A_V0CR0; //! 2-D histo diff V0A, V0CR0 vs cent | |
124 | TH2F *hdifV0A_V0CR3; //! 2-D histo diff V0A, V0CR3 vs cent | |
125 | TH2F *hdifV0ACR0_V0CR3; //! 2-D histo diff V0CR0, V0CR3 vs cent | |
126 | TH2F *hdifV0C_V0AR4; //! 2-D histo diff V0C, V0AR4 vs cent | |
127 | TH2F *hdifV0C_V0AR7; //! 2-D histo diff V0C, V0AR7 vs cent | |
128 | TH2F *hdifV0AR4_V0AR7; //! 2-D histo diff V0AR7, V0AR4 vs cent | |
129 | ||
130 | TH2F *hdifV0A_V0C; //! 2-D histo diff V0A - V0C | |
131 | TH2F *hdifV0A_TPC; //! 2-D histo diff V0A - TPC | |
132 | TH2F *hdifV0C_TPC; //! 2-D histo diff V0C - TPC | |
133 | TH2F *hdifV0C_V0A; //! 2-D histo diff V0C - V0A | |
134 | ||
93df010a | 135 | TH3F *hdifEMC_EPV0; //! 3-D histo dif phi in EMC with EPV0 |
136 | TH3F *hdifEMC_EPV0A; //! 3-D histo dif phi in EMC with EPV0A | |
137 | TH3F *hdifEMC_EPV0C; //! 3-D histo dif phi in EMC with EPV0C | |
138 | ||
139 | TH3F *hdifful_EPV0; //! 3-D histo dif phi in full with EPV0 | |
140 | TH3F *hdifful_EPV0A; //! 3-D histo dif phi in full with EPV0A | |
141 | TH3F *hdifful_EPV0C; //! 3-D histo dif phi in full with EPV0C | |
142 | ||
143 | TH3F *hdifout_EPV0; //! 3-D histo dif phi out EMC with EPV0 | |
144 | TH3F *hdifout_EPV0A; //! 3-D histo dif phi out EMC with EPV0A | |
145 | TH3F *hdifout_EPV0C; //! 3-D histo dif phi out EMC with EPV0C | |
146 | ||
147 | TH3F *hdifEMC_EPTPC; //! 3-D histo dif phi in EMC with EPTPC | |
148 | TH3F *hdifful_EPTPC; //! 3-D histo dif phi in full with EPTPC | |
149 | TH3F *hdifout_EPTPC; //! 3-D histo dif phi out EMC with EPTPC | |
04b116e8 | 150 | |
7bb82cc2 | 151 | TH3F *hdifClus_EPV0; //! 3-D histo dif phi of Clus with V0r |
152 | TH3F *hdifClus_EPV0A; //! 3-D histo dif phi of Clus with V0A | |
153 | TH3F *hdifClus_EPV0C; //! 3-D histo dif phi of Clus with V0C | |
154 | TH3F *hdifClus_EPTPC; //! 3-D histo dif phi of Clus with TPC | |
155 | ||
8f40bd27 | 156 | THnSparse *fHEPV0r; //! Flow 4-D Histo |
157 | THnSparse *fHEPV0A; //! Flow 4-D Histo | |
158 | THnSparse *fHEPV0C; //! Flow 4-D Histo | |
159 | THnSparse *fHEPTPC; //! Flow 4-D Histo | |
04b116e8 | 160 | |
161 | ||
3c40321c | 162 | |
04b116e8 | 163 | AliAnalysisTaskPi0V2(const AliAnalysisTaskPi0V2&); // not implemented |
164 | AliAnalysisTaskPi0V2& operator=(const AliAnalysisTaskPi0V2&); // not implemented | |
165 | ||
e5ba16b4 | 166 | ClassDef(AliAnalysisTaskPi0V2, 4); // example of analysis |
3c40321c | 167 | }; |
04b116e8 | 168 | |
3c40321c | 169 | #endif |
04b116e8 | 170 |