]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
retrieve run number when no run list is specified (Cynthia)
authorpcrochet <Philippe.Crochet@cern.ch>
Tue, 23 Sep 2014 09:09:49 +0000 (11:09 +0200)
committerpcrochet <Philippe.Crochet@cern.ch>
Tue, 23 Sep 2014 09:09:49 +0000 (11:09 +0200)
PWGPP/MUON/lite/PlotMuonQA.C

index af0d4e2792c25e73c1d59efba85eff87fddc4049..77019e7cb54f561cab1aa51c14d973bb7ada1665 100644 (file)
@@ -749,8 +749,6 @@ void PlotMuonQA(const char* baseDir, const char* runList = 0x0, const char * tri
     TString command;
     TGridResult *res = 0;
     
-    //cout<<irun<<" "<<run<<endl;
-
     if(isAlienFile){
       command = Form("find %s/ %s/%s", alienBaseDir.Data(), run.Data(), QAFileName);
       res = gGrid->Command(command);
@@ -765,6 +763,7 @@ void PlotMuonQA(const char* baseDir, const char* runList = 0x0, const char * tri
       command = Form("find %s/*%s/ -name %s | xargs", alienBaseDir.Data(), run.Data(), QAFileName);
       TString foundFiles = gSystem->GetFromPipe(command.Data());
       TObjArray* arr = foundFiles.Tokenize(" ");
+
       for ( Int_t iarr=0; iarr<arr->GetEntries(); iarr++ ) {
         res->Add(new TObjString(arr->At(iarr)->GetName()));
       }
@@ -774,11 +773,12 @@ void PlotMuonQA(const char* baseDir, const char* runList = 0x0, const char * tri
     // Loop over 'find' results and get next LFN
     TIter nextmap(res);
     TObjString *objs = 0;
-
     TObject* currObj = 0x0;
-    
+    Bool_t searchRunNr = kFALSE;
+    if ( !isAlienFile && run.Contains("*") ) searchRunNr = kTRUE;
+
     //some checks
-    while ( ( currObj=nextmap() ) ){
+    while ( ( currObj = nextmap() ) ){
       
       // get the current file url
       if(isAlienFile){
@@ -792,14 +792,23 @@ void PlotMuonQA(const char* baseDir, const char* runList = 0x0, const char * tri
        Error("PlotMuonQA","turl/obj not found for the run %s... SKIPPING", run.Data());
        continue;
       }
-      
+    
+      if ( searchRunNr ) {
+       TString sobjs = objs->GetString();
+       Int_t index = sobjs.Index("terminateRuns");
+       sobjs.Remove(0,index);
+       sobjs.ReplaceAll("terminateRuns/","");
+       sobjs.ReplaceAll(Form("//%s",QAFileName),"");
+       if ( sobjs.IsDigit() ) run = sobjs;
+      }
+  
       if ( run.IsDigit() && ! selectRuns.Contains(Form("%i",run.Atoi())) ) continue;
-      
+
       // open the outfile for this run
       TFile *runFile = TFile::Open(objs->GetString());
       if (!runFile || ! runFile->IsOpen()) {
        Error("PlotMuonQA","failed to open file: %s", objs->GetName());
-       continue;//return;
+       continue;
       }
       runFile->Cd("MUON_QA");
       
@@ -2140,7 +2149,7 @@ Bool_t GetTriggerLists(const char* triggerList, TString listFromContainer, TObjA
     for ( Int_t iTrig = 0; iTrig < triggersInContainer->GetEntriesFast(); iTrig++ ) {
       currTrigName = triggersInContainer->At(iTrig)->GetName();
       Bool_t keep = kFALSE;
-      if ( currTrigName.Contains("-B-") && ( ! ((TString) currTrigName(0)).CompareTo("C") ) && !currTrigName.Contains("WU") && !currTrigName.Contains("UP") && !currTrigName.Contains("SPI") && !currTrigName.Contains("PHI") && !currTrigName.Contains("EMC") && !currTrigName.Contains("ZED") && !currTrigName.Contains("TRUE") && !currTrigName.Contains("SHM") ) keep = kTRUE;//cyn: to be removed once the trigger filtering is carried out in the analysis task
+      if ( ( currTrigName.Contains("-B-") ||  currTrigName.Contains("-ABCE-") ) && ( ! ((TString) currTrigName(0)).CompareTo("C") ) && !currTrigName.Contains("WU") && !currTrigName.Contains("UP") && !currTrigName.Contains("SPI") && !currTrigName.Contains("PHI") && !currTrigName.Contains("EMC") && !currTrigName.Contains("ZED") && !currTrigName.Contains("TRUE") && !currTrigName.Contains("SHM")  && !currTrigName.Contains("TPC") && !currTrigName.Contains("BEAM") && !currTrigName.Contains("1A") && !currTrigName.Contains("1C")) keep = kTRUE;//cyn: to be removed once the trigger filtering is carried out in the analysis task
       if (!keep) continue;
       for (Int_t ibeam = 0; ibeam < nColumn; ibeam++) {
        fullTriggerList[ibeam]->AddLast( new TObjString(currTrigName) );