From 2550415062cd71b872175c0cbbcef38c552748cf Mon Sep 17 00:00:00 2001 From: prino Date: Thu, 1 Mar 2012 22:40:09 +0000 Subject: [PATCH] Added methods to compute generated multiplcity from AOD MC particle array (Renu) --- PWGHF/vertexingHF/AliVertexingHFUtils.cxx | 46 ++++++++++++++++++++++- PWGHF/vertexingHF/AliVertexingHFUtils.h | 5 ++- 2 files changed, 49 insertions(+), 2 deletions(-) diff --git a/PWGHF/vertexingHF/AliVertexingHFUtils.cxx b/PWGHF/vertexingHF/AliVertexingHFUtils.cxx index 48a1c2a272d..f759ad517df 100644 --- a/PWGHF/vertexingHF/AliVertexingHFUtils.cxx +++ b/PWGHF/vertexingHF/AliVertexingHFUtils.cxx @@ -15,6 +15,7 @@ #include #include "AliAODEvent.h" +#include "AliAODMCParticle.h" #include "AliVertexingHFUtils.h" /* $Id: $ */ @@ -24,7 +25,7 @@ // Class with functions useful for different D2H analyses // // - event plane resolution // // - calculation with side band subtraction // -// - tracklet multiplcity calculation // +// - tracklet multiplicity calculation // // Origin: F.Prino, Torino, prino@to.infn.it // // // /////////////////////////////////////////////////////////////////// @@ -167,6 +168,49 @@ Int_t AliVertexingHFUtils::GetNumberOfTrackletsInEtaRange(AliAODEvent* ev, Doubl return count; } //______________________________________________________________________ +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;iGetEntriesFast();i++){ + AliAODMCParticle *part=(AliAODMCParticle*)arrayMC->UncheckedAt(i); + Int_t charge = part->Charge(); + Double_t eta = part->Eta(); + if(charge!=0 && eta>mineta && etaGetEntriesFast();i++){ + AliAODMCParticle *part=(AliAODMCParticle*)arrayMC->UncheckedAt(i); + Int_t charge = part->Charge(); + Double_t eta = part->Eta(); + if(charge!=0 && eta>mineta && etaIsPrimary())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;iGetEntriesFast();i++){ + AliAODMCParticle *part=(AliAODMCParticle*)arrayMC->UncheckedAt(i); + Int_t charge = part->Charge(); + Double_t eta = part->Eta(); + if(charge!=0 && eta>mineta && etaIsPhysicalPrimary())nChargedMC++; + } + } + return nChargedMC; +} +//______________________________________________________________________ void AliVertexingHFUtils::AveragePt(Float_t& averagePt, Float_t& errorPt,Float_t ptmin,Float_t ptmax, TH2F* hMassD, Float_t massFromFit, Float_t sigmaFromFit, TF1* funcB2, Float_t sigmaRangeForSig,Float_t sigmaRangeForBkg, Int_t rebin){ // Compute from 2D histogram M vs pt diff --git a/PWGHF/vertexingHF/AliVertexingHFUtils.h b/PWGHF/vertexingHF/AliVertexingHFUtils.h index e606009de3f..33f6d043513 100644 --- a/PWGHF/vertexingHF/AliVertexingHFUtils.h +++ b/PWGHF/vertexingHF/AliVertexingHFUtils.h @@ -9,7 +9,7 @@ // Class with functions useful for different D2H analyses // // - event plane resolution // // - calculation with side band subtraction // -// - tracklet multiplcity calculation // +// - tracklet multiplicity calculation // // Origin: F.Prino, Torino, prino@to.infn.it // // // /////////////////////////////////////////////////////////////////// @@ -65,6 +65,9 @@ class AliVertexingHFUtils : public TObject{ Int_t GetNumberOfTrackletsInEtaRange(AliAODEvent* ev) const { return GetNumberOfTrackletsInEtaRange(ev,fMinEtaForTracklets,fMaxEtaForTracklets); } + static Int_t GetGeneratedMultiplicityInEtaRange(TClonesArray* arrayMC, Double_t mineta, Double_t maxeta); + static Int_t GetGeneratedPrimariesInEtaRange(TClonesArray* arrayMC, Double_t mineta, Double_t maxeta); + static Int_t GetGeneratedPhysicalPrimariesInEtaRange(TClonesArray* arrayMC, Double_t mineta, Double_t maxeta); // Functions for computing average pt static void AveragePt(Float_t& averagePt, Float_t& errorPt, Float_t ptmin, Float_t ptmax, TH2F* hMassD, Float_t massFromFit, Float_t sigmaFromFit, TF1* funcB2, Float_t sigmaRangeForSig=2.5, Float_t sigmaRangeForBkg=4.5, Int_t rebin=4); -- 2.43.5