1 #ifndef ALIANALYSISTASKSEPICOV0MAKERMC_H
2 #define ALIANALYSISTASKSEPICOV0MAKERMC_H
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 //*************************************************************************
11 #include "AliAnalysisTaskSE.h"
21 class AliAnalysisUtils;
23 class AliAnalysisTaskSEPicoV0MakerMC : public AliAnalysisTaskSE {
27 AliAnalysisTaskSEPicoV0MakerMC();
28 AliAnalysisTaskSEPicoV0MakerMC(const char *name);
29 virtual ~AliAnalysisTaskSEPicoV0MakerMC();
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 //=============================================================================
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; }
44 void SetRefitV0ESD() { fIsRefitV0sESD = kTRUE; }
45 void SetSkipFastOnly() { fIsSkipFastOnly = kTRUE; }
46 void SetDMPjetMC() { fIsDPMjetMC = kTRUE; }
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; }
51 void SetDauPtRange(Double_t d) { fCutMinDauPt = d; }
52 void SetDauEtaRange(Double_t dMin, Double_t dMax) { fCutMinDauEta = dMin; fCutMaxDauEta = dMax; }
54 void SetV0Cuts(Double_t d[14]);
55 void SetKaCutMaxKaArmFrac(Double_t d) { fCutMaxKshortArmFrac = d; }
56 void SetLaCutMaxLaArmFrac(Double_t d) { fCutMaxLambdaArmFrac = d; }
57 //=============================================================================
61 AliAnalysisTaskSEPicoV0MakerMC(const AliAnalysisTaskSEPicoV0MakerMC &);
62 AliAnalysisTaskSEPicoV0MakerMC& operator=(const AliAnalysisTaskSEPicoV0MakerMC &);
63 //=============================================================================
67 AliPicoV0MC* SelectV0Candidate(AliAODv0 const *pV0);
68 AliPicoV0MC* SelectV0Candidate(AliESDv0 const *pV0);
70 Bool_t IsEventNotAcpt();
71 Bool_t IsEventNotINEL();
72 Bool_t IsEventNotMBsa();
74 void FillHistograms();
75 void CreateHistograms();
78 //=============================================================================
80 AliAODEvent *fEventAOD; //!
81 AliESDEvent *fEventESD; //!
82 AliCentrality *fCentInfo; //!
83 AliPIDResponse *fRespoPID; //!
84 AliAnalysisUtils *fAnaUtils; //!
86 UInt_t fEventAcptMask; //
87 Double_t fPrimaryVtx[3]; //!
88 //=============================================================================
90 UInt_t fTriggerMask; //
91 UInt_t fCollisionType; //
95 Bool_t fIsRefitV0sESD; //
96 Bool_t fIsSkipFastOnly; //
97 Bool_t fIsDPMjetMC; //
98 //=============================================================================
100 Int_t fCutMinEventVtxContr; //
101 Float_t fCutMaxEventVzAbs; //
103 Double_t fCutMinV0Pt; //
104 Double_t fCutMaxV0Pt; //
105 Double_t fCutMinV0Rap; //
106 Double_t fCutMaxV0Rap; //
108 Double_t fCutMinDauPt; //
109 Double_t fCutMinDauEta; //
110 Double_t fCutMaxDauEta; //
112 Double_t fCutMaxV0Chi2; //
113 Double_t fCutMinV0Radius; //
114 Double_t fCutMaxV0Radius; //
116 Double_t fCutMaxDausDCA; //
117 Double_t fCutMinDauDCAtoPV; //
118 Float_t fCutMinDauXrowsTPC; //
119 Double_t fCutMinDauXrowsOverFindableClusTPC; //
121 Float_t fCutMaxKshortSigmaTPC; //
122 Double_t fCutMinKshortCosPA; //
123 Double_t fCutMaxKshortCtau; //
124 Double_t fCutMaxKshortArmFrac; //
125 Double_t fCutMinKshortDeltaM; //
127 Float_t fCutMaxLambdaSigmaTPC; //
128 Double_t fCutMinLambdaCosPA; //
129 Double_t fCutMaxLambdaCtau; //
130 Double_t fCutMaxLambdaArmFrac; //
131 Double_t fCutMinLambdaDeletaM; //
132 //=============================================================================
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 //=============================================================================
140 TClonesArray *fPicoV0sClArr; //!
142 TList *fListUserOutputs; //!
144 ClassDef(AliAnalysisTaskSEPicoV0MakerMC, 1)