]>
Commit | Line | Data |
---|---|---|
ca8d2905 | 1 | // |
2 | // Header file for implementation of data analysis aft 900 GeV | |
3 | // | |
4 | // Author: A. Pulvirenti | |
5 | // | |
6 | ||
7 | #ifndef ALIRSNANALYSISPHI900GEV_H | |
8 | #define ALIRSNANALYSISPHI900GEV_H | |
b9bbd271 | 9 | |
10 | #include "AliAnalysisTaskSE.h" | |
11 | #include "AliRsnTOFT0maker.h" | |
12 | ||
d7417f01 | 13 | class TH1I; |
b9bbd271 | 14 | class TTree; |
d7417f01 | 15 | |
16 | class AliStack; | |
b9bbd271 | 17 | class AliESDEvent; |
18 | class AliESDVertex; | |
b9bbd271 | 19 | |
7356f978 | 20 | class AliRsnAnalysisPhi900GeV : public AliAnalysisTaskSE { |
21 | public: | |
22 | ||
23 | AliRsnAnalysisPhi900GeV(const char *name = "Phi900GeV"); | |
24 | AliRsnAnalysisPhi900GeV(const AliRsnAnalysisPhi900GeV& copy); | |
25 | AliRsnAnalysisPhi900GeV& operator=(const AliRsnAnalysisPhi900GeV& copy); | |
26 | virtual ~AliRsnAnalysisPhi900GeV(); | |
27 | ||
28 | void SetUseMC(Bool_t yn = kTRUE) {fUseMC = yn;} | |
29 | void SetMaxDCAr(Double_t v) {fDCAr = v;} | |
30 | void SetMaxDCAz(Double_t v) {fDCAz = v;} | |
31 | void SetMaxChi2(Double_t v) {fChi2 = v;} | |
32 | void SetMinNTPC(Int_t n) {fNTPC = n;} | |
33 | void SetTPCparams(Bool_t isMC); | |
34 | void SetTPCrange(Double_t min, Double_t max) {fMinTPC = min; fMaxTPC = max;} | |
35 | void SetTPCpar(Double_t p0, Double_t p1, Double_t p2, Double_t p3, Double_t p4) | |
36 | {fTPCpar[0] = p0; fTPCpar[1] = p1; fTPCpar[2] = p2; fTPCpar[3] = p3; fTPCpar[4] = p4;} | |
37 | ||
38 | void SetTOFESD(Bool_t yn = kTRUE) {fTOFESD = yn;} | |
39 | void SetTOFSigma(Double_t v) {fTOFSigma = v;} | |
40 | void SetTOFSettings(AliRsnTOFT0maker::ESettings set) {fTOFSettings = set;} | |
41 | ||
42 | virtual void UserCreateOutputObjects(); | |
43 | virtual void UserExec(Option_t *option = ""); | |
44 | virtual void Terminate(Option_t *option = ""); | |
45 | ||
46 | private: | |
47 | ||
48 | void ProcessESD(AliESDEvent *esd, const AliESDVertex *v, Double_t time0, AliStack *stack); | |
49 | void ProcessMC(AliStack *stack); | |
50 | Double_t AlephBB(Double_t p, Double_t mass = 0.493677) const; | |
51 | Double_t RemakeTOFtimeMC(AliESDEvent *& esd); | |
52 | ||
53 | Bool_t fUseMC; // use MC or data? | |
54 | ||
55 | Short_t fPDG; // PDG code | |
56 | Float_t fIM; // inv mass | |
57 | Float_t fPt; // transv momentum | |
58 | Float_t fY; // rapidity | |
59 | Float_t fEta; // pseud-o-rapidity | |
60 | ||
61 | Double_t fDCAr; // transverse DCA | |
62 | Double_t fDCAz; // longitudinal DCA | |
63 | Double_t fChi2; // track chi2 | |
64 | Int_t fNTPC; // number of TPC clusters | |
65 | ||
66 | Double_t fTPCpar[5]; // parameters for TPC bethe-Bloch | |
67 | Double_t fMinTPC; // range for TPC de/dx band - min | |
68 | Double_t fMaxTPC; // range for TPC de/dx band - max | |
69 | ||
70 | TTree *fOutTree[2]; // output tree | |
71 | TList *fOutList; // list for output event counts | |
72 | TH1I *fHEvents; // histogram of event types | |
73 | ||
74 | Bool_t fTOFESD; // TOF flag to check if ESD data should be used | |
75 | Double_t fTOFSigma; // TOF default resolution | |
76 | AliRsnTOFT0maker *fTOFmaker; //! TOF time0 computator | |
77 | AliRsnTOFT0maker::ESettings fTOFSettings; // TOF settings | |
78 | ||
79 | // ROOT dictionary | |
80 | ClassDef(AliRsnAnalysisPhi900GeV, 1) | |
b9bbd271 | 81 | }; |
82 | ||
83 | #endif |