]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGUD/multVScentPbPb/AliTaskGlobVar.h
ATO-98 AddCorrectionCompact with full test OK
[u/mrichter/AliRoot.git] / PWGUD / multVScentPbPb / AliTaskGlobVar.h
1 #ifndef ALITASKGLOBVAR_H
2 #define ALITASKGLOBVAR_H
3
4 ///////////////////////////////////////////////////////////////////////////
5 // Analysis task to extract global variables to the tree                 //
6 ///////////////////////////////////////////////////////////////////////////
7
8 class AliESDEvent;
9 class TList;
10 class AliESDtrackCuts;
11 class AliTriggerAnalysis;
12 #include "AliAnalysisTaskSE.h"
13
14
15 typedef struct {
16   enum {kTDCNA=0x1,kTDCPA=0x1<<1,kTDCNC=0x1<<2,kTDCPC=0x1<<3,kSPDVTXOK=0x1<<4};
17   Int_t   runID;
18   UInt_t  timeStamp;
19   Float_t zdcNA;
20   Float_t zdcPA;
21   Float_t zdcNC;
22   Float_t zdcPC;
23   Float_t zdcNAC;//common PM
24   Float_t zdcNCC;//common PM
25   Float_t zem1;
26   Float_t zem2;
27   //
28   Float_t zvSPD;
29   Float_t zvTPC;
30   Short_t chunk;
31   Short_t flags;
32   Short_t spd1;
33   Short_t spd2;
34   Short_t ncontSPDV;
35   Short_t ncontTPCV;
36   Short_t nTrTPC;
37   Short_t nTrTPCITS;
38   Short_t nTracklets;
39   Short_t v0A;
40   Short_t v0C;
41   Short_t v0Corr;
42   //  Short_t v0CorrResc;
43   Float_t mcZV;
44   Short_t mcdNdEta;
45   Short_t mcNPart;
46   Short_t mcNBColl;
47 } GloVars_t;
48
49
50 class AliTaskGlobVar : public AliAnalysisTaskSE {
51   //
52  public:
53   AliTaskGlobVar(const char *name = "AliTaskGlobVar");
54   virtual ~AliTaskGlobVar(); 
55   virtual void  UserCreateOutputObjects();
56   virtual void  UserExec(Option_t *option);
57   virtual void  Terminate(Option_t *);
58   //
59   void    SetUseMC(Bool_t mc=kTRUE)                                   {fUseMC = mc;}
60   Float_t GetCorrV0(const AliESDEvent* esd, float &v0CorrResc) const;
61   Bool_t  ZDCTimeTrigger(const AliESDEvent *aEsd) const;
62   AliESDtrackCuts* CreatedNdPtTrackCuts(Int_t cutMode, Bool_t fieldOn=kTRUE);
63   //
64  protected:
65   Bool_t       fUseMC;                    // do we use MC info
66   TList*       fOutput;                   // output list send on output slot 1 
67   //
68   TTree*       fOutTree;                   // output tree
69   AliESDtrackCuts* fTrackCuts;             //! optional track cuts
70   AliESDtrackCuts* fTrackCuts1;            //! optional track cuts
71   //
72   GloVars_t fGlobVars;                     // data container
73  private:    
74   AliTaskGlobVar(const AliTaskGlobVar&); // not implemented
75   AliTaskGlobVar& operator=(const AliTaskGlobVar&); // not implemented 
76   
77   ClassDef(AliTaskGlobVar, 1);  
78 };
79
80
81 #endif