#if !defined(__CINT__) || defined(__MAKECINT__) #include #include #include //#include #include #include #include #include #include #include #endif void ReadQASDD(Int_t runNb = 101498,Int_t year=2009,Char_t period[10]="LHC09c",Char_t pass[8]="pass1",Char_t filetosearch[50]="Merged.QA.Data.root",Char_t initfileout[50]="File.QA") { //****************** Connection to alien ***************************************** TGrid::Connect("alien://",0,0,"t"); //TGrid *gGrid = TGrid::Connect("alien"); if(!gGrid||!gGrid->IsConnected()) { printf("gGrid not found! exit macro\n"); return; } TFileMerger merger; merger.SetFastMethod(kTRUE); Char_t fileName[100]; Char_t directory[100]; sprintf(fileName,"%s.%i.%s.%s.Run.%i.root",initfileout,year,period,pass,runNb); merger.OutputFile(fileName);//metto il nome del file QA //sprintf(directory,"local://%s",gSystem->pwd()); Char_t path[200]; sprintf(path,"/alice/data/%04i/%s/%09i/ESDs/%s/%02i%09i*.*",year,period,runNb,pass,year-2000,runNb); printf("path %s\n",path); TGridResult *gr = gGrid->Query(path,filetosearch); if (gr->GetEntries() < 1) { printf("In this run there are not QA files: Exit macro\n"); return; } else{printf("================>%d files found\n", gr->GetEntries());} Int_t mergedFiles = 0; Int_t nFiles = gr->GetEntries(); for (Int_t i = 0; i GetKey(i,"turl")); if (merger.AddFile(directory)) mergedFiles++; } //printf("Add done\n"); if(merger.Merge()==kTRUE){ printf("merged %d files\n", mergedFiles); printf("output written on %s\n", fileName); printf("Merge done!\n"); } else{printf("no files merged\n");return;} }