Splitted the PID cuts into three classes for ITS, TPC and TOF, and added the possibil...
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / extra / AliRsnAnalysisPhi7TeVNoPID.h
CommitLineData
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
14class TH1I;
15class TH1F;
16class TTree;
17
18class AliStack;
19class AliESDEvent;
20class AliESDVertex;
21class AliESDpid;
22class AliTOFT0maker;
23class AliTOFcalib;
24
25class 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