]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGJE/FlavourJetTasks/AliAnalysisTaskSEPicoV0MakerMC.h
Installation of macros
[u/mrichter/AliRoot.git] / PWGJE / FlavourJetTasks / AliAnalysisTaskSEPicoV0MakerMC.h
1 #ifndef ALIANALYSISTASKSEPICOV0MAKERMC_H
2 #define ALIANALYSISTASKSEPICOV0MAKERMC_H
3
4 //*************************************************************************
5 // Class AliAnalysisTaskSEPicoV0MakerMC
6 // AliAnalysisTaskSE for V0s (K0 short, Lambda... ) filtering
7 // lite version only for MC
8 // Author: X-M. Zhang, xmzhang@lbl.gov
9 //*************************************************************************
10
11 #include "AliAnalysisTaskSE.h"
12
13 class TClonesArray;
14
15 class AliAODv0;
16 class AliESDv0;
17 class AliAODEvent;
18 class AliESDEvent;
19 class AliCentrality;
20 class AliPIDResponse;
21 class AliAnalysisUtils;
22
23 class AliAnalysisTaskSEPicoV0MakerMC : public AliAnalysisTaskSE {
24
25  public :
26
27   AliAnalysisTaskSEPicoV0MakerMC();
28   AliAnalysisTaskSEPicoV0MakerMC(const char *name);
29   virtual ~AliAnalysisTaskSEPicoV0MakerMC();
30
31   virtual void Init();
32   virtual void LocalInit() { Init(); }
33   virtual void UserCreateOutputObjects();
34   virtual void UserExec(Option_t *opt);
35   virtual void Terminate(Option_t *opt);
36   virtual void NotifyRun();
37 //=============================================================================
38
39   void SetTriggerMask(UInt_t w)       { fTriggerMask   = w; }
40   void SetCollitionType(UInt_t w)     { fCollisionType = w; }
41   void SetVertexContributorN(Int_t i) { fCutMinEventVtxContr = i; }
42   void SetCentralityEstimator(TString s) { fCentEst = s; }
43
44   void SetRefitV0ESD()   { fIsRefitV0sESD  = kTRUE; }
45   void SetSkipFastOnly() { fIsSkipFastOnly = kTRUE; }
46   void SetDMPjetMC()     { fIsDPMjetMC     = kTRUE; }
47
48   void SetV0PtRange(Double_t  dMin, Double_t dMax) { fCutMinV0Pt  = dMin; fCutMaxV0Pt  = dMax; }
49   void SetV0RapRange(Double_t dMin, Double_t dMax) { fCutMinV0Rap = dMin; fCutMaxV0Rap = dMax; }
50
51   void SetDauPtRange(Double_t d) { fCutMinDauPt = d; }
52   void SetDauEtaRange(Double_t dMin, Double_t dMax) { fCutMinDauEta = dMin; fCutMaxDauEta = dMax; }
53
54   void SetV0Cuts(Double_t d[14]);
55   void SetKaCutMaxKaArmFrac(Double_t d) { fCutMaxKshortArmFrac = d; }
56   void SetLaCutMaxLaArmFrac(Double_t d) { fCutMaxLambdaArmFrac = d; }
57 //=============================================================================
58
59  private :
60
61   AliAnalysisTaskSEPicoV0MakerMC(const AliAnalysisTaskSEPicoV0MakerMC &);
62   AliAnalysisTaskSEPicoV0MakerMC& operator=(const AliAnalysisTaskSEPicoV0MakerMC &);
63 //=============================================================================
64
65   void FillPicoV0s();
66
67   AliPicoV0MC* SelectV0Candidate(AliAODv0 const *pV0);
68   AliPicoV0MC* SelectV0Candidate(AliESDv0 const *pV0);
69
70   Bool_t IsEventNotAcpt();
71   Bool_t IsEventNotINEL();
72   Bool_t IsEventNotMBsa();
73
74   void FillHistograms();
75   void CreateHistograms();
76
77   void InitAnalysis();
78 //=============================================================================
79
80   AliAODEvent      *fEventAOD;  //!
81   AliESDEvent      *fEventESD;  //!
82   AliCentrality    *fCentInfo;  //!
83   AliPIDResponse   *fRespoPID;  //!
84   AliAnalysisUtils *fAnaUtils;  //!
85
86   UInt_t fEventAcptMask;    //
87   Double_t fPrimaryVtx[3];  //!
88 //=============================================================================
89
90   UInt_t fTriggerMask;    //
91   UInt_t fCollisionType;  //
92
93   TString fCentEst;  //
94
95   Bool_t fIsRefitV0sESD;   //
96   Bool_t fIsSkipFastOnly;  //
97   Bool_t fIsDPMjetMC;      //
98 //=============================================================================
99
100   Int_t   fCutMinEventVtxContr;  //
101   Float_t fCutMaxEventVzAbs;     //
102
103   Double_t fCutMinV0Pt;   //
104   Double_t fCutMaxV0Pt;   //
105   Double_t fCutMinV0Rap;  //
106   Double_t fCutMaxV0Rap;  //
107
108   Double_t fCutMinDauPt;   //
109   Double_t fCutMinDauEta;  //
110   Double_t fCutMaxDauEta;  //
111
112   Double_t fCutMaxV0Chi2;    //
113   Double_t fCutMinV0Radius;  //
114   Double_t fCutMaxV0Radius;  //
115
116   Double_t fCutMaxDausDCA;      //
117   Double_t fCutMinDauDCAtoPV;   //
118   Float_t  fCutMinDauXrowsTPC;  //
119   Double_t fCutMinDauXrowsOverFindableClusTPC;  //
120
121   Float_t  fCutMaxKshortSigmaTPC;  //
122   Double_t fCutMinKshortCosPA;     //
123   Double_t fCutMaxKshortCtau;      //
124   Double_t fCutMaxKshortArmFrac;   //
125   Double_t fCutMinKshortDeltaM;    //
126
127   Float_t  fCutMaxLambdaSigmaTPC;  //
128   Double_t fCutMinLambdaCosPA;     //
129   Double_t fCutMaxLambdaCtau;      //
130   Double_t fCutMaxLambdaArmFrac;   //
131   Double_t fCutMinLambdaDeletaM;   //
132 //=============================================================================
133
134   static const Double_t fgkMassPion;    //
135   static const Double_t fgkMassKshort;  //
136   static const Double_t fgkMassLambda;  //
137   static const Double_t fgkMassProton;  //
138 //=============================================================================
139
140   TClonesArray *fPicoV0sClArr;  //!
141
142   TList *fListUserOutputs;  //!
143
144   ClassDef(AliAnalysisTaskSEPicoV0MakerMC, 1)
145 };
146
147 #endif