]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MONITOR/deroot.cxx
changing msg to aliinfo
[u/mrichter/AliRoot.git] / MONITOR / deroot.cxx
index d42fbddaa5c7268f661a4c8552bcd16e933d6705..d8f1cb723446b45c12eeb1920b62970824fedd08 100644 (file)
@@ -4,35 +4,50 @@
   MOOD - Monitor Of On-line Data and Detector Debugger for ALICE Experiment
 ******************************************************************************/
 
+#include <RConfig.h>
 #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);
  }
- AliRawEvent *rootEvent=NULL;
+ AliRawVEvent *rootEvent=NULL;
  
  t->SetBranchAddress("rawevent", &rootEvent);
 
  FILE *dateFile;
+#if defined(R__SEEK64)
+ if(!(dateFile=fopen64(dateFileName, "wb"))) {
+#else
  if(!(dateFile=fopen(dateFileName, "wb"))) {
+#endif
   cerr << "Error opening DATE file" << endl;
   return(1);
  }
  
  UInt_t eventSize = 10000000; // 10MB by default
  unsigned char *dateEvent = new unsigned char[eventSize];
- for(size_t gdcCounter=0; gdcCounter<t->GetEntries(); gdcCounter++) {
-  rootEvent=new AliRawEvent;
+ for(Long_t gdcCounter=0; gdcCounter<t->GetEntries(); gdcCounter++) {
+  rootEvent=NULL;
   t->GetEntry(gdcCounter);
   if (rootEvent->GetHeader()->GetEventSize() > eventSize) {
     delete [] dateEvent;
@@ -43,11 +58,13 @@ int deroot(const char *rootFileName, const char *dateFileName, const char *ddlFi
   size_t gdcSize;
   if (ddlFilesFolder) {
     char command[256];
-    sprintf(command, "rm -r %s/raw%d", ddlFilesFolder, gdcCounter);
+    snprintf(command, sizeof(command), "rm -rf %s/raw%ld", ddlFilesFolder, gdcCounter);
     gSystem->Exec(command);
-    sprintf(command, "%s/raw%d", ddlFilesFolder, gdcCounter);
+    snprintf(command, sizeof(command), "%s/raw%ld", ddlFilesFolder, gdcCounter);
     if (gSystem->MakeDirectory(command) < 0) {
       cerr << "Can not create directory " << command << endl;
+      fclose(dateFile);
+      delete [] dateEvent;
       return(1);
     }
     gdcSize=Root2Date(rootEvent, dateEvent, command);
@@ -56,7 +73,7 @@ int deroot(const char *rootFileName, const char *dateFileName, const char *ddlFi
     gdcSize=Root2Date(rootEvent, dateEvent, NULL);
 
   delete rootEvent;
-  cerr << "\r     \r" << setprecision(3) << 100*(float)(gdcCounter+1)/t->GetEntries() << "% ";
+  cerr << "\r     \r" << int(100*(float)(gdcCounter+1)/t->GetEntries()) << "% ";
   fwrite(dateEvent, gdcSize, 1, dateFile);
  }
 
@@ -65,7 +82,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;