]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG3/AliAODRecoDecayHF3Prong.h
loading libANALYSIS.so
[u/mrichter/AliRoot.git] / PWG3 / AliAODRecoDecayHF3Prong.h
CommitLineData
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
16class 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