Cosmetics
[u/mrichter/AliRoot.git] / PWG2 / EVCHAR / AliAnalysisTaskCentralityTreeMaker.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 AliAnalysisTaskCentralityTreeMaker
9 //   author: Chiara Oppedisano
10 //   modified: Alberica Toia
11 //*****************************************************
12
13 #include "AliAnalysisTaskSE.h"
14
15 class TROOT;
16 class TSystem;
17 class TList;
18 class TFile;
19 class TH2F;
20 class TTree;
21
22 class AliAnalysisTaskCentralityTreeMaker : public AliAnalysisTaskSE {
23
24  public:
25
26   AliAnalysisTaskCentralityTreeMaker();
27   AliAnalysisTaskCentralityTreeMaker(const char *name);
28   AliAnalysisTaskCentralityTreeMaker& operator= (const AliAnalysisTaskCentralityTreeMaker& ana);
29   AliAnalysisTaskCentralityTreeMaker(const AliAnalysisTaskCentralityTreeMaker& c);
30   virtual ~AliAnalysisTaskCentralityTreeMaker();
31
32   // Implementation of interface methods
33   virtual void UserCreateOutputObjects();
34   virtual void UserExec(Option_t *option);
35   virtual void Terminate(Option_t *option);
36
37   virtual void  SetDebugLevel(Int_t level) {fDebug = level;}
38   void SetInput(const char* input) {fAnalysisInput = input;}
39   void SetMCInput() {fIsMCInput = kTRUE;}
40   void SetTreeFilling(Bool_t val) {fTreeFilling = val;}
41   
42
43  private:
44
45   Int_t    fDebug;              //  Debug flag
46   TString  fAnalysisInput;      // "ESD", "AOD"
47   Bool_t   fIsMCInput;          // true when input is MC
48   //
49   TList   *fOutput;             //! list send on output slot 0
50   TH2F    *fEZDCvsEZEM;         //! E_ZDC vs. E_ZEM
51   TH2F    *fEZDCvsNtracklets;   //! E_ZDC vs. Ntracklets
52   //
53   Bool_t   fTreeFilling;        // True if ntuple is to be filled
54   TTree   *fCentralityTree;     //! output tree
55   //
56   Int_t    fNev;                //  event counter
57   Float_t  fBeamEnergy;         //  beam energy
58   Int_t    fNmyTracks_gen;      //  no. generated primary charged tracks 
59   char     fTrigClass[100];     //  fired trigger classes
60   //
61   Double_t fxVertex;            //  X vertex from ITS
62   Double_t fyVertex;            //  Y vertex from ITS
63   Double_t fzVertex;            //  Z vertex from ITS
64   Bool_t   fVertexer3d;         //  Is vertex from 3d vertexer?
65   //
66   Double_t fbMC;                // impact parameter from MC
67   Int_t    fNpartTargMC;        // no. of participants for target nucleus from MC
68   Int_t    fNpartProjMC;        // no. of participants for project nucleus from MC
69   Int_t    fNNColl;             // Number of N-N collisions
70   Int_t    fNNwColl;            // Number of N-Nwounded collisions
71   Int_t    fNwNColl;            // Number of Nwounded-N collisons
72   Int_t    fNwNwColl;           // Number of Nwounded-Nwounded collisions
73   //
74   Int_t    fNTracklets;         //  no. tracklets
75   Int_t    fNSingleClusters;    //  no. single clusters
76   Int_t    fNClusters[6];       //  no. clusters on 6 ITS layers
77   Int_t    fNChips[2];          //  no. chips on 2 SPD layers
78   //
79   Double_t fbZDC;               // impact parameter from ZDC reco
80   Int_t    fNpartZDC;           // no. of participants from ZDC reco
81   Double_t fbZDCA;              // impact parameter from ZDC reco side A
82   Int_t    fNpartZDCA;          // no. of part. from ZDC reco side A
83   Double_t fbZDCC;              // impact parameter from ZDC reco side C
84   Int_t    fNpartZDCC;          // no. of part. from ZDC reco side C
85   //
86   UInt_t   fESDFlag;            //  ZDC ESD flags
87   Float_t  fZNCEnergy;          //  ZNC Energy
88   Float_t  fZPCEnergy;          //  ZPC Energy
89   Float_t  fZNAEnergy;          //  ZNA Energy
90   Float_t  fZPAEnergy;          //  ZPA Energy
91   Float_t  fZEM1Energy;         //  ZEM1 Energy
92   Float_t  fZEM2Energy;         //  ZEM2 Energy
93   Float_t  fZNCtower[5];        //  ZNC 5 tower signals
94   Float_t  fZPCtower[5];        //  ZPC 5 tower signals
95   Float_t  fZNAtower[5];        //  ZNA 5 tower signals
96   Float_t  fZPAtower[5];        //  ZPA 5 tower signals
97   Float_t  fCentrZNC[2];        //  centroid over ZNC
98   Float_t  fCentrZNA[2];        //  centroid over ZNA
99   
100   Int_t    fNTracks;            //  no. tracks
101   Int_t    fNPmdTracks;         //  no. PMD tracks
102   Float_t  fMultV0A;            //  multiplicity from V0 reco side A
103   Float_t  fMultV0C;            //  multiplicity from V0 reco side C
104   Float_t  fMultFMDA;      //  multiplicity from FMD on detector A
105   Float_t  fMultFMDC;      //  multiplicity from FMD on detector C
106
107   ClassDef(AliAnalysisTaskCentralityTreeMaker,1); 
108
109 };
110
111 #endif
112