]>
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); | |
33 | ||
34 | virtual ~AliAODRecoDecayHF3Prong() {} | |
35 | ||
36 | void GetDCAs(Float_t dca[3]) const | |
37 | {for(Int_t i=0;i<3;i++) dca[i]=GetDCA(i);} | |
38 | ||
39 | ||
40 | // D+->Kpipi | |
41 | Double_t EDplus() const {return E(411);} | |
42 | Double_t YDplus() const {return Y(411);} | |
43 | Double_t CtDplus() const {return Ct(411);} | |
44 | Double_t CtDplus(Double_t point[3]) const {return AliAODRecoDecay::Ct(411,point);} | |
45 | Double_t CtDplus(AliAODVertex *vtx1) const {return AliAODRecoDecay::Ct(411,vtx1);} | |
46 | Double_t InvMassDplus() const {UInt_t pdg[3]={211,321,211};return InvMass(3,pdg);} | |
47 | Bool_t SelectDplus(const Double_t* cuts) const; | |
48 | ||
79250a2b | 49 | // Ds+->KKpi |
3244eeed | 50 | Double_t EDs() const {return E(431);} |
51 | Double_t YDs() const {return Y(431);} | |
52 | Double_t CtDs() const {return Ct(431);} | |
53 | Double_t CtDs(Double_t point[3]) const {return AliAODRecoDecay::Ct(431,point);} | |
54 | Double_t CtDs(AliAODVertex *vtx1) const {return AliAODRecoDecay::Ct(431,vtx1);} | |
55 | Double_t InvMassDsKKpi() const {UInt_t pdg[3]={321,321,211};return InvMass(3,pdg);} | |
56 | Double_t InvMassDspiKK() const {UInt_t pdg[3]={211,321,321};return InvMass(3,pdg);} | |
57 | Bool_t SelectDs(const Double_t* cuts,Int_t &okDsKKpi,Int_t &okDspiKK) | |
79250a2b | 58 | const; // only mass cut |
59 | ||
60 | // Lambdac+->pKpi | |
61 | Double_t ELc() const {return E(4122);} | |
62 | Double_t YLc() const {return Y(4122);} | |
63 | Double_t CtLc() const {return Ct(4122);} | |
64 | Double_t CtLc(Double_t point[3]) const {return AliAODRecoDecay::Ct(4122,point);} | |
65 | Double_t CtLc(AliAODVertex *vtx1) const {return AliAODRecoDecay::Ct(4122,vtx1);} | |
66 | Double_t InvMassLcpKpi() const {UInt_t pdg[3]={2212,321,211};return InvMass(3,pdg);} | |
67 | Double_t InvMassLcpiKp() const {UInt_t pdg[3]={211,321,2212};return InvMass(3,pdg);} | |
68 | Bool_t SelectLc(const Double_t* cuts,Int_t &okLcpKpi,Int_t &okLcpiKp) | |
69 | const;// only mass cut | |
3244eeed | 70 | |
71 | private: | |
72 | ||
73 | Double_t fSigmaVert; // track dispersion around the secondary vertex | |
74 | Double_t fDist12toPrim; //distance prim vert - 2 opposite sign track vertex | |
75 | Double_t fDist23toPrim; //distance prim vert - 2 opposite sign track vertex | |
76 | ||
77 | ||
78 | ||
79 | ClassDef(AliAODRecoDecayHF3Prong,1) // base class for AOD reconstructed | |
80 | // heavy-flavour 3-prong decays | |
81 | }; | |
82 | ||
83 | #endif |