Cosmetics
[u/mrichter/AliRoot.git] / PWG2 / EVCHAR / AliAnalysisTaskCentrality.h
1 #ifndef ALIANALYSISTASKCENTRALITY_H
2 #define ALIANALYSISTASKCENTRALITY_H
3
4 /* Copyright(c) 1998-2008, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 //*****************************************************
8 //   Class AliAnalysisTaskCentrality
9 //   author: Alberica Toia
10 //*****************************************************
11
12 #include "AliAnalysisTaskSE.h"
13
14 class TROOT;
15 class TSystem;
16 class TList;
17 class TFile;
18 class TH2F;
19 class TProfile;
20
21 class AliAnalysisTaskCentrality : public AliAnalysisTaskSE {
22
23  public:
24
25   AliAnalysisTaskCentrality();
26   AliAnalysisTaskCentrality(const char *name);
27   AliAnalysisTaskCentrality& operator= (const AliAnalysisTaskCentrality& ana);
28   AliAnalysisTaskCentrality(const AliAnalysisTaskCentrality& c);
29   virtual ~AliAnalysisTaskCentrality();
30
31   // Implementation of interface methods
32   virtual void UserCreateOutputObjects();
33   virtual void UserExec(Option_t *option);
34   virtual void Terminate(Option_t *option);
35
36   virtual void  SetDebugLevel(Int_t level) {fDebug = level;}
37   void SetInput(const char* input) {fAnalysisInput = input;}
38   void SetMCInput() {fIsMCInput = kTRUE;}
39   
40
41  private:
42
43   Int_t    fDebug;              //  Debug flag
44   TString  fAnalysisInput;      // "ESD", "AOD"
45   Bool_t   fIsMCInput;          // true when input is MC
46   //
47   TList   *fOutput;             //! list send on output slot 0
48   TH1F *fhEzdc;            //!
49   TH1F *fhEzem;            //!
50   TH1F *fhNtracks;         //!
51   TH1F *fhNtracklets;      //!
52   TH1F *fhNclusters0;      //!
53   TH1F *fhmultV0;          //!
54   TH1F *fhmultFMD;         //!
55
56   TProfile *fhEzemvsEzdc;            //!
57   TProfile *fhNtracksvsEzdc;         //!
58   TProfile *fhNtrackletsvsEzdc;      //!
59   TProfile *fhNclusters0vsEzdc;      //!
60   TProfile *fhmultV0vsEzdc;          //!
61   TProfile *fhmultFMDvsEzdc;         //!
62   TProfile *fhNtracksvsEzem;         //!
63   TProfile *fhNtrackletsvsEzem;      //!
64   TProfile *fhNclusters0vsEzem;      //!
65   TProfile *fhmultV0vsEzem;          //!
66   TProfile *fhmultFMDvsEzem;         //!
67   TProfile *fhNtracksvsmultV0;       //!      
68   TProfile *fhNtrackletsvsmultV0;    //!    
69   TProfile *fhNclusters0vsmultV0;    //!
70   TProfile *fhNtracksvsmultFMD;      //!
71   TProfile *fhNtrackletsvsmultFMD;   //!
72   TProfile *fhNclusters0vsmultFMD;   //!
73   TProfile *fhmultV0vsmultFMD;       //!
74
75   Int_t    fNev;                //  event counter
76   Float_t  fBeamEnergy;         //  beam energy
77   Int_t    fNmyTracksgen;       //  no. generated primary charged tracks 
78   char     fTrigClass[100];     //  fired trigger classes
79   //
80   Double_t fxVertex;            //  X vertex from ITS
81   Double_t fyVertex;            //  Y vertex from ITS
82   Double_t fzVertex;            //  Z vertex from ITS
83   Bool_t   fVertexer3d;         //  Is vertex from 3d vertexer?
84   //
85   Double_t fbMC;                // impact parameter from MC
86   Int_t    fNpartTargMC;        // no. of participants for target nucleus from MC
87   Int_t    fNpartProjMC;        // no. of participants for project nucleus from MC
88   Int_t    fNNColl;             // Number of N-N collisions
89   Int_t    fNNwColl;            // Number of N-Nwounded collisions
90   Int_t    fNwNColl;            // Number of Nwounded-N collisons
91   Int_t    fNwNwColl;           // Number of Nwounded-Nwounded collisions
92   //
93   Int_t    fNTracklets;         //  no. tracklets
94   Int_t    fNSingleClusters;    //  no. single clusters
95   Int_t    fNClusters[6];       //  no. clusters on 6 ITS layers
96   Int_t    fNChips[2];          //  no. chips on 2 SPD layers
97   //
98   Double_t fbZDC;               // impact parameter from ZDC reco
99   Int_t    fNpartZDC;           // no. of participants from ZDC reco
100   Double_t fbZDCA;              // impact parameter from ZDC reco side A
101   Int_t    fNpartZDCA;          // no. of part. from ZDC reco side A
102   Double_t fbZDCC;              // impact parameter from ZDC reco side C
103   Int_t    fNpartZDCC;          // no. of part. from ZDC reco side C
104   //
105   UInt_t   fESDFlag;            //  ZDC ESD flags
106   Float_t  fZNCEnergy;          //  ZNC Energy
107   Float_t  fZPCEnergy;          //  ZPC Energy
108   Float_t  fZNAEnergy;          //  ZNA Energy
109   Float_t  fZPAEnergy;          //  ZPA Energy
110   Float_t  fZEM1Energy;         //  ZEM1 Energy
111   Float_t  fZEM2Energy;         //  ZEM2 Energy
112   Float_t  fZNCtower[5];        //  ZNC 5 tower signals
113   Float_t  fZPCtower[5];        //  ZPC 5 tower signals
114   Float_t  fZNAtower[5];        //  ZNA 5 tower signals
115   Float_t  fZPAtower[5];        //  ZPA 5 tower signals
116   Float_t  fCentrZNC[2];        //  centroid over ZNC
117   Float_t  fCentrZNA[2];        //  centroid over ZNA
118   
119   Int_t    fNTracks;            //  no. tracks
120   Int_t    fNPmdTracks;         //  no. PMD tracks
121   Float_t  fMultV0A;            //  multiplicity from V0 reco side A
122   Float_t  fMultV0C;            //  multiplicity from V0 reco side C
123   Float_t  fMultFMDA;      //  multiplicity from FMD on detector A
124   Float_t  fMultFMDC;      //  multiplicity from FMD on detector C
125
126   ClassDef(AliAnalysisTaskCentrality,1); 
127 };
128 #endif