2 // Header file for implementation of data analysis aft 900 GeV
4 // Author: A. Pulvirenti
7 #ifndef ALIRSNANALYSISPHI7TEV_H
8 #define ALIRSNANALYSISPHI7TEV_H
10 #include "AliAnalysisTaskSE.h"
11 #include "AliRsnTOFT0maker.h"
12 #include "AliESDtrackCuts.h"
25 class AliRsnAnalysisPhi7TeV : public AliAnalysisTaskSE
31 kGoodTracksPrimaryVertex = 0,
32 kGoodSPDPrimaryVertex = 1,
33 kFarTracksPrimaryVertex = 2,
34 kFarSPDPrimaryVertex = 3,
35 kNoGoodPrimaryVertex = 4,
39 AliRsnAnalysisPhi7TeV(const char *name = "Phi7TeV");
40 AliRsnAnalysisPhi7TeV(const AliRsnAnalysisPhi7TeV& copy);
41 AliRsnAnalysisPhi7TeV& operator=(const AliRsnAnalysisPhi7TeV& copy);
42 virtual ~AliRsnAnalysisPhi7TeV();
44 void SetUseMC(Bool_t yn = kTRUE) {fUseMC = yn;}
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;}
49 void SetMaxVz(Double_t v) {fMaxVz = v;}
51 void SetITSband(Double_t v) {fMaxITSband = v;}
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;}
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;}
64 virtual void UserCreateOutputObjects();
65 virtual void UserExec(Option_t *option = "");
66 virtual void Terminate(Option_t *option = "");
68 Int_t EventEval(AliESDEvent *esd);
69 AliESDtrackCuts* GetCutsTPC() {return &fESDtrackCutsTPC;}
70 AliESDtrackCuts* GetCutsITS() {return &fESDtrackCutsITS;}
74 void ProcessESD(AliESDEvent *esd, AliStack *stack);
75 void ProcessMC(AliStack *stack);
76 void AddEntryFromESD(AliESDEvent *esd, Int_t i1, Int_t i2, Int_t its1, Int_t its2, Short_t charge, AliStack *stack = 0x0);
78 Bool_t fUseMC; // use MC or data?
79 Bool_t fCheckITS; // chec ITS PID?
80 Bool_t fCheckTPC; // chec TPC PID?
81 Bool_t fCheckTOF; // chec TOF PID?
83 Short_t fPDG; // PDG code
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
86 Float_t fIM; // inv mass
87 Float_t fPt; // transv momentum
88 Float_t fY; // rapidity
89 Float_t fEta; // pseudo-rapidity
91 Double_t fMaxVz; // range in Z of primary vertex w.r. to origin
93 Double_t fMaxITSband; // range for ITS de/dx band
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
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
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)
108 AliESDtrackCuts fESDtrackCutsTPC; // ESD standard defined track cuts for TPC tracks
109 AliESDtrackCuts fESDtrackCutsITS; // ESD standard defined track cuts for ITS-SA tracks
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
120 ClassDef(AliRsnAnalysisPhi7TeV,1)