ROOT logo
// Macro to make final QA spectra from information stored
// in QA performance objects. It is done in 2 steps:
// 1. Merging TPC QA performance train output
// 2. Analyse generic histograms to make final QA spectra 
//
// 
// One can merge all performance objects stored in the 
// output files or one of them:
// 
// ALL - all components only for simulaltion
// NO_MC - all components only for realdata
// RES (At DCA, at InnerTPC, at outerTPC)
// EFF
// DEDX
// DCA
// TPC
// Match (TPC+ITS, TPC+TRD, TPC Eff wrt ITS)
//
// It is recommeneded to merge particular components 
// for a big statistcs due to too big size of the output. For small
// dedicated productions (e.g. flat-p) all components can be merged at once.
//
//void MergeOutput(const char* filename = "list.txt", const char* comp = "ALL", Int_t max=2);
//void MakeFinalSpectra(const char* filename = "merged.root", const char* comp = "ALL");
void MergeOutput(const char* filename, const char* comp, Int_t max);
//void MakeFinalSpectra(const char* filename, const char* comp);
void MakeFinalSpectra(const char* comp);

void MakeResults(const char* filename = "parf.list", const char* comp = "NO_MC", Int_t max=-1)
{
  gStyle->SetPalette(1);
  gStyle->SetNumberContours(50);

  gSystem->Load("libANALYSIS");
  gSystem->Load("libANALYSISalice");
  gSystem->Load("libTENDER");

  gSystem->Load("libTPCcalib.so");
  gSystem->Load("libPWGPP");

  // Merge performance objects
  MergeOutput(filename, comp, max);

  // Make final spectra
  MakeFinalSpectra(comp);
}


void MergeOutput(const char* filename, const char* comp, Int_t max)
{
  //
  if(!filename) 
  { 
    printf("ERROR file %s does not exist \n",filename);
    return;
  }

  // Performance object 
  TString str(comp);

  // Create new collections
  TList *collTPC = new TList;
  TList *collRes = new TList;
  TList *collResTPCInner = new TList;
  TList *collResTPCOuter = new TList;
  TList *collEff = new TList;
  TList *colldEdxTPCInner = new TList;
  TList *collDCA = new TList;
  TList *collMatchTPCITS = new TList;
  TList *collMatchTPCTRD = new TList;
  TList *collMatchTPCEFF = new TList;

  // Open the input stream
  ifstream in;
  in.open(filename);

  // Read the input list of files and add them to the chain
  TString perfile;
  Int_t counter=0;
  while(!in.eof()) {
    in >> perfile;
    if (!perfile.Contains("root")) continue; // protection
    counter++;
    if(max>0 && counter>max) break;
    printf("%s \n",perfile.Data());
    TFile::Open(perfile.Data());
    gFile->cd();
    TList *coutput = gFile->Get("TPC"); 

    if(str.CompareTo("NO_MC")==0) {
      collTPC->Add(coutput->FindObject("AliPerformanceTPC"));
      colldEdxTPCInner->Add(coutput->FindObject("AliPerformanceDEdxTPCInner"));
      collDCA->Add(coutput->FindObject("AliPerformanceDCA"));
      collMatchTPCITS->Add(coutput->FindObject("AliPerformanceMatchTPCITS"));
      collMatchTPCTRD->Add(coutput->FindObject("AliPerformanceMatchTPCTRD"));
      collMatchTPCEFF->Add(coutput->FindObject("AliPerformanceMatchTPCEFF"));
    } 

    if(str.CompareTo("ALL")==0) {
      collTPC->Add(coutput->FindObject("AliPerformanceTPC"));
      collRes->Add(coutput->FindObject("AliPerformanceRes"));
      collResTPCInner->Add(coutput->FindObject("AliPerformanceResTPCInner"));
      collResTPCOuter->Add(coutput->FindObject("AliPerformanceResTPCOuter"));
      collEff->Add(coutput->FindObject("AliPerformanceEff"));
      colldEdxTPCInner->Add(coutput->FindObject("AliPerformanceDEdxTPCInner"));
      collDCA->Add(coutput->FindObject("AliPerformanceDCA"));
      collMatchTPCITS->Add(coutput->FindObject("AliPerformanceMatchTPCITS"));
      collMatchTPCTRD->Add(coutput->FindObject("AliPerformanceMatchTPCTRD"));
      collMatchTPCEFF->Add(coutput->FindObject("AliPerformanceMatchTPCEFF"));
    } 
    else if(str.CompareTo("TPC")==0) {
      collTPC->Add(coutput->FindObject("AliPerformanceTPC"));
    }
    else if(str.CompareTo("RES")==0) {
      collRes->Add(coutput->FindObject("AliPerformanceRes"));
      collResTPCInner->Add(coutput->FindObject("AliPerformanceResTPCInner"));
      collResTPCOuter->Add(coutput->FindObject("AliPerformanceResTPCOuter"));
    }
    else if(str.CompareTo("EFF")==0) {
      collEff->Add(coutput->FindObject("AliPerformanceEff"));
    }
    else if(str.CompareTo("DEDX")==0) {
      colldEdxTPCInner->Add(coutput->FindObject("AliPerformanceDEdxTPCInner"));
    }
    else if(str.CompareTo("DCA")==0) {
      collDCA->Add(coutput->FindObject("AliPerformanceDCA"));
    }
    else if(str.CompareTo("MATCH")==0) {
      collMatchTPCITS->Add(coutput->FindObject("AliPerformanceMatchTPCITS"));
      collMatchTPCTRD->Add(coutput->FindObject("AliPerformanceMatchTPCTRD"));
      collMatchTPCEFF->Add(coutput->FindObject("AliPerformanceMatchTPCEFF"));
    }
    else {
     continue;
    }
  }
  in.close();

  //
  AliPerformanceTPC *tpc = new AliPerformanceTPC("AliPerformanceTPC","AliPerformanceTPC",0,kFALSE);
  AliPerformanceRes *res = new AliPerformanceRes("AliPerformanceRes","res",0,kFALSE);
  AliPerformanceRes *resTPCInner = new AliPerformanceRes("AliPerformanceResTPCInner","AliPerformanceResTPCInner",3,kFALSE);
  AliPerformanceRes *resTPCOuter = new AliPerformanceRes("AliPerformanceResTPCOuter","AliPerformanceResTPCOuter",4,kFALSE);
  AliPerformanceEff *eff = new AliPerformanceEff("AliPerformanceEff","AliPerformanceEff",0,kFALSE);
  AliPerformanceDEdx *dedx = new AliPerformanceDEdx("AliPerformanceDEdxTPCInner","AliPerformanceDEdxTPCInner",3,kFALSE);
  AliPerformanceDCA *dca = new AliPerformanceDCA("AliPerformanceDCA","AliPerformanceDCA",0,kFALSE);
  AliPerformanceMatch *matchTPCITS = new AliPerformanceMatch("AliPerformanceMatchTPCITS","AliPerformanceTPCITS",0,kFALSE);
  AliPerformanceMatch *matchTPCTRD = new AliPerformanceMatch("AliPerformanceMatchTPCTRD","AliPerformanceTPCTRD",1,kFALSE);
  AliPerformanceMatch *matchTPCEFF = new AliPerformanceMatch("AliPerformanceMatchTPCEFF","AliPerformanceTPCEFF",2,kFALSE);

  // Create output list
  TFolder *outList = new TFolder();
  outList->SetOwner();
  outList->SetName("coutput");

  // merge objects and add to the list
  if(!str.CompareTo("ALL")) {
    tpc->Merge(collTPC); 
    outList->Add(tpc);
    res->Merge(collRes);
    outList->Add(res);
    resTPCInner->Merge(collResTPCInner);
    outList->Add(resTPCInner);
    resTPCOuter->Merge(collResTPCOuter);
    outList->Add(resTPCOuter);
    eff->Merge(collEff);
    outList->Add(eff);
    dedx->Merge(colldEdxTPCInner);
    outList->Add(dedx);
    dca->Merge(collDCA);
    outList->Add(dca);
    matchTPCITS->Merge(collMatchTPCITS);
    outList->Add(matchTPCITS);
    matchTPCTRD->Merge(collMatchTPCTRD);
    outList->Add(matchTPCTRD);
    matchTPCEFF->Merge(collMatchTPCEFF);
    outList->Add(matchTPCEFF);
  }
  else if(!str.CompareTo("NO_MC")) {
    tpc->Merge(collTPC); 
    outList->Add(tpc);
    dedx->Merge(colldEdxTPCInner);
    outList->Add(dedx);
    dca->Merge(collDCA);
    outList->Add(dca);
    matchTPCITS->Merge(collMatchTPCITS);
    outList->Add(matchTPCITS);
    matchTPCTRD->Merge(collMatchTPCTRD);
    outList->Add(matchTPCTRD);
    matchTPCEFF->Merge(collMatchTPCEFF);
    outList->Add(matchTPCEFF);
  }
  else if(!str.CompareTo("TPC")) {
    tpc->Merge(collTPC); 
    outList->Add(tpc);
  }
  else if(!str.CompareTo("RES")) {
    res->Merge(collRes);
    outList->Add(res);
    resTPCInner->Merge(collResTPCInner);
    outList->Add(resTPCInner);
    resTPCOuter->Merge(collResTPCOuter);
    outList->Add(resTPCOuter);
  }
  else if(!str.CompareTo("EFF")) {
    eff->Merge(collEff);
    outList->Add(eff);
  }
  else if(!str.CompareTo("DEDX")) {
    dedx->Merge(colldEdxTPCInner);
    outList->Add(dedx);
  }
  else if(!str.CompareTo("DCA")) {
    dca->Merge(collDCA);
    outList->Add(dca);
  }
  else if(!str.CompareTo("MATCH")) {
    matchTPCITS->Merge(collMatchTPCITS);
    outList->Add(matchTPCITS);
    matchTPCTRD->Merge(collMatchTPCTRD);
    outList->Add(matchTPCTRD);
    matchTPCEFF->Merge(collMatchTPCEFF);
    outList->Add(matchTPCEFF);
  }

  //
  
  TFile *outFile = new TFile( Form("TPC.Performance.Merged.%s.root",comp),"recreate");
  outFile->cd();
  outList->Write();
  outFile->Close();
}

void MakeFinalSpectra(const char* comp) 
{
  // open proper input file
  TFile *inFile = TFile::Open(Form("TPC.Performance.Merged.%s.root",comp));
  inFile->cd();

  // Performance object 
  TString str(comp);

  if(str.CompareTo("ALL") == 0) 
  {
    AliPerformanceTPC * compObjTPC = (AliPerformanceTPC*)coutput->FindObject("AliPerformanceTPC");
    compObjTPC->Analyse();
    compObjTPC->GetAnalysisFolder()->ls("*");
    compObjTPC->PrintHisto(kTRUE,"PerformanceTPCQA.ps");
    TFile fout("PerformanceTPCQA.root","recreate");
    compObjTPC->GetAnalysisFolder()->Write();
    fout.Close();

  inFile->cd();
    AliPerformanceEff * compObjEff = (AliPerformanceEff*)coutput->FindObject("AliPerformanceEff");
    compObjEff->Analyse();
    compObjEff->GetAnalysisFolder()->ls("*");
    compObjEff->PrintHisto(kTRUE,"PerformanceEffQA.ps");
    TFile fout("PerformanceEffQA.root","recreate");
    compObjEff->GetAnalysisFolder()->Write();
    fout.Close();

  inFile->cd();
    AliPerformanceDCA * compObjDCA = (AliPerformanceDCA*)coutput->FindObject("AliPerformanceDCA");
    compObjDCA->Analyse();
    compObjDCA->GetAnalysisFolder()->ls("*");
    compObjDCA->PrintHisto(kTRUE,"PerformanceDCAQA.ps");
    TFile fout("PerformanceDCAQA.root","recreate");
    compObjDCA->GetAnalysisFolder()->Write();
    fout.Close();

  inFile->cd();
    AliPerformanceRes * compObjRes = (AliPerformanceRes*)coutput->FindObject("AliPerformanceRes");
    compObjRes->Analyse();
    compObjRes->GetAnalysisFolder()->ls("*");
    compObjRes->PrintHisto(kTRUE,"PerformanceResQA.ps");
    TFile fout("PerformanceResQA.root","recreate");
    compObjRes->GetAnalysisFolder()->Write();
    fout.Close();

  inFile->cd();
    AliPerformanceRes * compObjRes = (AliPerformanceRes*)coutput->FindObject("AliPerformanceResTPCInner");
    compObjRes->Analyse();
    compObjRes->GetAnalysisFolder()->ls("*");
    compObjRes->PrintHisto(kTRUE,"PerformanceResTPCInnerQA.ps");
    TFile fout("PerformanceResTPCInnerQA.root","recreate");
    compObjRes->GetAnalysisFolder()->Write();
    fout.Close();

  inFile->cd();
    AliPerformanceRes * compObjRes = (AliPerformanceRes*)coutput->FindObject("AliPerformanceResTPCOuter");
    compObjRes->Analyse();
    compObjRes->GetAnalysisFolder()->ls("*");
    compObjRes->PrintHisto(kTRUE,"PerformanceResTPCOuterQA.ps");
    TFile fout("PerformanceResTPCOuterQA.root","recreate");
    compObjRes->GetAnalysisFolder()->Write();
    fout.Close();

  inFile->cd();
    AliPerformanceDEdx* compObjDEdx = (AliPerformanceDEdx*)coutput->FindObject("AliPerformanceDEdxTPCInner");
    compObjDEdx->Analyse();
    compObjDEdx->GetAnalysisFolder()->ls("*");
    compObjDEdx->PrintHisto(kTRUE,"PerformanceDEdxTPCInnerQA.ps");
    TFile fout("PerformanceDEdxTPCInnerQA.root","recreate");
    compObjDEdx->GetAnalysisFolder()->Write();
    fout.Close();

 inFile->cd();
    AliPerformanceMatch * compObjMatchTPCITS = (AliPerformanceMatch*)coutput->FindObject("AliPerformanceMatchTPCITS");
    compObjMatchTPCITS->Analyse();
    compObjMatchTPCITS->GetAnalysisFolder()->ls("*");
    compObjMatchTPCITS->PrintHisto(kTRUE,"PerformanceMatchTPCITSQA.ps");
    TFile fout("PerformanceMatchTPCITSQA.root","recreate");
    compObjMatchTPCITS->GetAnalysisFolder()->Write();
    fout.Close();

  inFile->cd();
    AliPerformanceMatch * compObjMatchTPCTRD = (AliPerformanceMatch*)coutput->FindObject("AliPerformanceMatchTPCTRD");
    compObjMatchTPCTRD->Analyse();
    compObjMatchTPCTRD->GetAnalysisFolder()->ls("*");
    compObjMatchTPCTRD->PrintHisto(kTRUE,"PerformanceMatchTPCTRDQA.ps");
    TFile fout("PerformanceMatchTPCTRDQA.root","recreate");
    compObjMatchTPCTRD->GetAnalysisFolder()->Write();
    fout.Close();

inFile->cd();
    AliPerformanceMatch * compObjMatchTPCEFF = (AliPerformanceMatch*)coutput->FindObject("AliPerformanceMatchTPCEFF");
    compObjMatchTPCEFF->Analyse();
    compObjMatchTPCEFF->GetAnalysisFolder()->ls("*");
    compObjMatchTPCEFF->PrintHisto(kTRUE,"PerformanceMatchTPCEFFQA.ps");
    TFile fout("PerformanceMatchTPCEFFQA.root","recreate");
    compObjMatchTPCEFF->GetAnalysisFolder()->Write();
    fout.Close();
  }
  else if(str.CompareTo("NO_MC") == 0) 
  {
    AliPerformanceTPC * compObjTPC = (AliPerformanceTPC*)coutput->FindObject("AliPerformanceTPC");
    compObjTPC->Analyse();
    compObjTPC->GetAnalysisFolder()->ls("*");
    compObjTPC->PrintHisto(kTRUE,"PerformanceTPCQA.ps");
    TFile fout("PerformanceTPCQA.root","recreate");
    compObjTPC->GetAnalysisFolder()->Write();
    fout.Close();

  inFile->cd();
    AliPerformanceDCA * compObjDCA = (AliPerformanceDCA*)coutput->FindObject("AliPerformanceDCA");
    compObjDCA->Analyse();
    compObjDCA->GetAnalysisFolder()->ls("*");
    compObjDCA->PrintHisto(kTRUE,"PerformanceDCAQA.ps");
    TFile fout("PerformanceDCAQA.root","recreate");
    compObjDCA->GetAnalysisFolder()->Write();
    fout.Close();

  inFile->cd();
    AliPerformanceDEdx* compObjDEdx = (AliPerformanceDEdx*)coutput->FindObject("AliPerformanceDEdxTPCInner");
    compObjDEdx->Analyse();
    compObjDEdx->GetAnalysisFolder()->ls("*");
    compObjDEdx->PrintHisto(kTRUE,"PerformanceDEdxTPCInnerQA.ps");
    TFile fout("PerformanceDEdxTPCInnerQA.root","recreate");
    compObjDEdx->GetAnalysisFolder()->Write();
    fout.Close();
    
  inFile->cd();
    AliPerformanceMatch * compObjMatchTPCITS = (AliPerformanceMatch*)coutput->FindObject("AliPerformanceMatchTPCITS");
    compObjMatchTPCITS->Analyse();
    compObjMatchTPCITS->GetAnalysisFolder()->ls("*");
    compObjMatchTPCITS->PrintHisto(kTRUE,"PerformanceMatchTPCITSQA.ps");
    TFile fout("PerformanceMatchTPCITSQA.root","recreate");
    compObjMatchTPCITS->GetAnalysisFolder()->Write();
    fout.Close();

  inFile->cd();
    AliPerformanceMatch * compObjMatchTPCTRD = (AliPerformanceMatch*)coutput->FindObject("AliPerformanceMatchTPCTRD");
    compObjMatchTPCTRD->Analyse();
    compObjMatchTPCTRD->GetAnalysisFolder()->ls("*");
    compObjMatchTPCTRD->PrintHisto(kTRUE,"PerformanceMatchTPCTRDQA.ps");
    TFile fout("PerformanceMatchTPCTRDQA.root","recreate");
    compObjMatchTPCTRD->GetAnalysisFolder()->Write();
    fout.Close();
   
inFile->cd();
    AliPerformanceMatch * compObjMatchTPCEFF = (AliPerformanceMatch*)coutput->FindObject("AliPerformanceMatchTPCEFF");
    compObjMatchTPCEFF->Analyse();
    compObjMatchTPCEFF->GetAnalysisFolder()->ls("*");
    compObjMatchTPCEFF->PrintHisto(kTRUE,"PerformanceMatchTPCEFFQA.ps");
    TFile fout("PerformanceMatchTPCEFFQA.root","recreate");
    compObjMatchTPCEFF->GetAnalysisFolder()->Write();
    fout.Close();
  }
  else if(str.CompareTo("TPC") == 0) 
  {
  inFile->cd();
    AliPerformanceTPC * compObjTPC = (AliPerformanceTPC*)coutput->FindObject("AliPerformanceTPC");
    compObjTPC->Analyse();
    compObjTPC->GetAnalysisFolder()->ls("*");
    compObjTPC->PrintHisto(kTRUE,"PerformanceTPCQA.ps");
    TFile fout("PerformanceTPCQA.root","recreate");
    compObjTPC->GetAnalysisFolder()->Write();
    fout.Close();
  }
  else if(str.CompareTo("EFF") == 0) 
  {
  inFile->cd();
    AliPerformanceEff * compObjEff = (AliPerformanceEff*)coutput->FindObject("AliPerformanceEff");
    compObjEff->Analyse();
    compObjEff->GetAnalysisFolder()->ls("*");
    compObjEff->PrintHisto(kTRUE,"PerformanceEffQA.ps");
    TFile fout("PerformanceEffQA.root","recreate");
    compObjEff->GetAnalysisFolder()->Write();
    fout.Close();
  }
  else if(str.CompareTo("RES") == 0) 
  {
  inFile->cd();
    AliPerformanceRes * compObjRes = (AliPerformanceRes*)coutput->FindObject("AliPerformanceRes");
    compObjRes->Analyse();
    compObjRes->GetAnalysisFolder()->ls("*");
    compObjRes->PrintHisto(kTRUE,"PerformanceResQA.ps");
    TFile fout("PerformanceResQA.root","recreate");
    compObjRes->GetAnalysisFolder()->Write();
    fout.Close();

  inFile->cd();
    AliPerformanceRes * compObjRes = (AliPerformanceRes*)coutput->FindObject("AliPerformanceResTPCInner");
    compObjRes->Analyse();
    compObjRes->GetAnalysisFolder()->ls("*");
    compObjRes->PrintHisto(kTRUE,"PerformanceResTPCInnerQA.ps");
    TFile fout("PerformanceResTPCInnerQA.root","recreate");
    compObjRes->GetAnalysisFolder()->Write();
    fout.Close();
  }
  else if(str.CompareTo("DEDX") == 0) 
  {
  inFile->cd();
    AliPerformanceDEdx* compObjDEdx = (AliPerformanceDEdx*)coutput->FindObject("AliPerformanceDEdxTPCInner");
    compObjDEdx->Analyse();
    compObjDEdx->GetAnalysisFolder()->ls("*");
    compObjDEdx->PrintHisto(kTRUE,"PerformanceDEdxTPCInnerQA.ps");
    TFile fout("PerformanceDEdxTPCInnerQA.root","recreate");
    compObjDEdx->GetAnalysisFolder()->Write();
    fout.Close();
  }
  else if(str.CompareTo("DCA") == 0) 
  {
  inFile->cd();
    AliPerformanceDCA * compObjDCA = (AliPerformanceDCA*)coutput->FindObject("AliPerformanceDCA");
    compObjDCA->Analyse();
    compObjDCA->GetAnalysisFolder()->ls("*");
    compObjDCA->PrintHisto(kTRUE,"PerformanceDCAQA.ps");
    TFile fout("PerformanceDCAQA.root","recreate");
    compObjDCA->GetAnalysisFolder()->Write();
    fout.Close();
  }
  else if(str.CompareTo("MATCH") == 0) 
  {
  inFile->cd();
    AliPerformanceMatch * compObjMatchTPCITS = (AliPerformanceMatch*)coutput->FindObject("AliPerformanceMatchTPCITS");
    compObjMatchTPCITS->Analyse();
    compObjMatchTPCITS->GetAnalysisFolder()->ls("*");
    compObjMatchTPCITS->PrintHisto(kTRUE,"PerformanceMatchTPCITSQA.ps");
    TFile fout("PerformanceMatchTPCITSQA.root","recreate");
    compObjMatchTPCITS->GetAnalysisFolder()->Write();
    fout.Close();

  inFile->cd();
    AliPerformanceMatch * compObjMatchTPCTRD = (AliPerformanceMatch*)coutput->FindObject("AliPerformanceMatchTPCTRD");
    compObjMatchTPCTRD->Analyse();
    compObjMatchTPCTRD->GetAnalysisFolder()->ls("*");
    compObjMatchTPCTRD->PrintHisto(kTRUE,"PerformanceMatchTPCTRDQA.ps");
    TFile fout("PerformanceMatchTPCTRDQA.root","recreate");
    compObjMatchTPCTRD->GetAnalysisFolder()->Write();
    fout.Close();

inFile->cd();
    AliPerformanceMatch * compObjMatchTPCEFF = (AliPerformanceMatch*)coutput->FindObject("AliPerformanceMatchTPCEFF");
    compObjMatchTPCEFF->Analyse();
    compObjMatchTPCEFF->GetAnalysisFolder()->ls("*");
    compObjMatchTPCEFF->PrintHisto(kTRUE,"PerformanceMatchTPCEFFQA.ps");
    TFile fout("PerformanceMatchTPCEFFQA.root","recreate");
    compObjMatchTPCEFF->GetAnalysisFolder()->Write();
    fout.Close();
  }
}
 MakeResults.C:1
 MakeResults.C:2
 MakeResults.C:3
 MakeResults.C:4
 MakeResults.C:5
 MakeResults.C:6
 MakeResults.C:7
 MakeResults.C:8
 MakeResults.C:9
 MakeResults.C:10
 MakeResults.C:11
 MakeResults.C:12
 MakeResults.C:13
 MakeResults.C:14
 MakeResults.C:15
 MakeResults.C:16
 MakeResults.C:17
 MakeResults.C:18
 MakeResults.C:19
 MakeResults.C:20
 MakeResults.C:21
 MakeResults.C:22
 MakeResults.C:23
 MakeResults.C:24
 MakeResults.C:25
 MakeResults.C:26
 MakeResults.C:27
 MakeResults.C:28
 MakeResults.C:29
 MakeResults.C:30
 MakeResults.C:31
 MakeResults.C:32
 MakeResults.C:33
 MakeResults.C:34
 MakeResults.C:35
 MakeResults.C:36
 MakeResults.C:37
 MakeResults.C:38
 MakeResults.C:39
 MakeResults.C:40
 MakeResults.C:41
 MakeResults.C:42
 MakeResults.C:43
 MakeResults.C:44
 MakeResults.C:45
 MakeResults.C:46
 MakeResults.C:47
 MakeResults.C:48
 MakeResults.C:49
 MakeResults.C:50
 MakeResults.C:51
 MakeResults.C:52
 MakeResults.C:53
 MakeResults.C:54
 MakeResults.C:55
 MakeResults.C:56
 MakeResults.C:57
 MakeResults.C:58
 MakeResults.C:59
 MakeResults.C:60
 MakeResults.C:61
 MakeResults.C:62
 MakeResults.C:63
 MakeResults.C:64
 MakeResults.C:65
 MakeResults.C:66
 MakeResults.C:67
 MakeResults.C:68
 MakeResults.C:69
 MakeResults.C:70
 MakeResults.C:71
 MakeResults.C:72
 MakeResults.C:73
 MakeResults.C:74
 MakeResults.C:75
 MakeResults.C:76
 MakeResults.C:77
 MakeResults.C:78
 MakeResults.C:79
 MakeResults.C:80
 MakeResults.C:81
 MakeResults.C:82
 MakeResults.C:83
 MakeResults.C:84
 MakeResults.C:85
 MakeResults.C:86
 MakeResults.C:87
 MakeResults.C:88
 MakeResults.C:89
 MakeResults.C:90
 MakeResults.C:91
 MakeResults.C:92
 MakeResults.C:93
 MakeResults.C:94
 MakeResults.C:95
 MakeResults.C:96
 MakeResults.C:97
 MakeResults.C:98
 MakeResults.C:99
 MakeResults.C:100
 MakeResults.C:101
 MakeResults.C:102
 MakeResults.C:103
 MakeResults.C:104
 MakeResults.C:105
 MakeResults.C:106
 MakeResults.C:107
 MakeResults.C:108
 MakeResults.C:109
 MakeResults.C:110
 MakeResults.C:111
 MakeResults.C:112
 MakeResults.C:113
 MakeResults.C:114
 MakeResults.C:115
 MakeResults.C:116
 MakeResults.C:117
 MakeResults.C:118
 MakeResults.C:119
 MakeResults.C:120
 MakeResults.C:121
 MakeResults.C:122
 MakeResults.C:123
 MakeResults.C:124
 MakeResults.C:125
 MakeResults.C:126
 MakeResults.C:127
 MakeResults.C:128
 MakeResults.C:129
 MakeResults.C:130
 MakeResults.C:131
 MakeResults.C:132
 MakeResults.C:133
 MakeResults.C:134
 MakeResults.C:135
 MakeResults.C:136
 MakeResults.C:137
 MakeResults.C:138
 MakeResults.C:139
 MakeResults.C:140
 MakeResults.C:141
 MakeResults.C:142
 MakeResults.C:143
 MakeResults.C:144
 MakeResults.C:145
 MakeResults.C:146
 MakeResults.C:147
 MakeResults.C:148
 MakeResults.C:149
 MakeResults.C:150
 MakeResults.C:151
 MakeResults.C:152
 MakeResults.C:153
 MakeResults.C:154
 MakeResults.C:155
 MakeResults.C:156
 MakeResults.C:157
 MakeResults.C:158
 MakeResults.C:159
 MakeResults.C:160
 MakeResults.C:161
 MakeResults.C:162
 MakeResults.C:163
 MakeResults.C:164
 MakeResults.C:165
 MakeResults.C:166
 MakeResults.C:167
 MakeResults.C:168
 MakeResults.C:169
 MakeResults.C:170
 MakeResults.C:171
 MakeResults.C:172
 MakeResults.C:173
 MakeResults.C:174
 MakeResults.C:175
 MakeResults.C:176
 MakeResults.C:177
 MakeResults.C:178
 MakeResults.C:179
 MakeResults.C:180
 MakeResults.C:181
 MakeResults.C:182
 MakeResults.C:183
 MakeResults.C:184
 MakeResults.C:185
 MakeResults.C:186
 MakeResults.C:187
 MakeResults.C:188
 MakeResults.C:189
 MakeResults.C:190
 MakeResults.C:191
 MakeResults.C:192
 MakeResults.C:193
 MakeResults.C:194
 MakeResults.C:195
 MakeResults.C:196
 MakeResults.C:197
 MakeResults.C:198
 MakeResults.C:199
 MakeResults.C:200
 MakeResults.C:201
 MakeResults.C:202
 MakeResults.C:203
 MakeResults.C:204
 MakeResults.C:205
 MakeResults.C:206
 MakeResults.C:207
 MakeResults.C:208
 MakeResults.C:209
 MakeResults.C:210
 MakeResults.C:211
 MakeResults.C:212
 MakeResults.C:213
 MakeResults.C:214
 MakeResults.C:215
 MakeResults.C:216
 MakeResults.C:217
 MakeResults.C:218
 MakeResults.C:219
 MakeResults.C:220
 MakeResults.C:221
 MakeResults.C:222
 MakeResults.C:223
 MakeResults.C:224
 MakeResults.C:225
 MakeResults.C:226
 MakeResults.C:227
 MakeResults.C:228
 MakeResults.C:229
 MakeResults.C:230
 MakeResults.C:231
 MakeResults.C:232
 MakeResults.C:233
 MakeResults.C:234
 MakeResults.C:235
 MakeResults.C:236
 MakeResults.C:237
 MakeResults.C:238
 MakeResults.C:239
 MakeResults.C:240
 MakeResults.C:241
 MakeResults.C:242
 MakeResults.C:243
 MakeResults.C:244
 MakeResults.C:245
 MakeResults.C:246
 MakeResults.C:247
 MakeResults.C:248
 MakeResults.C:249
 MakeResults.C:250
 MakeResults.C:251
 MakeResults.C:252
 MakeResults.C:253
 MakeResults.C:254
 MakeResults.C:255
 MakeResults.C:256
 MakeResults.C:257
 MakeResults.C:258
 MakeResults.C:259
 MakeResults.C:260
 MakeResults.C:261
 MakeResults.C:262
 MakeResults.C:263
 MakeResults.C:264
 MakeResults.C:265
 MakeResults.C:266
 MakeResults.C:267
 MakeResults.C:268
 MakeResults.C:269
 MakeResults.C:270
 MakeResults.C:271
 MakeResults.C:272
 MakeResults.C:273
 MakeResults.C:274
 MakeResults.C:275
 MakeResults.C:276
 MakeResults.C:277
 MakeResults.C:278
 MakeResults.C:279
 MakeResults.C:280
 MakeResults.C:281
 MakeResults.C:282
 MakeResults.C:283
 MakeResults.C:284
 MakeResults.C:285
 MakeResults.C:286
 MakeResults.C:287
 MakeResults.C:288
 MakeResults.C:289
 MakeResults.C:290
 MakeResults.C:291
 MakeResults.C:292
 MakeResults.C:293
 MakeResults.C:294
 MakeResults.C:295
 MakeResults.C:296
 MakeResults.C:297
 MakeResults.C:298
 MakeResults.C:299
 MakeResults.C:300
 MakeResults.C:301
 MakeResults.C:302
 MakeResults.C:303
 MakeResults.C:304
 MakeResults.C:305
 MakeResults.C:306
 MakeResults.C:307
 MakeResults.C:308
 MakeResults.C:309
 MakeResults.C:310
 MakeResults.C:311
 MakeResults.C:312
 MakeResults.C:313
 MakeResults.C:314
 MakeResults.C:315
 MakeResults.C:316
 MakeResults.C:317
 MakeResults.C:318
 MakeResults.C:319
 MakeResults.C:320
 MakeResults.C:321
 MakeResults.C:322
 MakeResults.C:323
 MakeResults.C:324
 MakeResults.C:325
 MakeResults.C:326
 MakeResults.C:327
 MakeResults.C:328
 MakeResults.C:329
 MakeResults.C:330
 MakeResults.C:331
 MakeResults.C:332
 MakeResults.C:333
 MakeResults.C:334
 MakeResults.C:335
 MakeResults.C:336
 MakeResults.C:337
 MakeResults.C:338
 MakeResults.C:339
 MakeResults.C:340
 MakeResults.C:341
 MakeResults.C:342
 MakeResults.C:343
 MakeResults.C:344
 MakeResults.C:345
 MakeResults.C:346
 MakeResults.C:347
 MakeResults.C:348
 MakeResults.C:349
 MakeResults.C:350
 MakeResults.C:351
 MakeResults.C:352
 MakeResults.C:353
 MakeResults.C:354
 MakeResults.C:355
 MakeResults.C:356
 MakeResults.C:357
 MakeResults.C:358
 MakeResults.C:359
 MakeResults.C:360
 MakeResults.C:361
 MakeResults.C:362
 MakeResults.C:363
 MakeResults.C:364
 MakeResults.C:365
 MakeResults.C:366
 MakeResults.C:367
 MakeResults.C:368
 MakeResults.C:369
 MakeResults.C:370
 MakeResults.C:371
 MakeResults.C:372
 MakeResults.C:373
 MakeResults.C:374
 MakeResults.C:375
 MakeResults.C:376
 MakeResults.C:377
 MakeResults.C:378
 MakeResults.C:379
 MakeResults.C:380
 MakeResults.C:381
 MakeResults.C:382
 MakeResults.C:383
 MakeResults.C:384
 MakeResults.C:385
 MakeResults.C:386
 MakeResults.C:387
 MakeResults.C:388
 MakeResults.C:389
 MakeResults.C:390
 MakeResults.C:391
 MakeResults.C:392
 MakeResults.C:393
 MakeResults.C:394
 MakeResults.C:395
 MakeResults.C:396
 MakeResults.C:397
 MakeResults.C:398
 MakeResults.C:399
 MakeResults.C:400
 MakeResults.C:401
 MakeResults.C:402
 MakeResults.C:403
 MakeResults.C:404
 MakeResults.C:405
 MakeResults.C:406
 MakeResults.C:407
 MakeResults.C:408
 MakeResults.C:409
 MakeResults.C:410
 MakeResults.C:411
 MakeResults.C:412
 MakeResults.C:413
 MakeResults.C:414
 MakeResults.C:415
 MakeResults.C:416
 MakeResults.C:417
 MakeResults.C:418
 MakeResults.C:419
 MakeResults.C:420
 MakeResults.C:421
 MakeResults.C:422
 MakeResults.C:423
 MakeResults.C:424
 MakeResults.C:425
 MakeResults.C:426
 MakeResults.C:427
 MakeResults.C:428
 MakeResults.C:429
 MakeResults.C:430
 MakeResults.C:431
 MakeResults.C:432
 MakeResults.C:433
 MakeResults.C:434
 MakeResults.C:435
 MakeResults.C:436
 MakeResults.C:437
 MakeResults.C:438
 MakeResults.C:439
 MakeResults.C:440
 MakeResults.C:441
 MakeResults.C:442
 MakeResults.C:443
 MakeResults.C:444
 MakeResults.C:445
 MakeResults.C:446
 MakeResults.C:447
 MakeResults.C:448
 MakeResults.C:449
 MakeResults.C:450
 MakeResults.C:451
 MakeResults.C:452
 MakeResults.C:453
 MakeResults.C:454
 MakeResults.C:455
 MakeResults.C:456
 MakeResults.C:457
 MakeResults.C:458
 MakeResults.C:459
 MakeResults.C:460
 MakeResults.C:461
 MakeResults.C:462
 MakeResults.C:463
 MakeResults.C:464
 MakeResults.C:465
 MakeResults.C:466
 MakeResults.C:467
 MakeResults.C:468
 MakeResults.C:469
 MakeResults.C:470
 MakeResults.C:471
 MakeResults.C:472
 MakeResults.C:473
 MakeResults.C:474
 MakeResults.C:475
 MakeResults.C:476
 MakeResults.C:477
 MakeResults.C:478
 MakeResults.C:479
 MakeResults.C:480
 MakeResults.C:481
 MakeResults.C:482
 MakeResults.C:483