1 #ifndef ALIANALYSISTASKSEPICOV0MAKER_H
2 #define ALIANALYSISTASKSEPICOV0MAKER_H
4 //*************************************************************************
5 // Class AliAnalysisTaskSEPicoV0Maker
6 // AliAnalysisTaskSE for V0s (K0 short, Lambda... ) filtering
7 // Author: X-M. Zhang, xmzhang@lbl.gov
8 //*************************************************************************
10 #include "AliAnalysisTaskSE.h"
20 class AliAnalysisUtils;
22 class AliAnalysisTaskSEPicoV0Maker : public AliAnalysisTaskSE {
26 AliAnalysisTaskSEPicoV0Maker();
27 AliAnalysisTaskSEPicoV0Maker(const char *name, Bool_t bIsMC);
28 virtual ~AliAnalysisTaskSEPicoV0Maker();
31 virtual void LocalInit() { Init(); }
32 virtual void UserCreateOutputObjects();
33 virtual void UserExec(Option_t *opt);
34 virtual void Terminate(Option_t *opt);
35 virtual void NotifyRun();
36 //=============================================================================
38 void SetTriggerMask(UInt_t w) { fTriggerMask = w; }
39 void SetCollitionType(UInt_t w) { fCollisionType = w; }
40 void SetVertexContributorN(Int_t i) { fCutMinEventVtxContr = i; }
41 void SetCentralityEstimator(TString s) { fCentEst = s; }
43 void SetRefitV0ESD() { fIsRefitV0sESD = kTRUE; }
44 void SetSkipFastOnly() { fIsSkipFastOnly = kTRUE; }
45 void SetDMPjetMC() { fIsDPMjetMC = kTRUE; }
47 void SetV0PtRange(Double_t dMin, Double_t dMax) { fCutMinV0Pt = dMin; fCutMaxV0Pt = dMax; }
48 void SetV0RapRange(Double_t dMin, Double_t dMax) { fCutMinV0Rap = dMin; fCutMaxV0Rap = dMax; }
50 void SetDauPtRange(Double_t d) { fCutMinDauPt = d; }
51 void SetDauEtaRange(Double_t dMin, Double_t dMax) { fCutMinDauEta = dMin; fCutMaxDauEta = dMax; }
52 //=============================================================================
56 AliAnalysisTaskSEPicoV0Maker(const AliAnalysisTaskSEPicoV0Maker &);
57 AliAnalysisTaskSEPicoV0Maker& operator=(const AliAnalysisTaskSEPicoV0Maker &);
58 //=============================================================================
62 AliPicoV0RD* SelectV0CandidateRD(AliAODv0 const *pV0);
63 AliPicoV0RD* SelectV0CandidateRD(AliESDv0 const *pV0);
65 AliPicoV0MC* SelectV0CandidateMC(AliAODv0 const *pV0);
66 AliPicoV0MC* SelectV0CandidateMC(AliESDv0 const *pV0);
68 Bool_t IsEventNotAcpt();
69 Bool_t IsEventNotINEL();
70 Bool_t IsEventNotMBsa();
72 void FillHistogramsEH();
73 void FillHistogramsMC();
75 void CreateHistogramsEH();
76 void CreateHistogramsMC();
83 //=============================================================================
85 AliAODEvent *fEventAOD; //!
86 AliESDEvent *fEventESD; //!
87 AliCentrality *fCentInfo; //!
88 AliPIDResponse *fRespoPID; //!
89 AliAnalysisUtils *fAnaUtils; //!
91 UInt_t fEventAcptMask; //
92 Double_t fPrimaryVtx[3]; //!
93 //=============================================================================
95 UInt_t fTriggerMask; //
96 UInt_t fCollisionType; //
100 Bool_t fIsAnaInfoMC; //
101 Bool_t fIsRefitV0sESD; //
102 Bool_t fIsSkipFastOnly; //
103 Bool_t fIsDPMjetMC; //
104 //=============================================================================
106 Double_t fRapidityShift; //
108 Int_t fCutMinEventVtxContr; //
109 Float_t fCutMaxEventVzAbs; //
111 Double_t fCutMinV0Pt; //
112 Double_t fCutMaxV0Pt; //
113 Double_t fCutMinV0Rap; //
114 Double_t fCutMaxV0Rap; //
116 Double_t fCutMinDauPt; //
117 Double_t fCutMinDauEta; //
118 Double_t fCutMaxDauEta; //
120 Double_t fCutMaxV0Chi2; //
121 Double_t fCutMinV0Radius; //
122 Double_t fCutMaxV0Radius; //
124 Double_t fCutMaxDausDCA; //
125 Double_t fCutMinDauDCAtoPV; //
126 Float_t fCutMinDauXrowsTPC; //
127 Double_t fCutMinDauXrowsOverFindableClusTPC; //
129 Float_t fCutMaxKshortSigmaTPC; //
130 Double_t fCutMinKshortCosPA; //
131 Double_t fCutMaxKshortCtau; //
132 Double_t fCutMaxKshortArmFrac; //
133 Double_t fCutMinKshortDeltaM; //
135 Float_t fCutMaxLambdaSigmaTPC; //
136 Double_t fCutMinLambdaCosPA; //
137 Double_t fCutMaxLambdaCtau; //
138 Double_t fCutMaxLambdaArmFrac; //
139 Double_t fCutMinLambdaDeletaM; //
140 //=============================================================================
142 static const Double_t fgkMassPion; //
143 static const Double_t fgkMassKshort; //
144 static const Double_t fgkMassLambda; //
145 static const Double_t fgkMassProton; //
146 //=============================================================================
148 TClonesArray *fPicoV0sClArr; //!
150 TList *fOutputListEH; //!
151 TList *fOutputListMC; //!
153 ClassDef(AliAnalysisTaskSEPicoV0Maker, 5)