]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG3/vertexingHF/AliAODRecoCascadeHF.h
a47fa98e135e5c2f312d5da6249c28a90829a80d
[u/mrichter/AliRoot.git] / PWG3 / vertexingHF / AliAODRecoCascadeHF.h
1 #ifndef ALIAODRECOCASCADEHF_H
2 #define ALIAODRECOCASCADEHF_H
3 /* Copyright(c) 1998-2008, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 //***********************************************************
7 // Class AliAODRecoCascadeHF
8 // base class for AOD reconstructed heavy-flavour cascade decays
9 // (D*->D0pi, ...)
10 // The convention is: prong 0 is the bachelor, prong 1 is the "V0"
11 //
12 // Author: X-M. Zhang, zhangxm@iopp.ccnu.edu.cn
13 //***********************************************************
14
15 #include <TRef.h>
16 #include <TRefArray.h>
17 #include "AliAODVertex.h"
18 #include "AliAODRecoDecayHF2Prong.h"
19
20 class AliAODRecoCascadeHF : public AliAODRecoDecayHF2Prong {
21
22  public:
23
24   AliAODRecoCascadeHF();
25   AliAODRecoCascadeHF(AliAODVertex *vtx2, Short_t charge,
26                       Double_t *px, Double_t *py, Double_t *pz,
27                       Double_t *d0, Double_t *d0err, Double_t dca);
28   AliAODRecoCascadeHF(AliAODVertex *vtx2, Short_t charge,
29                       Double_t *d0, Double_t *d0err, Double_t dca);
30   virtual ~AliAODRecoCascadeHF();
31
32   AliAODRecoCascadeHF(const AliAODRecoCascadeHF& source);
33   AliAODRecoCascadeHF& operator=(const AliAODRecoCascadeHF& source);
34
35   // 2prong (D0 for Dstar)
36   AliAODRecoDecayHF2Prong* Get2Prong() const {return (AliAODRecoDecayHF2Prong*)GetDaughter(1);}
37
38   // Bachelor (soft pion for Dstar)
39   AliAODTrack* GetBachelor() const {return (AliAODTrack*)GetDaughter(0);}
40
41   // D*->D0pi, D0->Kpi
42   Double_t EDstar() const {return E(413);} 
43   Double_t YDstar() const {return Y(413);} 
44   Bool_t   SelectDstar(const Double_t *cutsDstar,const Double_t *cutsD0,Bool_t testD0=kTRUE) const;
45   Double_t InvMassD0() const {return (Charge()>0 ? Get2Prong()->InvMassD0() : Get2Prong()->InvMassD0bar());}
46   Double_t InvMassDstarKpipi() const;
47   Double_t DeltaInvMass() const {return (InvMassDstarKpipi()-InvMassD0());}
48
49  protected:
50
51   ClassDef(AliAODRecoCascadeHF, 2); // heavy-flavour cascade class
52 };
53
54 #endif