]>
Commit | Line | Data |
---|---|---|
2dab9030 | 1 | // |
2 | // Header file for implementation of data analysis aft 900 GeV | |
3 | // | |
4 | // Author: A. Pulvirenti | |
5 | // | |
6 | ||
7 | #ifndef ALIRSNANALYSISPHI7TEVNOPID_H | |
8 | #define ALIRSNANALYSISPHI7TEVNOPID_H | |
9 | ||
10 | #include "AliAnalysisTaskSE.h" | |
11 | #include "AliRsnTOFT0maker.h" | |
12 | #include "AliESDtrackCuts.h" | |
13 | ||
14 | class TH1I; | |
15 | class TH1F; | |
16 | class TTree; | |
17 | ||
18 | class AliStack; | |
19 | class AliESDEvent; | |
20 | class AliESDVertex; | |
21 | class AliESDpid; | |
22 | class AliTOFT0maker; | |
23 | class AliTOFcalib; | |
24 | ||
25 | class AliRsnAnalysisPhi7TeVNoPID : public AliAnalysisTaskSE | |
26 | { | |
27 | public: | |
28 | ||
29 | enum | |
30 | { | |
31 | kGoodTracksPrimaryVertex = 0, | |
32 | kGoodSPDPrimaryVertex = 1, | |
33 | kFarTracksPrimaryVertex = 2, | |
34 | kFarSPDPrimaryVertex = 3, | |
35 | kNoGoodPrimaryVertex = 4, | |
36 | kEvaluations = 5 | |
37 | }; | |
38 | ||
39 | AliRsnAnalysisPhi7TeVNoPID(const char *name = "Phi7TeVNoPID"); | |
40 | AliRsnAnalysisPhi7TeVNoPID(const AliRsnAnalysisPhi7TeVNoPID& copy); | |
41 | AliRsnAnalysisPhi7TeVNoPID& operator=(const AliRsnAnalysisPhi7TeVNoPID& copy); | |
42 | virtual ~AliRsnAnalysisPhi7TeVNoPID(); | |
43 | ||
44 | void SetUseMC(Bool_t yn = kTRUE) {fUseMC = yn;} | |
45 | ||
46 | void SetMaxVz(Double_t v) {fMaxVz = v;} | |
47 | ||
48 | void SetITSband(Double_t v) {fMaxITSband = v;} | |
49 | ||
50 | void SetTPCpLimit(Double_t v) {fTPCpLimit = v;} | |
51 | void SetTPCrange(Double_t min, Double_t max) {fMinTPCband = min; fMaxTPCband = max;} | |
52 | void SetTPCpar(Double_t p0, Double_t p1, Double_t p2, Double_t p3, Double_t p4) | |
53 | {fTPCpar[0]=p0;fTPCpar[1]=p1;fTPCpar[2]=p2;fTPCpar[3]=p3;fTPCpar[4]=p4;} | |
54 | ||
55 | void SetTOFcalibrateESD(Bool_t yn = kTRUE) {fTOFcalibrateESD = yn;} | |
56 | void SetTOFcorrectTExp (Bool_t yn = kTRUE) {fTOFcorrectTExp = yn;} | |
57 | void SetTOFuseT0 (Bool_t yn = kTRUE) {fTOFuseT0 = yn;} | |
58 | void SetTOFtuneMC (Bool_t yn = kTRUE) {fTOFtuneMC = yn;} | |
59 | void SetTOFresolution (Double_t v = 100.0) {fTOFresolution = v;} | |
60 | ||
61 | virtual void UserCreateOutputObjects(); | |
62 | virtual void UserExec(Option_t *option = ""); | |
63 | virtual void Terminate(Option_t *option = ""); | |
64 | ||
65 | Int_t EventEval(AliESDEvent *esd); | |
66 | AliESDtrackCuts* GetCutsTPC() {return &fESDtrackCutsTPC;} | |
67 | AliESDtrackCuts* GetCutsITS() {return &fESDtrackCutsITS;} | |
68 | ||
69 | private: | |
70 | ||
71 | void ProcessESD(AliESDEvent *esd, AliStack *stack); | |
72 | void ProcessMC(AliStack *stack); | |
73 | ||
74 | Bool_t fUseMC; // use MC or data? | |
75 | ||
76 | Short_t fPDG; // PDG code | |
77 | Short_t fCh; // control flag for like/unlike sign | |
78 | Short_t fITS[2]; // check flag to know if one or both candidates are ITS standalone | |
79 | Float_t fIM; // inv mass | |
80 | Float_t fPt; // transv momentum | |
81 | Float_t fY; // rapidity | |
82 | Float_t fEta; // pseudo-rapidity | |
83 | Float_t fTPCnsigma[2]; // number of sigma in TPC | |
84 | Float_t fITSnsigma[2]; // number of sigma in ITS | |
85 | Float_t fTOFdiff[2]; // relative PID signal in TOF | |
86 | Float_t fP[2]; // total momentum at vertex | |
87 | Float_t fPTPC[2]; // total momentum at inner TPC wall | |
88 | ||
89 | Double_t fMaxVz; // range in Z of primary vertex w.r. to origin | |
90 | ||
91 | Double_t fMaxITSband; // range for ITS de/dx band | |
92 | ||
93 | Double_t fTPCpLimit; // limit to choose what band to apply | |
94 | Double_t fTPCpar[5]; // parameters for TPC bethe-Bloch | |
95 | Double_t fMinTPCband; // range for TPC de/dx band - min | |
96 | Double_t fMaxTPCband; // range for TPC de/dx band - max | |
97 | ||
98 | TTree *fRsnTreeComp; // output tree of computed pairs | |
99 | TTree *fRsnTreeTrue; // output tree of true pairs | |
100 | TList *fOutList; // list for monitoring histograms | |
101 | TH1I *fHEvents; // histogram of event types | |
102 | TH1F *fVertexX[2]; // histogram of X coordinate of primary vertex ([0] = tracks, [1] = SPD) | |
103 | TH1F *fVertexY[2]; // histogram of Y coordinate of primary vertex ([0] = tracks, [1] = SPD) | |
104 | TH1F *fVertexZ[2]; // histogram of Z coordinate of primary vertex ([0] = tracks, [1] = SPD) | |
105 | ||
106 | AliESDtrackCuts fESDtrackCutsTPC; // ESD standard defined track cuts for TPC tracks | |
107 | AliESDtrackCuts fESDtrackCutsITS; // ESD standard defined track cuts for ITS-SA tracks | |
108 | AliESDpid *fESDpid; //! PID manager | |
109 | AliTOFT0maker *fTOFmaker; //! TOF time0 computator | |
110 | AliTOFcalib *fTOFcalib; //! TOF calibration | |
111 | Bool_t fTOFcalibrateESD; // TOF settings | |
112 | Bool_t fTOFcorrectTExp; // TOF settings | |
113 | Bool_t fTOFuseT0; // TOF settings | |
114 | Bool_t fTOFtuneMC; // TOF settings | |
115 | Double_t fTOFresolution; // TOF settings | |
116 | ||
117 | // ROOT dictionary | |
118 | ClassDef(AliRsnAnalysisPhi7TeVNoPID,1) | |
119 | }; | |
120 | ||
121 | #endif |