]>
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" | |
18 | ||
19 | class AliAODConversionParticle : public AliAODPhoton { | |
20 | ||
21 | public: | |
22 | ||
23 | //Constructors | |
24 | AliAODConversionParticle(); | |
25 | AliAODConversionParticle(TLorentzVector& momentum); | |
26 | //Copy Constructor | |
27 | AliAODConversionParticle(const AliAODConversionParticle & g); | |
28 | //assignment operator | |
29 | AliAODConversionParticle & operator = (const AliAODConversionParticle & g); | |
30 | ||
31 | //Destructor | |
7be31c4b | 32 | virtual ~AliAODConversionParticle(); |
e5b3650b | 33 | |
34 | ///Set the Chi2 of reconstructed conversion gamma | |
35 | void SetChi2(Float_t chi2) {fChi2 = chi2;} | |
36 | ||
37 | ///Set track or MC labels | |
38 | void SetLabel1(Int_t label){fLabel[0] = label;} | |
39 | void SetLabel2(Int_t label){fLabel[1] = label;} | |
40 | void SetTrackLabels(Int_t label1, Int_t label2){fLabel[0] = label1; fLabel[1] = label2;} | |
41 | ||
42 | ///Set Invariant mass | |
43 | void SetIMass(Float_t im) { fIMass = im; } | |
44 | ||
45 | ///Set the tag for decay meson | |
46 | //void SetTag( Bool_t tagged ) { fTagged = tagged; } | |
47 | ||
48 | ///Set pointer to MC stack | |
49 | void SetStack(AliStack* const stack){fMCStack=stack;} | |
50 | ||
51 | ///Set pointer to ESD event | |
52 | void SetESDEvent(AliESDEvent* const esdEvent){fESDEvent = esdEvent;} | |
53 | ||
54 | //Get the Chi2 of particle | |
55 | Float_t Chi2() const {return fChi2;} | |
56 | ||
57 | ///Get Invariant mass of particle | |
58 | Float_t IMass() const { return fIMass; } | |
59 | ||
60 | ///Get track or MC labels | |
61 | Int_t GetLabel1() const{return fLabel[0];} | |
62 | Int_t GetLabel2() const {return fLabel[1];} | |
63 | Int_t GetTrackLabel(Int_t i) const {return fLabel[i];} | |
64 | void GetTrackLabels(Int_t * labels) { labels[0] = fLabel[0]; labels[1] = fLabel[1];} | |
65 | ||
66 | ||
67 | ||
68 | Int_t GetMCLabel(Int_t Label) const; | |
69 | ||
70 | ||
71 | /* This function returns the Gamma MC label */ | |
72 | Int_t GetGammaMCLabel() const; | |
73 | ||
74 | /* This function returns the unique id of the electrons (if they have the same mother and unique id) */ | |
75 | Int_t GetElectronUniqueID() const; | |
76 | Int_t GetElectronUniqueID(Int_t mcLabel1, Int_t mcLabel2) const; | |
77 | ||
78 | /// Get MC labels of electrons | |
79 | Int_t GetElectronMCLabel1() const; | |
80 | Int_t GetElectronMCLabel2() const; | |
81 | ||
82 | private: | |
83 | ||
84 | Int_t fLabel[2]; | |
85 | Float_t fChi2; // Chi sq of reconstructed mother | |
86 | Float_t fIMass; //Invariant mass, 0 for photons | |
87 | //Bool_t fTagged; // Is it tagged as decay pion (only for gammas) | |
88 | AliStack* fMCStack; //!transient pointer to the mc stack | |
89 | AliESDEvent * fESDEvent; //!transient pointer to the esdevent | |
90 | ||
91 | ClassDef(AliAODConversionParticle,1) | |
92 | }; | |
93 | ||
94 | ||
95 | #endif | |
96 | ||
97 | ||
98 |