]>
Commit | Line | Data |
---|---|---|
05d80dd6 | 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 | ||
27de2dfb | 6 | /* $Id$ */ |
7 | ||
05d80dd6 | 8 | //*********************************************************** |
9 | // Class AliAODRecoCascadeHF | |
10 | // base class for AOD reconstructed heavy-flavour cascade decays | |
11 | // (D*->D0pi, ...) | |
12 | // The convention is: prong 0 is the bachelor, prong 1 is the "V0" | |
13 | // | |
c3fe1eed | 14 | // Author: X-M. Zhang, zhangxm@iopp.ccnu.edu.cn |
05d80dd6 | 15 | //*********************************************************** |
16 | ||
17 | #include <TRef.h> | |
18 | #include <TRefArray.h> | |
b3999999 | 19 | #include <TClonesArray.h> |
a07ad8e0 | 20 | #include <TClass.h> |
05d80dd6 | 21 | #include "AliAODVertex.h" |
a07ad8e0 | 22 | #include "AliAODv0.h" |
05d80dd6 | 23 | #include "AliAODRecoDecayHF2Prong.h" |
24 | ||
25 | class AliAODRecoCascadeHF : public AliAODRecoDecayHF2Prong { | |
26 | ||
27 | public: | |
28 | ||
29 | AliAODRecoCascadeHF(); | |
30 | AliAODRecoCascadeHF(AliAODVertex *vtx2, Short_t charge, | |
31 | Double_t *px, Double_t *py, Double_t *pz, | |
32 | Double_t *d0, Double_t *d0err, Double_t dca); | |
33 | AliAODRecoCascadeHF(AliAODVertex *vtx2, Short_t charge, | |
34 | Double_t *d0, Double_t *d0err, Double_t dca); | |
35 | virtual ~AliAODRecoCascadeHF(); | |
36 | ||
37 | AliAODRecoCascadeHF(const AliAODRecoCascadeHF& source); | |
38 | AliAODRecoCascadeHF& operator=(const AliAODRecoCascadeHF& source); | |
39 | ||
40 | // 2prong (D0 for Dstar) | |
a07ad8e0 | 41 | AliAODRecoDecayHF2Prong* Get2Prong() const { |
42 | if ( ! ((AliAODRecoDecay*)GetDaughter(1))->IsA()->InheritsFrom("AliAODRecoDecayHF2Prong") ){ | |
43 | AliWarning("Object is not of type AliAODRecoDecayHF2Prong"); | |
44 | return 0; | |
45 | } | |
46 | return (AliAODRecoDecayHF2Prong*)GetDaughter(1); | |
47 | } | |
05d80dd6 | 48 | |
49 | // Bachelor (soft pion for Dstar) | |
50 | AliAODTrack* GetBachelor() const {return (AliAODTrack*)GetDaughter(0);} | |
51 | ||
a07ad8e0 | 52 | // v0 (Ks or Lambda for Lambda_c) |
53 | AliAODv0* Getv0() const { | |
54 | if ( ! ((AliAODRecoDecay*)GetDaughter(1))->IsA()->InheritsFrom("AliAODv0") ){ | |
55 | AliWarning("Object is not of type v0"); | |
56 | return 0; | |
57 | } | |
58 | return (AliAODv0*)GetDaughter(1); | |
59 | } | |
60 | ||
61 | // Get v0 positive track | |
62 | AliAODTrack* Getv0PositiveTrack() const { return (AliAODTrack*)Getv0()->GetDaughter(0); } | |
63 | // Get v0 negative track | |
64 | AliAODTrack* Getv0NegativeTrack() const { return (AliAODTrack*)Getv0()->GetDaughter(1); } | |
65 | ||
05d80dd6 | 66 | // D*->D0pi, D0->Kpi |
67 | Double_t EDstar() const {return E(413);} | |
68 | Double_t YDstar() const {return Y(413);} | |
69 | Bool_t SelectDstar(const Double_t *cutsDstar,const Double_t *cutsD0,Bool_t testD0=kTRUE) const; | |
70 | Double_t InvMassD0() const {return (Charge()>0 ? Get2Prong()->InvMassD0() : Get2Prong()->InvMassD0bar());} | |
71 | Double_t InvMassDstarKpipi() const; | |
72 | Double_t DeltaInvMass() const {return (InvMassDstarKpipi()-InvMassD0());} | |
3f6adfc9 | 73 | Double_t AngleD0dkpPisoft() const; |
ccfae9f3 | 74 | Bool_t TrigonometricalCut() const; |
05d80dd6 | 75 | |
a07ad8e0 | 76 | // Lc invariant mass |
77 | Double_t InvMassLctoK0sP() const { | |
78 | UInt_t pdg[2]={2212,310}; return InvMass(2,pdg); | |
79 | } | |
80 | Double_t InvMassLctoLambdaPi() const { | |
81 | UInt_t pdg[2]={211,3122}; return InvMass(2,pdg); | |
82 | } | |
83 | Bool_t SelectLctoV0(const Double_t *cutsLctoV0, Bool_t okLck0sp, Bool_t okLcLpi) const; | |
84 | ||
383937f0 | 85 | Int_t MatchToMC(Int_t pdgabs,Int_t pdgabs2prong, |
86 | Int_t *pdgDg,Int_t *pdgDg2prong, | |
87 | TClonesArray *mcArray) const; | |
b3999999 | 88 | |
05d80dd6 | 89 | protected: |
90 | ||
dcfa35b3 | 91 | ClassDef(AliAODRecoCascadeHF, 2); // heavy-flavour cascade class |
05d80dd6 | 92 | }; |
93 | ||
94 | #endif |