]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/RESONANCES/AliRsnAnalysisPhi900GeV.h
Minor upgrade to anaysis macro
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnAnalysisPhi900GeV.h
1 #ifndef ALIRSNANALYSISPHI900GEV
2 #define ALIRSNANALYSISPHI900GEV
3
4 #include "AliAnalysisTaskSE.h"
5 #include "AliRsnTOFT0maker.h"
6
7 class TH1I;
8 class TTree;
9
10 class AliStack;
11 class AliESDEvent;
12 class AliESDVertex;
13
14 class AliRsnAnalysisPhi900GeV : public AliAnalysisTaskSE
15 {
16   public:
17
18     AliRsnAnalysisPhi900GeV(const char *name = "Phi900GeV");
19     AliRsnAnalysisPhi900GeV(const AliRsnAnalysisPhi900GeV& copy);
20     AliRsnAnalysisPhi900GeV& operator=(const AliRsnAnalysisPhi900GeV& copy);
21     virtual ~AliRsnAnalysisPhi900GeV();
22
23     void            SetUseMC(Bool_t yn = kTRUE) {fUseMC = yn;}
24     void            SetMaxDCAr(Double_t v) {fDCAr = v;}
25     void            SetMaxDCAz(Double_t v) {fDCAz = v;}
26     void            SetMaxChi2(Double_t v) {fChi2 = v;}
27     void            SetMinNTPC(Int_t    n) {fNTPC = n;}
28     void            SetTPCparams(Bool_t isMC);
29     void            SetTPCrange(Double_t min, Double_t max) {fMinTPC = min; fMaxTPC = max;}
30     void            SetTPCpar(Double_t p0, Double_t p1, Double_t p2, Double_t p3, Double_t p4)
31                     {fTPCpar[0]=p0;fTPCpar[1]=p1;fTPCpar[2]=p2;fTPCpar[3]=p3;fTPCpar[4]=p4;}
32
33     void           SetTOFESD(Bool_t yn = kTRUE) {fTOFESD = yn;}
34     void           SetTOFSigma(Double_t v) {fTOFSigma = v;}
35     void           SetTOFSettings(AliRsnTOFT0maker::ESettings set) {fTOFSettings = set;}
36
37     virtual void    UserCreateOutputObjects();
38     virtual void    UserExec(Option_t *option = "");
39     virtual void    Terminate(Option_t *option = "");
40
41   private:
42
43     void     ProcessESD(AliESDEvent *esd, const AliESDVertex *v, Double_t time0, AliStack *stack);
44     void     ProcessMC(AliStack *stack);
45     Double_t AlephBB(Double_t p, Double_t mass = 0.493677);
46     Double_t RemakeTOFtimeMC(AliESDEvent *& esd);
47
48     Bool_t   fUseMC;
49     
50     Float_t  fPDG;
51     Float_t  fIM;
52     Float_t  fPt;
53     Float_t  fY;
54     Float_t  fEta;
55     
56     Double_t fDCAr;
57     Double_t fDCAz;
58     Double_t fChi2;
59     Int_t    fNTPC;
60
61     Double_t fTPCpar[5];
62     Double_t fMinTPC;
63     Double_t fMaxTPC;
64
65     TTree   *fOutTree[2];
66     TList   *fOutList;
67     TH1I    *fHEvents;
68
69     Bool_t                       fTOFESD;              //  TOF flag to check if ESD data should be used
70     Double_t                     fTOFSigma;            //  TOF default resolution
71     AliRsnTOFT0maker            *fTOFmaker;            //! TOF time0 computator
72     AliRsnTOFT0maker::ESettings  fTOFSettings;         //  TOF settings
73
74     // ROOT dictionary
75     ClassDef(AliRsnAnalysisPhi900GeV,1)
76 };
77
78 #endif