]>
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: | |
21 | ||
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); | |
3244eeed | 35 | virtual ~AliAODRecoDecayHF3Prong() {} |
16156b6d | 36 | //Temporary fix: overload Charge() and GetCharge() |
37 | Short_t Charge() const; | |
38 | Short_t GetCharge()const {return Charge();} | |
6185d025 | 39 | void GetDCAs(Double_t dca[3]) const |
3244eeed | 40 | {for(Int_t i=0;i<3;i++) dca[i]=GetDCA(i);} |
778cb231 | 41 | Double_t GetSigmaVert() const { return fSigmaVert; } |
42 | Double_t GetDist12toPrim() const { return fDist12toPrim; } | |
43 | Double_t GetDist23toPrim() const { return fDist23toPrim; } | |
ed6324e5 | 44 | void SetDist12toPrim(Double_t d) { fDist12toPrim=d; } |
45 | void SetDist23toPrim(Double_t d) { fDist23toPrim=d; } | |
3244eeed | 46 | |
47 | ||
48 | // D+->Kpipi | |
49 | Double_t EDplus() const {return E(411);} | |
50 | Double_t YDplus() const {return Y(411);} | |
51 | Double_t CtDplus() const {return Ct(411);} | |
52 | Double_t CtDplus(Double_t point[3]) const {return AliAODRecoDecay::Ct(411,point);} | |
53 | Double_t CtDplus(AliAODVertex *vtx1) const {return AliAODRecoDecay::Ct(411,vtx1);} | |
54 | Double_t InvMassDplus() const {UInt_t pdg[3]={211,321,211};return InvMass(3,pdg);} | |
55 | Bool_t SelectDplus(const Double_t* cuts) const; | |
56 | ||
79250a2b | 57 | // Ds+->KKpi |
3244eeed | 58 | Double_t EDs() const {return E(431);} |
59 | Double_t YDs() const {return Y(431);} | |
60 | Double_t CtDs() const {return Ct(431);} | |
61 | Double_t CtDs(Double_t point[3]) const {return AliAODRecoDecay::Ct(431,point);} | |
62 | Double_t CtDs(AliAODVertex *vtx1) const {return AliAODRecoDecay::Ct(431,vtx1);} | |
63 | Double_t InvMassDsKKpi() const {UInt_t pdg[3]={321,321,211};return InvMass(3,pdg);} | |
64 | Double_t InvMassDspiKK() const {UInt_t pdg[3]={211,321,321};return InvMass(3,pdg);} | |
9fce5365 | 65 | Bool_t SelectDs(const Double_t* cuts,Int_t &okDsKKpi,Int_t &okDspiKK, Int_t &okMassPhi, Int_t &okMassK0star) |
6ea608bf | 66 | const; // same variables as D+, for now |
79250a2b | 67 | |
68 | // Lambdac+->pKpi | |
69 | Double_t ELc() const {return E(4122);} | |
70 | Double_t YLc() const {return Y(4122);} | |
71 | Double_t CtLc() const {return Ct(4122);} | |
72 | Double_t CtLc(Double_t point[3]) const {return AliAODRecoDecay::Ct(4122,point);} | |
73 | Double_t CtLc(AliAODVertex *vtx1) const {return AliAODRecoDecay::Ct(4122,vtx1);} | |
74 | Double_t InvMassLcpKpi() const {UInt_t pdg[3]={2212,321,211};return InvMass(3,pdg);} | |
75 | Double_t InvMassLcpiKp() const {UInt_t pdg[3]={211,321,2212};return InvMass(3,pdg);} | |
76 | Bool_t SelectLc(const Double_t* cuts,Int_t &okLcpKpi,Int_t &okLcpiKp) | |
6ea608bf | 77 | const; // same variables as D+, for now |
3244eeed | 78 | |
79 | private: | |
80 | ||
81 | Double_t fSigmaVert; // track dispersion around the secondary vertex | |
82 | Double_t fDist12toPrim; //distance prim vert - 2 opposite sign track vertex | |
83 | Double_t fDist23toPrim; //distance prim vert - 2 opposite sign track vertex | |
84 | ||
85 | ||
86 | ||
87 | ClassDef(AliAODRecoDecayHF3Prong,1) // base class for AOD reconstructed | |
88 | // heavy-flavour 3-prong decays | |
89 | }; | |
90 | ||
91 | #endif |