protection against missing files
authorsnelling <snelling@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 18 Aug 2010 17:36:34 +0000 (17:36 +0000)
committersnelling <snelling@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 18 Aug 2010 17:36:34 +0000 (17:36 +0000)
PWG2/FLOW/Tools/macros/plotCumulants.C
PWG2/FLOW/macros/showSpread.C

index 48d54ee..967a442 100644 (file)
@@ -357,11 +357,11 @@ void GetHistograms()
      for(Int_t co=0;co<4;co++)
      {
       cumulantsVsM[f][m][co] = dynamic_cast<TH1D*> (temp->FindObject(Form("fIntFlowQcumulantsVsM, %s",qcFlag[co].Data())));
-      if(rebin)
+      if(rebin && cumulantsVsM[f][m][co])
       {
        cumulantsVsM[f][m][co] = Rebin(cumulantsVsM[f][m][co]);
       }
-      if(plotCumulantsVsReferenceMultiplicity)
+      if(plotCumulantsVsReferenceMultiplicity && cumulantsVsM[f][m][co])
       {
        Map(cumulantsVsM[f][m][co],f);
       }    
@@ -377,7 +377,7 @@ void GetHistograms()
      for(Int_t co=0;co<4;co++)
      {
       cumulantsVsM[f][m][co] = dynamic_cast<TH1D*> (temp->FindObject(Form("fReferenceFlowCumulantsVsM, %s",gfcFlag[co].Data())));
-      if(plotCumulantsVsReferenceMultiplicity)
+      if(plotCumulantsVsReferenceMultiplicity && cumulantsVsM[f][m][co])
       {
        Map(cumulantsVsM[f][m][co],f);
       }
@@ -387,6 +387,27 @@ void GetHistograms()
   } // end of  for(Int_t m=0;m<nMethods;m++)
  } // end of for(Int_t f=0;f<nFiles;f++)
 
+ Int_t counter = 0;
+ for(Int_t f=0;f<nFiles;f++)
+ {
+  for(Int_t m=0;m<nMethods;m++)
+  { 
+   for(Int_t co=0;co<4;co++)
+   {
+    if(cumulantsVsM[f][m][co]){counter++;}
+   }
+  }
+ }
+ if(counter == 0)
+ {
+  cout<<endl;
+  cout<<" WARNING: Couldn't access a single histogram with results vs multiplicity !!!!"<<endl;
+  cout<<"          Did you enable this calculation before running over data?"<<endl;
+  cout<<endl;
+  exit(0);
+ }   
+
 } // end of void GetHistograms()
 
 // =====================================================================================
index 4fb0f8a..f21af0b 100644 (file)
@@ -126,6 +126,7 @@ void showSpread(TString type="", Int_t mode=mLocal)
   
  cout<<Form("Accessed %d files \"AnalysisResults.root\" in total to estimate spread. ",fileCounter)<<endl;
  cout<<endl;
+ if(fileCounter==0){exit(0);}
  const Int_t nFilesFinal = fileCounter;
 
  // Make for each method graph holding results: