]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG4/GammaConv/AliAODConversionParticle.h
Updating conv correlation software
[u/mrichter/AliRoot.git] / PWG4 / GammaConv / AliAODConversionParticle.h
CommitLineData
e5b3650b 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 */
5
6////////////////////////////////////////////////
7//---------------------------------------------
8// Class containing the aod information from conversions
9//---------------------------------------------
10////////////////////////////////////////////////
11
12// --- ROOT system ---
13
14class AliStack;
15class AliESDEvent;
16#include "TMath.h"
17#include "AliAODPhoton.h"
81900183 18#include "AliGammaConversionAODObject.h"
19#include "AliKFParticle.h"
e5b3650b 20
21class AliAODConversionParticle : public AliAODPhoton {
22
23 public:
24
25 //Constructors
26 AliAODConversionParticle();
27 AliAODConversionParticle(TLorentzVector& momentum);
81900183 28 AliAODConversionParticle(AliGammaConversionAODObject *obj);
29 AliAODConversionParticle(AliKFParticle * gammakf, Int_t label1, Int_t label2);
30
31 //Constructor Mother Particle
32 AliAODConversionParticle(AliAODConversionParticle *y1,AliAODConversionParticle *y2);
33
e5b3650b 34 //Copy Constructor
35 AliAODConversionParticle(const AliAODConversionParticle & g);
36 //assignment operator
37 AliAODConversionParticle & operator = (const AliAODConversionParticle & g);
38
39 //Destructor
81900183 40 virtual ~AliAODConversionParticle() {;}
e5b3650b 41
42 ///Set the Chi2 of reconstructed conversion gamma
43 void SetChi2(Float_t chi2) {fChi2 = chi2;}
44
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;}
49
50 ///Set Invariant mass
51 void SetIMass(Float_t im) { fIMass = im; }
52
53 ///Set the tag for decay meson
81900183 54 void SetTag( Bool_t tagged ) { fTagged = tagged; }
e5b3650b 55
56 ///Set pointer to MC stack
57 void SetStack(AliStack* const stack){fMCStack=stack;}
58
59 ///Set pointer to ESD event
60 void SetESDEvent(AliESDEvent* const esdEvent){fESDEvent = esdEvent;}
61
62 //Get the Chi2 of particle
63 Float_t Chi2() const {return fChi2;}
64
65 ///Get Invariant mass of particle
66 Float_t IMass() const { return fIMass; }
67
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];}
73
e5b3650b 74 Int_t GetMCLabel(Int_t Label) const;
75
e5b3650b 76 /* This function returns the Gamma MC label */
77 Int_t GetGammaMCLabel() const;
78
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;
82
83 /// Get MC labels of electrons
84 Int_t GetElectronMCLabel1() const;
85 Int_t GetElectronMCLabel2() const;
86
81900183 87 Bool_t IsMySpawn(const Int_t trackId, const Int_t nSpawn, const Int_t * const spawn) const;
811b0806 88 void GetGrandChildren(const TClonesArray * photons, Int_t* trackLabels);
e5b3650b 89 private:
90
91 Int_t fLabel[2];
92 Float_t fChi2; // Chi sq of reconstructed mother
93 Float_t fIMass; //Invariant mass, 0 for photons
81900183 94 Bool_t fTagged; // Is it tagged as decay pion (only for gammas)
e5b3650b 95 AliStack* fMCStack; //!transient pointer to the mc stack
96 AliESDEvent * fESDEvent; //!transient pointer to the esdevent
97
81900183 98 ClassDef(AliAODConversionParticle,2)
e5b3650b 99};
100
101
102#endif
103
104
105