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;
24 class AliAnalysisTaskSEPicoV0Maker : public AliAnalysisTaskSE {
28 AliAnalysisTaskSEPicoV0Maker();
29 AliAnalysisTaskSEPicoV0Maker(const char *name, Bool_t bIsMC);
30 virtual ~AliAnalysisTaskSEPicoV0Maker();
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 //=============================================================================
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; }
45 void SetRefitV0ESD() { fIsRefitV0sESD = kTRUE; }
46 void SetSkipFastOnly() { fIsSkipFastOnly = kTRUE; }
47 void SetDMPjetMC() { fIsDPMjetMC = kTRUE; }
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; }
52 void SetDauPtRange(Double_t d) { fCutMinDauPt = d; }
53 void SetDauEtaRange(Double_t dMin, Double_t dMax) { fCutMinDauEta = dMin; fCutMaxDauEta = dMax; }
54 //=============================================================================
58 AliAnalysisTaskSEPicoV0Maker(const AliAnalysisTaskSEPicoV0Maker &);
59 AliAnalysisTaskSEPicoV0Maker& operator=(const AliAnalysisTaskSEPicoV0Maker &);
60 //=============================================================================
64 AliPicoV0RD* SelectV0CandidateRD(AliAODv0 const *pV0);
65 AliPicoV0RD* SelectV0CandidateRD(AliESDv0 const *pV0);
67 AliPicoV0MC* SelectV0CandidateMC(AliAODv0 const *pV0);
68 AliPicoV0MC* SelectV0CandidateMC(AliESDv0 const *pV0);
70 Bool_t IsEventNotAcpt();
71 Bool_t IsEventNotINEL();
72 Bool_t IsEventNotMBsa();
74 void FillHistogramsEH();
75 void FillHistogramsMC();
77 void CreateHistogramsEH();
78 void CreateHistogramsMC();
85 //=============================================================================
87 AliAODEvent *fEventAOD; //!
88 AliESDEvent *fEventESD; //!
89 AliCentrality *fCentInfo; //!
90 AliPIDResponse *fRespoPID; //!
91 AliAnalysisUtils *fAnaUtils; //!
93 UInt_t fEventAcptMask; //
94 Double_t fPrimaryVtx[3]; //!
95 //=============================================================================
97 UInt_t fTriggerMask; //
98 UInt_t fCollisionType; //
102 Bool_t fIsAnaInfoMC; //
103 Bool_t fIsRefitV0sESD; //
104 Bool_t fIsSkipFastOnly; //
105 Bool_t fIsDPMjetMC; //
106 //=============================================================================
108 Double_t fRapidityShift; //
110 Int_t fCutMinEventVtxContr; //
111 Float_t fCutMaxEventVzAbs; //
113 Double_t fCutMinV0Pt; //
114 Double_t fCutMaxV0Pt; //
115 Double_t fCutMinV0Rap; //
116 Double_t fCutMaxV0Rap; //
118 Double_t fCutMinDauPt; //
119 Double_t fCutMinDauEta; //
120 Double_t fCutMaxDauEta; //
122 Double_t fCutMaxV0Chi2; //
123 Double_t fCutMinV0Radius; //
124 Double_t fCutMaxV0Radius; //
126 Double_t fCutMaxDausDCA; //
127 Double_t fCutMinDauDCAtoPV; //
128 Float_t fCutMinDauXrowsTPC; //
129 Double_t fCutMinDauXrowsOverFindableClusTPC; //
131 Float_t fCutMaxKshortSigmaTPC; //
132 Double_t fCutMinKshortCosPA; //
133 Double_t fCutMaxKshortCtau; //
134 Double_t fCutMaxKshortArmFrac; //
135 Double_t fCutMinKshortDeltaM; //
137 Float_t fCutMaxLambdaSigmaTPC; //
138 Double_t fCutMinLambdaCosPA; //
139 Double_t fCutMaxLambdaCtau; //
140 Double_t fCutMaxLambdaArmFrac; //
141 Double_t fCutMinLambdaDeletaM; //
142 //=============================================================================
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 //=============================================================================
150 TClonesArray *fPicoV0sClArr; //!
152 TList *fOutputListEH; //!
153 TList *fOutputListMC; //!
155 ClassDef(AliAnalysisTaskSEPicoV0Maker, 5)