]>
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 | ||
6 | //*********************************************************** | |
7 | // Class AliAODRecoDecayHF3Prong | |
8 | // base class for AOD reconstructed 3-prong heavy-flavour decays | |
9 | // (D+->Kpipi, Ds->KKpi ...) | |
10 | // Author: E.Bruna bruna@to.infn.it, F.Prino prino@to.infn.it | |
11 | //*********************************************************** | |
12 | ||
13 | #include "AliAODRecoDecay.h" | |
14 | #include "AliAODRecoDecayHF.h" | |
15 | ||
16 | class AliAODRecoDecayHF3Prong : public AliAODRecoDecayHF { | |
17 | ||
18 | public: | |
19 | ||
20 | AliAODRecoDecayHF3Prong(); | |
21 | AliAODRecoDecayHF3Prong(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,Short_t charge); | |
26 | AliAODRecoDecayHF3Prong(AliAODVertex *vtx2, | |
27 | Double_t *d0,Double_t *d0err, | |
28 | Double_t *dca, Double_t sigvert, | |
29 | Double_t dist12,Double_t dist23, Short_t charge); | |
30 | ||
31 | AliAODRecoDecayHF3Prong(const AliAODRecoDecayHF3Prong& source); | |
32 | AliAODRecoDecayHF3Prong& operator=(const AliAODRecoDecayHF3Prong& source); | |
3244eeed | 33 | virtual ~AliAODRecoDecayHF3Prong() {} |
16156b6d | 34 | //Temporary fix: overload Charge() and GetCharge() |
35 | Short_t Charge() const; | |
36 | Short_t GetCharge()const {return Charge();} | |
6185d025 | 37 | void GetDCAs(Double_t dca[3]) const |
3244eeed | 38 | {for(Int_t i=0;i<3;i++) dca[i]=GetDCA(i);} |
778cb231 | 39 | Double_t GetSigmaVert() const { return fSigmaVert; } |
40 | Double_t GetDist12toPrim() const { return fDist12toPrim; } | |
41 | Double_t GetDist23toPrim() const { return fDist23toPrim; } | |
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);} | |
9fce5365 | 61 | Bool_t SelectDs(const Double_t* cuts,Int_t &okDsKKpi,Int_t &okDspiKK, Int_t &okMassPhi, Int_t &okMassK0star) |
6ea608bf | 62 | const; // same variables as D+, for now |
79250a2b | 63 | |
64 | // Lambdac+->pKpi | |
65 | Double_t ELc() const {return E(4122);} | |
66 | Double_t YLc() const {return Y(4122);} | |
67 | Double_t CtLc() const {return Ct(4122);} | |
68 | Double_t CtLc(Double_t point[3]) const {return AliAODRecoDecay::Ct(4122,point);} | |
69 | Double_t CtLc(AliAODVertex *vtx1) const {return AliAODRecoDecay::Ct(4122,vtx1);} | |
70 | Double_t InvMassLcpKpi() const {UInt_t pdg[3]={2212,321,211};return InvMass(3,pdg);} | |
71 | Double_t InvMassLcpiKp() const {UInt_t pdg[3]={211,321,2212};return InvMass(3,pdg);} | |
72 | Bool_t SelectLc(const Double_t* cuts,Int_t &okLcpKpi,Int_t &okLcpiKp) | |
6ea608bf | 73 | const; // same variables as D+, for now |
3244eeed | 74 | |
75 | private: | |
76 | ||
77 | Double_t fSigmaVert; // track dispersion around the secondary vertex | |
78 | Double_t fDist12toPrim; //distance prim vert - 2 opposite sign track vertex | |
79 | Double_t fDist23toPrim; //distance prim vert - 2 opposite sign track vertex | |
80 | ||
81 | ||
82 | ||
83 | ClassDef(AliAODRecoDecayHF3Prong,1) // base class for AOD reconstructed | |
84 | // heavy-flavour 3-prong decays | |
85 | }; | |
86 | ||
87 | #endif |