From: pchrist Date: Wed, 26 Oct 2011 20:43:54 +0000 (+0000) Subject: Including the acceptance parameteriazation to be used while analyzing MC (generator... X-Git-Url: http://git.uio.no/git/?p=u%2Fmrichter%2FAliRoot.git;a=commitdiff_plain;h=6fbd060818cffee2288949ac7f8c7d684f4c9e71 Including the acceptance parameteriazation to be used while analyzing MC (generator level) --- diff --git a/PWG2/EBYE/AliAnalysisTaskBF.cxx b/PWG2/EBYE/AliAnalysisTaskBF.cxx index 3703b61fecd..4ea9bb3ba8c 100755 --- a/PWG2/EBYE/AliAnalysisTaskBF.cxx +++ b/PWG2/EBYE/AliAnalysisTaskBF.cxx @@ -6,6 +6,8 @@ #include "TH1F.h" #include "TH2F.h" #include "TArrayF.h" +#include "TF1.h" +#include "TRandom.h" #include "AliAnalysisTaskSE.h" #include "AliAnalysisManager.h" @@ -78,7 +80,8 @@ AliAnalysisTaskBF::AliAnalysisTaskBF(const char *name) fDCAxyCut(-1), fDCAzCut(-1), fTPCchi2Cut(-1), - fNClustersTPCCut(-1){ + fNClustersTPCCut(-1), + fAcceptanceParameterization(0) { // Constructor // Define input and output slots here @@ -706,6 +709,12 @@ void AliAnalysisTaskBF::UserExec(Option_t *) { if( track->Eta() < fEtaMin || track->Eta() > fEtaMax) continue; + if(fAcceptanceParameterization) { + Double_t gRandomNumber = gRandom->Rndm(); + if(gRandomNumber > fAcceptanceParameterization->Eval(track->Pt())) + continue; + } + array->Add(track); // fill charge vector diff --git a/PWG2/EBYE/AliAnalysisTaskBF.h b/PWG2/EBYE/AliAnalysisTaskBF.h index 171bbc4d4b7..51bb8761a59 100755 --- a/PWG2/EBYE/AliAnalysisTaskBF.h +++ b/PWG2/EBYE/AliAnalysisTaskBF.h @@ -7,6 +7,7 @@ class TList; class TH1F; class TH2F; +class TF1; class AliBalance; class AliESDtrackCuts; @@ -84,7 +85,11 @@ class AliAnalysisTaskBF : public AliAnalysisTaskSE { fNumberOfAcceptedTracksMin = min; fNumberOfAcceptedTracksMax = max;} - void UseOfflineTrigger() {fUseOfflineTrigger = kTRUE;} + void UseOfflineTrigger() {fUseOfflineTrigger = kTRUE;} + + //Acceptance filter + void SetAcceptanceParameterization(TF1 *parameterization) { + fAcceptanceParameterization = parameterization;} private: AliBalance *fBalance; //BF object @@ -143,6 +148,8 @@ class AliAnalysisTaskBF : public AliAnalysisTaskSE { Double_t fTPCchi2Cut;//only used for AODs Int_t fNClustersTPCCut;//only used for AODs + TF1 *fAcceptanceParameterization;//acceptance filter used for MC + AliAnalysisTaskBF(const AliAnalysisTaskBF&); // not implemented AliAnalysisTaskBF& operator=(const AliAnalysisTaskBF&); // not implemented