]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HLT/programs/print-ESD-HLTdecision.C
Bug fix: AliHLTOUTRawReader
[u/mrichter/AliRoot.git] / HLT / programs / print-ESD-HLTdecision.C
index 3c8265b62d6f9c051af3c7235408e52030a42266..a809e6598d0842e48b5875aa5ab22d9e20d635d1 100644 (file)
@@ -7,15 +7,26 @@
  * Usage: aliroot -b -q print-ESD-HLTdecision.C
  * </pre>
  *
+ * The input file can be a file on Grid like e.g.
+ * "alien:///alice/data/2009/LHC09d/000104321/ESDs/pass5/09000104321018.30/AliESDs.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
  */
-void print_ESD_HLTdecision(const char* esdFileName="AliESDs.root",
+int print_ESD_HLTdecision(const char* esdFileName="AliESDs.root",
                           int minEvent=0, int maxEvent=-1)
 {
+
+  TString strfile=esdFileName;
+  if (strfile.Contains("://") && !strfile.Contains("local://")) {
+    TGrid::Connect("alien");
+  }
+
   TFile* esdFile=NULL;
-  if (esdFileName && esdFileName[0]!=0) esdFile=new TFile(esdFileName);
-  if (!esdFileName || esdFileName[0]==0 || esdFile->IsZombie()) {
+  if (esdFileName && esdFileName[0]!=0) esdFile=TFile::Open(esdFileName);
+  if (!esdFileName || esdFileName[0]==0 || !esdFile || esdFile->IsZombie()) {
     if (esdFileName && esdFileName[0]!=0)
       cerr << "can not open esd file " << esdFileName << endl;
     else
@@ -26,7 +37,9 @@ void print_ESD_HLTdecision(const char* esdFileName="AliESDs.root",
     cerr << "  Parameter:" << endl;
     cerr << "       esdFileName      default \"AliESDs.root\"" << endl;
     cerr << "       minEvent         first event (optional)" << endl;
-    cerr << "       maxEvent         last event (optional)" << endl;
+    cerr << "       maxEvent         last event (optional)" << endl << endl;
+    cerr << "  The input file can be a file on Grid like e.g." << endl;
+    cerr << "  \"alien:///alice/data/2009/LHC09d/000104321/ESDs/pass5/09000104321018.30/AliESDs.root\"" << endl;
     cerr << "===============================================================" << endl;
     return -1;
   }
@@ -74,4 +87,5 @@ void print_ESD_HLTdecision(const char* esdFileName="AliESDs.root",
     if (decision) decision->Print();
     else cout << "   no HLT decision found" << endl;
   }
+  return 0;
 }