]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG3/AliAODRecoDecayHF2Prong.h
introducing SDD, SSD layer misal (Andrea Dainese)
[u/mrichter/AliRoot.git] / PWG3 / AliAODRecoDecayHF2Prong.h
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                               */
5
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 //***********************************************************
13
14 #include "AliAODRecoDecay.h"
15 #include "AliAODRecoDecayHF.h"
16
17 class AliAODRecoDecayHF2Prong : public AliAODRecoDecayHF {
18
19  public:
20
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); 
29
30   virtual ~AliAODRecoDecayHF2Prong() {}  
31  
32   Double_t Prodd0d0() const {return AliAODRecoDecay::Prodd0d0(0,1);} 
33
34   // D0->Kpi
35   Double_t ED0() const {return E(421);} 
36   Double_t YD0() const {return Y(421);} 
37
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);}
41
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;}
46
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;}
51
52   Bool_t   SelectD0(const Double_t* cuts,Int_t &okD0,Int_t &okD0bar) const;
53
54   // Jpsi (from B) -> ee
55   Double_t EJPSI() const {return E(443);}
56   Double_t YJPSI() const {return Y(443);}
57
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);}
61
62   Double_t CosThetaStarJPSI() const {return CosThetaStar(1,443,11,11);} // angle of e-
63
64   Double_t InvMassJPSIee() const {UInt_t pdg[2]={11,11};return InvMass(2,pdg);}
65
66   Bool_t   SelectBtoJPSI(const Double_t* cuts,Int_t &okB) const;
67   
68
69  private:
70
71   ClassDef(AliAODRecoDecayHF2Prong,1)  // base class for AOD reconstructed 
72                                        // heavy-flavour 2-prong decays
73 };
74
75 #endif