]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGJE/FlavourJetTasks/AliAnalysisTaskSEPicoV0MakerMC.h
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / PWGJE / FlavourJetTasks / AliAnalysisTaskSEPicoV0MakerMC.h
CommitLineData
b254f323 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
13class TClonesArray;
14
15class AliAODv0;
16class AliESDv0;
17class AliAODEvent;
18class AliESDEvent;
19class AliCentrality;
20class AliPIDResponse;
21class AliAnalysisUtils;
22
23class 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