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