From e580d8f4d7e76bf6a4a4cc194cb38d0d786533ed Mon Sep 17 00:00:00 2001 From: mvala Date: Tue, 27 Mar 2012 17:09:09 +0000 Subject: [PATCH] Better handling of physiscs selection in mixing handler --- .../EventMixing/AliMixInputEventHandler.cxx | 25 +++++++++++++++---- .../EventMixing/AliMixInputEventHandler.h | 4 +-- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/ANALYSIS/EventMixing/AliMixInputEventHandler.cxx b/ANALYSIS/EventMixing/AliMixInputEventHandler.cxx index 8cf78a40f3e..3294e24c287 100644 --- a/ANALYSIS/EventMixing/AliMixInputEventHandler.cxx +++ b/ANALYSIS/EventMixing/AliMixInputEventHandler.cxx @@ -542,15 +542,30 @@ void AliMixInputEventHandler::SetMixNumber(const Int_t mixNum) fMixNumber = mixNum; } +//_____________________________________________________________________________ Bool_t AliMixInputEventHandler::IsEventCurrentSelected() { + // + // Check if event is selected by Physics selection + // + AliDebug(AliLog::kDebug + 5, Form("<-")); - AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); - AliMultiInputEventHandler *mh = dynamic_cast(mgr->GetInputEventHandler()); Bool_t isSelected = kTRUE; - if (mh) { - if (fOfflineTriggerMask && mh->GetEventSelection()) { - isSelected = fOfflineTriggerMask & mh->IsEventSelected(); + if (fOfflineTriggerMask && fOfflineTriggerMask != AliVEvent::kAny) { + AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); + AliMultiInputEventHandler *mh = dynamic_cast(mgr->GetInputEventHandler()); + if (mh) { + AliInputEventHandler *ih = mh->GetFirstInputEventHandler(); + AliVEvent *ev = ih->GetEvent(); + ULong64_t triggerMask = ev->GetTriggerMask(); + if (triggerMask) { + isSelected = fOfflineTriggerMask & triggerMask; + } else if (mh->GetEventSelection()) { + isSelected = fOfflineTriggerMask & mh->IsEventSelected(); + } else { + // not selected because it is not AliVEvent::kAny + isSelected = kFALSE; + } } } AliDebug(AliLog::kDebug + 1, Form("isSelected=%d", isSelected)); diff --git a/ANALYSIS/EventMixing/AliMixInputEventHandler.h b/ANALYSIS/EventMixing/AliMixInputEventHandler.h index a06dca1853b..a758256f6f2 100644 --- a/ANALYSIS/EventMixing/AliMixInputEventHandler.h +++ b/ANALYSIS/EventMixing/AliMixInputEventHandler.h @@ -89,7 +89,7 @@ private: Long64_t fCurrentEntryMix; //! current mixed entry in chain of processed files Int_t fCurrentBinIndex; //! current bin index - UInt_t fOfflineTriggerMask; // Task processes collision candidates only + ULong64_t fOfflineTriggerMask; // Task processes collision candidates only virtual Bool_t MixStd(); virtual Bool_t MixBuffer(); @@ -101,7 +101,7 @@ private: AliMixInputEventHandler(const AliMixInputEventHandler &handler); AliMixInputEventHandler &operator=(const AliMixInputEventHandler &handler); - ClassDef(AliMixInputEventHandler, 3) + ClassDef(AliMixInputEventHandler, 4) }; #endif -- 2.43.5