]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Better handling of physiscs selection in mixing handler
authormvala <mvala@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 27 Mar 2012 17:09:09 +0000 (17:09 +0000)
committermvala <mvala@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 27 Mar 2012 17:09:09 +0000 (17:09 +0000)
ANALYSIS/EventMixing/AliMixInputEventHandler.cxx
ANALYSIS/EventMixing/AliMixInputEventHandler.h

index 8cf78a40f3eb5acce035c76ede60399bd82a6a56..3294e24c2871f81cc5c1cc47f6cfd8fd8f79a83e 100644 (file)
@@ -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<AliMultiInputEventHandler *>(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<AliMultiInputEventHandler *>(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));
index a06dca1853b04eb9f20f344c57374bc2a2188c54..a758256f6f2344474a553374b604d7ea3582efcc 100644 (file)
@@ -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