]>
Commit | Line | Data |
---|---|---|
3244eeed | 1 | #ifndef ALIAODRECODECAYHF3PRONG_H |
2 | #define ALIAODRECODECAYHF3PRONG_H | |
3 | /* Copyright(c) 1998-2006, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
27de2dfb | 6 | /* $Id$ */ |
7 | ||
3244eeed | 8 | //*********************************************************** |
9 | // Class AliAODRecoDecayHF3Prong | |
10 | // base class for AOD reconstructed 3-prong heavy-flavour decays | |
11 | // (D+->Kpipi, Ds->KKpi ...) | |
12 | // Author: E.Bruna bruna@to.infn.it, F.Prino prino@to.infn.it | |
13 | //*********************************************************** | |
14 | ||
15 | #include "AliAODRecoDecay.h" | |
16 | #include "AliAODRecoDecayHF.h" | |
17 | ||
18 | class AliAODRecoDecayHF3Prong : public AliAODRecoDecayHF { | |
19 | ||
20 | public: | |
2e153422 | 21 | |
3244eeed | 22 | AliAODRecoDecayHF3Prong(); |
23 | AliAODRecoDecayHF3Prong(AliAODVertex *vtx2, | |
24 | Double_t *px,Double_t *py,Double_t *pz, | |
25 | Double_t *d0,Double_t *d0err, | |
26 | Double_t *dca, Double_t sigvert, | |
27 | Double_t dist12,Double_t dist23,Short_t charge); | |
28 | AliAODRecoDecayHF3Prong(AliAODVertex *vtx2, | |
29 | Double_t *d0,Double_t *d0err, | |
30 | Double_t *dca, Double_t sigvert, | |
31 | Double_t dist12,Double_t dist23, Short_t charge); | |
32 | ||
33 | AliAODRecoDecayHF3Prong(const AliAODRecoDecayHF3Prong& source); | |
34 | AliAODRecoDecayHF3Prong& operator=(const AliAODRecoDecayHF3Prong& source); | |
6185d025 | 35 | void GetDCAs(Double_t dca[3]) const |
3244eeed | 36 | {for(Int_t i=0;i<3;i++) dca[i]=GetDCA(i);} |
778cb231 | 37 | Double_t GetSigmaVert() const { return fSigmaVert; } |
38 | Double_t GetDist12toPrim() const { return fDist12toPrim; } | |
39 | Double_t GetDist23toPrim() const { return fDist23toPrim; } | |
ed6324e5 | 40 | void SetDist12toPrim(Double_t d) { fDist12toPrim=d; } |
41 | void SetDist23toPrim(Double_t d) { fDist23toPrim=d; } | |
3244eeed | 42 | |
43 | ||
44 | // D+->Kpipi | |
45 | Double_t EDplus() const {return E(411);} | |
46 | Double_t YDplus() const {return Y(411);} | |
47 | Double_t CtDplus() const {return Ct(411);} | |
48 | Double_t CtDplus(Double_t point[3]) const {return AliAODRecoDecay::Ct(411,point);} | |
49 | Double_t CtDplus(AliAODVertex *vtx1) const {return AliAODRecoDecay::Ct(411,vtx1);} | |
50 | Double_t InvMassDplus() const {UInt_t pdg[3]={211,321,211};return InvMass(3,pdg);} | |
51 | Bool_t SelectDplus(const Double_t* cuts) const; | |
52 | ||
79250a2b | 53 | // Ds+->KKpi |
3244eeed | 54 | Double_t EDs() const {return E(431);} |
55 | Double_t YDs() const {return Y(431);} | |
56 | Double_t CtDs() const {return Ct(431);} | |
57 | Double_t CtDs(Double_t point[3]) const {return AliAODRecoDecay::Ct(431,point);} | |
58 | Double_t CtDs(AliAODVertex *vtx1) const {return AliAODRecoDecay::Ct(431,vtx1);} | |
59 | Double_t InvMassDsKKpi() const {UInt_t pdg[3]={321,321,211};return InvMass(3,pdg);} | |
60 | Double_t InvMassDspiKK() const {UInt_t pdg[3]={211,321,321};return InvMass(3,pdg);} | |
2e153422 | 61 | |
62 | Double_t CosPiKPhiRFrameKKpi() const {return CosPiKPhiRFrame(0);} | |
63 | Double_t CosPiKPhiRFramepiKK() const {return CosPiKPhiRFrame(1);} | |
64 | Double_t CosPiDsLabFrameKKpi() const {return CosPiDsLabFrame(0);} | |
65 | Double_t CosPiDsLabFramepiKK() const {return CosPiDsLabFrame(1);} | |
66 | ||
67 | Double_t CosPiKPhiRFrame(Int_t option) const; | |
68 | Double_t CosPiDsLabFrame(Int_t option) const; | |
9fce5365 | 69 | Bool_t SelectDs(const Double_t* cuts,Int_t &okDsKKpi,Int_t &okDspiKK, Int_t &okMassPhi, Int_t &okMassK0star) |
6ea608bf | 70 | const; // same variables as D+, for now |
79250a2b | 71 | |
72 | // Lambdac+->pKpi | |
73 | Double_t ELc() const {return E(4122);} | |
74 | Double_t YLc() const {return Y(4122);} | |
75 | Double_t CtLc() const {return Ct(4122);} | |
76 | Double_t CtLc(Double_t point[3]) const {return AliAODRecoDecay::Ct(4122,point);} | |
77 | Double_t CtLc(AliAODVertex *vtx1) const {return AliAODRecoDecay::Ct(4122,vtx1);} | |
78 | Double_t InvMassLcpKpi() const {UInt_t pdg[3]={2212,321,211};return InvMass(3,pdg);} | |
79 | Double_t InvMassLcpiKp() const {UInt_t pdg[3]={211,321,2212};return InvMass(3,pdg);} | |
80 | Bool_t SelectLc(const Double_t* cuts,Int_t &okLcpKpi,Int_t &okLcpiKp) | |
6ea608bf | 81 | const; // same variables as D+, for now |
3244eeed | 82 | |
83 | private: | |
84 | ||
85 | Double_t fSigmaVert; // track dispersion around the secondary vertex | |
86 | Double_t fDist12toPrim; //distance prim vert - 2 opposite sign track vertex | |
87 | Double_t fDist23toPrim; //distance prim vert - 2 opposite sign track vertex | |
88 | ||
89 | ||
90 | ||
91 | ClassDef(AliAODRecoDecayHF3Prong,1) // base class for AOD reconstructed | |
92 | // heavy-flavour 3-prong decays | |
93 | }; | |
94 | ||
95 | #endif |