ROOT logo
AliRoot » PWGLF » STRANGENESS » HYPERNUCLEI » AliAODRecoDecayLF

class AliAODRecoDecayLF: public AliAODRecoDecay


 Base class for AOD reconstructed light-flavour decays
 strongly based on AOD reconstructed heavy-flavour decay by
 A.Dainese, andrea.dainese@lnl.infn.it
 Author:  Ramona Lea (ramona.lea@cern.ch)

Function Members (Methods)

public:
AliAODRecoDecayLF()
AliAODRecoDecayLF(const AliAODRecoDecayLF& source)
AliAODRecoDecayLF(AliAODVertex* vtx2, Int_t nprongs, Short_t charge, Double_t* d0, Double_t* d0err)
AliAODRecoDecayLF(AliAODVertex* vtx2, Int_t nprongs, Short_t charge, Double_t* px, Double_t* py, Double_t* pz, Double_t* d0, Double_t* d0err)
AliAODRecoDecayLF(Double_t* vtx1, Double_t* vtx2, Int_t nprongs, Short_t charge, Double_t* px, Double_t* py, Double_t* pz, Double_t* d0)
virtual~AliAODRecoDecayLF()
voidTObject::AbstractMethod(const char* method) const
Double_tAliAODRecoDecay::Alpha() const
virtual voidTObject::AppendPad(Option_t* option = "")
AliKFParticle*ApplyVertexingKF(Int_t* iprongs, Int_t nprongs, Int_t* pdgs, Bool_t topoCostraint, Double_t bzkG, Double_t* mass) const
virtual voidTObject::Browse(TBrowser* b)
virtual Short_tAliAODRecoDecay::Charge() const
Short_tAliAODRecoDecay::ChargeProng(Int_t ip) const
voidCheckOwnPrimaryVtx() const
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tAliVParticle::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
Double_tCosPointingAngle() const
Double_tCosPointingAngleXY() const
Double_tAliAODRecoDecay::CosThetaStar(Int_t ip, UInt_t pdgvtx, UInt_t pdgprong0, UInt_t pdgprong1) const
Double_tCt(UInt_t pdg) const
Bool_tDaughterHasPointOnITSLayer(Int_t dg, Int_t l) const
Double_tDecayLength() const
Double_tDecayLength2() const
Double_tDecayLengthError() const
Double_tAliAODRecoDecay::DecayLengthError2(AliAODVertex* vtx1) const
Double_tDecayLengthXY() const
Double_tDecayLengthXYError() const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual Double_tAliAODRecoDecay::E() const
Double_tAliAODRecoDecay::E(UInt_t pdg) const
Double_tAliAODRecoDecay::E2(UInt_t pdg) const
Double_tAliAODRecoDecay::E2Prong(Int_t ip, UInt_t pdg) const
Double_tAliAODRecoDecay::EProng(Int_t ip, UInt_t pdg) const
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual Double_tAliAODRecoDecay::Eta() const
Double_tAliAODRecoDecay::EtaProng(Int_t ip) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual voidAliVTrack::GetBxByBz(Double_t* b) const
virtual Double_tAliVTrack::GetBz() const
Short_tAliAODRecoDecay::GetCharge() const
virtual Bool_tAliAODRecoDecay::GetCovarianceXYZPxPyPz(Double_t* cv) const
Double_tGetd0errProng(Int_t ip) const
Double_tAliAODRecoDecay::Getd0Prong(Int_t ip) const
TObject*AliAODRecoDecay::GetDaughter(Int_t i) const
Double_tAliAODRecoDecay::GetDCA(Int_t i = 0) const
virtual const AliDetectorPID*AliVTrack::GetDetectorPID() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual Int_tAliVTrack::GetEMCALcluster() const
virtual const AliVEvent*AliVTrack::GetEvent() const
Int_tAliAODRecoDecay::GetEventNumber() const
virtual Int_tAliVParticle::GetFirstDaughter() const
virtual Short_tAliVParticle::GetGeneratorIndex() const
virtual Int_tAliVTrack::GetHMPIDcluIdx() const
virtual voidAliVTrack::GetHMPIDmip(Float_t&, Float_t&, Int_t&, Int_t&) const
virtual Double_tAliVTrack::GetHMPIDoccupancy() const
virtual voidAliVTrack::GetHMPIDpid(Double_t*) const
virtual Double_tAliVTrack::GetHMPIDsignal() const
virtual voidAliVTrack::GetHMPIDtrk(Float_t&, Float_t&, Float_t&, Float_t&) const
virtual const char*TObject::GetIconName() const
virtual Int_tAliAODRecoDecay::GetID() const
virtual const AliExternalTrackParam*AliVTrack::GetInnerParam() const
virtual Double_tAliVTrack::GetIntegratedLength() const
virtual voidAliVTrack::GetIntegratedTimes(Double_t*, Int_t nspec = AliPID::kSPECIESC) const
virtual UChar_tAliAODRecoDecay::GetITSClusterMap() const
virtual voidAliVTrack::GetITSdEdxSamples(Double_t* s) const
virtual Double_tAliVTrack::GetITSsignal() const
virtual Int_tAliAODRecoDecay::GetLabel() const
virtual Int_tAliVParticle::GetLastDaughter() const
virtual Int_tAliVParticle::GetMother() const
virtual const char*TObject::GetName() const
virtual Int_tAliVTrack::GetNcls(Int_t) const
Int_tAliAODRecoDecay::GetNDaughters() const
Int_tAliAODRecoDecay::GetNProngs() const
virtual Int_tAliVTrack::GetNumberOfTRDslices() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual Bool_tAliVTrack::GetOuterHmpPxPyPz(Double_t*) const
virtual const AliExternalTrackParam*AliVTrack::GetOuterParam() const
AliAODVertex*GetOwnPrimaryVtx() const
voidGetOwnPrimaryVtx(Double_t* vtx) const
AliAODVertex*AliAODRecoDecay::GetOwnSecondaryVtx() const
virtual Int_tAliVTrack::GetPHOScluster() const
Double_t*AliAODRecoDecay::GetPID() const
virtual Int_tAliVTrack::GetPIDForTracking() const
voidAliAODRecoDecay::GetPIDProng(Int_t ip, Double_t* pid) const
AliAODVertex*GetPrimaryVtx() const
AliAODVertex*GetPrimaryVtxRef() const
UShort_tGetProngID(Int_t ip) const
virtual Bool_tAliVTrack::GetPxPyPz(Double_t*) const
Double_tAliAODRecoDecay::GetReducedChi2() const
Int_tAliAODRecoDecay::GetRunNumber() const
AliAODVertex*AliAODRecoDecay::GetSecondaryVtx() const
voidAliAODRecoDecay::GetSecondaryVtx(Double_t* vtx) const
Double_tAliAODRecoDecay::GetSecVtxX() const
Double_tAliAODRecoDecay::GetSecVtxY() const
Double_tAliAODRecoDecay::GetSecVtxZ() const
ULong_tGetSelectionMap() const
virtual ULong_tAliAODRecoDecay::GetStatus() const
virtual const char*TObject::GetTitle() const
virtual Int_tAliVTrack::GetTOFBunchCrossing(Double_t = 0, Bool_t = kFALSE) const
virtual const AliTOFHeader*AliVTrack::GetTOFHeader() const
virtual Double_tAliVTrack::GetTOFsignal() const
virtual Double_tAliVTrack::GetTOFsignalTunedOnData() const
virtual Float_tAliVTrack::GetTPCClusterInfo(Int_t, Int_t, Int_t = 0, Int_t = 159, Int_t = 0) const
virtual const TBits*AliVTrack::GetTPCClusterMapPtr() const
virtual AliTPCdEdxInfo*AliVTrack::GetTPCdEdxInfo() const
virtual const TBits*AliVTrack::GetTPCFitMapPtr() const
virtual Double_tAliVTrack::GetTPCmomentum() const
virtual UShort_tAliVTrack::GetTPCNcls() const
virtual UShort_tAliVTrack::GetTPCNclsF() const
virtual const TBits*AliVTrack::GetTPCSharedMapPtr() const
virtual Double_tAliVTrack::GetTPCsignal() const
virtual UShort_tAliVTrack::GetTPCsignalN() const
virtual Double_tAliVTrack::GetTPCsignalTunedOnData() const
virtual Double_tAliVTrack::GetTPCTgl() const
virtual Double_tAliVTrack::GetTrackEtaOnEMCal() const
virtual Double_tAliVTrack::GetTrackPhiOnEMCal() const
virtual Double_tAliVTrack::GetTrackPOnEMCal() const
virtual Double_tAliVTrack::GetTrackPtOnEMCal() const
virtual Double_tAliVTrack::GetTRDchi2() const
virtual Double_tAliVTrack::GetTRDmomentum(Int_t, Double_t* = 0x0) const
virtual UChar_tAliVTrack::GetTRDncls() const
virtual UChar_tAliVTrack::GetTRDntrackletsPID() const
virtual Double_tAliVTrack::GetTRDsignal() const
virtual Double_tAliVTrack::GetTRDslice(Int_t, Int_t) const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tAliAODRecoDecay::GetXYZ(Double_t* p) const
virtual Bool_tAliVTrack::GetXYZAt(Double_t, Double_t, Double_t*) const
Bool_tAliVParticle::Global2LocalMomentum(Double_t* p, Short_t charge, Double_t& alpha) const
Bool_tAliVParticle::Global2LocalPosition(Double_t* r, Double_t alpha) const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
Bool_tHasBadDaughters() const
virtual ULong_tTObject::Hash() const
Bool_tHasSelectionBit(Int_t i) const
Double_tImpParXY() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
Double_tAliAODRecoDecay::InvMass(Int_t npdg, UInt_t* pdg) const
Double_tAliAODRecoDecay::InvMass2(Int_t npdg, UInt_t* pdg) const
Double_tAliAODRecoDecay::InvMass2Prongs(Int_t ip1, Int_t ip2, UInt_t pdg1, UInt_t pdg2) const
virtual TClass*IsA() const
virtual Bool_tAliVTrack::IsEMCAL() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tAliVTrack::IsExtrapolatedToEMCAL() const
virtual Bool_tTObject::IsFolder() const
Bool_tIsLikeSign() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tAliVTrack::IsPHOS() const
virtual Bool_tAliVParticle::IsSortable() const
Bool_tTObject::IsZombie() const
Bool_tAliVParticle::Local2GlobalMomentum(Double_t* p, Double_t alpha) const
Bool_tAliVParticle::Local2GlobalPosition(Double_t* r, Double_t alpha) const
virtual voidTObject::ls(Option_t* option = "") const
virtual Double_tAliAODRecoDecay::M() const
Int_tAliAODRecoDecay::MatchToMC(Int_t pdgabs, TClonesArray* mcArray, Int_t ndgCk = 0, const Int_t* pdgDg = 0) const
voidTObject::MayNotUse(const char* method) const
voidMisalign(TString misal = "null")
Double_tNormalizedd0Prong(Int_t ip) const
Double_tNormalizedDecayLength() const
Double_tNormalizedDecayLength2() const
Double_tNormalizedDecayLengthXY() const
virtual Bool_tTObject::Notify()
Int_tNumberOfFakeDaughters() const
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
virtual Double_tAliAODRecoDecay::OneOverPt() const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
AliAODRecoDecayLF&operator=(const AliAODRecoDecayLF& source)
virtual Double_tAliAODRecoDecay::P() const
Double_tAliAODRecoDecay::P2() const
Double_tAliAODRecoDecay::P2Prong(Int_t ip) const
virtual voidTObject::Paint(Option_t* option = "")
Bool_tAliAODRecoDecay::PassInvMassCut(Int_t pdgMom, Int_t npdgDg, UInt_t* pdgDg, Double_t cut) const
virtual Int_tAliAODRecoDecay::PdgCode() const
virtual Double_tAliAODRecoDecay::Phi() const
Double_tAliAODRecoDecay::PhiProng(Int_t ip) const
virtual const Double_t*AliAODRecoDecay::PID() const
virtual voidTObject::Pop()
Double_tAliAODRecoDecay::PProng(Int_t ip) const
virtual voidAliAODRecoDecay::Print(Option_t* option = "") const
Double_tAliAODRecoDecay::Prodd0d0(Int_t ip1 = 0, Int_t ip2 = 0) const
Double_tAliAODRecoDecay::ProngsRelAngle(Int_t ip1 = 0, Int_t ip2 = 1) const
virtual Bool_tAliAODRecoDecay::PropagateToDCA(const AliVVertex* vtx, Double_t b, Double_t maxd, Double_t* dz, Double_t* covar)
virtual Double_tAliAODRecoDecay::Pt() const
Double_tAliAODRecoDecay::Pt2() const
Double_tAliAODRecoDecay::Pt2Prong(Int_t ip) const
Double_tAliAODRecoDecay::PtProng(Int_t ip) const
virtual Double_tAliAODRecoDecay::Px() const
Double_tAliAODRecoDecay::PxProng(Int_t ip) const
virtual Bool_tAliAODRecoDecay::PxPyPz(Double_t* p) const
virtual Double_tAliAODRecoDecay::Py() const
Double_tAliAODRecoDecay::PyProng(Int_t ip) const
virtual Double_tAliAODRecoDecay::Pz() const
Double_tAliAODRecoDecay::PzProng(Int_t ip) const
Double_tAliAODRecoDecay::QlProng(Int_t ip) const
Double_tQlProngFlightLine(Int_t ip) const
Double_tAliAODRecoDecay::QtProng(Int_t ip = 0) const
Double_tQtProngFlightLine(Int_t ip) const
Double_tAliAODRecoDecay::RadiusSecVtx() const
virtual Int_tTObject::Read(const char* name)
voidRecalculateImpPars(AliAODVertex* vtxAODNew, AliAODEvent* aod)
virtual voidTObject::RecursiveRemove(TObject* obj)
AliAODVertex*RemoveDaughtersFromPrimaryVtx(AliAODEvent* aod)
voidTObject::ResetBit(UInt_t f)
virtual voidAliVTrack::ResetStatus(ULong_t)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidAliAODRecoDecay::SetCharge(Short_t charge = 0)
voidSetd0errProngs(Int_t nprongs, Double_t* d0err)
voidAliAODRecoDecay::Setd0Prongs(Int_t nprongs, Double_t* d0)
voidAliAODRecoDecay::SetDCA(Double_t dca)
voidAliAODRecoDecay::SetDCAs(Int_t nDCA, Double_t* dca)
virtual voidAliVTrack::SetDetectorPID(const AliDetectorPID*)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidAliVTrack::SetEMCALcluster(Int_t)
voidAliAODRecoDecay::SetEventRunNumbers(Int_t en, Int_t rn)
virtual voidAliVParticle::SetGeneratorIndex(Short_t)
virtual voidAliVTrack::SetID(Short_t)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetOwnPrimaryVtx(const AliAODVertex* vtx)
voidAliAODRecoDecay::SetOwnSecondaryVtx(AliAODVertex* vtx2)
virtual voidAliVTrack::SetPHOScluster(Int_t)
voidAliAODRecoDecay::SetPID(Int_t nprongs, Double_t* pid)
virtual voidAliVTrack::SetPIDForTracking(Int_t)
voidSetPrimaryVtxRef(TObject* vtx)
voidSetProngIDs(Int_t nIDs, UShort_t* id)
voidAliAODRecoDecay::SetPxPyPzProngs(Int_t nprongs, Double_t* px, Double_t* py, Double_t* pz)
voidAliAODRecoDecay::SetSecondaryVtx(AliAODVertex* vtx2)
voidSetSelectionBit(Int_t i)
virtual voidAliVTrack::SetStatus(ULong_t)
virtual voidAliVTrack::SetTrackPhiEtaPtOnEMCal(Double_t, Double_t, Double_t = -999)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual Double_tAliAODRecoDecay::Theta() const
Double_tAliAODRecoDecay::ThetaProng(Int_t ip) const
voidUnsetOwnPrimaryVtx()
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
virtual Double_tAliAODRecoDecay::Xv() const
virtual Bool_tAliAODRecoDecay::XvYvZv(Double_t* x) const
virtual Double_tAliAODRecoDecay::Y() const
Double_tAliAODRecoDecay::Y(UInt_t pdg) const
Double_tAliAODRecoDecay::YProng(Int_t ip, UInt_t pdg) const
virtual Double_tAliAODRecoDecay::Yv() const
virtual Double_tAliAODRecoDecay::Zv() const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
Int_tAliAODRecoDecay::MatchToMC(Int_t pdgabs, TClonesArray* mcArray, Int_t* dgLabels) const
Int_tAliAODRecoDecay::MatchToMC(Int_t pdgabs, TClonesArray* mcArray, Int_t* dgLabels, Int_t ndg, Int_t ndgCk = 0, const Int_t* pdgDg = 0) const

Data Members

protected:
Short_tAliAODRecoDecay::fChargecharge, use this convention for prongs charges:
Double32_t*AliAODRecoDecay::fDCA[fNDCA] prong-to-prong DCA [cm]
Int_tAliAODRecoDecay::fEventNumber
TReffEventPrimaryVtxref to primary vertex of the event
TReffListOfCutsref to the list of analysis cuts
Int_tAliAODRecoDecay::fNDCAnumber of dca's
Int_tAliAODRecoDecay::fNPIDnumber of PID probabilities
Int_tAliAODRecoDecay::fNProngsnumber of prongs
AliAODVertex*fOwnPrimaryVtxprimary vertex for this candidate
AliAODVertex*AliAODRecoDecay::fOwnSecondaryVtxtemporary solution (to work outside AliAODEvent)
Double32_t*AliAODRecoDecay::fPID[fNPID] combined pid
UShort_t*fProngID[fNProngs] track ID of daughters
Double32_t*AliAODRecoDecay::fPx[fNProngs] px of tracks at the vertex [GeV/c]
Double32_t*AliAODRecoDecay::fPy[fNProngs] py of tracks at the vertex [GeV/c]
Double32_t*AliAODRecoDecay::fPz[fNProngs] pz of tracks at the vertex [GeV/c]
Int_tAliAODRecoDecay::fRunNumber
TRefAliAODRecoDecay::fSecondaryVtxdecay vertex
ULong_tfSelectionMapused to store outcome of selection in AliAnalysisVertexingLF
Double32_t*AliAODRecoDecay::fd0[fNProngs] rphi impact params w.r.t. Primary Vtx [cm]
Double_t*fd0err[fNProngs] error on prongs rphi impact param [cm]

Class Charts

Inheritance Chart:
TObject
AliVParticle
AliVTrack
AliAODRecoDecay
AliAODRecoDecayLF
AliAODRecoDecayLF2Prong

Function documentation

AliAODRecoDecayLF()
 Default Constructor

AliAODRecoDecayLF(AliAODVertex* vtx2, Int_t nprongs, Short_t charge, Double_t* px, Double_t* py, Double_t* pz, Double_t* d0, Double_t* d0err)
 Constructor with AliAODVertex for decay vertex

AliAODRecoDecayLF(AliAODVertex* vtx2, Int_t nprongs, Short_t charge, Double_t* d0, Double_t* d0err)
 Constructor with AliAODVertex for decay vertex and without prongs momenta

AliAODRecoDecayLF(Double_t* vtx1, Double_t* vtx2, Int_t nprongs, Short_t charge, Double_t* px, Double_t* py, Double_t* pz, Double_t* d0)
 Constructor that can used for a "MC" object

AliAODRecoDecayLF(const AliAODRecoDecayLF& source)
 Copy constructor

AliAODRecoDecayLF & operator=(const AliAODRecoDecayLF& source)
 assignment operator

~AliAODRecoDecayLF()
 Default Destructor

AliKFParticle * ApplyVertexingKF(Int_t* iprongs, Int_t nprongs, Int_t* pdgs, Bool_t topoCostraint, Double_t bzkG, Double_t* mass) const
 Applies the KF vertexer
 Int_t iprongs[nprongs] = indices of the prongs to be used from the vertexer
 Int_t pdgs[nprongs] = pdgs assigned to the prongs, needed to define the AliKFParticle
 Bool_t topoCostraint = if kTRUE, the topological constraint is applied
 Double_t bzkG = magnetic field
 Double_t mass[2] = {mass, sigma} for the mass constraint (if mass[0]>0 the constraint is applied).

AliAODVertex* RemoveDaughtersFromPrimaryVtx(AliAODEvent* aod)
 This method returns a primary vertex without the daughter tracks of the
 candidate and it recalculates the impact parameters and errors.

 The output vertex is created with "new". The user has to
 set it to the candidate with SetOwnPrimaryVtx(), unset it at the end
 of processing with UnsetOwnPrimaryVtx() and delete it.
 If a NULL pointer is returned, the removal failed (too few tracks left).

 For the moment, the primary vertex is recalculated from scratch without
 the daughter tracks.

void RecalculateImpPars(AliAODVertex* vtxAODNew, AliAODEvent* aod)
 now recalculate the daughters impact parameters

void Misalign(TString misal = "null")
 Method to smear the impact parameter of the duaghter tracks
 and the sec. vtx position accordinlgy
 Useful to study effect of misalignment.
 The starting point are parameterisations of the impact parameter resolution
 from MC and data
 Errors on d0 and vtx are not recalculated (to be done)

void SetProngIDs(Int_t nIDs, UShort_t* id)
Bool_t IsLikeSign() const
 check if it is like-sign
Bool_t DaughterHasPointOnITSLayer(Int_t dg, Int_t l) const
 ITS clustermap for daughters
Int_t NumberOfFakeDaughters() const
 Count number of daughters with negative label
void Setd0errProngs(Int_t nprongs, Double_t* d0err)
Bool_t HasBadDaughters() const
void SetPrimaryVtxRef(TObject* vtx)
 primary vertex
{ fEventPrimaryVtx = vtx; }
AliAODVertex* GetPrimaryVtxRef() const
{ return (AliAODVertex*)(fEventPrimaryVtx.GetObject()); }
void SetOwnPrimaryVtx(const AliAODVertex* vtx)
void CheckOwnPrimaryVtx() const
{if(!fOwnPrimaryVtx) printf("fOwnPrimaryVtx not set"); return;}
AliAODVertex* GetOwnPrimaryVtx() const
{return fOwnPrimaryVtx;}
void GetOwnPrimaryVtx(Double_t* vtx) const
{CheckOwnPrimaryVtx();fOwnPrimaryVtx->GetPosition(vtx);}
void UnsetOwnPrimaryVtx()
AliAODVertex* GetPrimaryVtx() const
{ return (GetOwnPrimaryVtx() ? GetOwnPrimaryVtx() : GetPrimaryVtxRef()); }
Double_t DecayLength2() const
 kinematics & topology
Double_t DecayLength() const
Double_t DecayLengthError() const
Double_t NormalizedDecayLength() const
Double_t NormalizedDecayLength2() const
Double_t DecayLengthXY() const
Double_t DecayLengthXYError() const
Double_t NormalizedDecayLengthXY() const
Double_t Ct(UInt_t pdg) const
{ return AliAODRecoDecay::Ct(pdg,GetPrimaryVtx());}
Double_t CosPointingAngle() const
Double_t CosPointingAngleXY() const
Double_t ImpParXY() const
Double_t QtProngFlightLine(Int_t ip) const
Double_t QlProngFlightLine(Int_t ip) const
Double_t Getd0errProng(Int_t ip) const
 prongs
{return fd0err[ip];}
Double_t Normalizedd0Prong(Int_t ip) const
{return Getd0Prong(ip)/Getd0errProng(ip);}
UShort_t GetProngID(Int_t ip) const
void SetSelectionBit(Int_t i)
 selection map
{SETBIT(fSelectionMap,i); return;}
Bool_t HasSelectionBit(Int_t i) const
{return TESTBIT(fSelectionMap,i);}
ULong_t GetSelectionMap() const
{return fSelectionMap;}