Correct opening of the input root file
authorcvetan <cvetan@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 22 Sep 2008 09:35:28 +0000 (09:35 +0000)
committercvetan <cvetan@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 22 Sep 2008 09:35:28 +0000 (09:35 +0000)
MONITOR/deroot.cxx

index 98aa4e6..99a8962 100644 (file)
@@ -7,14 +7,24 @@
 #include <TError.h>
 #include <TSystem.h>
 #include <TSysEvtHandler.h>
+#include <TGrid.h>
 #include "deroot.h"
 
 int deroot(const char *rootFileName, const char *dateFileName, const char *ddlFilesFolder);
 
 int deroot(const char *rootFileName, const char *dateFileName, const char *ddlFilesFolder) {
 
- TFile rootFile(rootFileName);
- TTree *t=(TTree *)rootFile.Get("RAW");
+ TString str = rootFileName;
+ if (str.BeginsWith("alien://"))
+   TGrid::Connect("alien://");
+
+ TFile *rootFile = TFile::Open(rootFileName,"READ");
+ if (!rootFile) {
+   cerr << "Raw data file can not be opened" << endl;
+   return(1);
+ }
+
+ TTree *t=(TTree *)rootFile->Get("RAW");
  if(!t) {
   cerr << "Error getting RAW tree" << endl;
   return(1);
@@ -65,7 +75,7 @@ int deroot(const char *rootFileName, const char *dateFileName, const char *ddlFi
  cerr << "\r     \r";
  cerr.flush();
  delete t;
- rootFile.Close();
+ rootFile->Close();
  fclose(dateFile);
  delete [] dateEvent;