1 #ifndef ALIAODCONVERSIONPARTICLE_H
2 #define ALIAODCONVERSIONPARTICLE_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
6 ////////////////////////////////////////////////
7 //---------------------------------------------
8 // Class containing the aod information from conversions
9 //---------------------------------------------
10 ////////////////////////////////////////////////
12 // --- ROOT system ---
17 #include "AliAODPhoton.h"
18 #include "AliGammaConversionAODObject.h"
19 #include "AliKFParticle.h"
21 class AliAODConversionParticle : public AliAODPhoton {
26 AliAODConversionParticle();
27 AliAODConversionParticle(TLorentzVector& momentum);
28 AliAODConversionParticle(AliGammaConversionAODObject *obj);
29 AliAODConversionParticle(AliKFParticle * gammakf, Int_t label1, Int_t label2);
31 //Constructor Mother Particle
32 AliAODConversionParticle(AliAODConversionParticle *y1,AliAODConversionParticle *y2);
35 AliAODConversionParticle(const AliAODConversionParticle & g);
37 AliAODConversionParticle & operator = (const AliAODConversionParticle & g);
40 virtual ~AliAODConversionParticle() {;}
42 ///Set the Chi2 of reconstructed conversion gamma
43 void SetChi2(Float_t chi2) {fChi2 = chi2;}
45 ///Set track or MC labels
46 void SetLabel1(Int_t label){fLabel[0] = label;}
47 void SetLabel2(Int_t label){fLabel[1] = label;}
48 void SetTrackLabels(Int_t label1, Int_t label2){fLabel[0] = label1; fLabel[1] = label2;}
51 void SetIMass(Float_t im) { fIMass = im; }
53 ///Set the tag for decay meson
54 void SetTag( Bool_t tagged ) { fTagged = tagged; }
56 ///Set pointer to MC stack
57 void SetStack(AliStack* const stack){fMCStack=stack;}
59 ///Set pointer to ESD event
60 void SetESDEvent(AliESDEvent* const esdEvent){fESDEvent = esdEvent;}
62 //Get the Chi2 of particle
63 Float_t Chi2() const {return fChi2;}
65 ///Get Invariant mass of particle
66 Float_t IMass() const { return fIMass; }
68 ///Get track or MC labels
69 Int_t GetLabel1() const{return fLabel[0];}
70 Int_t GetLabel2() const {return fLabel[1];}
71 Int_t GetTrackLabel(Int_t i) const {return fLabel[i];}
72 void GetTrackLabels(Int_t * labels) { labels[0] = fLabel[0]; labels[1] = fLabel[1];}
74 Int_t GetMCLabel(Int_t Label) const;
76 /* This function returns the Gamma MC label */
77 Int_t GetGammaMCLabel() const;
79 /* This function returns the unique id of the electrons (if they have the same mother and unique id) */
80 Int_t GetElectronUniqueID() const;
81 Int_t GetElectronUniqueID(Int_t mcLabel1, Int_t mcLabel2) const;
83 /// Get MC labels of electrons
84 Int_t GetElectronMCLabel1() const;
85 Int_t GetElectronMCLabel2() const;
87 Bool_t IsMySpawn(const Int_t trackId, const Int_t nSpawn, const Int_t * const spawn) const;
92 Float_t fChi2; // Chi sq of reconstructed mother
93 Float_t fIMass; //Invariant mass, 0 for photons
94 Bool_t fTagged; // Is it tagged as decay pion (only for gammas)
95 AliStack* fMCStack; //!transient pointer to the mc stack
96 AliESDEvent * fESDEvent; //!transient pointer to the esdevent
98 ClassDef(AliAODConversionParticle,2)