Invert check for the case that there is no data left in the buffer
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnAnalysisPhi7TeV.h
CommitLineData
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
14class TH1I;
4c06ce33 15class TH1F;
6279d59e 16class TTree;
17
18class AliStack;
19class AliESDEvent;
20class AliESDVertex;
21class AliESDpid;
22class AliTOFT0maker;
23class AliTOFcalib;
24
25class 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;}
6279d59e 45
4c06ce33 46 void SetMaxVz(Double_t v) {fMaxVz = v;}
6279d59e 47
4c06ce33 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);
4c06ce33 66 AliESDtrackCuts* GetCutsTPC() {return &fESDtrackCutsTPC;}
67 AliESDtrackCuts* GetCutsITS() {return &fESDtrackCutsITS;}
6279d59e 68
69 private:
70
4c06ce33 71 void ProcessESD(AliESDEvent *esd, AliStack *stack);
6279d59e 72 void ProcessMC(AliStack *stack);
73
74 Bool_t fUseMC; // use MC or data?
75
76 Short_t fPDG; // PDG code
37dcaaad 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
6279d59e 79 Float_t fIM; // inv mass
80 Float_t fPt; // transv momentum
81 Float_t fY; // rapidity
82 Float_t fEta; // pseudo-rapidity
83
4c06ce33 84 Double_t fMaxVz; // range in Z of primary vertex w.r. to origin
85
86 Double_t fMaxITSband; // range for ITS de/dx band
6279d59e 87
88 Double_t fTPCpLimit; // limit to choose what band to apply
89 Double_t fTPCpar[5]; // parameters for TPC bethe-Bloch
90 Double_t fMinTPCband; // range for TPC de/dx band - min
91 Double_t fMaxTPCband; // range for TPC de/dx band - max
92
93 TTree *fRsnTreeComp; // output tree of computed pairs
94 TTree *fRsnTreeTrue; // output tree of true pairs
95 TList *fOutList; // list for monitoring histograms
96 TH1I *fHEvents; // histogram of event types
4c06ce33 97 TH1F *fVertexX[2]; // histogram of X coordinate of primary vertex ([0] = tracks, [1] = SPD)
98 TH1F *fVertexY[2]; // histogram of Y coordinate of primary vertex ([0] = tracks, [1] = SPD)
99 TH1F *fVertexZ[2]; // histogram of Z coordinate of primary vertex ([0] = tracks, [1] = SPD)
6279d59e 100
6aecf4fd 101 AliESDtrackCuts fESDtrackCutsTPC; // ESD standard defined track cuts for TPC tracks
102 AliESDtrackCuts fESDtrackCutsITS; // ESD standard defined track cuts for ITS-SA tracks
6279d59e 103 AliESDpid *fESDpid; //! PID manager
104 AliTOFT0maker *fTOFmaker; //! TOF time0 computator
105 AliTOFcalib *fTOFcalib; //! TOF calibration
106 Bool_t fTOFcalibrateESD; // TOF settings
107 Bool_t fTOFcorrectTExp; // TOF settings
108 Bool_t fTOFuseT0; // TOF settings
109 Bool_t fTOFtuneMC; // TOF settings
110 Double_t fTOFresolution; // TOF settings
111
112 // ROOT dictionary
113 ClassDef(AliRsnAnalysisPhi7TeV,1)
114};
115
116#endif