]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG4/macros/QA/QAplots.C
move PWG4 macros to PWGGA corresponding places
[u/mrichter/AliRoot.git] / PWG4 / macros / QA / QAplots.C
diff --git a/PWG4/macros/QA/QAplots.C b/PWG4/macros/QA/QAplots.C
deleted file mode 100644 (file)
index 1f54d60..0000000
+++ /dev/null
@@ -1,678 +0,0 @@
-#if !defined(__CINT__) || defined(__MAKECINT__) 
-#include <TFile.h>
-#include <TH1F.h>
-#include <TH2F.h>
-#include <TH3D.h>
-#include <Riostream.h>
-#include <TCanvas.h>
-#include <TGraphErrors.h>
-#include <TGrid.h>
-#include <TFileMerger.h>
-#include <TMultiGraph.h>
-#include <TROOT.h>
-#include <TString.h>
-#include <TStyle.h>
-#include <TLegend.h>
-#include <TGridCollection.h>
-#include <TROOT.h>
-#include <TGridResult.h>
-#include <TClonesArray.h>
-#include <TObjString.h>
-#include <stdio.h>
-#include <fstream>
-#include <iostream>
-#include "AliEMCALGeometry.h" 
-#endif
-using namespace std;
-
-
-
-// Macro to do some EMCAL QA plots (from QA outputs (QAresults.root) of the QA train (AliAnaCalorimeterQA task) )
-//
-//
-// 1. macro needs AliEMCALGeometry to compute maps
-
-// 2. this macro makes the QA plots for 
-// - period or single runs
-// 
-// 3. to use it you should have the
-//-  QAresults.root files in period/pass/runnumber.root 
-//-  and if you are running in period mode a runlist.txt
-// file in the same directory: period/pass/runlist.txt
-// were runlist is the list of the runs you want to check
-//
-// 4. To save the plots you must create prior tu usig the macro in the 
-//  period/pass/ directory as many subdirectories as number of runs 
-//  with the name runnumber
-//  all gif files will be saved in those subdirectories
-//
-//
-// 5. The trigger corresponds to the name of the output directory in the root 
-// file so
-// "EMC7" for EMC triggers and "default" for AnyInt (Minbias) 
-// 
-// Authors: Alexis Mas, M. Germain  SUBATECH, 
-
-
-void QAplots(TString fCalorimeter = "EMCAL", TString period = "LHC11h", TString pass = "pass1_HLT", TString trigger= "default"){   
-  
-  FILE * pFile;
-  TString file = "";
-  if (trigger=="default") file = "/scratch/alicehp2/germain/QA/"+period+"/"+ pass + "/runlistMB.txt" ;
-  else                    file = "/scratch/alicehp2/germain/QA/"+period+"/"+ pass + "/runlistEMC.txt" ;
-  
-  pFile = fopen(file.Data(), "r"); //open the text file where include the run list and correct run index
-  
-  cout << " fcalo: " << fCalorimeter << "; period: " << period << "; pass: " << pass << "  trigger "<<trigger<<  endl; 
-    
-  Int_t p;
-  Int_t q;
-  Int_t ncols;
-  Int_t nlines = 0 ;
-  Int_t RunId[500] ;
-  
-  Double_t x[500] ;
-  Double_t xrun[500] ;
-  
-  while (1){
-    ncols = fscanf(pFile,"%d  %d ",&p,&q);
-    if (ncols< 0) break;
-    x[nlines]=p;
-    RunId[nlines]=q;
-    xrun[nlines]=1.*q;
-    nlines++;
-  }
-  fclose(pFile);
-  
-  const Int_t nRun = nlines ;
-  TString base ;
-  for(Int_t i = 0 ; i < nRun ; i++) { 
-    base = "/scratch/alicehp2/germain/QA/";
-    base += period ;
-    base += "/";
-    base += pass ;
-    base += "/";
-    base += RunId[i] ;
-    TString infile ;
-    infile = base + ".root" ;
-    TFile *f = TFile::Open(infile);
-    DrawOccupancy(RunId[i],period,pass,trigger,f);
-    DrawRun(RunId[i],period,pass,trigger,f);
-    f->Close();
-  }
-}
-
-void QAplots(Int_t run, TString period ="LHC11h", TString pass="pass1_HLT", TString trigger= "default"){
-  TString base ;
-  base = "/scratch/alicehp2/germain/QA/";
-  base += period ;
-  base += "/";
-  base += pass ;
-  base += "/";
-  base += run ;
-  TString infile ;
-  infile = base + ".root" ;
-  TFile *f = TFile::Open(infile);
-  DrawOccupancy(run,period,pass,trigger,f);
-  DrawRun(run,period,pass,trigger,f);
-  f->Close();
-}
-
-void DrawOccupancy(Int_t run , TString period ="LHC11h", TString pass="pass1_HLT", TString trigger= "default", TFile *f =0x0){
-  TH2D *hEnergyMap = new TH2D("hEnergyMap","",96,-48,48,120,-0,120);
-  TH2D *hOccupancyMap = new TH2D("hOccupancyMap","",96,-48,48,120,-0,120); 
-  TH2D *hEnergyMapReal = new TH2D("hEnergyMapReal","",96,-48,48,120,-0,120);
-  TH2D *hOccupancyMapReal = new TH2D("hOccupancyMapReal","",96,-48,48,120,-0,120);
-  hEnergyMapReal->SetXTitle("eta (bin)");
-  hEnergyMapReal->SetYTitle("phi (bin)");
-  hEnergyMapReal->SetZTitle("E(GeV)/event");
-  hEnergyMapReal->GetZaxis()->SetLabelSize(0.02);
-  hOccupancyMapReal->SetXTitle("eta (bin)");
-  hOccupancyMapReal->SetZTitle("entries/evt");
-  hOccupancyMapReal->GetZaxis()->SetLabelSize(0.02);
-  hOccupancyMapReal->SetXTitle("eta (bin)");
-  hEnergyMap->SetXTitle("eta (bin)");
-  hEnergyMap->SetYTitle("phi (bin)");
-  hOccupancyMap->SetXTitle("eta (bin)");
-  hOccupancyMap->SetYTitle("phi (bin)");
-  
-  gStyle->SetPalette(1);
-  gStyle->SetOptStat(0);
-  
-  AliEMCALGeometry *geom = new AliEMCALGeometry("EMCAL_COMPLETEv1","EMCAL");
-  Int_t nSupMod, nModule, nIphi, nIeta, nModulo, iRCU;
-  Int_t iphi, ieta,jj,kk;
-  Int_t icol, irow;
-  Int_t bineta, binphi;
-  Int_t realbineta, realbinphi;
-  TVector3 vg, gg;
-  Double_t eta, phi, glob[3];
-  
-  
-  //LHC11d 
-  //Int_t mask[224] = {74, 147, 152, 189, 191, 198, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 324, 491, 759, 917, 949, 1376, 1386, 1429, 1487, 1490, 1519, 1967, 2014, 2015, 2112, 2114, 2115, 2116, 2118, 2119, 2120, 2123, 2124, 2125, 2158, 2159, 2326, 2332, 2333, 2350, 2351, 2436, 2448, 2506, 2518, 2534, 2540, 2590, 2640, 2793, 2805, 2815, 2828, 2830, 2869, 2878, 2880, 2881, 2891, 2926, 2985, 3022, 3024, 3070, 3135, 3169, 3263, 3503, 4366, 4560, 4623, 6093, 6331, 6481, 7089, 7113, 7190, 7246, 7425, 7495, 7874,8358, 8811, 9024, 9269, 9302, 9387, 9696, 9697, 9698, 9699, 9701, 9702, 9703, 9704, 9705, 9706, 9707, 9710, 9711, 9748, 9792, 9793, 9794, 9795, 9796, 9797, 9798, 9799, 9800, 9801, 9802, 9803, 9804, 9805, 9806, 9807, 9815, 9819, 9824, 9828, 9829, 9830, 9831, 9832, 9834, 9835, 9836, 9837, 9838, 9839, 9850, 9872, 9874, 9875, 9877, 9878, 9879, 9881, 9882, 9883, 9888, 9890, 9891, 9894, 9896, 9897, 9898, 9899, 9902, 9927, 9938, 9939, 9942, 9943, 9945, 9946, 9947, 9948, 9949, 9950, 9951, 10035, 10073, 10084, 10085, 10086, 10090, 10093, 10112, 10113, 10114, 10115, 10116, 10117, 10118, 10119, 10120, 10121, 10122, 10123, 10124, 10125, 10126, 10127, 10718, 10723, 10728, 10771, 10831, 11042, 11043, 11090, 11363, 22222222};
-  
-  
-  //LHC11e  
-  //Int_t mask[174] = {74, 152, 167, 191, 759, 1059, 1175, 1204, 1288, 1376, 1382, 1386, 1519, 1967, 1968, 2026, 2047, 2112, 2114, 2115, 2116, 2118, 2119, 2120, 2123, 2124, 2125, 2210, 2339, 2350, 2391, 2506, 2540, 2793, 2828, 2869, 2891, 2985, 3135, 3503, 4377, 4817, 5600, 5601, 5602, 5603, 5612, 5613, 5614, 5615, 5648, 5649, 5650, 5651, 5660, 5661, 5662, 5663, 5836, 6104, 6331, 6481, 7089, 7371, 7375, 7425, 7572, 7874, 8358, 9269, 9302, 9389, 9696, 9697, 9698, 9699, 9700, 9701, 9702, 9703, 9705, 9706, 9707, 9708, 9709, 9710, 9711, 9750, 9758, 9792, 9793, 9794, 9795, 9798, 9800, 9801, 9803, 9804, 9815, 9819, 9824, 9825, 9828, 9829, 9830, 9831, 9832, 9833, 9834, 9835, 9836, 9838, 9872, 9874, 9875, 9878, 9882, 9883, 9889, 9890, 9891, 9892, 9893, 9894, 9896, 9897, 9898, 9899, 9900, 9901, 9902, 9903, 9927, 9936, 9937, 9938, 9939, 9940, 9941, 9942, 9943, 9945, 9947, 9948, 9949, 9950, 9951, 10086, 10112, 10113, 10114, 10115, 10116, 10118, 10119, 10120, 10121, 10122, 10123, 10124, 10125, 10126, 10127, 10134, 10135, 10138, 10143, 10718, 10723, 10771, 11042, 11091, 11363, 2222222};
-  
-  //LHC11f    
-  // Int_t mask[134] = {74, 152, 167, 759, 1204, 1267, 1288, 1376, 1382, 1386, 1424, 1519, 1967, 2026, 2047, 2112, 2114, 2115, 2116, 2118, 2119, 2120, 2123, 2124, 2125, 2506, 2540, 2793, 2828, 2869, 2891, 2985, 3135, 3503, 3785, 4817, 6104, 6331, 6481, 7371, 7375, 7425, 7572, 7874, 8218, 8220, 8222, 9269, 9282, 9302, 9455, 9698, 9699, 9700, 9701, 9702, 9703, 9705, 9706, 9707, 9708, 9709, 9710, 9711, 9748, 9758, 9792, 9793, 9794, 9795, 9796, 9797, 9798, 9799, 9800, 9801, 9803, 9804, 9805,9815, 9828, 9829, 9830, 9831, 9832, 9833, 9834, 9835, 9836, 9838, 9850, 9875, 9891, 9898, 9900, 9927, 9936, 9937, 9938, 9939, 9940, 9941, 9942, 9943, 9944, 9945, 9947, 9948, 9949, 9950, 9951, 10112, 10113, 10114, 10115, 10116, 10118, 10119, 10120, 10121, 10122, 10123, 10124, 10125, 10126, 10127, 10138, 10143, 10363, 10718, 10723, 11091, 11363, 2222222};
-  
-  //NO MASK
-  Int_t mask[1] = {2222222};
-  
-  TH2F *hCellAmplitude;
-  TH1F *hNEvents;
-  Int_t Events;
-  Int_t n=0;
-  TString base = "/scratch/alicehp2/germain/QA/";
-  base += period ;
-  base += "/";
-  base += pass ;
-  base += "/";
-  base += run ;
-  base += "/"; 
-  base += trigger;
-  // TString infile ;
-  //infile = base + ".root" ;
-  //*f = TFile::Open(infile);  
-  TString direct = "CaloQA_";
-  direct += trigger; 
-  TDirectoryFile *dir = (TDirectoryFile *)f->Get(direct);
-  TList *outputList = (TList*)dir->Get(direct);
-  
-  hNEvents =(TH1F *)outputList->FindObject("hNEvents");
-  Events = hNEvents->GetEntries();
-  hCellAmplitude =(TH2F *)outputList->FindObject("EMCAL_hAmpId");
-  //hCellAmplitude->Draw();
-  //TH2 *hCellAmplitude = (TH2*) gFile->Get("hCellAmplitude");
-  Double_t numb =0 ;
-  Double_t Eth=0;
-  Eth = 5.;
-  if ( trigger=="EMC7") Eth=20.;
-  
-  
-  for(Int_t i = 0; i < 11520 ; i++){ 
-    Double_t Esum = 0;
-    Double_t Nsum = 0;  
-    Double_t EsumH = 0;
-    Double_t NsumH = 0;
-    Double_t Ratio = 0;
-    
-    for (Int_t j = 1; j <= hCellAmplitude->GetNbinsX(); j++) {
-      Double_t E = hCellAmplitude->GetXaxis()->GetBinCenter(j);
-      Double_t N = hCellAmplitude->GetBinContent(j, i+1);
-      
-      if (E < 0.07) continue; 
-      //  if (E > 0.07) continue; 
-      
-      if (E <= Eth) {
-        Esum += E*N;
-        Nsum += N;
-      }
-      else { 
-        EsumH += E*N;
-        NsumH += N;
-      }
-    }
-    
-    if(NsumH > 100)  Ratio = Nsum/NsumH ; 
-    //  if(Nsum > 20000 && Nsum < 22000 ) cout<<"  "<<i ;
-    
-    Int_t absId = i;
-    if(n!=0) {if(mask[n]<=mask[n-1]) cout<<"not sorted list !!"<<endl;}
-    if(i==mask[n]){n++ ; continue; }
-    //         if(Esum/(Double_t) Events > 0.5) cout<<"BAD : "<<i<<endl;
-    
-    // hBadCellMap->Fill(1)
-    
-    
-    geom->GetCellIndex(absId,  nSupMod, nModule, nIphi, nIeta);
-    geom->GetCellPhiEtaIndexInSModule(nSupMod,nModule,nIphi,nIeta, iphi,ieta);
-    
-    realbinphi = 120-(nSupMod/2)*24 -iphi -1;
-    
-    
-    if (nSupMod%2==0) realbineta= 48-ieta -1;  
-    if (nSupMod%2==1) realbineta= -ieta -1;
-    
-    // to do as usual (Gustavo) SM0 high left SM9 low right 
-    
-    binphi = 96 - (nSupMod/2)*24 +iphi;
-    if (nSupMod%2==1) bineta=ieta;      
-    /*
-     Int_t compt; if(i==0) compt = 1; 
-     if(ieta==0){ cout<<compt <<endl ; compt ++;}
-     */
-    if (nSupMod%2==0) bineta=ieta-48;
-    
-    
-    
-    hEnergyMapReal->Fill(realbineta,realbinphi,Esum/(Double_t)Events);
-    hOccupancyMapReal->Fill(realbineta,realbinphi,Nsum/(Double_t)Events);
-    // }
-    
-  }
-  cout<<"N events : "<<Events<<endl;
-  
-  TString Energy ; Energy = base +  "MapEnergy.pdf";
-  TString Entries  ;  Entries = base + "MapEntries.pdf";
-  TCanvas *c1 = new TCanvas("c1","energymap",800,800); 
-  c1->SetFillColor(0);
-  c1->SetGrid();
-  c1->cd();  
-  c1->SetRightMargin(0.14); 
-  TString title = "run ";
-  title += run ;
-  title += " Summed energy map";
-  if(trigger=="EMC7") title += " EMC ";
-  hEnergyMapReal->SetTitle(title);
-  if(trigger== "EMC7"){
-    hEnergyMapReal->SetMinimum(0.001); //FOR Esum EMC triggers
-    hEnergyMapReal->SetMaximum(0.05); //FOR Esum
-  }else{
-    hEnergyMapReal->SetMinimum(0.005); //FOR Esum MB
-    hEnergyMapReal->SetMaximum(0.02); //FOR Esum
-  }
-  hEnergyMapReal->Draw("colz");  
-  
-  c1->cd();
-  c1->SaveAs(Energy);
-  
-  TCanvas *c2 = new TCanvas("c2","occupancy",800,800); 
-  //c2->SetLogz();
-  c2->SetFillColor(0);
-  c2->SetGrid();
-  c2->cd();  
-  c2->SetRightMargin(0.14);  
-  TString title2 = "run ";
-  title2 += run ;
-  title2 += " Occupancy map";
-  if(trigger=="EMC7") title2 += " EMC ";
-  
-  hOccupancyMapReal->SetTitle(title2);
-  //SCALE USE FOR LHC11h modify fotr pp
-  if(trigger== "EMC7"){
-    hOccupancyMapReal->SetMinimum(0.01); //FOR Nsum
-    hOccupancyMapReal->SetMaximum(0.5);} //FOR Nsum}
-  else{
-    hOccupancyMapReal->SetMinimum(0.01); //FOR Nsum
-    hOccupancyMapReal->SetMaximum(0.1); //FOR Nsum
-  } 
-  hOccupancyMapReal->Draw("colz");  
-  c2->cd();
-  c2->SaveAs(Entries);
-  c2->SaveAs(Entries2);
-  
-}
-void  DrawRun(const Int_t run = 167713, TString period ="LHC11h", TString pass="pass1_HLT", TString trigger= "default", TFile *f =0x0){
-  
-  gStyle->SetPalette(1);
-  TString base = "/scratch/alicehp2/germain/QA/"; 
-  base += period ;
-  base += "/";
-  base += pass ;
-  base += "/";
-  TString outfilename ;
-  TString outfilename2 ;
-  base += run ;
-  base += "/" ;
-  base += trigger ;
-  char legend [100]     ;
-  char legend2 [100]     ;
-  TString direct = "CaloQA_";
-  direct += trigger;
-  
-  
-  TDirectoryFile *dir = (TDirectoryFile *)f->Get(direct);
-  TList *outputList = (TList*)dir->Get(direct);
-  
-  
-  if (trigger =="EMC7"){ sprintf(legend,"Run %i EMC ",run);}
-  else sprintf(legend,"Run %i ",run);
-  
-  
-  
-  hClusterTimeEnergy =(TH2F *)outputList->FindObject("EMCAL_hClusterTimeEnergy");
-  
-  TString title3 =" Time Vs Energy";
-  title3 += legend ;
-  hClusterTimeEnergy->SetStats(kFALSE);
-  hClusterTimeEnergy->SetTitle(title3);
-  
-  hClusterVsTrack =(TH2F *)outputList->FindObject("EMCAL_hCaloTrackMNClusters");
-  hClusterVsTrack->SetStats(kFALSE);
-  TString title3 =" N cluster Vs N track";
-  title3 += legend ;
-  hClusterVsTrack->SetTitle(title3);
-  
-  
-  hClusterEVsTrack =(TH2F *)outputList->FindObject("EMCAL_hCaloTrackMEClusters");
-  hClusterEVsTrack->SetStats(kFALSE);
-  hClusterEVsTrack->SetTitle(legend);
-  TString title3 =" Sum E cluster Vs N track";
-  title3 += legend ;
-  hClusterEVsTrack->SetTitle(title3);
-  
-  
-  hClusterEVsV0S =(TH2F *)outputList->FindObject("EMCAL_hCaloV0SEClusters");
-  hClusterEVsV0S->SetStats(kFALSE);
-  TString title3 =" Sum E cluster Vs V0 signal";
-  title3 += legend ;
-  hClusterEVsV0S->SetTitle(title3);
-  
-  
-  hNCellsPerClusterMod0 =(TH2F *)outputList->FindObject("EMCAL_hNCellsPerCluster_Mod0");
-  hNCellsPerClusterMod0->SetStats(kFALSE);
-  
-  if(trigger=="EMC7"){sprintf(legend2,"Run %i EMC Mod 0",run);}
-  else {sprintf(legend2,"Run %i Mod 0",run);}
-  
-  
-  hNCellsPerClusterMod0->SetTitle(legend2);
-  
-  hNCellsPerClusterMod1 =(TH2F *)outputList->FindObject("EMCAL_hNCellsPerCluster_Mod1");
-  hNCellsPerClusterMod1->SetStats(kFALSE);
-  if(trigger=="EMC7"){sprintf(legend2,"Run %i EMC Mod 1",run);}
-  else {sprintf(legend2,"Run %i Mod 1",run);}
-  
-  
-  hNCellsPerClusterMod1->SetTitle(legend2);
-  
-  hNCellsPerClusterMod2 =(TH2F *)outputList->FindObject("EMCAL_hNCellsPerCluster_Mod2");
-  hNCellsPerClusterMod2->SetStats(kFALSE);
-  if(trigger=="EMC7"){sprintf(legend2,"Run %i EMC Mod 2",run);}
-  else {sprintf(legend2,"Run %i Mod 2",run);}
-  
-  hNCellsPerClusterMod2->SetTitle(legend2);
-  
-  hNCellsPerClusterMod3 =(TH2F *)outputList->FindObject("EMCAL_hNCellsPerCluster_Mod3");
-  hNCellsPerClusterMod3->SetStats(kFALSE);
-  if(trigger=="EMC7"){sprintf(legend2,"Run %i EMC Mod 3",run);}
-  else {sprintf(legend2,"Run %i Mod 3",run);}
-  
-  hNCellsPerClusterMod3->SetTitle(legend2);
-  
-  
-  hNCellsPerClusterMod4 =(TH2F *)outputList->FindObject("EMCAL_hNCellsPerCluster_Mod4");
-  hNCellsPerClusterMod4->SetStats(kFALSE);
-  if(trigger=="EMC7"){sprintf(legend2,"Run %i EMC Mod 4",run);}
-  else {sprintf(legend2,"Run %i Mod 4",run);}
-  
-  hNCellsPerClusterMod4->SetTitle(legend2);
-  
-  hNCellsPerClusterMod5 =(TH2F *)outputList->FindObject("EMCAL_hNCellsPerCluster_Mod5");
-  hNCellsPerClusterMod5->SetStats(kFALSE);
-  if(trigger=="EMC7"){sprintf(legend2,"Run %i EMC Mod 5",run);}
-  else {sprintf(legend2,"Run %i Mod 5",run);}
-  hNCellsPerClusterMod5->SetTitle(legend2);
-  
-  hNCellsPerClusterMod6 =(TH2F *)outputList->FindObject("EMCAL_hNCellsPerCluster_Mod6");
-  hNCellsPerClusterMod6->SetStats(kFALSE);
-  if(trigger=="EMC7"){sprintf(legend2,"Run %i EMC Mod 6",run);}
-  else {sprintf(legend2,"Run %i Mod 6",run);}
-  hNCellsPerClusterMod6->SetTitle(legend2);
-  
-  hNCellsPerClusterMod7 =(TH2F *)outputList->FindObject("EMCAL_hNCellsPerCluster_Mod7");
-  hNCellsPerClusterMod7->SetStats(kFALSE);
-  if(trigger=="EMC7"){sprintf(legend2,"Run %i EMC Mod 7",run);}
-  else {sprintf(legend2,"Run %i Mod 7",run);}
-  hNCellsPerClusterMod7->SetTitle(legend2);
-  
-  hNCellsPerClusterMod8 =(TH2F *)outputList->FindObject("EMCAL_hNCellsPerCluster_Mod8");
-  hNCellsPerClusterMod8->SetStats(kFALSE);
-  if(trigger=="EMC7"){sprintf(legend2,"Run %i EMC Mod 8",run);}
-  else {sprintf(legend2,"Run %i Mod 8",run);}
-  hNCellsPerClusterMod8->SetTitle(legend2);
-  
-  hNCellsPerClusterMod9 =(TH2F *)outputList->FindObject("EMCAL_hNCellsPerCluster_Mod9");
-  hNCellsPerClusterMod9->SetStats(kFALSE);
-  if(trigger=="EMC7"){sprintf(legend2,"Run %i EMC Mod 9",run);}
-  else {sprintf(legend2,"Run %i Mod 9",run);} 
-  hNCellsPerClusterMod9->SetTitle(legend2);
-  
-  TCanvas  * c31 = new TCanvas("Time Vs E ", "Time Vs E", 600, 600);
-  c31->SetLogz();
-  c31->SetFillColor(0);
-  c31->SetBorderSize(0);
-  c31->SetFrameBorderMode(0);     
-  // c31->SetOptStat(0); 
-  hClusterTimeEnergy->SetYTitle("EMCAL ToF(ns)");
-  hClusterTimeEnergy->GetYaxis()->SetTitleOffset(1.2);
-  hClusterTimeEnergy->GetYaxis()->SetLabelSize(0.03);
-  
-  hClusterTimeEnergy->GetZaxis()->SetLabelSize(0.02);
-  hClusterTimeEnergy->GetZaxis()->SetTitleSize(0.03);
-  hClusterTimeEnergy->GetZaxis()->SetTitleOffset(0.03);
-  hClusterTimeEnergy->SetAxisRange(0.,50.);
-  hClusterTimeEnergy->Draw("colz");
-  c31->cd();
-  
-  outfilename = base + "TimeRun.pdf" ;
-  outfilename2 = base + "TimeRun.gif" ;
-  
-  c31->SaveAs(outfilename);
-  c31->SaveAs(outfilename2);
-  
-  
-  TCanvas  * c32 = new TCanvas(" Cluster Vs Track ","Cluster vs Track", 600, 600);
-  c32->SetLogz();
-  c32->SetFillColor(0);
-  c32->SetBorderSize(0);
-  c32->SetFrameBorderMode(0);     
-  // c31->SetOptStat(0); 
-  
-  
-  hClusterVsTrack->GetYaxis()->SetTitleOffset(1.2);
-  hClusterVsTrack->GetYaxis()->SetLabelSize(0.03);
-  
-  hClusterVsTrack->GetZaxis()->SetLabelSize(0.02);
-  hClusterVsTrack->GetZaxis()->SetTitleSize(0.03);
-  hClusterVsTrack->GetZaxis()->SetTitleOffset(0.03);
-  hClusterVsTrack->SetAxisRange(0.,1200.);
-  hClusterVsTrack->Draw("colz");
-  c32->cd();
-  
-  outfilename = base + "CaloTrackMult.pdf";
-  
-  outfilename2 = base + "CaloTrackMult.gif";
-  
-  c32->SaveAs(outfilename);
-  
-  c32->SaveAs(outfilename2);
-  
-  
-  TCanvas  * c33 = new TCanvas(" Cluster E Vs Track ","Cluster E vs Track", 600, 600);
-  c33->SetLogz();
-  c33->SetFillColor(0);
-  c33->SetBorderSize(0);
-  c33->SetFrameBorderMode(0);     
-  // c31->SetOptStat(0); 
-  
-  hClusterEVsTrack->GetYaxis()->SetTitleOffset(1.2);
-  hClusterEVsTrack->GetYaxis()->SetLabelSize(0.03);
-  
-  hClusterEVsTrack->GetZaxis()->SetLabelSize(0.02);
-  hClusterEVsTrack->GetZaxis()->SetTitleSize(0.03);
-  hClusterEVsTrack->GetZaxis()->SetTitleOffset(0.03);
-  hClusterEVsTrack->SetAxisRange(0.,1200.);
-  hClusterEVsTrack->Draw("colz");
-  c33->cd();
-  
-  outfilename = base + "CaloETrackMult.pdf";
-  outfilename2 = base + "CaloETrackMult.gif";
-  
-  c33->SaveAs(outfilename);
-  
-  c33->SaveAs(outfilename2);
-  
-  TCanvas  * c34 = new TCanvas(" Cluster E Vs V0 ","Cluster E vs V0", 600, 600);
-  c34->SetLogz();
-  c34->SetFillColor(0);
-  c34->SetBorderSize(0);
-  c34->SetFrameBorderMode(0);     
-  // c31->SetOptStat(0); 
-  
-  
-  hClusterEVsV0S->GetYaxis()->SetTitleOffset(1.2);
-  hClusterEVsV0S->GetYaxis()->SetLabelSize(0.03);
-  
-  hClusterEVsV0S->GetZaxis()->SetLabelSize(0.02);
-  hClusterEVsV0S->GetZaxis()->SetTitleSize(0.03);
-  hClusterEVsV0S->GetZaxis()->SetTitleOffset(0.03);
-  hClusterEVsV0S->GetYaxis()->SetRangeUser(0.,50.);
-  hClusterEVsV0S->Draw("colz");
-  c34->cd();
-  
-  
-  outfilename = base + "CaloEVsV0s.pdf";
-  outfilename2 = base + "CaloEVsV0s.gif";
-  
-  c34->SaveAs(outfilename);
-  c34->SaveAs(outfilename2);
-  
-  
-  
-  
-  
-  TCanvas  * c35 = new TCanvas(" Cells per Cluster 0 ","Cells per Cluster 0", 1000, 1200);
-  c35->SetLogz();
-  c35->SetFillColor(0);
-  c35->SetBorderSize(0);
-  c35->SetFrameBorderMode(0);     
-  // c31->SetOptStat(0); 
-  c35->Divide(3,4);
-  
-  c35->cd(1);
-  gPad->SetLogz();
-  hNCellsPerClusterMod0->GetYaxis()->SetTitleOffset(1.2);
-  hNCellsPerClusterMod0->GetYaxis()->SetLabelSize(0.03);
-  
-  hNCellsPerClusterMod0->GetZaxis()->SetLabelSize(0.05);
-  hNCellsPerClusterMod0->GetZaxis()->SetTitleSize(0.4);
-  hNCellsPerClusterMod0->GetZaxis()->SetTitleOffset(0.03);
-  hNCellsPerClusterMod0->GetYaxis()->SetRangeUser(0.,30.);
-  hNCellsPerClusterMod0->GetXaxis()->SetRangeUser(0.,20.);
-  hNCellsPerClusterMod0->Draw("colz");
-  c35->cd(2);
-  
-  gPad->SetLogz();
-  hNCellsPerClusterMod1->GetYaxis()->SetTitleOffset(1.2);
-  hNCellsPerClusterMod1->GetYaxis()->SetLabelSize(0.03);
-  
-  hNCellsPerClusterMod1->GetZaxis()->SetLabelSize(0.05);
-  hNCellsPerClusterMod1->GetZaxis()->SetTitleSize(0.2);
-  hNCellsPerClusterMod1->GetZaxis()->SetTitleOffset(0.03);
-  hNCellsPerClusterMod1->GetYaxis()->SetRangeUser(0.,30.);
-  hNCellsPerClusterMod1->GetXaxis()->SetRangeUser(0.,20.);
-  hNCellsPerClusterMod1->Draw("colz");
-  c35->cd(3);
-  gPad->SetLogz();
-  
-  
-  hNCellsPerClusterMod2->GetYaxis()->SetTitleOffset(1.2);
-  hNCellsPerClusterMod2->GetYaxis()->SetLabelSize(0.03);
-  
-  hNCellsPerClusterMod2->GetZaxis()->SetLabelSize(0.05);
-  hNCellsPerClusterMod2->GetZaxis()->SetTitleSize(0.04);
-  hNCellsPerClusterMod2->GetZaxis()->SetTitleOffset(0.03);
-  hNCellsPerClusterMod2->GetYaxis()->SetRangeUser(0.,30.);
-  hNCellsPerClusterMod2->GetXaxis()->SetRangeUser(0.,20.);
-  hNCellsPerClusterMod2->Draw("colz");
-  c35->cd(4);
-  
-  gPad->SetLogz();
-  hNCellsPerClusterMod3->GetYaxis()->SetTitleOffset(1.2);
-  hNCellsPerClusterMod3->GetYaxis()->SetLabelSize(0.03);
-  hNCellsPerClusterMod3->GetZaxis()->SetLabelSize(0.05);
-  hNCellsPerClusterMod3->GetZaxis()->SetTitleSize(0.04);
-  hNCellsPerClusterMod3->GetZaxis()->SetTitleOffset(0.03);
-  hNCellsPerClusterMod3->GetYaxis()->SetRangeUser(0.,30.);
-  hNCellsPerClusterMod3->GetXaxis()->SetRangeUser(0.,20.);
-  hNCellsPerClusterMod3->Draw("colz");
-  
-  c35->cd(5);
-  gPad->SetLogz();
-  
-  hNCellsPerClusterMod4->GetYaxis()->SetTitleOffset(1.2);
-  hNCellsPerClusterMod4->GetYaxis()->SetLabelSize(0.03);
-  hNCellsPerClusterMod4->GetZaxis()->SetLabelSize(0.05);
-  hNCellsPerClusterMod4->GetZaxis()->SetTitleSize(0.04);
-  hNCellsPerClusterMod4->GetZaxis()->SetTitleOffset(0.03);
-  hNCellsPerClusterMod4->GetYaxis()->SetRangeUser(0.,30.);
-  hNCellsPerClusterMod4->GetXaxis()->SetRangeUser(0.,20.);
-  hNCellsPerClusterMod4->Draw("colz");
-  
-  
-  
-  c35->cd(6);
-  gPad->SetLogz();
-  
-  hNCellsPerClusterMod5->GetYaxis()->SetTitleOffset(1.2);
-  hNCellsPerClusterMod5->GetYaxis()->SetLabelSize(0.03);
-  hNCellsPerClusterMod5->GetZaxis()->SetLabelSize(0.05);
-  hNCellsPerClusterMod5->GetZaxis()->SetTitleSize(0.04);
-  hNCellsPerClusterMod5->GetZaxis()->SetTitleOffset(0.03);
-  hNCellsPerClusterMod5->GetYaxis()->SetRangeUser(0.,30.);
-  hNCellsPerClusterMod5->GetXaxis()->SetRangeUser(0.,20.);
-  hNCellsPerClusterMod5->Draw("colz");
-  
-  
-  c35->cd(7);
-  gPad->SetLogz();
-  
-  hNCellsPerClusterMod6->GetYaxis()->SetTitleOffset(1.2);
-  hNCellsPerClusterMod6->GetYaxis()->SetLabelSize(0.03);
-  hNCellsPerClusterMod6->GetZaxis()->SetLabelSize(0.05);
-  hNCellsPerClusterMod6->GetZaxis()->SetTitleSize(0.04);
-  hNCellsPerClusterMod6->GetZaxis()->SetTitleOffset(0.03);
-  hNCellsPerClusterMod6->GetYaxis()->SetRangeUser(0.,30.);
-  hNCellsPerClusterMod6->GetXaxis()->SetRangeUser(0.,20.);
-  hNCellsPerClusterMod6->Draw("colz");
-  
-  c35->cd(8);
-  gPad->SetLogz();
-  
-  hNCellsPerClusterMod7->GetYaxis()->SetTitleOffset(1.2);
-  hNCellsPerClusterMod7->GetYaxis()->SetLabelSize(0.03);
-  hNCellsPerClusterMod7->GetZaxis()->SetLabelSize(0.05);
-  hNCellsPerClusterMod7->GetZaxis()->SetTitleSize(0.04);
-  hNCellsPerClusterMod7->GetZaxis()->SetTitleOffset(0.03);
-  hNCellsPerClusterMod7->GetYaxis()->SetRangeUser(0.,30.);
-  hNCellsPerClusterMod7->GetXaxis()->SetRangeUser(0.,20.);
-  hNCellsPerClusterMod7->Draw("colz");
-  
-  
-  c35->cd(9);
-  
-  gPad->SetLogz();
-  hNCellsPerClusterMod8->GetYaxis()->SetTitleOffset(1.2);
-  hNCellsPerClusterMod8->GetYaxis()->SetLabelSize(0.03);
-  hNCellsPerClusterMod8->GetZaxis()->SetLabelSize(0.05);
-  hNCellsPerClusterMod8->GetZaxis()->SetTitleSize(0.04);
-  hNCellsPerClusterMod8->GetZaxis()->SetTitleOffset(0.03);
-  hNCellsPerClusterMod8->GetYaxis()->SetRangeUser(0.,30.);
-  hNCellsPerClusterMod8->GetXaxis()->SetRangeUser(0.,20.);
-  hNCellsPerClusterMod8->Draw("colz");
-  
-  c35->cd(10);
-  gPad->SetLogz();
-  
-  hNCellsPerClusterMod9->GetYaxis()->SetTitleOffset(1.2);
-  hNCellsPerClusterMod9->GetYaxis()->SetLabelSize(0.03);
-  hNCellsPerClusterMod9->GetZaxis()->SetLabelSize(0.05);
-  hNCellsPerClusterMod9->GetZaxis()->SetTitleSize(0.04);
-  hNCellsPerClusterMod9->GetZaxis()->SetTitleOffset(0.03);
-  hNCellsPerClusterMod9->GetYaxis()->SetRangeUser(0.,30.);
-  hNCellsPerClusterMod9->GetXaxis()->SetRangeUser(0.,20.);
-  hNCellsPerClusterMod9->Draw("colz");
-  
-  outfilename = base + "CellsperCluster.pdf";
-  outfilename2 = base + "CellsperCluster.gif";
-  
-  
-  c35->SaveAs(outfilename);
-  c35->SaveAs(outfilename2);
-  
-}