/* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice */
+/* $Id$ */
+
//-------------------------------------------------------------------------
// Class AliAnalysisVertexingHF
// Reconstruction of heavy-flavour decay candidates
class TList;
class AliESDVertex;
+class AliAODRecoDecay;
class AliAODRecoDecayHF;
class AliAODRecoDecayHF2Prong;
class AliAODRecoDecayHF3Prong;
class AliAODRecoDecayHF4Prong;
class AliAODRecoCascadeHF;
class AliAnalysisFilter;
+class AliRDHFCuts;
class AliRDHFCutsD0toKpi;
class AliRDHFCutsJpsitoee;
class AliRDHFCutsDplustoKpipi;
TClonesArray *aodLikeSign3ProngTClArr);
TList* FillListOfCuts();
+ void FixReferences(AliAODEvent *aod);
void PrintStatus() const;
void SetSecVtxWithKF() { fSecVtxWithKF=kTRUE; }
void SetD0toKpiOn() { fD0toKpi=kTRUE; }
AliRDHFCutsD0toKpipipi* GetCutsD0toKpipipi() const { return fCutsD0toKpipipi; }
void SetCutsDStartoKpipi(AliRDHFCutsDStartoKpipi* cuts) { fCutsDStartoKpipi = cuts; }
AliRDHFCutsDStartoKpipi* GetCutsDStartoKpipi() const { return fCutsDStartoKpipi; }
-
+ void SetMassCutBeforeVertexing(Bool_t flag) { fMassCutBeforeVertexing=flag; }
//
private:
AliRDHFCutsD0toKpipipi *fCutsD0toKpipipi; // D0->Kpipipi cuts
AliRDHFCutsDStartoKpipi *fCutsDStartoKpipi; // Dstar->D0pi cuts
-
TList *fListOfCuts; // pointer to list of cuts for output file
Bool_t fFindVertexForDstar; // reconstruct a secondary vertex or assume it's from the primary vertex
Bool_t fFindVertexForCascades; // reconstruct a secondary vertex or assume it's from the primary vertex
+ Bool_t fMassCutBeforeVertexing; // to go faster in PbPb
+ // dummies for invariant mass calculation
+ AliAODRecoDecay *fMassCalc2; // for 2 prong
+ AliAODRecoDecay *fMassCalc3; // for 3 prong
+ AliAODRecoDecay *fMassCalc4; // for 4 prong
+
+ Int_t fnTrksTotal;
+ Int_t fnSeleTrksTotal;
+
//
void AddRefs(AliAODVertex *v,AliAODRecoDecayHF *rd,const AliVEvent *event,
const TObjArray *trkArray) const;
AliAODVertex* PrimaryVertex(const TObjArray *trkArray=0x0,AliVEvent *event=0x0) const;
AliAODVertex* ReconstructSecondaryVertex(TObjArray *trkArray,Double_t &dispersion,Bool_t useTRefArray=kTRUE) const;
- Bool_t SelectInvMass(Int_t decay,Int_t nprongs,
+ Bool_t SelectInvMassAndPt(Int_t decay,Int_t nprongs,
Double_t *px,Double_t *py,Double_t *pz) const;
- void SelectTracksAndCopyVertex(const AliVEvent *event,
+ Bool_t SelectInvMassAndPt(TObjArray *trkArray) const;
+ void SelectTracksAndCopyVertex(const AliVEvent *event,Int_t trkEntries,
TObjArray &seleTrksArray,Int_t &nSeleTrks,
UChar_t *seleFlags,Int_t *evtNumber);
Bool_t SingleTrkCuts(AliESDtrack *trk,Bool_t &okDisplaced,Bool_t &okSoftPi) const;
+ void SetSelectionBitForPID(AliRDHFCuts *cuts,AliAODRecoDecayHF *rd,Int_t bit);
+
AliAODv0* TransformESDv0toAODv0(AliESDv0 *esdv0,
TObjArray *twoTrackArrayV0);