}\r
\r
void AliAnalysisTaskGammaConversion::CheckV0Efficiency(){\r
+ // see header file for documentation\r
\r
vector<Int_t> indexOfGammaParticle;\r
\r
\r
\r
void AliAnalysisTaskGammaConversion::ProcessGammaElectronsForChicAnalysis(){\r
-\r
+ // see header file for documantation\r
\r
fESDEvent = fV0Reader->GetESDEvent();\r
\r
\r
- vector <AliESDtrack*> ESDeNegTemp(0);\r
- vector <AliESDtrack*> ESDePosTemp(0);\r
- vector <AliESDtrack*> ESDxNegTemp(0);\r
- vector <AliESDtrack*> ESDxPosTemp(0);\r
- vector <AliESDtrack*> ESDeNegNoJPsi(0);\r
- vector <AliESDtrack*> ESDePosNoJPsi(0); \r
+ vector <AliESDtrack*> vESDeNegTemp(0);\r
+ vector <AliESDtrack*> vESDePosTemp(0);\r
+ vector <AliESDtrack*> vESDxNegTemp(0);\r
+ vector <AliESDtrack*> vESDxPosTemp(0);\r
+ vector <AliESDtrack*> vESDeNegNoJPsi(0);\r
+ vector <AliESDtrack*> vESDePosNoJPsi(0); \r
\r
\r
\r
\r
if(curTrack->GetSign() > 0){\r
\r
- ESDxPosTemp.push_back(curTrack);\r
+ vESDxPosTemp.push_back(curTrack);\r
\r
if( pid == 0){\r
\r
fHistograms->FillHistogram("MC_ElectronPosNegPt",curParticle->Pt());\r
fHistograms->FillHistogram("ESD_ElectronPosNegEta",curElec.Eta());\r
fHistograms->FillHistogram("MC_ElectronPosNegEta",curParticle->Eta());\r
- ESDePosTemp.push_back(curTrack);\r
+ vESDePosTemp.push_back(curTrack);\r
\r
\r
\r
\r
}\r
else {\r
- ESDxNegTemp.push_back(curTrack);\r
+ vESDxNegTemp.push_back(curTrack);\r
\r
if( pid == 0){\r
\r
fHistograms->FillHistogram("MC_ElectronPosNegPt",curParticle->Pt());\r
fHistograms->FillHistogram("ESD_ElectronPosNegEta",curElec.Eta());\r
fHistograms->FillHistogram("MC_ElectronPosNegEta",curParticle->Eta());\r
- ESDeNegTemp.push_back(curTrack);\r
+ vESDeNegTemp.push_back(curTrack);\r
\r
\r
\r
\r
UInt_t iePosJPsi=0,ieNegJPsi=0,iePosPi0=0,ieNegPi0=0;\r
\r
- for(UInt_t iNeg=0; iNeg < ESDeNegTemp.size(); iNeg++){\r
- if(fStack->Particle(TMath::Abs(ESDeNegTemp[iNeg]->GetLabel()))->GetPdgCode() == 11)\r
- if(fStack->Particle(TMath::Abs(ESDeNegTemp[iNeg]->GetLabel()))->GetMother(0) > -1){\r
- Int_t labelMother = fStack->Particle(TMath::Abs(ESDeNegTemp[iNeg]->GetLabel()))->GetMother(0);\r
+ for(UInt_t iNeg=0; iNeg < vESDeNegTemp.size(); iNeg++){\r
+ if(fStack->Particle(TMath::Abs(vESDeNegTemp[iNeg]->GetLabel()))->GetPdgCode() == 11)\r
+ if(fStack->Particle(TMath::Abs(vESDeNegTemp[iNeg]->GetLabel()))->GetMother(0) > -1){\r
+ Int_t labelMother = fStack->Particle(TMath::Abs(vESDeNegTemp[iNeg]->GetLabel()))->GetMother(0);\r
TParticle* partMother = fStack ->Particle(labelMother);\r
if (partMother->GetPdgCode() == 111){\r
ieNegPi0 = iNeg;\r
eNegJPsi = kTRUE;\r
}\r
else{ \r
- ESDeNegNoJPsi.push_back(ESDeNegTemp[iNeg]);\r
+ vESDeNegNoJPsi.push_back(vESDeNegTemp[iNeg]);\r
// cout<<"ESD No Positivo JPsi "<<endl;\r
}\r
\r
}\r
} \r
\r
- for(UInt_t iPos=0; iPos < ESDePosTemp.size(); iPos++){\r
- if(fStack->Particle(TMath::Abs(ESDePosTemp[iPos]->GetLabel()))->GetPdgCode() == -11)\r
- if(fStack->Particle(TMath::Abs(ESDePosTemp[iPos]->GetLabel()))->GetMother(0) > -1){\r
- Int_t labelMother = fStack->Particle(TMath::Abs(ESDePosTemp[iPos]->GetLabel()))->GetMother(0);\r
+ for(UInt_t iPos=0; iPos < vESDePosTemp.size(); iPos++){\r
+ if(fStack->Particle(TMath::Abs(vESDePosTemp[iPos]->GetLabel()))->GetPdgCode() == -11)\r
+ if(fStack->Particle(TMath::Abs(vESDePosTemp[iPos]->GetLabel()))->GetMother(0) > -1){\r
+ Int_t labelMother = fStack->Particle(TMath::Abs(vESDePosTemp[iPos]->GetLabel()))->GetMother(0);\r
TParticle* partMother = fStack ->Particle(labelMother);\r
if (partMother->GetPdgCode() == 111){\r
iePosPi0 = iPos;\r
ePosJPsi = kTRUE;\r
}\r
else{\r
- ESDePosNoJPsi.push_back(ESDePosTemp[iPos]);\r
+ vESDePosNoJPsi.push_back(vESDePosTemp[iPos]);\r
// cout<<"ESD No Negativo JPsi "<<endl;\r
}\r
\r
\r
if( eNegJPsi && ePosJPsi ){\r
TVector3 tempeNegV,tempePosV;\r
- tempeNegV.SetXYZ(ESDeNegTemp[ieNegJPsi]->Px(),ESDeNegTemp[ieNegJPsi]->Py(),ESDeNegTemp[ieNegJPsi]->Pz()); \r
- tempePosV.SetXYZ(ESDePosTemp[iePosJPsi]->Px(),ESDePosTemp[iePosJPsi]->Py(),ESDePosTemp[iePosJPsi]->Pz());\r
+ tempeNegV.SetXYZ(vESDeNegTemp[ieNegJPsi]->Px(),vESDeNegTemp[ieNegJPsi]->Py(),vESDeNegTemp[ieNegJPsi]->Pz()); \r
+ tempePosV.SetXYZ(vESDePosTemp[iePosJPsi]->Px(),vESDePosTemp[iePosJPsi]->Py(),vESDePosTemp[iePosJPsi]->Pz());\r
fHistograms->FillTable("Table_Electrons",16);\r
fHistograms->FillHistogram("ESD_ElectronPosNegJPsiAngle",tempeNegV.Angle(tempePosV)); \r
- fHistograms->FillHistogram("MC_ElectronPosNegJPsiAngle",GetMCOpeningAngle(fStack->Particle(TMath::Abs(ESDeNegTemp[ieNegJPsi]->GetLabel())),\r
- fStack->Particle(TMath::Abs(ESDePosTemp[iePosJPsi]->GetLabel())))); \r
+ fHistograms->FillHistogram("MC_ElectronPosNegJPsiAngle",GetMCOpeningAngle(fStack->Particle(TMath::Abs(vESDeNegTemp[ieNegJPsi]->GetLabel())),\r
+ fStack->Particle(TMath::Abs(vESDePosTemp[iePosJPsi]->GetLabel())))); \r
}\r
\r
if( eNegPi0 && ePosPi0 ){\r
TVector3 tempeNegV,tempePosV;\r
- tempeNegV.SetXYZ(ESDeNegTemp[ieNegPi0]->Px(),ESDeNegTemp[ieNegPi0]->Py(),ESDeNegTemp[ieNegPi0]->Pz());\r
- tempePosV.SetXYZ(ESDePosTemp[iePosPi0]->Px(),ESDePosTemp[iePosPi0]->Py(),ESDePosTemp[iePosPi0]->Pz());\r
+ tempeNegV.SetXYZ(vESDeNegTemp[ieNegPi0]->Px(),vESDeNegTemp[ieNegPi0]->Py(),vESDeNegTemp[ieNegPi0]->Pz());\r
+ tempePosV.SetXYZ(vESDePosTemp[iePosPi0]->Px(),vESDePosTemp[iePosPi0]->Py(),vESDePosTemp[iePosPi0]->Pz());\r
fHistograms->FillHistogram("ESD_ElectronPosNegPi0Angle",tempeNegV.Angle(tempePosV));\r
- fHistograms->FillHistogram("MC_ElectronPosNegPi0Angle",GetMCOpeningAngle(fStack->Particle(TMath::Abs(ESDeNegTemp[ieNegPi0]->GetLabel())),\r
- fStack->Particle(TMath::Abs(ESDePosTemp[iePosPi0]->GetLabel())))); \r
+ fHistograms->FillHistogram("MC_ElectronPosNegPi0Angle",GetMCOpeningAngle(fStack->Particle(TMath::Abs(vESDeNegTemp[ieNegPi0]->GetLabel())),\r
+ fStack->Particle(TMath::Abs(vESDePosTemp[iePosPi0]->GetLabel())))); \r
}\r
\r
\r
- FillAngle("ESD_eNegePosAngleBeforeCut",GetTLorentzVector(ESDeNegTemp),GetTLorentzVector(ESDePosTemp));\r
+ FillAngle("ESD_eNegePosAngleBeforeCut",GetTLorentzVector(vESDeNegTemp),GetTLorentzVector(vESDePosTemp));\r
\r
- CleanWithAngleCuts(ESDeNegTemp,ESDePosTemp,fKFReconstructedGammas);\r
+ CleanWithAngleCuts(vESDeNegTemp,vESDePosTemp,fKFReconstructedGammas);\r
\r
- vector <TLorentzVector> CurrentTLVeNeg = GetTLorentzVector(fCurrentEventNegElectron);\r
- vector <TLorentzVector> CurrentTLVePos = GetTLorentzVector(fCurrentEventPosElectron);\r
+ vector <TLorentzVector> vCurrentTLVeNeg = GetTLorentzVector(fCurrentEventNegElectron);\r
+ vector <TLorentzVector> vCurrentTLVePos = GetTLorentzVector(fCurrentEventPosElectron);\r
\r
\r
- FillAngle("ESD_eNegePosAngleAfterCut",CurrentTLVeNeg,CurrentTLVePos);\r
+ FillAngle("ESD_eNegePosAngleAfterCut",vCurrentTLVeNeg,vCurrentTLVePos);\r
\r
\r
\r
//FillAngle("ESD_eNegePosAngleAfterCut",CurrentTLVeNeg,CurrentTLVePos);\r
\r
\r
- FillElectronInvMass("ESD_InvMass_ePluseMinus",CurrentTLVeNeg,CurrentTLVePos);\r
- FillElectronInvMass("ESD_InvMass_xPlusxMinus",GetTLorentzVector(ESDxNegTemp),GetTLorentzVector(ESDxPosTemp));\r
+ FillElectronInvMass("ESD_InvMass_ePluseMinus",vCurrentTLVeNeg,vCurrentTLVePos);\r
+ FillElectronInvMass("ESD_InvMass_xPlusxMinus",GetTLorentzVector(vESDxNegTemp),GetTLorentzVector(vESDxPosTemp));\r
\r
\r
\r
FillGammaElectronInvMass("ESD_InvMass_GammaePluseMinusChiC","ESD_InvMass_GammaePluseMinusChiCDiff",\r
- fKFReconstructedGammasCut,CurrentTLVeNeg,CurrentTLVePos);\r
+ fKFReconstructedGammasCut,vCurrentTLVeNeg,vCurrentTLVePos);\r
\r
FillGammaElectronInvMass("ESD_InvMass_GammaePluseMinusPi0","ESD_InvMass_GammaePluseMinusPi0Diff",\r
- fKFReconstructedGammasCut,CurrentTLVeNeg,CurrentTLVePos);\r
+ fKFReconstructedGammasCut,vCurrentTLVeNeg,vCurrentTLVePos);\r
\r
//BackGround\r
\r
//Like Sign e+e-\r
- ElectronBackground("ESD_ENegBackground",CurrentTLVeNeg);\r
- ElectronBackground("ESD_EPosBackground",CurrentTLVePos);\r
- ElectronBackground("ESD_EPosENegBackground",CurrentTLVeNeg);\r
- ElectronBackground("ESD_EPosENegBackground",CurrentTLVePos);\r
+ ElectronBackground("ESD_ENegBackground",vCurrentTLVeNeg);\r
+ ElectronBackground("ESD_EPosBackground",vCurrentTLVePos);\r
+ ElectronBackground("ESD_EPosENegBackground",vCurrentTLVeNeg);\r
+ ElectronBackground("ESD_EPosENegBackground",vCurrentTLVePos);\r
\r
// Like Sign e+e- no JPsi\r
- ElectronBackground("ESD_EPosENegNoJPsiBG",GetTLorentzVector(ESDeNegNoJPsi));\r
- ElectronBackground("ESD_EPosENegNoJPsiBG",GetTLorentzVector(ESDePosNoJPsi));\r
+ ElectronBackground("ESD_EPosENegNoJPsiBG",GetTLorentzVector(vESDeNegNoJPsi));\r
+ ElectronBackground("ESD_EPosENegNoJPsiBG",GetTLorentzVector(vESDePosNoJPsi));\r
\r
//Mixed Event\r
\r
if( fCurrentEventPosElectron.size() > 0 && fCurrentEventNegElectron.size() > 0 && fKFReconstructedGammasCut.size() > 0 ){\r
FillGammaElectronInvMass("ESD_EPosENegGammaBackgroundMX","ESD_EPosENegGammaBackgroundMXDiff",\r
fKFReconstructedGammasCut,fPreviousEventTLVNegElectron,fPreviousEventTLVPosElectron);\r
- fPreviousEventTLVNegElectron = CurrentTLVeNeg;\r
- fPreviousEventTLVPosElectron = CurrentTLVePos;\r
+ fPreviousEventTLVNegElectron = vCurrentTLVeNeg;\r
+ fPreviousEventTLVPosElectron = vCurrentTLVePos;\r
\r
}\r
\r
\r
}\r
\r
-void AliAnalysisTaskGammaConversion::FillAngle(TString histoName,vector <TLorentzVector> TLVeNeg, vector <TLorentzVector> TLVePos){\r
- for( UInt_t iNeg=0; iNeg < TLVeNeg.size(); iNeg++){\r
- for (UInt_t iPos=0; iPos < TLVePos.size(); iPos++){\r
- fHistograms->FillHistogram(histoName.Data(),TLVeNeg[iNeg].Vect().Angle(TLVePos[iPos].Vect()));\r
+void AliAnalysisTaskGammaConversion::FillAngle(TString histoName,vector <TLorentzVector> tlVeNeg, vector <TLorentzVector> tlVePos){\r
+ //see header file for documentation\r
+ for( UInt_t iNeg=0; iNeg < tlVeNeg.size(); iNeg++){\r
+ for (UInt_t iPos=0; iPos < tlVePos.size(); iPos++){\r
+ fHistograms->FillHistogram(histoName.Data(),tlVeNeg[iNeg].Vect().Angle(tlVePos[iPos].Vect()));\r
}\r
}\r
}\r
void AliAnalysisTaskGammaConversion::FillElectronInvMass(TString histoName, vector <TLorentzVector> eNeg, vector <TLorentzVector> ePos){\r
-\r
+ //see header file for documentation\r
for( UInt_t n=0; n < eNeg.size(); n++){\r
\r
TLorentzVector en = eNeg.at(n);\r
}\r
\r
void AliAnalysisTaskGammaConversion::FillGammaElectronInvMass(TString histoMass,TString histoDiff,vector <AliKFParticle> fKFGammas,\r
- vector <TLorentzVector> TLVeNeg,vector<TLorentzVector> TLVePos)\r
+ vector <TLorentzVector> tlVeNeg,vector<TLorentzVector> tlVePos)\r
{\r
+ //see header file for documentation\r
\r
+ for( UInt_t iNeg=0; iNeg < tlVeNeg.size(); iNeg++ ){\r
\r
- for( UInt_t iNeg=0; iNeg < TLVeNeg.size(); iNeg++ ){\r
-\r
- for (UInt_t iPos=0; iPos < TLVePos.size(); iPos++){\r
+ for (UInt_t iPos=0; iPos < tlVePos.size(); iPos++){\r
\r
- TLorentzVector xy = TLVePos[iPos] + TLVeNeg[iNeg];\r
+ TLorentzVector xy = tlVePos[iPos] + tlVeNeg[iNeg];\r
\r
for (UInt_t iGam=0; iGam < fKFGammas.size(); iGam++){\r
\r
- AliKFParticle * GammaCandidate = &fKFGammas[iGam];\r
+ AliKFParticle * gammaCandidate = &fKFGammas[iGam];\r
TLorentzVector g;\r
\r
- g.SetXYZM(GammaCandidate->GetPx(),GammaCandidate->GetPy(),GammaCandidate->GetPz(),fGammaMass);\r
+ g.SetXYZM(gammaCandidate->GetPx(),gammaCandidate->GetPy(),gammaCandidate->GetPz(),fGammaMass);\r
TLorentzVector xyg = xy + g;\r
fHistograms->FillHistogram(histoMass.Data(),xyg.M());\r
fHistograms->FillHistogram(histoDiff.Data(),(xyg.M()-xy.M()));\r
}\r
void AliAnalysisTaskGammaConversion::ElectronBackground(TString hBg, vector <TLorentzVector> e)\r
{\r
+ // see header file for documentation\r
for(UInt_t i=0; i < e.size(); i++)\r
{\r
for (UInt_t j=i+1; j < e.size(); j++)\r
}\r
\r
\r
-void AliAnalysisTaskGammaConversion::CleanWithAngleCuts(vector <AliESDtrack*> NegativeElectrons,\r
- vector <AliESDtrack*> PositiveElectrons, vector <AliKFParticle> Gammas){\r
+void AliAnalysisTaskGammaConversion::CleanWithAngleCuts(vector <AliESDtrack*> negativeElectrons,\r
+ vector <AliESDtrack*> positiveElectrons, vector <AliKFParticle> gammas){\r
+ // see header file for documentation\r
\r
- UInt_t Nsize = NegativeElectrons.size();\r
- UInt_t Psize = PositiveElectrons.size();\r
- UInt_t Gsize = Gammas.size();\r
+ UInt_t sizeN = negativeElectrons.size();\r
+ UInt_t sizeP = positiveElectrons.size();\r
+ UInt_t sizeG = gammas.size();\r
\r
\r
\r
- vector <Bool_t> xNegBand(Nsize);\r
- vector <Bool_t> xPosBand(Psize);\r
- vector <Bool_t> gammaBand(Gsize);\r
+ vector <Bool_t> xNegBand(sizeN);\r
+ vector <Bool_t> xPosBand(sizeP);\r
+ vector <Bool_t> gammaBand(sizeG);\r
\r
\r
- for(UInt_t iNeg=0; iNeg < Nsize; iNeg++) xNegBand[iNeg]=kTRUE;\r
- for(UInt_t iPos=0; iPos < Psize; iPos++) xPosBand[iPos]=kTRUE;\r
- for(UInt_t iGam=0; iGam < Gsize; iGam++) gammaBand[iGam]=kTRUE;\r
+ for(UInt_t iNeg=0; iNeg < sizeN; iNeg++) xNegBand[iNeg]=kTRUE;\r
+ for(UInt_t iPos=0; iPos < sizeP; iPos++) xPosBand[iPos]=kTRUE;\r
+ for(UInt_t iGam=0; iGam < sizeG; iGam++) gammaBand[iGam]=kTRUE;\r
\r
\r
- for(UInt_t iPos=0; iPos < Psize; iPos++){\r
+ for(UInt_t iPos=0; iPos < sizeP; iPos++){\r
\r
- Double_t P[3]; PositiveElectrons[iPos]->GetConstrainedPxPyPz(P); \r
+ Double_t aP[3]; positiveElectrons[iPos]->GetConstrainedPxPyPz(aP); \r
\r
- TVector3 ePosV(P[0],P[1],P[2]);\r
+ TVector3 ePosV(aP[0],aP[1],aP[2]);\r
\r
- for(UInt_t iNeg=0; iNeg < Nsize; iNeg++){\r
+ for(UInt_t iNeg=0; iNeg < sizeN; iNeg++){\r
\r
- Double_t N[3]; NegativeElectrons[iNeg]->GetConstrainedPxPyPz(N); \r
- TVector3 eNegV(N[0],N[1],N[2]);\r
+ Double_t aN[3]; negativeElectrons[iNeg]->GetConstrainedPxPyPz(aN); \r
+ TVector3 eNegV(aN[0],aN[1],aN[2]);\r
\r
if(ePosV.Angle(eNegV) < 0.05){ //e+e- from gamma\r
xPosBand[iPos]=kFALSE;\r
xNegBand[iNeg]=kFALSE;\r
}\r
\r
- for(UInt_t iGam=0; iGam < Gsize; iGam++){\r
- AliKFParticle* GammaCandidate = &Gammas[iGam];\r
- TVector3 GammaCandidateVector(GammaCandidate->Px(),GammaCandidate->Py(),GammaCandidate->Pz());\r
- if(ePosV.Angle(GammaCandidateVector) < 0.05 || eNegV.Angle(GammaCandidateVector) < 0.05)\r
+ for(UInt_t iGam=0; iGam < sizeG; iGam++){\r
+ AliKFParticle* gammaCandidate = &gammas[iGam];\r
+ TVector3 gammaCandidateVector(gammaCandidate->Px(),gammaCandidate->Py(),gammaCandidate->Pz());\r
+ if(ePosV.Angle(gammaCandidateVector) < 0.05 || eNegV.Angle(gammaCandidateVector) < 0.05)\r
gammaBand[iGam]=kFALSE;\r
}\r
}\r
\r
\r
\r
- for(UInt_t iPos=0; iPos < Psize; iPos++){\r
+ for(UInt_t iPos=0; iPos < sizeP; iPos++){\r
if(xPosBand[iPos]){\r
- fCurrentEventPosElectron.push_back(PositiveElectrons[iPos]);\r
+ fCurrentEventPosElectron.push_back(positiveElectrons[iPos]);\r
}\r
}\r
- for(UInt_t iNeg=0;iNeg < Nsize; iNeg++){\r
+ for(UInt_t iNeg=0;iNeg < sizeN; iNeg++){\r
if(xNegBand[iNeg]){\r
- fCurrentEventNegElectron.push_back(NegativeElectrons[iNeg]);\r
+ fCurrentEventNegElectron.push_back(negativeElectrons[iNeg]);\r
}\r
}\r
- for(UInt_t iGam=0; iGam < Gsize; iGam++){\r
+ for(UInt_t iGam=0; iGam < sizeG; iGam++){\r
if(gammaBand[iGam]){\r
- fKFReconstructedGammasCut.push_back(Gammas[iGam]);\r
+ fKFReconstructedGammasCut.push_back(gammas[iGam]);\r
}\r
}\r
}\r
\r
void AliAnalysisTaskGammaConversion::GetPID(AliESDtrack *track, Stat_t &pid, Stat_t &weight)\r
{\r
+ // see header file for documentation\r
pid = -1;\r
weight = -1;\r
\r
d = TMath::ErfInverse(1 - TMath::Exp(-d * d / 2)) * TMath::Sqrt(2);\r
return d;\r
}\r
-vector <TLorentzVector> AliAnalysisTaskGammaConversion::GetTLorentzVector(vector <AliESDtrack*> ESDtrack){\r
+vector <TLorentzVector> AliAnalysisTaskGammaConversion::GetTLorentzVector(vector <AliESDtrack*> esdTrack){\r
\r
- vector <TLorentzVector> TLVtrack(0);\r
+ vector <TLorentzVector> tlVtrack(0);\r
\r
- for(UInt_t itrack=0; itrack < ESDtrack.size(); itrack++){\r
- double P[3]; ESDtrack[itrack]->GetConstrainedPxPyPz(P);\r
- TLorentzVector CurrentTrack;\r
- CurrentTrack.SetXYZM(P[0],P[1],P[2],fElectronMass);\r
- TLVtrack.push_back(CurrentTrack);\r
+ for(UInt_t itrack=0; itrack < esdTrack.size(); itrack++){\r
+ double P[3]; esdTrack[itrack]->GetConstrainedPxPyPz(P);\r
+ TLorentzVector currentTrack;\r
+ currentTrack.SetXYZM(P[0],P[1],P[2],fElectronMass);\r
+ tlVtrack.push_back(currentTrack);\r
}\r
\r
- return TLVtrack;\r
+ return tlVtrack;\r
}\r
\r