]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TOF/AliTOFAnalysisTaskCalibTree.h
move string data members to int; add more calo specific information: time, ncells...
[u/mrichter/AliRoot.git] / TOF / AliTOFAnalysisTaskCalibTree.h
CommitLineData
7cfa8ae2 1#ifndef ALITOFANALYSISTASKCALIBTREE_H
2#define ALITOFANALYSISTASKCALIBTREE_H
3
4#include "AliAnalysisTaskSE.h"
5#include "TString.h"
6#include "TMath.h"
7
8class AliESDEvent;
9class AliESDtrackCuts;
10class AliESDtrackCuts;
11class AliESDtrack;
12class AliESDVertex;
13class AliESDpid;
14
15class AliPhysicsSelection;
16
17class AliTOFcalibHisto;
18class AliTOFcalib;
19class AliTOFT0maker;
20class AliTOFT0v1;
21
22class AliGRPManager;
23class AliGRPObject;
24
25class TH2F;
26
27#define MAXHITS 100000
28
29class AliTOFAnalysisTaskCalibTree :
30public AliAnalysisTaskSE
31{
32
33 public:
34
35 AliTOFAnalysisTaskCalibTree(const Char_t* name = "TOFcalibTree"); // default constructor
36 virtual ~AliTOFAnalysisTaskCalibTree(); // default destructor
37
38 virtual void UserCreateOutputObjects(); // user create output objects
39 virtual void UserExec(Option_t *option); // user exec
40
41 // getters
42 AliPhysicsSelection *GetEventCuts() const {return fEventCuts;}; // getter
43 AliESDtrackCuts *GetTrackCuts() const {return fTrackCuts;}; // getter
44 AliTOFcalib *GetTOFcalib() const {return fTOFcalib;}; // getter
45 AliTOFT0maker *GetTOFT0maker() const {return fTOFT0maker;}; // getter
46 AliTOFT0v1 *GetTOFT0v1() const {return fTOFT0v1;}; // getter
47 Float_t GetTimeResolution() const {return fTimeResolution;}; // time resolution
48 AliESDpid *GetESDpid() const {return fESDpid;}; // get ESD PID
49
50 // setters
51 void SetEventSelectionFlag(Bool_t value = kTRUE) {fEventSelectionFlag = value;}; // setter
52 void SetVertexSelectionFlag(Bool_t value = kTRUE) {fVertexSelectionFlag = value;}; // setter
53 void SetVertexCut(Double_t value) {fVertexCut = value;}; // setter
54 void SetDiscardPileupEventFlag(Bool_t value = kTRUE) {fDiscardPileupEventFlag = value;}; // setter
55 void SetPrimaryDCASelectionFlag(Bool_t value = kTRUE) {fPrimaryDCASelectionFlag = value;}; // setter
56 void SetTimeResolution(Float_t value) {fTimeResolution = value;}; // set time resolution
57 void SetCalibrateTOFsignal(Bool_t value = kTRUE) {fCalibrateTOFsignal = value;}; // setter
58 void SetComputeT0TOF(Bool_t value = kTRUE) {fComputeT0TOF = value;}; // setter
59 void SetUseT0TOF(Bool_t value = kTRUE) {fUseT0TOF = value;}; // setter
60 void SetUseLHCClockPhase(Bool_t value = kTRUE) {fUseLHCClockPhase = value;}; // setter
61 void SetSpecificStorageParOffline(Char_t *value) {fSpecificStorageParOffline = value;}; // set specific storage ParOffline
62 void SetSpecificStorageRunParams(Char_t *value) {fSpecificStorageRunParams = value;}; // set specific storage RunParams
63
64 protected:
65
66 AliTOFAnalysisTaskCalibTree(const AliTOFAnalysisTaskCalibTree &); // copy constructor
67 AliTOFAnalysisTaskCalibTree &operator=(const AliTOFAnalysisTaskCalibTree &); // operator=
68
69 // methods:
70
71 Bool_t InitRun(); // init run
72 Bool_t InitEvent(); // init event
73 Bool_t HasTOFMeasurement(AliESDtrack *track); // has TOF
74 Bool_t HasPrimaryDCA(AliESDtrack *track); // has primary DCA
75
76 // members:
77
78 // flags and cuts
79 Bool_t fInitFlag; // init flag
80 Bool_t fEventSelectionFlag; // event selection flag
81 Bool_t fVertexSelectionFlag; // vertex selection flag
82 Double_t fVertexCut; // vertex cut
83 Bool_t fDiscardPileupEventFlag; // discard pile-up event flag
84 Bool_t fCalibrateTOFsignal; // calibrate TOF signal
85 Bool_t fComputeT0TOF; // compute T0-TOF
86 Bool_t fUseT0TOF; // use T0-TOF
87 Bool_t fUseLHCClockPhase; // use LHC-clock phase
88 Bool_t fPrimaryDCASelectionFlag; // selection of primaries with DCA cut
89
90 // ESD related stuff
91 Int_t fRunNumber; // run number
92 AliESDEvent *fESDEvent; // ESD event
93 AliPhysicsSelection *fEventCuts; // event cuts
94 AliESDtrackCuts *fTrackCuts; // track cuts
95 AliESDpid *fESDpid; // ESD PID
96 UInt_t fStartTime; // start time
97 UInt_t fEndTime; // end time
98 UInt_t fElapsedTime; // event time since start
99 Bool_t fIsCollisionCandidate; // is collision candidate
100 Bool_t fHasVertex; // has vertex
101 const AliESDVertex *fVertex; // vertex
102
103 // GRP related stuff
104 AliGRPManager *fGRPManager; // GRP manager
105 const AliGRPObject *fGRPObject; // GRP object
106
107 // TOF related stuff
108 TString fSpecificStorageParOffline; // specific storage ParOffline
109 TString fSpecificStorageRunParams; // specific storage RunParams
110 Float_t fTimeResolution; // time resolution
111 AliTOFcalib *fTOFcalib; // TOF calib
112 AliTOFT0maker *fTOFT0maker; // TOF-T0 maker
113 AliTOFT0v1 *fTOFT0v1; // TOF-T0 v1
114
115 // task related stuff
116 UInt_t ftimestamp;
117 Float_t fVertexZ;
118 Float_t ftimezero;
119 Int_t fnhits;
120 Float_t fmomentum[MAXHITS];
121 Float_t flength[MAXHITS];
122 Int_t findex[MAXHITS];
123 Float_t ftime[MAXHITS];
124 Float_t ftot[MAXHITS];
125 Float_t ftexp[MAXHITS];
126
228b3dce 127 TTree* fOutputTree; // output tree
128
129 ClassDef(AliTOFAnalysisTaskCalibTree, 2);
7cfa8ae2 130};
131
132#endif /* ALIANALYSISTASKTOFCOMPACTCALIB_H */