Upadting tasks
[u/mrichter/AliRoot.git] / PWGLF / FORWARD / GEO / AliAnalysisTaskZDCTreeMaker.h
1 #ifndef ALIANALYSISTASKZDCTREEMAKER_H
2 #define ALIANALYSISTASKZDCTREEMAKER_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 AliAnalysisTaskZDCTreeMaker
9 //   author: Chiara Oppedisano
10 //*****************************************************
11
12 #include "AliAnalysisTaskSE.h"
13
14 class TROOT;
15 class TSystem;
16 class TList;
17 class TFile;
18 class TTree;
19
20 class AliAnalysisTaskZDCTreeMaker : public AliAnalysisTaskSE {
21
22  public:
23
24   AliAnalysisTaskZDCTreeMaker();
25   AliAnalysisTaskZDCTreeMaker(const char *name);
26   virtual ~AliAnalysisTaskZDCTreeMaker();
27
28   // Implementation of interface methods
29   virtual void UserCreateOutputObjects();
30   virtual void UserExec(Option_t *option);
31   virtual void Terminate(Option_t *);
32
33   virtual void  SetDebugLevel(Int_t level) {fDebug = level;}
34   void SetInput(int input) {fAnalysisInput = input;}
35   void SetMCInput() {fIsMCInput = kTRUE;}
36   void SetUseSpecialOutput(Bool_t v=kTRUE) {fUseSpecialOutput = v;}
37
38  private:
39
40   Int_t    fDebug;              //  Debug flag
41   TString  fAnalysisInput;      // "ESD", "AOD"
42   Bool_t   fIsMCInput;          // true when input is MC
43   Bool_t   fUseSpecialOutput;   // do we use special output instead of merging?
44   //
45   TList   *fOutput;             //! list send on output slot 0
46   //
47   TTree   *fCentralityTree;     //! output tree
48   //
49   char     fTrigClass[100];     //  fired trigger classes
50   //
51   Bool_t   fIsEventSelected;    //  is physics selection on
52   Bool_t   fIsPileupFromSPD;    //  is pilue up from SPD
53   //
54   /*Double_t fxVertex;          //  X vertex from ITS
55   Double_t fyVertex;            //  Y vertex from ITS
56   Double_t fzVertex;            //  Z vertex from ITS
57   Bool_t   fVertexer3d;         //  Is vertex from 3d vertexer?*/
58   //
59   Int_t    fNTracklets;         //  no. tracklets
60   Double_t fTracklEta[400];     //  no. tracklets
61   Int_t    fNClusters[2];       //  no. clusters on SPD layers
62   //
63   Int_t    fIsV0ATriggered;     //  VOA decision
64   Int_t    fIsV0CTriggered;     //  V0C decision
65   Float_t  fMultV0A;            //  mult. V0A
66   Float_t  fMultV0C;            //  mult. V0C
67   Float_t  fRingMultV0[8];      // V0 ring mult.
68 //  Float_t  fV0A234;             // V0A ring 2 3 4 mult.
69   //
70   UInt_t   fESDFlag;            //  ZDC ESD flags
71   /*Float_t  fZNCEnergy;                //  ZNC Energy
72   Float_t  fZPCEnergy;          //  ZPC Energy
73   Float_t  fZNAEnergy;          //  ZNA Energy
74   Float_t  fZPAEnergy;          //  ZPA Energy*/
75   Float_t  fZEM1Energy;         //  ZEM1 Energy
76   Float_t  fZEM2Energy;         //  ZEM2 Energy
77   
78   Float_t  fZNCtower[5];        //  ZNC 5 tower signals
79   Float_t  fZPCtower[5];        //  ZPC 5 tower signals
80   Float_t  fZNAtower[5];        //  ZNA 5 tower signals
81   Float_t  fZPAtower[5];        //  ZPA 5 tower signals
82   Float_t  fZNCtowerLG[5];      //  ZNC 5 tower signals
83   Float_t  fZPCtowerLG[5];      //  ZPC 5 tower signals
84   Float_t  fZNAtowerLG[5];      //  ZNA 5 tower signals
85   Float_t  fZPAtowerLG[5];      //  ZPA 5 tower signals
86   //
87   //Int_t   fTDCvalues[32][4];   // TDC raw values !ONLY FOR ESDs ANALYSIS!
88   
89 //  Float_t fCentralityV0M;       // Centrality from V0A+V0C
90   Float_t fCentralityV0A;       // Centrality from V0A
91   Float_t fCentralityV0C;       // Centrality from V0C
92   Float_t fCentralityCL1;       // Centrality from Clusters in layer 1
93   Float_t fCentralityZNA;       // Centrality from ZNA
94   Float_t fCentralityZPA;       // Centrality from ZPA
95   Float_t fCentralityZNC;       // Centrality from ZNC
96   Float_t fCentralityZPC;       // Centrality from ZPC
97   //
98   AliAnalysisTaskZDCTreeMaker& operator= (const AliAnalysisTaskZDCTreeMaker& ana);
99   AliAnalysisTaskZDCTreeMaker(const AliAnalysisTaskZDCTreeMaker& c);
100   //
101   ClassDef(AliAnalysisTaskZDCTreeMaker, 1); 
102
103 };
104
105 #endif
106