Use the DATE monitor lib in addition to the normal offline trigger selection.
authorcvetan <cvetan@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 1 Jul 2009 13:20:27 +0000 (13:20 +0000)
committercvetan <cvetan@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 1 Jul 2009 13:20:27 +0000 (13:20 +0000)
RAW/AliRawReaderDateOnline.cxx
RAW/AliRawReaderDateOnline.h

index 49bcee5..7cd49a3 100644 (file)
@@ -162,3 +162,28 @@ AliRawReaderDateOnline::~AliRawReaderDateOnline()
   if (fEvent) free(fEvent);
 #endif
 }
+
+void AliRawReaderDateOnline::SelectEvents(Int_t type,
+  ULong64_t triggerMask,
+  const char *triggerExpr)
+{
+  // Select event by using DATE monitoring
+  // library
+#ifdef ALI_DATE
+  const Char_t* table[]  = {"ALL", "no", "*", "*",
+                           "PHY", "all","*", "*",
+                           NULL, NULL, NULL, NULL};
+  TString trSelection;
+  for (Int_t i = 0; i < 50; i++) {
+    if (triggerMask & (1ull << i)) {
+       if (!trSelection.IsNull()) trSelection += "+";
+       trSelection += Form("%d",i+1);
+    }
+  }
+  table[7] = trSelection.Data();
+
+  monitorDeclareTableExtended(const_cast<char**>(table));
+  
+#endif
+  AliRawReader::SelectEvents(type,triggerMask,triggerExpr);
+}
index bed1fa0..8f26b39 100644 (file)
@@ -33,6 +33,9 @@ class AliRawReaderDateOnline: public AliRawReaderDate {
     // activated only for AliRawReaderDateOnline.
     virtual Bool_t   UseAutoSaveESD() const { return kTRUE; }
 
+  protected:
+    virtual void     SelectEvents(Int_t type, ULong64_t triggerMask = 0, const char *triggerExpr = NULL);
+
   private:
     AliRawReaderDateOnline(const AliRawReaderDateOnline& rawReader);
     AliRawReaderDateOnline& operator = (const AliRawReaderDateOnline& rawReader);