+Int_t AliVertexingHFUtils::GetGeneratedMultiplicityInEtaRange(TClonesArray* arrayMC, Double_t mineta, Double_t maxeta){
+ // counts generated particles in fgiven eta range
+
+ Int_t nChargedMC=0;
+ for(Int_t i=0;i<arrayMC->GetEntriesFast();i++){
+ AliAODMCParticle *part=(AliAODMCParticle*)arrayMC->UncheckedAt(i);
+ Int_t charge = part->Charge();
+ Double_t eta = part->Eta();
+ if(charge!=0 && eta>mineta && eta<maxeta) nChargedMC++;
+ }
+ return nChargedMC;
+}
+//______________________________________________________________________
+Int_t AliVertexingHFUtils::GetGeneratedPrimariesInEtaRange(TClonesArray* arrayMC, Double_t mineta, Double_t maxeta){
+ // counts generated primary particles in given eta range
+
+ Int_t nChargedMC=0;
+ for(Int_t i=0;i<arrayMC->GetEntriesFast();i++){
+ AliAODMCParticle *part=(AliAODMCParticle*)arrayMC->UncheckedAt(i);
+ Int_t charge = part->Charge();
+ Double_t eta = part->Eta();
+ if(charge!=0 && eta>mineta && eta<maxeta){
+ if(part->IsPrimary())nChargedMC++;
+ }
+ }
+ return nChargedMC;
+}
+//______________________________________________________________________
+Int_t AliVertexingHFUtils::GetGeneratedPhysicalPrimariesInEtaRange(TClonesArray* arrayMC, Double_t mineta, Double_t maxeta){
+ // counts generated primary particles in given eta range
+
+ Int_t nChargedMC=0;
+ for(Int_t i=0;i<arrayMC->GetEntriesFast();i++){
+ AliAODMCParticle *part=(AliAODMCParticle*)arrayMC->UncheckedAt(i);
+ Int_t charge = part->Charge();
+ Double_t eta = part->Eta();
+ if(charge!=0 && eta>mineta && eta<maxeta){
+ if(part->IsPhysicalPrimary())nChargedMC++;
+ }
+ }
+ return nChargedMC;
+}
+//______________________________________________________________________