AliPhysics  4646b6b (4646b6b)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 #include "AliV0ParticleStrange.h"
20 
22 
23  public:
24 
25  //Default Constructor
27 
28  // Constructor for ESD to AOD Conversion
30 
31  //Constructor Decay Mother Particle
33  // Constructor Mother particle from one photon and one meson
35  // Constructor Mother particle from two mesons
37  // Contructor Mother particle from V0 and photon
39 
40 
41  //Destructor
42  virtual ~AliAODConversionMother();
43 
44  // MC
45 
47  Int_t GetMCLabel() const {return fMCLabel;}
48  TParticle *GetMCParticle(AliMCEvent *mcEvent);
49  Bool_t IsTrueMeson(AliMCEvent *mcEvent,Int_t pdgcode);
50 
52  void SetChi2(Float_t chi2) {fChi2 = chi2;}
53 
54  //Get the Chi2 of particle
55  Float_t Chi2() const {return fChi2;}
56 
58  void SetLabel1(Int_t label){fLabel[0] = label;}
59  void SetLabel2(Int_t label){fLabel[1] = label;}
60  void SetLabel3(Int_t label){fLabel[2] = label;}
61  void SetLabels(Int_t label1, Int_t label2, Int_t label3 = 0){fLabel[0] = label1; fLabel[1] = label2; fLabel[2] = label3;}
62 
63  Int_t GetLabel(Int_t i) const {return fLabel[i];}
64  Int_t GetLabel1() const {return fLabel[0];}
65  Int_t GetLabel2() const {return fLabel[1];}
66  Int_t GetLabel3() const {return fLabel[2];}
67 
69  Double_t GetProductionX() const {return fProductionVtx[0];}
70  Double_t GetProductionY() const {return fProductionVtx[1];}
71  Double_t GetProductionZ() const {return fProductionVtx[2];}
72 
77  fProductionVtx[0] = point[0];
78  fProductionVtx[1] = point[1];
79  fProductionVtx[2] = point[2];
80  }
81 
85  UChar_t GetMesonQuality() const {return fQuality;}
86 
88 
89  Double_t GetAlpha() const { return fAlpha;}
90 
91  void SetWeight(Double_t weight) {fWeight=weight;}
92  Double_t GetWeight() const {return fWeight;}
93 
95  void CalculateDistanceOfClossetApproachToPrimVtx(const AliVVertex* primVertex);
97 
98  void SetTrueMesonValue(Int_t trueMeson) {fTrueMeson = trueMeson;}
100 
101 
102  private:
103  Int_t fLabel[3]; // Labels of the decay photons
104  Int_t fMCLabel; // MC Label
105  Float_t fChi2; // Chi sq of reconstructed mother
108  Double_t fWeight; // Weight for BG Calculation
109  Float_t fdcaBetweenPhotons; // dca between the two photons
110  Double_t fProductionVtx[3]; // Production vertex
111  Float_t fdcaZPrimVtx; // dca Z of meson to primary vertex
112  Float_t fdcaRPrimVtx; // dca R of meson to primary vertex
113  UChar_t fQuality; // Quality of the meson:
114  // 0: garbage
115  // 1: both photons quality 1
116  // 2: 1 photon quality 1, 1 photon quality 2
117  // 3: 1 photon quality 1, 1 photon quality 3
118  // 4: both photons quality 2
119  // 5: 1 photon quality 2, 1 photon quality 3
120  // 6: both photons quality 3
121 
122  Int_t fTrueMeson; // is true meson
123  // 0 : no
124  // 1 : pi0
125  // 2 : eta
126  // 3 : eta'
127  // 4 : omega
128 
129  ClassDef(AliAODConversionMother,5)
130 };
131 
132 #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)