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