]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/GammaConv/AliGammaConversionAODObject.h
Cosmetics
[u/mrichter/AliRoot.git] / PWG4 / GammaConv / AliGammaConversionAODObject.h
1 #ifndef ALIGAMMACONVERSIONAODOBJECT_H
2 #define ALIGAMMACONVERSIONAODOBJECT_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 containing the aod information from conversions
9 //---------------------------------------------
10 ////////////////////////////////////////////////
11
12 // --- ROOT system ---
13 #include "TObject.h" 
14 class AliStack;
15 class AliESDEvent;
16 #include "TMath.h"
17 class AliGammaConversionAODObject : public TObject {
18
19  public: 
20
21   AliGammaConversionAODObject();                                        //constructor
22   AliGammaConversionAODObject(const AliGammaConversionAODObject & g);                   //copy constructor
23   AliGammaConversionAODObject & operator = (const AliGammaConversionAODObject & g);     //assignment operator
24   virtual ~AliGammaConversionAODObject() {;}                            //virtual destructor
25
26
27   /* This function sets the Px */
28   void SetPx(Float_t px){fPx = px;}
29
30   /* This function sets the Py */
31   void SetPy(Float_t py){fPy = py;}
32   
33   /* This function sets the Pz */
34   void SetPz(Float_t pz){fPz = pz;}
35
36   ///Set E
37   void SetE(Float_t e) { fE = e; }
38
39   ///Set the Chi2 of reconstructed conversion gamma
40   void SetChi2(Float_t chi2) {fChi2 = chi2;}
41
42   /* This function sets the esd label of the first decay particle */
43   void SetLabel1(Int_t label){fLabel1 = label;}
44
45   /* This function sets the esd label of the second decay particle */
46   void SetLabel2(Int_t label){fLabel2 = label;}
47   
48   ///Set Invariant mass
49   void SetIMass(Float_t im) { fIMass = im; }
50
51   ///Set the tag for decay meson
52   void SetTag( Bool_t tagged ) { fTagged = tagged; }
53
54   /* This function sets the MC stack */
55   void SetStack(AliStack* const stack){fMCStack=stack;}
56   
57   /* This function sets the ESD event*/
58   void SetESDEvent(AliESDEvent* const esdEvent){fESDEvent = esdEvent;}
59
60   /// Get Px
61   Float_t Px() const{return fPx;}
62
63   /* This function returns the Py*/
64   Float_t Py() const{return fPy;}
65
66   /* This function returns the Pz*/
67   Float_t Pz() const{return fPz;}
68
69   //Get the Chi2 of particle
70   Float_t Chi2() const {return fChi2;}
71
72   //Get Pt of particle
73   Float_t Pt() const {return TMath::Sqrt(fPx* fPx + fPy*fPy);}
74   
75   ///Get Energy of particle
76   Float_t E() const {return TMath::Sqrt(fPx*fPx + fPy*fPy + fPz*fPz);}
77
78   ///Get Phi of particle
79   Float_t Phi() const {    return fPx == 0.0 && fPy == 0.0 ? 0.0 : TMath::ATan2(fPy,fPx); }
80
81   /* This function returns the esd label of the first electron */
82   Int_t GetLabel1() const{return fLabel1;}
83   
84   /* This function returns the esd label of the second electron */
85   Int_t GetLabel2()const {return fLabel2;}
86
87   /// Get gamma tag (if tagged as decay photon)
88   Bool_t IsTagged() const { return fTagged; }
89
90   /* This function returns the Gamma MC label */
91   Int_t GetGammaMCLabel() const;
92   
93   /* This function returns the unique id  of the electrons (if they have the same mother and unique id) */
94   Int_t GetElectronUniqueID() const;
95   
96   /* This function returns the MC label of the first electron*/
97   Int_t GetElectronMCLabel1() const;
98   
99   /* This function returns the MC label of the second electron*/
100   Int_t GetElectronMCLabel2() const;
101
102  private:
103
104   Float_t fPx; // Px 
105   Float_t fPy; // Py 
106   Float_t fPz; // Pz 
107   Float_t fE; // Pz 
108   Int_t fLabel1; //mc label or TClonesArray index of first decay particle
109   Int_t fLabel2; //mc label or TClonesArray index of second decay particle
110   Float_t fChi2; // Chi sq of reconstructed mother
111   Float_t fIMass; //Invariant mass, 0 for photons
112   Bool_t fTagged; // Is it tagged as decay pion (only for gammas)
113   AliStack* fMCStack; //!transient pointer to the mc stack
114   AliESDEvent * fESDEvent; //!transient pointer to the esdevent
115
116   ClassDef(AliGammaConversionAODObject,2)
117 };
118
119
120 #endif
121
122
123