]>
Commit | Line | Data |
---|---|---|
3244eeed | 1 | #ifndef ALIAODRECODECAYHF4PRONG_H |
2 | #define ALIAODRECODECAYHF4PRONG_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 AliAODRecoDecayHF4Prong | |
8 | // base class for AOD reconstructed 4-prong heavy-flavour decays | |
9 | // (D0->Kpipipi, etc...) | |
10 | // Authors: G.E.Bruno Giuseppe.Bruno@ba.infn.it, R.Romita Rossella.Romita@ba.infn.it | |
11 | //*********************************************************** | |
12 | ||
13 | #include "AliAODRecoDecay.h" | |
14 | #include "AliAODRecoDecayHF.h" | |
15 | ||
16 | class AliAODRecoDecayHF4Prong : public AliAODRecoDecayHF { | |
17 | ||
18 | public: | |
19 | ||
20 | AliAODRecoDecayHF4Prong(); | |
21 | AliAODRecoDecayHF4Prong(AliAODVertex *vtx2, | |
22 | Double_t *px,Double_t *py,Double_t *pz, | |
23 | Double_t *d0,Double_t *d0err, | |
24 | Double_t *dca, //Double_t sigvert, | |
25 | Double_t dist12,Double_t dist23, | |
26 | Double_t dist14,Double_t dist34, | |
27 | Short_t charge); | |
28 | AliAODRecoDecayHF4Prong(AliAODVertex *vtx2, | |
29 | Double_t *d0,Double_t *d0err, | |
30 | Double_t *dca, //Double_t sigvert, | |
31 | Double_t dist12,Double_t dist23, | |
32 | Double_t dist14,Double_t dist34, | |
33 | Short_t charge); | |
34 | ||
35 | AliAODRecoDecayHF4Prong(const AliAODRecoDecayHF4Prong& source); | |
36 | AliAODRecoDecayHF4Prong& operator=(const AliAODRecoDecayHF4Prong& source); | |
37 | ||
38 | virtual ~AliAODRecoDecayHF4Prong() {} | |
39 | ||
40 | void GetDCAs(Float_t dca[6]) const | |
41 | {for(Int_t i=0;i<6;i++) dca[i]=GetDCA(i);} // convention:fDCA[0]=p0p1,fDCA[1]=p0p2,fDCA[2]=p0p3,fDCA[3]=p1p2... | |
42 | ||
43 | ||
44 | // D0->pi+K- pipi and D0bar->K+pi- pipi (in the order given) | |
45 | Double_t ED0() const {return E(421);} | |
46 | Double_t YD0() const {return Y(421);} | |
47 | Double_t CtD0() const {return Ct(421);} | |
48 | Double_t CtD0(Double_t point[3]) const {return AliAODRecoDecay::Ct(421,point);} | |
49 | Double_t CtD0(AliAODVertex *vtx1) const {return AliAODRecoDecay::Ct(421,vtx1);} | |
50 | Double_t InvMassRho() const {return InvMass2Prongs(2,3,211,211);} | |
51 | Double_t InvMassD0() const {UInt_t pdg[4]={211,321,211,211};return InvMass(4,pdg);} | |
52 | Double_t InvMassD0bar() const {UInt_t pdg[4]={321,211,211,211};return InvMass(4,pdg);} | |
53 | void InvMassD0(Double_t &mD0,Double_t &mD0bar) const | |
54 | {mD0=InvMassD0();mD0bar=InvMassD0bar();return;} | |
55 | ||
56 | ||
57 | Bool_t SelectD0(const Double_t* cuts,Int_t &okD0,Int_t &okD0bar) const; | |
58 | ||
59 | ||
60 | private: | |
61 | ||
62 | //Double_t fSigmaVert; // track dispersion around the secondary vertex | |
63 | Double_t fDist12toPrim; //distance prim vert - 2 opposite sign track vertex | |
64 | Double_t fDist23toPrim; //distance prim vert - 2 opposite sign track vertex | |
65 | Double_t fDist14toPrim; //distance prim vert - 2 opposite sign track vertex | |
66 | Double_t fDist34toPrim; //distance prim vert - 2 opposite sign track vertex | |
67 | //Double_t fDist123toPrim; //distance | |
68 | ||
69 | ClassDef(AliAODRecoDecayHF4Prong,1) // base class for AOD reconstructed | |
70 | // heavy-flavour 3-prong decays | |
71 | }; | |
72 | ||
73 | #endif |