- mcparticles= GetReader()->GetAODMCParticles();
- for (iParticle = 0; iParticle < nTracks; iParticle++)
- {
- AliAODMCParticle *part = (AliAODMCParticle*) mcparticles->At(iParticle);
-
- if (!part->IsPhysicalPrimary()) continue;
-
- Int_t pdg = part->GetPdgCode();
- charge = TDatabasePDG::Instance()->GetParticle(pdg)->Charge();
- TLorentzVector momentum(part->Px(),part->Py(),part->Pz(),part->E());
-
- if(charge != 0)
- {
- if(part->Pt()> GetReader()->GetCTSPtMin())
- {
- //Particles in CTS acceptance
- Bool_t inCTS = GetFiducialCut()->IsInFiducialCut(momentum,"CTS");
- Int_t indexmother=part->GetMother();
-
- if(indexmother>-1)
- {
- Int_t mPdg = ((AliAODMCParticle*) mcparticles->At(indexmother)) ->GetPdgCode();
- if(TMath::Abs(pdg) == 11 && mPdg == 22) continue;
- }
-
- if(inCTS)
- {
- if( label!=iParticle) // avoid trigger particle
- {
- if(!FillChargedMCCorrelationHistograms(part->Pt(),part->Phi(),part->Eta(),ptprim,phiprim,etaprim)) return;
- else lead = kTRUE;
- }
- } // in acceptance
- } // min pt cut
- } //only charged particles
- } //MC particle loop
- if (lead)
+ if ( part->Pt() < GetReader()->GetCTSPtMin()) continue;
+
+ TLorentzVector momentum(part->Px(),part->Py(),part->Pz(),part->E());
+
+ //Particles in CTS acceptance, make sure to use the same selection as in the reader
+ Bool_t inCTS = GetReader()->GetFiducialCut()->IsInFiducialCut(momentum,"CTS");
+ //printf("Accepted? %d; pt %2.2f, eta %2.2f, phi %2.2f\n",inCTS,momentum.Pt(),momentum.Eta(),momentum.Phi()*TMath::RadToDeg());
+ if( !inCTS ) continue;
+
+ // Remove conversions
+ Int_t indexmother = part->GetMother();
+ if ( indexmother > -1 )