]>
Commit | Line | Data |
---|---|---|
2941485c | 1 | // |
2 | // Header file for implementation of data analysis aft 900 GeV | |
3 | // | |
4 | // Author: A. Pulvirenti | |
5 | // | |
6 | ||
7 | #ifndef ALIRSNANALYSISMONITORPAIRTASK_H | |
8 | #define ALIRSNANALYSISMONITORPAIRTASK_H | |
9 | ||
10 | #include "AliAnalysisTaskSE.h" | |
11 | #include "AliRsnCutSet.h" | |
12 | ||
13 | class TH1I; | |
14 | class TH1F; | |
15 | class TTree; | |
16 | ||
17 | class AliStack; | |
18 | class AliESDEvent; | |
19 | class AliESDVertex; | |
20 | class AliESDpid; | |
21 | class AliTOFT0maker; | |
22 | class AliTOFcalib; | |
23 | ||
24 | class AliRsnAnalysisMonitorPairTask : public AliAnalysisTaskSE | |
25 | { | |
26 | public: | |
27 | ||
28 | AliRsnAnalysisMonitorPairTask(const char *name = "Phi7TeV"); | |
29 | AliRsnAnalysisMonitorPairTask(const AliRsnAnalysisMonitorPairTask& copy); | |
30 | AliRsnAnalysisMonitorPairTask& operator=(const AliRsnAnalysisMonitorPairTask& copy); | |
31 | virtual ~AliRsnAnalysisMonitorPairTask(); | |
32 | ||
33 | void SetMasses(Double_t m1, Double_t m2) {fMass[0] = m1; fMass[1] = m2;} | |
34 | void SetInvMassRange(Double_t m1, Double_t m2) {fRangeMin = m1, fRangeMax = m2;} | |
35 | ||
36 | void SetTPCpar(Double_t p0, Double_t p1, Double_t p2, Double_t p3, Double_t p4) | |
37 | {fTPCpar[0]=p0;fTPCpar[1]=p1;fTPCpar[2]=p2;fTPCpar[3]=p3;fTPCpar[4]=p4;} | |
38 | ||
39 | void SetTOFcalibrateESD(Bool_t yn = kTRUE) {fTOFcalibrateESD = yn;} | |
40 | void SetTOFcorrectTExp (Bool_t yn = kTRUE) {fTOFcorrectTExp = yn;} | |
41 | void SetTOFuseT0 (Bool_t yn = kTRUE) {fTOFuseT0 = yn;} | |
42 | void SetTOFtuneMC (Bool_t yn = kTRUE) {fTOFtuneMC = yn;} | |
43 | void SetTOFresolution (Double_t v = 100.0) {fTOFresolution = v;} | |
44 | ||
45 | virtual void UserCreateOutputObjects(); | |
46 | virtual void UserExec(Option_t *option = ""); | |
47 | virtual void Terminate(Option_t *option = ""); | |
48 | ||
49 | Int_t EventEval(AliESDEvent *esd); | |
50 | Bool_t IsTPCtrack(AliESDtrack *track); | |
51 | Bool_t IsITSSAtrack(AliESDtrack *track); | |
52 | void ProcessESD(AliESDEvent *esd, const AliESDVertex *v); | |
53 | Bool_t ProcessTrack(Int_t myIndex, Int_t esdIndex, AliESDEvent *esd, const AliESDVertex *v); | |
54 | ||
55 | AliRsnCutSet* GetEventCuts() {return &fEventCuts;} | |
56 | AliRsnCutSet* GetTrackCuts() {return &fTrackCuts;} | |
57 | ||
58 | private: | |
59 | ||
60 | TTree *fOut; // output TTree | |
61 | AliRsnMonitorTrack *fTrack[2]; // branch objects for output TTree | |
62 | Double_t fMass[2]; // masses assigned to daughters | |
63 | Float_t fInvMass; // pair inv mass (computed with above masses) | |
64 | Double_t fRangeMin; // minimum accepted invmass | |
65 | Double_t fRangeMax; // maximum accepted invmass | |
66 | ||
67 | Double_t fTPCpar[5]; // parameters for TPC bethe-Bloch | |
68 | ||
69 | AliESDpid *fESDpid; //! PID manager | |
70 | ||
71 | AliTOFT0maker *fTOFmaker; //! TOF time0 computator | |
72 | AliTOFcalib *fTOFcalib; //! TOF calibration | |
73 | Bool_t fTOFcalibrateESD; // TOF settings | |
74 | Bool_t fTOFcorrectTExp; // TOF settings | |
75 | Bool_t fTOFuseT0; // TOF settings | |
76 | Bool_t fTOFtuneMC; // TOF settings | |
77 | Double_t fTOFresolution; // TOF settings | |
78 | ||
79 | AliRsnCutSet fEventCuts; // event cuts | |
80 | AliRsnCutSet fTrackCuts; // track cuts | |
81 | ||
82 | // ROOT dictionary | |
83 | ClassDef(AliRsnAnalysisMonitorPairTask,1) | |
84 | }; | |
85 | ||
86 | #endif |