]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG3/vertexingHF/AliAODRecoDecayHF3Prong.h
Rejection of centrality outliers in AOD049 (Giacomo)
[u/mrichter/AliRoot.git] / PWG3 / vertexingHF / AliAODRecoDecayHF3Prong.h
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 /* $Id$ */ 
7
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); 
35   void GetDCAs(Double_t dca[3]) const 
36     {for(Int_t i=0;i<3;i++) dca[i]=GetDCA(i);}
37   Double_t GetSigmaVert() const { return fSigmaVert; }
38   Double_t GetDist12toPrim() const { return fDist12toPrim; }
39   Double_t GetDist23toPrim() const { return fDist23toPrim; }
40   void SetDist12toPrim(Double_t d) { fDist12toPrim=d; }
41   void SetDist23toPrim(Double_t d) { fDist23toPrim=d; }
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
53   // Ds+->KKpi
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);}
61   Bool_t   SelectDs(const Double_t* cuts,Int_t &okDsKKpi,Int_t &okDspiKK, Int_t &okMassPhi, Int_t &okMassK0star) 
62     const; // same variables as D+, for now
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) 
73     const; // same variables as D+, for now
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