]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGGA/GammaConv/AliAODConversionMother.h
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / PWGGA / GammaConv / AliAODConversionMother.h
CommitLineData
2eedd4ed 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
6////////////////////////////////////////////////
7//---------------------------------------------
8// Class reconstructing the mother particle of conversion gammas
9//---------------------------------------------
10////////////////////////////////////////////////
11
12//Author Daniel Lohner (Daniel.Lohner@cern.ch)
13
14#include "TLorentzVector.h"
15#include "AliAODConversionParticle.h"
16#include "AliAODConversionPhoton.h"
17#include "AliKFConversionMother.h"
18#include "AliKFParticle.h"
19
20class AliAODConversionMother : public AliAODConversionParticle{
21
22 public:
23
92efd725 24 //Default Constructor
2eedd4ed 25 AliAODConversionMother();
26
92efd725 27 // Constructor for ESD to AOD Conversion
2eedd4ed 28 AliAODConversionMother(AliKFConversionMother *kf);
92efd725 29
30 //Constructor Decay Mother Particle
2eedd4ed 31 AliAODConversionMother(AliAODConversionPhoton *y1,AliAODConversionPhoton *y2);
32
92efd725 33 //Destructor
2eedd4ed 34 virtual ~AliAODConversionMother();
35
92efd725 36 // MC
37
38 void SetMCLabel(Int_t i){fMCLabel=i;}
39 Int_t GetMCLabel(){return fMCLabel;}
40 TParticle *GetMCParticle(AliStack *fMCStack);
41 Bool_t IsTrueMeson(AliStack *fMCStack,Int_t pdgcode);
42
43 ///Set the Chi2 of reconstructed conversion gamma
2eedd4ed 44 void SetChi2(Float_t chi2) {fChi2 = chi2;}
45
92efd725 46 //Get the Chi2 of particle
2eedd4ed 47 Float_t Chi2() const {return fChi2;}
48
49 ///Set track or MC labels
50 void SetLabel1(Int_t label){fLabel[0] = label;}
51 void SetLabel2(Int_t label){fLabel[1] = label;}
92efd725 52 void SetLabel3(Int_t label){fLabel[2] = label;}
53 void SetLabels(Int_t label1, Int_t label2, Int_t label3 = 0){fLabel[0] = label1; fLabel[1] = label2; fLabel[2] = label3;}
2eedd4ed 54
55 Int_t GetLabel(Int_t i) const {return fLabel[i];}
56 Int_t GetLabel1() const {return fLabel[0];}
57 Int_t GetLabel2() const {return fLabel[1];}
4803eb1f 58 Int_t GetLabel3() const {return fLabel[2];}
92efd725 59
4803eb1f 60 Double_t GetProductionRadius() const {return TMath::Sqrt(fProductionVtx[0]*fProductionVtx[0]+fProductionVtx[1]*fProductionVtx[1]);}
61 Double_t GetProductionX() const {return fProductionVtx[0];}
62 Double_t GetProductionY() const {return fProductionVtx[1];}
63 Double_t GetProductionZ() const {return fProductionVtx[2];}
64
65 Float_t GetDCABetweenPhotons() const {return fdcaBetweenPhotons;}
66 Float_t GetDCAZMotherPrimVtx() const {return fdcaZPrimVtx;}
67 Float_t GetDCARMotherPrimVtx() const {return fdcaRPrimVtx;}
68 UChar_t GetMesonQuality() const {return fQuality;}
69
2eedd4ed 70 Double_t GetOpeningAngle() const { return fOpeningAngle;}
71
72 Double_t GetAlpha() const { return fAlpha;}
73
69b05e50 74 void SetWeight(Double_t weight) {fWeight=weight;}
75 Double_t GetWeight() const {return fWeight;}
2eedd4ed 76
4803eb1f 77 Float_t CalculateDistanceBetweenPhotons(AliAODConversionPhoton* y1, AliAODConversionPhoton* y2 , Double_t prodPoint[3]);
78 void CalculateDistanceOfClossetApproachToPrimVtx(const AliVVertex* primVertex);
79 void DetermineMesonQuality(AliAODConversionPhoton* y1, AliAODConversionPhoton* y2);
80
2eedd4ed 81private:
92efd725 82 Int_t fLabel[3]; // Labels of the decay photons
83 Int_t fMCLabel; // MC Label
2eedd4ed 84 Float_t fChi2; // Chi sq of reconstructed mother
85 Double_t fOpeningAngle;
86 Double_t fAlpha;
69b05e50 87 Double_t fWeight; // Weight for BG Calculation
4803eb1f 88 Float_t fdcaBetweenPhotons; // dca between the two photons
89 Double_t fProductionVtx[3]; // Production vertex
90 Float_t fdcaZPrimVtx; // dca Z of meson to primary vertex
91 Float_t fdcaRPrimVtx; // dca R of meson to primary vertex
92 UChar_t fQuality; // Quality of the meson:
93 // 0: garbage
94 // 1: both photons quality 1
95 // 2: 1 photon quality 1, 1 photon quality 2
96 // 3: 1 photon quality 1, 1 photon quality 3
97 // 4: both photons quality 2
98 // 5: 1 photon quality 2, 1 photon quality 3
99 // 6: both photons quality 3
100
101
102 ClassDef(AliAODConversionMother,4)
2eedd4ed 103};
104
105#endif