12 bool comp_recoqa(
TString fn=
"QA_histograms.root", 
TString fn2=
"QA_histograms_test.root", 
double minP = 0.03, 
int minev = 3, 
int maxfail=3)
 
   16   TCanvas *
c1 = 
new TCanvas();
 
   19         TString templateFile = gSystem->Getenv(
"VMCWORKDIR");
 
   20         templateFile += 
"/macro/run/";
 
   23         TFile *
f=
new TFile(fn,
"READ");
 
   26                 TFile *
f2=
new TFile(templateFile,
"READ");
 
   29                 TIter 
next(f->GetListOfKeys());
 
   33                 while ( (key = (TKey*)
next()) )
 
   36                         TObject *obj = key->ReadObj();
 
   39                         if (!obj->InheritsFrom(
"TH1F")) 
continue;
 
   42                         TH1F* 
h  = (TH1F*) obj; 
 
   43                         TH1F* 
h2 = (TH1F*) f2->Get(name);
 
   47                         if ( h->GetMaximum()< h2->GetMaximum())
 
   49                             h2->Draw(); h->Draw(
"same");
 
   53                             h->Draw(); h2->Draw(
"same");
 
   55                         if ( h->GetEntries()<minev ) 
 
   57                                 cout << 
"Histogram (almost) empty : " << name << 
" \"" << h2->GetTitle() << 
"\":  N = " <<  h->GetEntries() << endl;
 
   62                                 double P = h2->KolmogorovTest(h);
 
   65                                         cout << 
"Incompatible distribution: " << name << 
" \"" << h2->GetTitle() << 
"\":  P = " << P << endl;
 
   72                 if (failcount<maxfail) fTest = kTRUE;
 
   77                 cout << 
" Test passed" << endl;
 
   78                 cout << 
" All ok " << endl;  
 
   80                 cout << 
" Test Failed" << endl;
 
   81                 cout << 
" Not Ok " << endl;         
 
bool comp_recoqa(TString fn="QA_histograms.root", TString fn2="QA_histograms_test.root", double minP=0.03, int minev=3, int maxfail=3)