1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: Ana Marin, Kathrin Koch, Kenneth Aamodt *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
16 ////////////////////////////////////////////////
17 //---------------------------------------------
18 // Class containing the aod information we need
19 //---------------------------------------------
20 ////////////////////////////////////////////////
22 #include "AliGammaConversionAODObject.h"
23 //#include "AliAODv0.h"
25 #include "AliESDEvent.h"
26 //#include "AliESDtrack.h"
27 #include "TParticle.h"
34 ClassImp(AliGammaConversionAODObject)
38 AliGammaConversionAODObject::AliGammaConversionAODObject() :
52 AliGammaConversionAODObject::AliGammaConversionAODObject(const AliGammaConversionAODObject & original) :
57 fLabel1(original.fLabel1),
58 fLabel2(original.fLabel2),
59 fMCStack(original.fMCStack),
60 fESDEvent(original.fESDEvent)
66 AliGammaConversionAODObject & AliGammaConversionAODObject::operator = (const AliGammaConversionAODObject & /*source*/)
68 // assignment operator
72 Int_t AliGammaConversionAODObject::GetGammaMCLabel() const{
73 // returns the MC label of the gamma (if both electrons have the same mother)
76 Int_t mcLabel1= GetElectronMCLabel1();
77 Int_t mcLabel2= GetElectronMCLabel2();
78 if(mcLabel1>=0 && mcLabel2>=0){
79 TParticle *electron1 = fMCStack->Particle(mcLabel1);
80 TParticle *electron2 = fMCStack->Particle(mcLabel2);
81 if(electron1->GetMother(0) == electron2->GetMother(0)){
82 iResult = electron1->GetMother(0);
89 Int_t AliGammaConversionAODObject::GetElectronUniqueID() const{
90 // returns the unique id of the electrons if they have the same mother and unique id
93 Int_t mcLabel1= GetElectronMCLabel1();
94 Int_t mcLabel2= GetElectronMCLabel2();
95 if(mcLabel1>=0 && mcLabel2>=0){
96 TParticle *electron1 = fMCStack->Particle(mcLabel1);
97 TParticle *electron2 = fMCStack->Particle(mcLabel2);
98 if(electron1->GetMother(0) == electron2->GetMother(0)){
99 if(electron1->GetUniqueID() == electron2->GetUniqueID()){
100 iResult = (Int_t)electron1->GetUniqueID();
108 Int_t AliGammaConversionAODObject::GetElectronMCLabel1() const{
109 //returns the MC label of the first electron
111 if(fESDEvent != NULL){
113 iResult = (fESDEvent->GetTrack(fLabel1))->GetLabel();
119 Int_t AliGammaConversionAODObject::GetElectronMCLabel2() const{
120 //returns the MC label of the first electron
122 if(fESDEvent != NULL){
124 iResult = (fESDEvent->GetTrack(fLabel2))->GetLabel();