AliPhysics  vAN-20151014 (f894c76)
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros
AliAnalysisVertexingHF.h
Go to the documentation of this file.
1 #ifndef ALIANALYSISVERTEXINGHF_H
2 #define ALIANALYSISVERTEXINGHF_H
3 /* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice */
5 
6 /* $Id$ */
7 
8 //-------------------------------------------------------------------------
14 //-------------------------------------------------------------------------
15 
16 #include <TNamed.h>
17 #include <TList.h>
18 
19 #include "AliAnalysisFilter.h"
20 #include "AliESDtrackCuts.h"
21 
22 class AliPIDResponse;
23 class AliESDVertex;
24 class AliAODRecoDecay;
25 class AliAODRecoDecayHF;
30 class AliAnalysisFilter;
31 class AliRDHFCuts;
32 class AliRDHFCutsD0toKpi;
37 class AliRDHFCutsLctoV0;
40 class AliESDtrack;
41 class AliVEvent;
42 class AliAODVertex;
43 class AliVertexerTracks;
44 class AliESDv0;
45 class AliAODv0;
46 
47 //-----------------------------------------------------------------------------
48 class AliAnalysisVertexingHF : public TNamed {
49  public:
50  //
54  virtual ~AliAnalysisVertexingHF();
55 
56  void FindCandidates(AliVEvent *event,
57  TClonesArray *aodVerticesHFTClArr,
58  TClonesArray *aodD0toKpiTClArr,
59  TClonesArray *aodJPSItoEleTClArr,
60  TClonesArray *aodCharm3ProngTClArr,
61  TClonesArray *aodCharm4ProngTClArr,
62  TClonesArray *aodDstarTClArr,
63  TClonesArray *aodCascadesTClArr,
64  TClonesArray *aodLikeSign2ProngTClArr,
65  TClonesArray *aodLikeSign3ProngTClArr);
66 
67  TList* FillListOfCuts();
68  void FixReferences(AliAODEvent *aod);
69  void PrintStatus() const;
70  void SetSecVtxWithKF() { fSecVtxWithKF=kTRUE; }
71  void SetD0toKpiOn() { fD0toKpi=kTRUE; }
72  void SetD0toKpiOff() { fD0toKpi=kFALSE; }
73  void SetJPSItoEleOn() { fJPSItoEle=kTRUE; }
74  void SetJPSItoEleOff() { fJPSItoEle=kFALSE; }
75  void Set3ProngOn() { f3Prong=kTRUE; }
76  void Set3ProngOff() { f3Prong=kFALSE; }
77  void Set4ProngOn() { f4Prong=kTRUE; }
78  void Set4ProngOff() { f4Prong=kFALSE; }
79  void SetDstarOn() { fDstar=kTRUE; }
80  void SetDstarOff() { fDstar=kFALSE; }
81  void SetCascadesOn() { fCascades=kTRUE; }
82  void SetCascadesOff() { fCascades=kFALSE; }
83  void SetLikeSignOn() { fLikeSign=kTRUE; }
84  void SetLikeSignOff() {fLikeSign=kFALSE; fLikeSign3prong=kFALSE;}
87  void SetMixEventOn() { fMixEvent=kTRUE; }
88  void SetMixEventOff() { fMixEvent=kFALSE; }
89  void SetInputAOD() { fInputAOD=kTRUE; }
90  Bool_t GetD0toKpi() const { return fD0toKpi; }
91  Bool_t GetJPSItoEle() const { return fJPSItoEle; }
92  Bool_t Get3Prong() const { return f3Prong; }
93  Bool_t Get4Prong() const { return f4Prong; }
94  Bool_t GetDstar() const { return fDstar; }
95  Bool_t GetCascades() const { return fCascades; }
96  Bool_t GetLikeSign() const { return fLikeSign; }
97  Bool_t GetLikeSign3prong() const { return fLikeSign3prong; }
98  Bool_t GetMixEvent() const { return fMixEvent; }
99  Bool_t GetInputAOD() const { return fInputAOD; }
101  Bool_t GetRmTrksFromPrimVtx() const {return fRmTrksFromPrimVtx;}
102  void SetFindVertexForDstar(Bool_t vtx=kTRUE) { fFindVertexForDstar=vtx; }
103  void SetFindVertexForCascades(Bool_t vtx=kTRUE) { fFindVertexForCascades=vtx; }
104 
107 
114  void SetTrackFilter(AliAnalysisFilter* trackF) {
116  TList *l = (TList*)trackF->GetCuts();
117  AliESDtrackCuts *tcuts = (AliESDtrackCuts*)l->FindObject("AliESDtrackCuts");
118  if(tcuts->GetFlagCutTOFdistance()) tcuts->SetFlagCutTOFdistance(kFALSE);
119  fTrackFilter = trackF;
120  }
121  void SetTrackFilter2prongPbCentral(Float_t maxPercentile, AliAnalysisFilter* trackF) {
123  TList *l = (TList*)trackF->GetCuts();
124  AliESDtrackCuts *tcuts = (AliESDtrackCuts*)l->FindObject("AliESDtrackCuts");
125  if(tcuts->GetFlagCutTOFdistance()) tcuts->SetFlagCutTOFdistance(kFALSE);
126  fTrackFilter2prongCentral = trackF;
127  fMaxCentPercentileForTightCuts=maxPercentile;
128  }
129  void SetTrackFilter3prongPbCentral(Float_t maxPercentile, AliAnalysisFilter* trackF) {
131  TList *l = (TList*)trackF->GetCuts();
132  AliESDtrackCuts *tcuts = (AliESDtrackCuts*)l->FindObject("AliESDtrackCuts");
133  if(tcuts->GetFlagCutTOFdistance()) tcuts->SetFlagCutTOFdistance(kFALSE);
134  fTrackFilter3prongCentral = trackF;
135  fMaxCentPercentileForTightCuts=maxPercentile;
136  }
137  void SetTrackFilterSoftPi(AliAnalysisFilter* trackF) {
139  TList *l = (TList*)trackF->GetCuts();
140  AliESDtrackCuts *tcuts = (AliESDtrackCuts*)l->FindObject("AliESDtrackCuts");
141  if(tcuts->GetFlagCutTOFdistance()) tcuts->SetFlagCutTOFdistance(kFALSE);
142  fTrackFilterSoftPi = trackF;
143  }
144  AliAnalysisFilter* GetTrackFilter() const { return fTrackFilter; }
145  AliAnalysisFilter* GetTrackFilterSoftPi() const { return fTrackFilterSoftPi; }
163 
164  void SetMasses();
165  Bool_t CheckCutsConsistency();
166 
167  void SetUseTPCPID(Bool_t opt=kTRUE){fUseTPCPID=opt;}
168  void SetUseTOFPID(Bool_t opt=kTRUE){fUseTOFPID=opt;}
169  void SetUseTPCPIDOnlyIfNoTOF(Bool_t opt=kTRUE){fUseTPCPIDOnlyIfNoTOF=opt;}
170  void SetMaxMomForTPCPid(Double_t mom){fMaxMomForTPCPid=mom;}
171  void SetnSigmaTPCforPionSel(Double_t nsl, Double_t nsh){
173  void SetnSigmaTOFforPionSel(Double_t nsl, Double_t nsh){
175  void SetnSigmaTPCforKaonSel(Double_t nsl, Double_t nsh){
177  void SetnSigmaTOFforKaonSel(Double_t nsl, Double_t nsh){
179  void SetnSigmaTPCforProtonSel(Double_t nsl, Double_t nsh){
181  void SetnSigmaTOFforProtonSel(Double_t nsl, Double_t nsh){
183 
184  void SetUseKaonPIDfor3Prong(Bool_t opt=kTRUE){fUseKaonPIDfor3Prong=opt;}
188  void SetUseKaonPIDforDs(Bool_t opt=kTRUE){fUseKaonPIDforDs=opt;}
189 
192 
193 
194 
195  void GetnSigmaTOFforPionSel(Double_t& minnsigma, Double_t& maxnsigma) const {
196  minnsigma=fnSigmaTOFPionLow;maxnsigma=fnSigmaTOFPionHi;
197  }
198  void GetnSigmaTPCforPionSel(Double_t& minnsigma, Double_t& maxnsigma) const {
199  minnsigma=fnSigmaTPCPionLow;maxnsigma=fnSigmaTPCPionHi;
200  }
201  void GetnSigmaTOFforKaonSel(Double_t& minnsigma, Double_t& maxnsigma) const {
202  minnsigma=fnSigmaTOFKaonLow;maxnsigma=fnSigmaTOFKaonHi;
203  }
204  void GetnSigmaTPCforKaonSel(Double_t& minnsigma, Double_t& maxnsigma) const {
205  minnsigma=fnSigmaTPCKaonLow;maxnsigma=fnSigmaTPCKaonHi;
206  }
207  void GetnSigmaTOFforProtonSel(Double_t& minnsigma, Double_t& maxnsigma) const {
208  minnsigma=fnSigmaTOFProtonLow;maxnsigma=fnSigmaTOFProtonHi;
209  }
210  void GetnSigmaTPCforProtonSel(Double_t& minnsigma, Double_t& maxnsigma) const {
211  minnsigma=fnSigmaTPCProtonLow;maxnsigma=fnSigmaTPCProtonHi;
212  }
213 
214  Bool_t GetUseTPCPID() const {return fUseTPCPID;}
215  Bool_t GetUseTOFPID() const {return fUseTOFPID;}
217  Double_t GetMaxMomForTPCPid() const {return fMaxMomForTPCPid;}
218 
220  Int_t GetUseProtonPIDforLambdaC() const {return fUsePIDforLc;}
221  Bool_t GetUseKaonPIDforDs() const {return fUseKaonPIDforDs;}
223 
224  void SetPidResponse(AliPIDResponse* p){fPidResponse=p;}
225 
226  //
227  private:
228  //
230 
231  Bool_t fInputAOD;
232  Int_t fAODMapSize;
233  Int_t *fAODMap; //[fAODMapSize] map between index and ID for AOD tracks
235 
236  AliVertexerTracks* fVertexerTracks;
237  Double_t fBzkG;
238 
239  Bool_t fSecVtxWithKF;
240 
242  Bool_t fRmTrksFromPrimVtx;
244 
246  AliESDVertex *fV1;
247 
249  Bool_t fD0toKpi;
250  Bool_t fJPSItoEle;
251  Bool_t f3Prong;
252  Bool_t f4Prong;
253  Bool_t fDstar;
254  Bool_t fCascades;
255  Bool_t fLikeSign;
257  Bool_t fMixEvent;
258 
259  AliPIDResponse* fPidResponse;
261  Int_t fUsePIDforLc;
264  Bool_t fUseTPCPID;
265  Bool_t fUseTOFPID;
267  Double_t fMaxMomForTPCPid;
268  Double_t fnSigmaTPCPionLow;
269  Double_t fnSigmaTPCPionHi;
270  Double_t fnSigmaTOFPionLow;
271  Double_t fnSigmaTOFPionHi;
272  Double_t fnSigmaTPCKaonLow;
273  Double_t fnSigmaTPCKaonHi;
274  Double_t fnSigmaTOFKaonLow;
275  Double_t fnSigmaTOFKaonHi;
280 
282 
283  // single-track cuts
284  AliAnalysisFilter *fTrackFilter;
285  AliAnalysisFilter *fTrackFilter2prongCentral;
286  AliAnalysisFilter *fTrackFilter3prongCentral;
287  AliAnalysisFilter *fTrackFilterSoftPi;
288  // candidates cuts
297 
298  TList *fListOfCuts;
303  // dummies for invariant mass calculation
304  AliAODRecoDecay *fMassCalc2;
305  AliAODRecoDecay *fMassCalc3;
306  AliAODRecoDecay *fMassCalc4;
307  Bool_t fOKInvMassD0;
308  Bool_t fOKInvMassJpsi;
310  Bool_t fOKInvMassDs;
311  Bool_t fOKInvMassLc;
315 
316  Int_t fnTrksTotal;
318 
319  Double_t fMassDzero;
320  Double_t fMassDplus;
321  Double_t fMassDs;
322  Double_t fMassLambdaC;
323  Double_t fMassDstar;
324  Double_t fMassJpsi;
325 
326 
327  //
328  void AddRefs(AliAODVertex *v,AliAODRecoDecayHF *rd,const AliVEvent *event,
329  const TObjArray *trkArray) const;
330  void AddDaughterRefs(AliAODVertex *v,const AliVEvent *event,
331  const TObjArray *trkArray) const;
332  AliAODRecoDecayHF2Prong* Make2Prong(TObjArray *twoTrackArray1,AliVEvent *event,
333  AliAODVertex *secVert,Double_t dcap1n1,
334  Bool_t &okD0,Bool_t &okJPSI,Bool_t &okD0fromDstar);
335  AliAODRecoDecayHF3Prong* Make3Prong(TObjArray *threeTrackArray,AliVEvent *event,
336  AliAODVertex *secVert,
337  Double_t dispersion,
338  const AliAODVertex *vertexp1n1,
339  const AliAODVertex *vertexp2n1,
340  Double_t dcap1n1,Double_t dcap2n1,Double_t dcap1p2,
341  Bool_t useForLc, Bool_t useForDs,
342  Bool_t &ok3Prong);
343  AliAODRecoDecayHF4Prong* Make4Prong(TObjArray *fourTrackArray,AliVEvent *event,
344  AliAODVertex *secVert,
345  const AliAODVertex *vertexp1n1,
346  const AliAODVertex *vertexp1n1p2,
347  Double_t dcap1n1,Double_t dcap1n2,
348  Double_t dcap2n1,Double_t dcap2n2,
349  Bool_t &ok4Prong);
350  AliAODRecoCascadeHF* MakeCascade(TObjArray *twoTrackArray,AliVEvent *event,
351  AliAODVertex *secVert,
352  AliAODRecoDecayHF2Prong *rd2Prong,
353  Double_t dca,
354  Bool_t &okDstar);
355  AliAODRecoCascadeHF* MakeCascade(TObjArray *twoTrackArray,AliVEvent *event,
356  AliAODVertex *secVert,
357  AliAODv0 *v0,
358  Double_t dca,
359  Bool_t &okCascades);
360 
361  AliAODVertex* PrimaryVertex(const TObjArray *trkArray=0x0,AliVEvent *event=0x0) const;
362  AliAODVertex* ReconstructSecondaryVertex(TObjArray *trkArray,Double_t &dispersion,Bool_t useTRefArray=kTRUE) const;
363 
364  Bool_t SelectInvMassAndPt3prong(Double_t *px,Double_t *py,Double_t *pz, Int_t pidLcStatus=3);
365  Bool_t SelectInvMassAndPt4prong(Double_t *px,Double_t *py,Double_t *pz);
366  Bool_t SelectInvMassAndPtD0Kpi(Double_t *px,Double_t *py,Double_t *pz);
367  Bool_t SelectInvMassAndPtJpsiee(Double_t *px,Double_t *py,Double_t *pz);
368  Bool_t SelectInvMassAndPtDstarD0pi(Double_t *px,Double_t *py,Double_t *pz);
369  Bool_t SelectInvMassAndPtCascade(Double_t *px,Double_t *py,Double_t *pz);
370 
371  Bool_t SelectInvMassAndPt3prong(TObjArray *trkArray);
372  Bool_t SelectInvMassAndPt4prong(TObjArray *trkArray);
373  Bool_t SelectInvMassAndPtDstarD0pi(TObjArray *trkArray);
374 
375  void SelectTracksAndCopyVertex(const AliVEvent *event,Int_t trkEntries,
376  TObjArray &seleTrksArray,
377  TObjArray &tracksAtVertex,
378  Int_t &nSeleTrks,
379  UChar_t *seleFlags,Int_t *evtNumber);
380  void SetParametersAtVertex(AliESDtrack* esdt, const AliExternalTrackParam* extpar) const;
381 
382  Bool_t SingleTrkCuts(AliESDtrack *trk,Float_t centralityperc, Bool_t &okDisplaced,Bool_t &okSoftPi, Bool_t &ok3prong) const;
383 
384  void SetSelectionBitForPID(AliRDHFCuts *cuts,AliAODRecoDecayHF *rd,Int_t bit);
385 
386  AliAODv0* TransformESDv0toAODv0(AliESDv0 *esdv0,
387  TObjArray *twoTrackArrayV0);
388 
390  ClassDef(AliAnalysisVertexingHF,24);
391 };
393 
394 
395 #endif
396 
397 
398 
399 
400 
401 
402 
403 
AliAODRecoDecay * fMassCalc4
for 3 prong
void SetPidResponse(AliPIDResponse *p)
AliAnalysisFilter * GetTrackFilterSoftPi() const
void SetUseTPCPIDOnlyIfNoTOF(Bool_t opt=kTRUE)
AliAnalysisFilter * fTrackFilterSoftPi
Track Filter for displaced vertices in PbPb central events (tighter cuts) for 3 prong (D+...
void GetnSigmaTOFforKaonSel(Double_t &minnsigma, Double_t &maxnsigma) const
void SetCutsJpsitoee(AliRDHFCutsJpsitoee *cuts)
AliRDHFCutsDplustoKpipi * GetCutsDplustoKpipi() const
Bool_t GetUseProtonPIDforLambdaC2V0() const
AliVertexerTracks * fVertexerTracks
AliPIDResponse * fPidResponse
event mixing
Int_t GetUseProtonPIDforLambdaC() const
AliAODVertex * ReconstructSecondaryVertex(TObjArray *trkArray, Double_t &dispersion, Bool_t useTRefArray=kTRUE) const
Double_t fnSigmaTOFPionHi
Low cut value on n. of sigmas for pi TOF PID.
Double_t fnSigmaTOFProtonHi
Low cut value on n. of sigmas for p TOF PID.
void SetTrackFilterSoftPi(AliAnalysisFilter *trackF)
void SetTrackFilter(AliAnalysisFilter *trackF)
AliAODVertex * PrimaryVertex(const TObjArray *trkArray=0x0, AliVEvent *event=0x0) const
AliAnalysisFilter * fTrackFilter3prongCentral
Track Filter for displaced vertices in PbPb central events (tighter cuts) for 2 prong (D0->Kpi) ...
AliAnalysisVertexingHF & operator=(const AliAnalysisVertexingHF &source)
void GetnSigmaTPCforProtonSel(Double_t &minnsigma, Double_t &maxnsigma) const
AliRDHFCutsDstoKKpi * fCutsDstoKKpi
D+->Kpipi cuts.
AliRDHFCutsJpsitoee * GetCutsJpsitoee() const
void SetCutsDstoKKpi(AliRDHFCutsDstoKKpi *cuts)
Bool_t fSecVtxWithKF
z componenent of field in kG
void SetCutsLctopKpi(AliRDHFCutsLctopKpi *cuts)
AliRDHFCutsDStartoKpipi * GetCutsDStartoKpipi() const
void SetMassCutBeforeVertexing(Bool_t flag)
AliRDHFCutsLctopKpi * fCutsLctopKpi
Ds->KKpi cuts.
Bool_t GetUseKaonPIDfor3Prong() const
AliRDHFCutsDstoKKpi * GetCutsDstoKKpi() const
Bool_t SelectInvMassAndPt3prong(Double_t *px, Double_t *py, Double_t *pz, Int_t pidLcStatus=3)
Int_t fnTrksTotal
triplet fullfilling Lc inv mass selection
Double_t fnSigmaTOFProtonLow
High cut value on n. of sigmas for p TPC PID.
Bool_t fOKInvMassDplus
pair fullfilling Jpsi inv mass selection
Double_t fnSigmaTPCKaonLow
High cut value on n. of sigmas for pi TOF PID.
Bool_t fUseTPCPIDOnlyIfNoTOF
switch use/not use TOF PID
void SetnSigmaTOFforProtonSel(Double_t nsl, Double_t nsh)
AliRDHFCutsD0toKpi * fCutsD0toKpi
Track Filter for D* soft pion.
Bool_t fMixEvent
Like-sign triplets.
void SetFindVertexForCascades(Bool_t vtx=kTRUE)
Bool_t fUseTOFPID
switch use/not use TPC PID
void SetV0TypeForCascadeVertex(Int_t type)
Bool_t fOKInvMassD0to4p
combination fullfilling D* inv mass selection
Bool_t fOKInvMassLc
triplet fullfilling Ds inv mass selection
Int_t * fAODMap
map between index and ID for AOD tracks
Double_t fnSigmaTPCPionLow
upper momentum limit to apply TPC PID
Bool_t fFindVertexForCascades
reconstruct a secondary vertex or assume it's from the primary vertex
void GetnSigmaTPCforPionSel(Double_t &minnsigma, Double_t &maxnsigma) const
Double_t fnSigmaTPCKaonHi
Low cut value on n. of sigmas for K TPC PID.
Bool_t fUseKaonPIDfor3Prong
PID response.
AliRDHFCutsLctopKpi * GetCutsLctopKpi() const
AliRDHFCutsDplustoKpipi * fCutsDplustoKpipi
J/psi->ee cuts.
AliRDHFCutsD0toKpipipi * fCutsD0toKpipipi
Lc –> v0 + bachelor cuts.
void SetnSigmaTOFforPionSel(Double_t nsl, Double_t nsh)
Bool_t fLikeSign3prong
Like-sign pairs.
Bool_t SelectInvMassAndPtCascade(Double_t *px, Double_t *py, Double_t *pz)
void SetCutsD0toKpi(AliRDHFCutsD0toKpi *cuts)
AliAODRecoDecayHF4Prong * Make4Prong(TObjArray *fourTrackArray, AliVEvent *event, AliAODVertex *secVert, const AliAODVertex *vertexp1n1, const AliAODVertex *vertexp1n1p2, Double_t dcap1n1, Double_t dcap1n2, Double_t dcap2n1, Double_t dcap2n2, Bool_t &ok4Prong)
Class for cuts on AOD reconstructed D+->Kpipi.
Double_t fnSigmaTPCProtonLow
High cut value on n. of sigmas for K TOF PID.
void SetParametersAtVertex(AliESDtrack *esdt, const AliExternalTrackParam *extpar) const
Double_t fMaxMomForTPCPid
use TPC PID only for tracks that without TOF
void SetnSigmaTPCforKaonSel(Double_t nsl, Double_t nsh)
AliAnalysisFilter * fTrackFilter2prongCentral
Track Filter for displaced vertices.
Double_t fnSigmaTOFKaonLow
High cut value on n. of sigmas for K TPC PID.
void SetUseKaonPIDforDs(Bool_t opt=kTRUE)
Double_t GetMaxMomForTPCPid() const
Float_t fMaxCentPercentileForTightCuts
High cut value on n. of sigmas for p TOF PID.
Bool_t fOKInvMassDstar
triplet fullfilling Lc inv mass selection
Double_t fBzkG
vertexer, to compute secondary vertices
void GetnSigmaTOFforPionSel(Double_t &minnsigma, Double_t &maxnsigma) const
Bool_t fUsePIDforLc2V0
PID for Lambdac: 0=no, 1=proton, 2=p and pi.
void SetUseTOFPID(Bool_t opt=kTRUE)
Bool_t fUseKaonPIDforDs
PID for Lambdac 2 V0: 0=no, 1=proton,.
AliRDHFCutsLctoV0 * GetCutsLctoV0() const
Bool_t fUseTPCPID
Kaon PID usage for Ds.
Bool_t fOKInvMassLctoV0
4tracks fullfilling D0 inv mass selection
Bool_t GetUseTPCPIDOnlyIfNoTOF() const
Bool_t fFindVertexForDstar
pointer to list of cuts for output file
Double_t fnSigmaTOFKaonHi
Low cut value on n. of sigmas for K TOF PID.
AliAODRecoDecay * fMassCalc2
to go faster in PbPb
void SetMaxMomForTPCPid(Double_t mom)
void FindCandidates(AliVEvent *event, TClonesArray *aodVerticesHFTClArr, TClonesArray *aodD0toKpiTClArr, TClonesArray *aodJPSItoEleTClArr, TClonesArray *aodCharm3ProngTClArr, TClonesArray *aodCharm4ProngTClArr, TClonesArray *aodDstarTClArr, TClonesArray *aodCascadesTClArr, TClonesArray *aodLikeSign2ProngTClArr, TClonesArray *aodLikeSign3ProngTClArr)
Bool_t GetRmTrksFromPrimVtx() const
void AddDaughterRefs(AliAODVertex *v, const AliVEvent *event, const TObjArray *trkArray) const
Int_t fUsePIDforLc
Kaon PID usage for 3 prongs.
Bool_t fLikeSign
cascades, Lc –> v0+track
void GetnSigmaTPCforKaonSel(Double_t &minnsigma, Double_t &maxnsigma) const
Bool_t SingleTrkCuts(AliESDtrack *trk, Float_t centralityperc, Bool_t &okDisplaced, Bool_t &okSoftPi, Bool_t &ok3prong) const
AliRDHFCutsJpsitoee * fCutsJpsitoee
D0->Kpi cuts.
void SetUseTPCPID(Bool_t opt=kTRUE)
Bool_t SelectInvMassAndPtJpsiee(Double_t *px, Double_t *py, Double_t *pz)
Bool_t fOKInvMassD0
for 4 prong
Bool_t fOKInvMassJpsi
pair fullfilling D0 inv mass selection
void SetnSigmaTPCforPionSel(Double_t nsl, Double_t nsh)
AliRDHFCutsD0toKpi * GetCutsD0toKpi() const
Bool_t SelectInvMassAndPtDstarD0pi(Double_t *px, Double_t *py, Double_t *pz)
Int_t fV0TypeForCascadeVertex
reconstruct a secondary vertex or assume it's from the primary vertex
void SetnSigmaTPCforProtonSel(Double_t nsl, Double_t nsh)
AliAODRecoDecayHF2Prong * Make2Prong(TObjArray *twoTrackArray1, AliVEvent *event, AliAODVertex *secVert, Double_t dcap1n1, Bool_t &okD0, Bool_t &okJPSI, Bool_t &okD0fromDstar)
Bool_t fMassCutBeforeVertexing
Select which V0 type we want to use for the cascas.
void SetCutsLctoV0(AliRDHFCutsLctoV0 *cuts)
Int_t fAODMapSize
input from AOD (kTRUE) or ESD (kFALSE)
void FixReferences(AliAODEvent *aod)
void SetSelectionBitForPID(AliRDHFCuts *cuts, AliAODRecoDecayHF *rd, Int_t bit)
AliAODRecoCascadeHF * MakeCascade(TObjArray *twoTrackArray, AliVEvent *event, AliAODVertex *secVert, AliAODRecoDecayHF2Prong *rd2Prong, Double_t dca, Bool_t &okDstar)
Bool_t GetRecoPrimVtxSkippingTrks() const
void SelectTracksAndCopyVertex(const AliVEvent *event, Int_t trkEntries, TObjArray &seleTrksArray, TObjArray &tracksAtVertex, Int_t &nSeleTrks, UChar_t *seleFlags, Int_t *evtNumber)
void GetnSigmaTOFforProtonSel(Double_t &minnsigma, Double_t &maxnsigma) const
Bool_t fRecoPrimVtxSkippingTrks
if kTRUE use KF vertexer, else AliVertexerTracks
void SetTrackFilter2prongPbCentral(Float_t maxPercentile, AliAnalysisFilter *trackF)
AliAODRecoDecay * fMassCalc3
for 2 prong
TList * fListOfCuts
Dstar->D0pi cuts.
Double_t fnSigmaTPCProtonHi
Low cut value on n. of sigmas for p TPC PID.
AliRDHFCutsLctoV0 * fCutsLctoV0
Lc->pKpi cuts.
AliAnalysisFilter * GetTrackFilter() const
AliAODRecoDecayHF3Prong * Make3Prong(TObjArray *threeTrackArray, AliVEvent *event, AliAODVertex *secVert, Double_t dispersion, const AliAODVertex *vertexp1n1, const AliAODVertex *vertexp2n1, Double_t dcap1n1, Double_t dcap2n1, Double_t dcap1p2, Bool_t useForLc, Bool_t useForDs, Bool_t &ok3Prong)
AliRDHFCutsDStartoKpipi * fCutsDStartoKpipi
D0->Kpipipi cuts.
void SetFindVertexForDstar(Bool_t vtx=kTRUE)
AliAnalysisFilter * fTrackFilter
max. centrality percentile for using tight cuts
Bool_t SelectInvMassAndPtD0Kpi(Double_t *px, Double_t *py, Double_t *pz)
void SetTrackFilter3prongPbCentral(Float_t maxPercentile, AliAnalysisFilter *trackF)
AliAODv0 * TransformESDv0toAODv0(AliESDv0 *esdv0, TObjArray *twoTrackArrayV0)
Bool_t SelectInvMassAndPt4prong(Double_t *px, Double_t *py, Double_t *pz)
Double_t fnSigmaTPCPionHi
Low cut value on n. of sigmas for pi TPC PID.
Bool_t fD0toKpi
primary vertex
void SetCutsDStartoKpipi(AliRDHFCutsDStartoKpipi *cuts)
void SetCutsDplustoKpipi(AliRDHFCutsDplustoKpipi *cuts)
AliRDHFCutsD0toKpipipi * GetCutsD0toKpipipi() const
Bool_t fOKInvMassDs
triplet fullfilling D+ inv mass selection
void SetCutsD0toKpipipi(AliRDHFCutsD0toKpipipi *cuts)
void SetUseKaonPIDfor3Prong(Bool_t opt=kTRUE)
void AddRefs(AliAODVertex *v, AliAODRecoDecayHF *rd, const AliVEvent *event, const TObjArray *trkArray) const
void SetnSigmaTOFforKaonSel(Double_t nsl, Double_t nsh)
Double_t fnSigmaTOFPionLow
High cut value on n. of sigmas for pi TPC PID.