AliPhysics  2aaea23 (2aaea23)
AliAODConversionMother.h
Go to the documentation of this file.
1 #ifndef ALIAODCONVERSIONMOTHER_H
2 #define ALIAODCONVERSIONMOTHER_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice */
5 
7 //---------------------------------------------
8 // Class reconstructing the mother particle of conversion gammas
9 //---------------------------------------------
11 
12 //Author Daniel Lohner (Daniel.Lohner@cern.ch)
13 
14 #include "TLorentzVector.h"
16 #include "AliAODConversionPhoton.h"
17 #include "AliKFConversionMother.h"
18 #include "AliKFParticle.h"
19 
21 
22  public:
23 
24  //Default Constructor
26 
27  // Constructor for ESD to AOD Conversion
29 
30  //Constructor Decay Mother Particle
32  // Constructor Mother particle from one photon and one meson
34  // Constructor Mother particle from two mesons
36 
37 
38  //Destructor
39  virtual ~AliAODConversionMother();
40 
41  // MC
42 
44  Int_t GetMCLabel() const {return fMCLabel;}
45  TParticle *GetMCParticle(AliMCEvent *mcEvent);
46  Bool_t IsTrueMeson(AliMCEvent *mcEvent,Int_t pdgcode);
47 
49  void SetChi2(Float_t chi2) {fChi2 = chi2;}
50 
51  //Get the Chi2 of particle
52  Float_t Chi2() const {return fChi2;}
53 
55  void SetLabel1(Int_t label){fLabel[0] = label;}
56  void SetLabel2(Int_t label){fLabel[1] = label;}
57  void SetLabel3(Int_t label){fLabel[2] = label;}
58  void SetLabels(Int_t label1, Int_t label2, Int_t label3 = 0){fLabel[0] = label1; fLabel[1] = label2; fLabel[2] = label3;}
59 
60  Int_t GetLabel(Int_t i) const {return fLabel[i];}
61  Int_t GetLabel1() const {return fLabel[0];}
62  Int_t GetLabel2() const {return fLabel[1];}
63  Int_t GetLabel3() const {return fLabel[2];}
64 
66  Double_t GetProductionX() const {return fProductionVtx[0];}
67  Double_t GetProductionY() const {return fProductionVtx[1];}
68  Double_t GetProductionZ() const {return fProductionVtx[2];}
69 
74  fProductionVtx[0] = point[0];
75  fProductionVtx[1] = point[1];
76  fProductionVtx[2] = point[2];
77  }
78 
82  UChar_t GetMesonQuality() const {return fQuality;}
83 
85 
86  Double_t GetAlpha() const { return fAlpha;}
87 
88  void SetWeight(Double_t weight) {fWeight=weight;}
89  Double_t GetWeight() const {return fWeight;}
90 
92  void CalculateDistanceOfClossetApproachToPrimVtx(const AliVVertex* primVertex);
94 
95  void SetTrueMesonValue(Int_t trueMeson) {fTrueMeson = trueMeson;}
97 
98 
99  private:
100  Int_t fLabel[3]; // Labels of the decay photons
101  Int_t fMCLabel; // MC Label
102  Float_t fChi2; // Chi sq of reconstructed mother
105  Double_t fWeight; // Weight for BG Calculation
106  Float_t fdcaBetweenPhotons; // dca between the two photons
107  Double_t fProductionVtx[3]; // Production vertex
108  Float_t fdcaZPrimVtx; // dca Z of meson to primary vertex
109  Float_t fdcaRPrimVtx; // dca R of meson to primary vertex
110  UChar_t fQuality; // Quality of the meson:
111  // 0: garbage
112  // 1: both photons quality 1
113  // 2: 1 photon quality 1, 1 photon quality 2
114  // 3: 1 photon quality 1, 1 photon quality 3
115  // 4: both photons quality 2
116  // 5: 1 photon quality 2, 1 photon quality 3
117  // 6: both photons quality 3
118 
119  Int_t fTrueMeson; // is true meson
120  // 0 : no
121  // 1 : pi0
122  // 2 : eta
123  // 3 : eta'
124  // 4 : omega
125 
126  ClassDef(AliAODConversionMother,5)
127 };
128 
129 #endif
Double_t GetProductionRadius() const
void SetLabels(Int_t label1, Int_t label2, Int_t label3=0)
double Double_t
Definition: External.C:58
void SetWeight(Double_t weight)
Int_t GetLabel(Int_t i) const
UChar_t GetMesonQuality() const
void SetProductionPoint(Double_t *point)
void SetTrueMesonValue(Int_t trueMeson)
Bool_t IsTrueMeson(AliMCEvent *mcEvent, Int_t pdgcode)
int Int_t
Definition: External.C:63
void SetChi2(Float_t chi2)
Set the Chi2 of reconstructed conversion gamma.
float Float_t
Definition: External.C:68
TParticle * GetMCParticle(AliMCEvent *mcEvent)
void SetLabel1(Int_t label)
Set track or MC labels.
Double_t GetOpeningAngle() const
void DetermineMesonQuality(const AliAODConversionPhoton *y1, const AliAODConversionPhoton *y2)
Float_t GetDCABetweenPhotons() const
Float_t CalculateDistanceBetweenPhotons(const AliAODConversionPhoton *y1, const AliAODConversionPhoton *y2, Double_t prodPoint[3])
Double_t GetProductionZ() const
Double_t GetProductionX() const
Float_t GetDCARMotherPrimVtx() const
Double_t GetProductionY() const
bool Bool_t
Definition: External.C:53
Float_t GetDCAZMotherPrimVtx() const
TString meson
void CalculateDistanceOfClossetApproachToPrimVtx(const AliVVertex *primVertex)