AliPhysics  e59a9ba (e59a9ba)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliAnalysisTaskSEPicoV0Maker.h
Go to the documentation of this file.
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 
29  AliAnalysisTaskSEPicoV0Maker(const char *name, Bool_t bIsMC);
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; }
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 
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 
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; //
130 
132  Double_t fCutMinKshortCosPA; //
133  Double_t fCutMaxKshortCtau; //
134  Double_t fCutMaxKshortArmFrac; //
135  Double_t fCutMinKshortDeltaM; //
136 
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
void SetV0PtRange(Double_t dMin, Double_t dMax)
AliPicoV0MC * SelectV0CandidateMC(AliAODv0 const *pV0)
AliAnalysisTaskSEPicoV0Maker & operator=(const AliAnalysisTaskSEPicoV0Maker &)
void SetV0RapRange(Double_t dMin, Double_t dMax)
AliPicoV0RD * SelectV0CandidateRD(AliAODv0 const *pV0)
void SetDauEtaRange(Double_t dMin, Double_t dMax)