checked in Astrids Task to EMCALTasks
[u/mrichter/AliRoot.git] / PWGGA / EMCALTasks / AliEMCalpi0ClusterEvaluationTask.h
1 #ifndef AliEMCalpi0ClusterEvaluationTask_h
2 #define AliEMCalpi0ClusterEvaluationTask_h
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice                               */
6
7 // $Id$
8
9 /// \class AliEMCalpi0ClusterEvaluationTask
10 /// \Task to analyse ESDs for cluster studies
11 ///
12 //  \Astrid Morreale -
13
14 #include "AliAnalysisTaskSE.h"
15 class TTree;
16 class TString;
17 class TList;
18 class TH1F;
19 class TH2F;
20 class AliESDEvent;
21
22
23
24 class AliEMCalpi0ClusterEvaluationTask : public AliAnalysisTaskSE
25 {
26     public:
27     AliEMCalpi0ClusterEvaluationTask(const char *name = "AliEMCalpi0ClusterEvaluationTask");
28
29     virtual ~AliEMCalpi0ClusterEvaluationTask();
30
31     // virtual void GetMom(TLorentzVector& p, const AliVCluster *c1, const AliVCluster *c2, Double_t *vertex);
32     virtual void UserCreateOutputObjects();
33     virtual void UserExec(Option_t *option);
34     virtual void Terminate(const Option_t*);
35     virtual void FillMixed(const TLorentzVector& p1, const TLorentzVector& p2);
36     virtual Double_t GetMaxCellEnergy(const AliVCluster *cluster, Int_t &id) const;
37
38     private:
39     void InitHistPointers();
40     /// copy constructor (not implemented )
41     AliEMCalpi0ClusterEvaluationTask( const AliEMCalpi0ClusterEvaluationTask& );
42
43     /// assignment operator (not implemented )
44     AliEMCalpi0ClusterEvaluationTask& operator = ( const AliEMCalpi0ClusterEvaluationTask& );
45
46     enum {kNtype = 10};
47     TH2F * fMasspi0EGA[kNtype];
48     TH2F * fMasspi0MB[kNtype];
49     TH2F * fMasspi0AllMB[kNtype];
50     TH2F * fMasspi0Cent[kNtype];
51     TH2F * fMasspi0SemiCent[kNtype];
52
53     TH2F * fMassMixedEGA[kNtype];
54     TH2F * fMassMixedMB[kNtype];
55     TH2F * fMassMixedAllMB[kNtype];
56     TH2F * fMassMixedCent[kNtype];
57     TH2F * fMassMixedSemiCent[kNtype];
58
59
60     TH1F * fEventsEGA[kNtype];
61     TH1F * fEventsMB[kNtype];
62     TH1F * fEventsAllMB[kNtype];
63     TH1F * fEventsCent[kNtype];
64     TH1F * fEventsSemiCent[kNtype];
65
66
67     TH1F * fCentrality;
68     TH1F * fCentralityMB;
69     TH1F * fCentralityEGA;
70     TH1F * fCentralityCent;
71     TH1F * fCentralitySemiCent;
72
73     TH1F * fTriggers;
74
75     TH1F * fpTMB[kNtype];
76     TH1F * fpTAllMB[kNtype];
77     TH1F * fpTEGA[kNtype];
78     TH1F * fpTkCent[kNtype];
79     TH1F * fpTkSemiCent[kNtype];
80     TH1F * fDispersion;
81     TH1F * fexo;
82     TH1F * fshower;
83
84     /// local event counter
85     Int_t  fEvent;
86     Int_t   ega0,   ega1,  ega2,  ega3,  ega4,  ega5,  ega6,   ega7,  ega8, ega9;
87     Int_t    mb0,    mb1,   mb2,   mb3,   mb4,   mb5,   mb6,    mb7,   mb8, mb9;
88     Int_t allmb0, allmb1,allmb2,allmb3,allmb4,allmb5,allmb6, allmb7,allmb8, allmb9;
89     Int_t cent0,   cent1, cent2, cent3, cent4, cent5, cent6,  cent7, cent8, cent9;
90     Int_t semicent0,   semicent1, semicent2, semicent3, semicent4, semicent5, semicent6,  semicent7, semicent8, semicent9;
91     Int_t all, allmb, mb, central, semicentral, ega;
92
93
94
95     Bool_t  kAllMB;
96     Bool_t  isPileup;
97     Bool_t  isMB;
98     Bool_t  isAnyINT;
99     Bool_t  isCentral;
100     Bool_t  isSemiCentral;
101     Bool_t  isEga;
102
103     Bool_t  isMBmx;
104     Bool_t  isAnyINTmx;
105     Bool_t  isCentralmx;
106     Bool_t  isSemiCentralmx;
107     Bool_t  isEgamx;
108     Bool_t  kAllMBmx;
109
110     Int_t   trigger;
111     Float_t CentralityVZERO;
112     Float_t CentralitySPD;
113     Int_t   runNumber;
114     Int_t   selectionMask;
115     Float_t vX; Float_t vY; Float_t vZ;
116
117
118
119
120     //characteristiques cluster
121     Float_t   Ecluster;
122     Int_t     NCellscluster;
123     Float_t   M20cluster;
124     Float_t   M02cluster;
125     Int_t     NCluscluster;
126     Bool_t    isEMCALcluster;
127     Float_t   dispersioncluster;
128     Float_t   chi2cluster;
129     Int_t     distBadChannelcluster;
130     Float_t   phicluster;
131     Float_t   etacluster;
132     Float_t   ptcluster;
133     Double_t crossEnergy;
134     //characteristics pion
135     Float_t   piE;
136     Float_t   piphi;
137     Float_t   pieta;
138     Float_t   ptpi;
139     Float_t   pipx;
140     Float_t   pipy;
141     Float_t   pipz;
142     Float_t   asympi;
143     Float_t   masspi;
144
145     TList *fHistList;
146     TObjArray  *fPool[kNtype];
147
148     ClassDef(AliEMCalpi0ClusterEvaluationTask,1)
149
150 };
151
152 #endif
153