]>
Commit | Line | Data |
---|---|---|
7cfa8ae2 | 1 | #ifndef ALITOFANALYSISTASKCALIBTREE_H |
2 | #define ALITOFANALYSISTASKCALIBTREE_H | |
3 | ||
4 | #include "AliAnalysisTaskSE.h" | |
5 | #include "TString.h" | |
6 | #include "TMath.h" | |
7 | ||
8 | class AliESDEvent; | |
9 | class AliESDtrackCuts; | |
10 | class AliESDtrackCuts; | |
11 | class AliESDtrack; | |
12 | class AliESDVertex; | |
13 | class AliESDpid; | |
14 | ||
15 | class AliPhysicsSelection; | |
16 | ||
17 | class AliTOFcalibHisto; | |
18 | class AliTOFcalib; | |
19 | class AliTOFT0maker; | |
20 | class AliTOFT0v1; | |
21 | ||
22 | class AliGRPManager; | |
23 | class AliGRPObject; | |
24 | ||
25 | class TH2F; | |
26 | ||
27 | #define MAXHITS 100000 | |
28 | ||
29 | class AliTOFAnalysisTaskCalibTree : | |
30 | public 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 */ |