]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGGA/EMCALTasks/AliAnalysisTaskPi0V2.h
remove obsolete restriction on aplication of time cuts in case of AOD analysis
[u/mrichter/AliRoot.git] / PWGGA / EMCALTasks / AliAnalysisTaskPi0V2.h
CommitLineData
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
16class TH1F;
17class TH2F;
04b116e8 18class TH3F;
3c40321c 19class TList;
20class AliESDCaloCluster;
21class AliESDtrackCuts;
22class AliESDEvent;
04b116e8 23class THnSparse;
e5ba16b4 24class TClonesArray;
25class TString;
3c40321c 26
04b116e8 27#ifndef ALIANALYSISTASKSE_H
3c40321c 28#include "AliAnalysisTaskSE.h"
04b116e8 29#endif
3c40321c 30
31class 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