Fix
[u/mrichter/AliRoot.git] / PWG3 / vertexingHF / AliAODRecoDecayHF4Prong.h
CommitLineData
3244eeed 1#ifndef ALIAODRECODECAYHF4PRONG_H
2#define ALIAODRECODECAYHF4PRONG_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 AliAODRecoDecayHF4Prong
10// base class for AOD reconstructed 4-prong heavy-flavour decays
11// (D0->Kpipipi, etc...)
12// Authors: G.E.Bruno Giuseppe.Bruno@ba.infn.it, R.Romita Rossella.Romita@ba.infn.it
13//***********************************************************
14
15#include "AliAODRecoDecay.h"
16#include "AliAODRecoDecayHF.h"
17
18class AliAODRecoDecayHF4Prong : public AliAODRecoDecayHF {
19
20 public:
21
22 AliAODRecoDecayHF4Prong();
23 AliAODRecoDecayHF4Prong(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,
721c0b8f 27 Double_t dist12,Double_t dist3,
28 Double_t dist4,
3244eeed 29 Short_t charge);
30 AliAODRecoDecayHF4Prong(AliAODVertex *vtx2,
31 Double_t *d0,Double_t *d0err,
32 Double_t *dca, //Double_t sigvert,
721c0b8f 33 Double_t dist12,Double_t dist3,
34 Double_t dist4,
3244eeed 35 Short_t charge);
36
37 AliAODRecoDecayHF4Prong(const AliAODRecoDecayHF4Prong& source);
38 AliAODRecoDecayHF4Prong& operator=(const AliAODRecoDecayHF4Prong& source);
39
40 virtual ~AliAODRecoDecayHF4Prong() {}
41
6185d025 42 void GetDCAs(Double_t dca[6]) const
721c0b8f 43 {for(Int_t i=0;i<6;i++) dca[i]=GetDCA(i);}
44 // convention:fDCA[0]=p0p1,fDCA[1]=p0p2,fDCA[2]=p0p3,fDCA[3]=p1p2...
49103adc 45 Double_t GetDist12toPrim() const {return fDist12toPrim;}
721c0b8f 46 Double_t GetDist3toPrim() const {return fDist3toPrim;}
47 Double_t GetDist4toPrim() const {return fDist4toPrim;}
3244eeed 48
49 // D0->pi+K- pipi and D0bar->K+pi- pipi (in the order given)
50 Double_t ED0() const {return E(421);}
51 Double_t YD0() const {return Y(421);}
52 Double_t CtD0() const {return Ct(421);}
53 Double_t CtD0(Double_t point[3]) const {return AliAODRecoDecay::Ct(421,point);}
54 Double_t CtD0(AliAODVertex *vtx1) const {return AliAODRecoDecay::Ct(421,vtx1);}
721c0b8f 55 Double_t InvMassRho(Int_t i,Int_t j) const {return InvMass2Prongs(i,j,211,211);}
56 Bool_t CutRhoMass(Double_t massD0[2],Double_t massD0bar[2],Double_t CutMass,Double_t CutRho) const;
3244eeed 57
721c0b8f 58 void InvMassD0(Double_t mD0[2]) const;
59 void InvMassD0bar(Double_t mD0bar[2]) const;
3244eeed 60
61 Bool_t SelectD0(const Double_t* cuts,Int_t &okD0,Int_t &okD0bar) const;
62
3244eeed 63 private:
64
65 //Double_t fSigmaVert; // track dispersion around the secondary vertex
66 Double_t fDist12toPrim; //distance prim vert - 2 opposite sign track vertex
721c0b8f 67 Double_t fDist3toPrim; //distance prim vert - 3 track vertex
68 Double_t fDist4toPrim; //distance prim vert - 4 track vertex
3244eeed 69 //Double_t fDist123toPrim; //distance
721c0b8f 70
3244eeed 71
721c0b8f 72 ClassDef(AliAODRecoDecayHF4Prong,2) // base class for AOD reconstructed
3244eeed 73 // heavy-flavour 3-prong decays
74};
75
76#endif