#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);
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;
size_t gdcSize;
if (ddlFilesFolder) {
char command[256];
- sprintf(command, "rm -r %s/raw%ld", ddlFilesFolder, gdcCounter);
+ sprintf(command, "rm -rf %s/raw%ld", ddlFilesFolder, gdcCounter);
gSystem->Exec(command);
sprintf(command, "%s/raw%ld", ddlFilesFolder, gdcCounter);
if (gSystem->MakeDirectory(command) < 0) {
cerr << "\r \r";
cerr.flush();
delete t;
- rootFile.Close();
+ rootFile->Close();
fclose(dateFile);
delete [] dateEvent;