1 #ifndef ALIAODRECODECAYHF2PRONG_H
2 #define ALIAODRECODECAYHF2PRONG_H
3 /* Copyright(c) 1998-2006, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
6 //***********************************************************
7 // Class AliAODRecoDecayHF2Prong
8 // base class for AOD reconstructed 2-prong heavy-flavour decays
9 // (D0->Kpi, J/psi->ee, ...)
10 // Author: A.Dainese, andrea.dainese@lnl.infn.it
11 // G.E.Bruno, giuseppe.bruno@ba.infn.it
12 //***********************************************************
14 #include "AliAODRecoDecay.h"
15 #include "AliAODRecoDecayHF.h"
17 class AliAODRecoDecayHF2Prong : public AliAODRecoDecayHF {
21 AliAODRecoDecayHF2Prong();
22 AliAODRecoDecayHF2Prong(AliAODVertex *vtx2,
23 Double_t *px,Double_t *py,Double_t *pz,
24 Double_t *d0,Double_t *d0err,Float_t dca);
25 AliAODRecoDecayHF2Prong(AliAODVertex *vtx2,
26 Double_t *d0,Double_t *d0err,Float_t dca);
27 AliAODRecoDecayHF2Prong(const AliAODRecoDecayHF2Prong& source);
28 AliAODRecoDecayHF2Prong& operator=(const AliAODRecoDecayHF2Prong& source);
30 virtual ~AliAODRecoDecayHF2Prong() {}
32 Double_t Prodd0d0() const {return AliAODRecoDecay::Prodd0d0(0,1);}
35 Double_t ED0() const {return E(421);}
36 Double_t YD0() const {return Y(421);}
38 Double_t CtD0() const {return Ct(421);}
39 Double_t CtD0(Double_t point[3]) const {return AliAODRecoDecay::Ct(421,point);}
40 Double_t CtD0(AliAODVertex *vtx1) const {return AliAODRecoDecay::Ct(421,vtx1);}
42 Double_t CosThetaStarD0() const {return CosThetaStar(1,421,211,321);} // angle of K
43 Double_t CosThetaStarD0bar() const {return CosThetaStar(0,421,321,211);} // angle of K
44 void CosThetaStarD0(Double_t &ctsD0,Double_t &ctsD0bar) const
45 {ctsD0=CosThetaStarD0();ctsD0bar=CosThetaStarD0bar();return;}
47 Double_t InvMassD0() const {UInt_t pdg[2]={211,321};return InvMass(2,pdg);}
48 Double_t InvMassD0bar() const {UInt_t pdg[2]={321,211};return InvMass(2,pdg);}
49 void InvMassD0(Double_t &mD0,Double_t &mD0bar) const
50 {mD0=InvMassD0();mD0bar=InvMassD0bar();return;}
52 Bool_t SelectD0(const Double_t* cuts,Int_t &okD0,Int_t &okD0bar) const;
54 // Jpsi (from B) -> ee
55 Double_t EJPSI() const {return E(443);}
56 Double_t YJPSI() const {return Y(443);}
58 Double_t CtJPSI() const {return Ct(443);}
59 Double_t CtJPSI(Double_t point[3]) const {return AliAODRecoDecay::Ct(443,point);}
60 Double_t CtJPSI(AliAODVertex *vtx1) const {return AliAODRecoDecay::Ct(443,vtx1);}
62 Double_t CosThetaStarJPSI() const {return CosThetaStar(1,443,11,11);} // angle of e-
64 Double_t InvMassJPSIee() const {UInt_t pdg[2]={11,11};return InvMass(2,pdg);}
66 Bool_t SelectBtoJPSI(const Double_t* cuts,Int_t &okB) const;
71 ClassDef(AliAODRecoDecayHF2Prong,1) // base class for AOD reconstructed
72 // heavy-flavour 2-prong decays