]>
Commit | Line | Data |
---|---|---|
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 | ||
14 | class AliStack; | |
15 | class AliESDEvent; | |
16 | #include "TMath.h" | |
17 | #include "AliAODPhoton.h" | |
81900183 | 18 | #include "AliGammaConversionAODObject.h" |
19 | #include "AliKFParticle.h" | |
e5b3650b | 20 | |
21 | class 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 |