From 21e4a3cda32658a032b4e7a35595d31ef38c65de Mon Sep 17 00:00:00 2001 From: mchojnac Date: Mon, 17 Nov 2014 19:49:15 +0100 Subject: [PATCH] Adding cut on pythia process type --- .../TestAOD/AliAnalysisTaskSpectraBoth.cxx | 7 +++ .../TestAOD/AliSpectraBothEventCuts.cxx | 55 ++++++++++++++++++- .../PiKaPr/TestAOD/AliSpectraBothEventCuts.h | 21 +++++-- 3 files changed, 77 insertions(+), 6 deletions(-) diff --git a/PWGLF/SPECTRA/PiKaPr/TestAOD/AliAnalysisTaskSpectraBoth.cxx b/PWGLF/SPECTRA/PiKaPr/TestAOD/AliAnalysisTaskSpectraBoth.cxx index 15e049a7787..af9348a0d5c 100644 --- a/PWGLF/SPECTRA/PiKaPr/TestAOD/AliAnalysisTaskSpectraBoth.cxx +++ b/PWGLF/SPECTRA/PiKaPr/TestAOD/AliAnalysisTaskSpectraBoth.cxx @@ -113,6 +113,13 @@ void AliAnalysisTaskSpectraBoth::UserExec(Option_t *) } else AliFatal("Not processing AODs or ESDS") ; + if(fIsMC) + { + if(!fEventCuts->CheckMCProcessType(MCEvent())) + return ; + } + + if(fdotheMCLoopAfterEventCuts) if(!fEventCuts->IsSelected(fAOD,fTrackCuts,fIsMC,-100,fHistMan->GetEventStatHist())) return;//event selection diff --git a/PWGLF/SPECTRA/PiKaPr/TestAOD/AliSpectraBothEventCuts.cxx b/PWGLF/SPECTRA/PiKaPr/TestAOD/AliSpectraBothEventCuts.cxx index 87b75e53400..4a9c90b38b6 100644 --- a/PWGLF/SPECTRA/PiKaPr/TestAOD/AliSpectraBothEventCuts.cxx +++ b/PWGLF/SPECTRA/PiKaPr/TestAOD/AliSpectraBothEventCuts.cxx @@ -38,6 +38,7 @@ #include "AliSpectraBothTrackCuts.h" #include "AliAnalysisUtils.h" #include "AliPPVsMultUtils.h" +#include "AliGenPythiaEventHeader.h" //#include "AliSpectraBothHistoManager.h" #include @@ -48,6 +49,7 @@ ClassImp(AliSpectraBothEventCuts) AliSpectraBothEventCuts::AliSpectraBothEventCuts(const char *name) : TNamed(name, "AOD Event Cuts"), fAOD(0),fAODEvent(AliSpectraBothTrackCuts::kAODobject), fTrackBits(0),fIsMC(0),fCentEstimator(""), fUseCentPatchAOD049(0), fUseSDDPatchforLHC11a(kDoNotCheckforSDD),fTriggerSettings(AliVEvent::kMB),fTrackCuts(0), fIsSelected(0), fCentralityCutMin(0), fCentralityCutMax(0), fQVectorCutMin(0), fQVectorCutMax(0), fVertexCutMin(0), fVertexCutMax(0), fMultiplicityCutMin(0), fMultiplicityCutMax(0),fMaxChi2perNDFforVertex(0), fMinRun(0),fMaxRun(0),fetarangeofmultiplicitycut(0.0),fUseAliPPVsMultUtils(false), +fNMCProcessType(0),fEventMCProcessType(0),fEventMCProcessTypeIncluded(0), fHistoCuts(0),fHistoVtxBefSel(0),fHistoVtxAftSel(0),fHistoEtaBefSel(0),fHistoEtaAftSel(0),fHistoNChAftSel(0),fHistoQVector(0) ,fHistoEP(0),fHistoVtxAftSelwithoutZvertexCut(0),fHistoVtxalltriggerEventswithMCz(0),fHistoVtxAftSelwithoutZvertexCutusingMCz(0),fHistoRunNumbers(0), fHistoCentrality(0),fHistoMultiplicty(0),fAnalysisUtils(0),fAliPPVsMultUtils(0) @@ -83,7 +85,7 @@ fHistoCentrality(0),fHistoMultiplicty(0),fAnalysisUtils(0),fAliPPVsMultUtils(0) fMultiplicityCutMax=-1.0; fTrackBits=1; fCentEstimator="V0M"; - fMaxChi2perNDFforVertex=-1; + fMaxChi2perNDFforVertex=-1; // TH1::AddDirectory(oldStatus); } //______________________________________________________ @@ -122,6 +124,8 @@ AliSpectraBothEventCuts::~AliSpectraBothEventCuts() delete fAnalysisUtils; if(fAliPPVsMultUtils) delete fAliPPVsMultUtils; + if(fEventMCProcessType) + delete [] fEventMCProcessType; } //______________________________________________________ @@ -400,7 +404,7 @@ Bool_t AliSpectraBothEventCuts::CheckMultiplicityCut() return kFALSE; fHistoMultiplicty->Fill(0.5,Ncharged); - if(Ncharged>=fMultiplicityCutMin && Ncharged0) + if(Ncharged>=fMultiplicityCutMin && NchargedFill(1.5,Ncharged); return kTRUE; @@ -681,3 +685,50 @@ void AliSpectraBothEventCuts::SetRunNumberRange(Int_t min, Int_t max) fMaxRun=max; } } +//__________________________________________________________________________________________________________ +Bool_t AliSpectraBothEventCuts::CheckMCProcessType(AliMCEvent* mcevent) +{ + if(fNMCProcessType<0) + return kTRUE; + if(!mcevent) + return kFALSE; + AliHeader* aHeader=mcevent->Header(); + if(!aHeader) + return kFALSE; + AliGenPythiaEventHeader* pythiaGenHeader = dynamic_cast(aHeader->GenEventHeader()); + if(!pythiaGenHeader) + return kFALSE; + Int_t processtype=pythiaGenHeader->ProcessType(); + for(int i=0;i