prohibiting copy constructor and assignment operator of helper class
[u/mrichter/AliRoot.git] / HLT / programs / print-RAW-HLTdecision.C
index 2f8ee2a..3cc19f6 100644 (file)
  * For help: aliroot -b -q print-RAW-HLTdecision.C
  * </pre>
  *
+ * The input file can be a file on Grid like e.g.
+ * "alien:///alice/data/2009/LHC09d/000104321/raw/09000104321018.30.root"
+ * In that case you need a valid token in order to connect to the Grid.
+ * Use 'alien-token-init' from your alien installation.
+ *
  * @author Matthias.Richter@ift.uib.no
  * @ingroup alihlt_programs
  */
@@ -20,6 +25,11 @@ void print_RAW_HLTdecision(const char* rawFileName,
   AliHLTLogging log;
   log.SetGlobalLoggingLevel(0x7c);
 
+  TString strfile=rawFileName;
+  if (strfile.Contains("://") && !strfile.Contains("local://")) {
+    TGrid::Connect("alien");
+  }
+
   AliRawReader* rawReader=NULL;
   if (rawFileName && rawFileName[0]!=0) rawReader=AliRawReader::Create(rawFileName);
   if (!rawFileName || rawFileName[0]==0 || !rawReader) {
@@ -59,24 +69,24 @@ void print_RAW_HLTdecision(const char* rawFileName,
       break;
     }
     bool found=false;
-    do {
-      TObject* decision=NULL;
-      // in the original implementation, the GlobalTriggerDecision has been
-      // sent with data type kAliHLTDataTypeTObject, thats why we check for
-      // both
-      if (pHLTOUT->SelectFirstDataBlock(kAliHLTDataTypeGlobalTrigger)>=0 ||
-         pHLTOUT->SelectFirstDataBlock(kAliHLTDataTypeTObject)>=0) {
-       decision=pHLTOUT->GetDataObject();
-      }
-      if (decision) {
-       if (decision->IsA() == AliHLTGlobalTriggerDecision::Class()) {
-         cout << "HLT Global Trigger: " << decision->GetOption() << "   " << decision->GetTitle() << endl;
-         decision->Print();
-         found=true;
-       }
-       pHLTOUT->ReleaseDataObject(decision);
-      }
-    } while (!found && pHLTOUT->SelectNextDataBlock());
+    
+    // in the original implementation, the GlobalTriggerDecision has been
+    // sent with data type kAliHLTDataTypeTObject, thats why we check for
+    // both
+    if (pHLTOUT->SelectFirstDataBlock(kAliHLTDataTypeGlobalTrigger)>=0 ||
+        pHLTOUT->SelectFirstDataBlock(kAliHLTDataTypeTObject)>=0) {
+      do {
+        TObject* decision = pHLTOUT->GetDataObject();
+        if (decision) {
+         if (decision->IsA() == AliHLTGlobalTriggerDecision::Class()) {
+           cout << "HLT Global Trigger: " << decision->GetOption() << "   " << decision->GetTitle() << endl;
+           decision->Print();
+           found=true;
+         }
+         pHLTOUT->ReleaseDataObject(decision);
+        }
+      } while (!found && pHLTOUT->SelectNextDataBlock());
+    }
 
     if (!found) {
       cout << "   no HLT decision found" << endl;