From 8e119ee703cbed104080c62941afc25457097736 Mon Sep 17 00:00:00 2001 From: skowron Date: Sat, 3 Jul 2004 17:14:00 +0000 Subject: [PATCH] Event cut added --- ANALYSIS/AliAnalysis.cxx | 29 ++++++++++++++++++++++++++++- ANALYSIS/AliAnalysis.h | 10 ++++++++++ 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/ANALYSIS/AliAnalysis.cxx b/ANALYSIS/AliAnalysis.cxx index 1a2fd96f9e3..4171c912f9e 100644 --- a/ANALYSIS/AliAnalysis.cxx +++ b/ANALYSIS/AliAnalysis.cxx @@ -13,6 +13,7 @@ // /////////////////////////////////////////////////////////// +#include "AliEventCut.h" ClassImp(AliAnalysis) @@ -23,7 +24,10 @@ AliAnalysis::AliAnalysis() /*********************************************************/ AliAnalysis::AliAnalysis(const char* name,const char* title): - TTask(name,title) + TTask(name,title), + fEventCut(0x0), + fCutOnSim(kTRUE), + fCutOnRec(kTRUE) { //ctor } @@ -32,6 +36,29 @@ AliAnalysis::AliAnalysis(const char* name,const char* title): AliAnalysis::~AliAnalysis() { //dtor + delete fEventCut; } /*********************************************************/ +void AliAnalysis::SetEventCut(AliEventCut* evcut) +{ +//Sets event - makes a private copy + delete fEventCut; + if (evcut) fEventCut = (AliEventCut*)evcut->Clone(); + else fEventCut = 0x0; +} +/*********************************************************/ + +Bool_t AliAnalysis::Pass(AliAOD* recevent, AliAOD* simevent) +{ + //checks the event cut + if (fEventCut == 0x0) return kFALSE; + + if (fCutOnRec) + if (fEventCut->Pass(recevent)) return kTRUE; + + if (fCutOnSim) + if (fEventCut->Pass(simevent)) return kTRUE; + + return kFALSE; +} diff --git a/ANALYSIS/AliAnalysis.h b/ANALYSIS/AliAnalysis.h index 4b1e572046f..dfe10d8fb59 100644 --- a/ANALYSIS/AliAnalysis.h +++ b/ANALYSIS/AliAnalysis.h @@ -16,6 +16,7 @@ class AliAOD; class AliStack; +class AliEventCut; class AliAnalysis: public TTask { @@ -27,8 +28,17 @@ class AliAnalysis: public TTask virtual Int_t Init() = 0; virtual Int_t ProcessEvent(AliAOD* aodrec, AliAOD* aodsim = 0x0) = 0; virtual Int_t Finish() = 0; + + void EventCutOnRec(Bool_t flag){fCutOnRec = flag;} + void EventCutOnSim(Bool_t flag){fCutOnSim = flag;} + void SetEventCut(AliEventCut* evcut); protected: + Bool_t Pass(AliAOD* recevent, AliAOD* simevent); + AliEventCut* fEventCut;//event cut + + Bool_t fCutOnSim;//flag indicating that event cut is performed on simulated particles + Bool_t fCutOnRec;//flag indicating that event cut is performed on reconstructed tracks private: ClassDef(AliAnalysis,1) -- 2.39.3