]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/RESONANCES/extra/AliRsnAnalysisPhi900GeV.h
Migration of PWG2/RESONANCES -> PWGLF/RESONANCES
[u/mrichter/AliRoot.git] / PWGLF / RESONANCES / extra / AliRsnAnalysisPhi900GeV.h
CommitLineData
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 13class TH1I;
b9bbd271 14class TTree;
d7417f01 15
16class AliStack;
b9bbd271 17class AliESDEvent;
18class AliESDVertex;
b9bbd271 19
7356f978 20class AliRsnAnalysisPhi900GeV : public AliAnalysisTaskSE {
21public:
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
46private:
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