ROOT logo
///////////////////////////////////////////
//
// Macro to plot few selected histograms
// to QA data productions at 0th order
// Analysis performed with the wagon
// AddTaskPi0IMGammaCorrQA.C
// It generates 5 eps plots, each containing 2 to 4 canvases
//
// To execute: root -q -b -l DrawAnaCaloTrackQA.C'("Pi0IM_GammaTrackCorr_EMCAL_default","AnalysisResults.root")'
// The input list name might change depending on the wagon / data type
// In case output file is too large, possiblity to dump the list content in a sepate file:  export = kTRUE
//
// Author: Gustavo.Conesa.Balbastre@cern.ch
//
//

// Some global variables
TList *list = 0;
TFile *file = 0;
TString histoTag = "";
Int_t color[]={kBlack,kRed,kOrange+1,kYellow+1,kGreen+2,kBlue,kCyan+1,kViolet,kMagenta+2,kGray};

//_______________________________________________________________________
void DrawAnaCaloTrackQA(TString listName = "Pi0IM_GammaTrackCorr_EMCAL_default",
                        TString fileName = "AnalysisResults.root",
                        Bool_t export = kFALSE)
{

  printf("Open <%s>; Get List : <%s>; Export list? <%d>\n",fileName.Data(),listName.Data(),export);
  
  histoTag = listName;
  
  //Access the file and list of histograms, global variables
  GetFileAndList(fileName, listName, export);
  
  gStyle->SetOptTitle(1);
  gStyle->SetOptStat(0);
  gStyle->SetOptFit(000000);
  gStyle->SetPadRightMargin(0.15);
  //gStyle->SetPadTopMargin(0.02);
  //gStyle->SetPadLeftMargin(0.15);
  gStyle->SetTitleFontSize(0.06);

  //Plot basic Calorimeter QA
  CaloQA();

  //Plot basic Track QA
  TrackQA();

  //Plot basic Pi0 QA
  Pi0QA();

  //Plot basic correlation QA
  CorrelationQA();
  
  // MC basic QA plots, cluster origins (only if it run on MC)
  MCQA();
}

//___________
void CaloQA()
{
  // Basic calorimeter QA histograms
  
  TCanvas * ccalo = new TCanvas(Form("CaloHisto_%s",histoTag.Data()),"",1000,1000);
  ccalo->Divide(2,2);
  
  ccalo->cd(1);
  gPad->SetLogy();
  
  TH1F* hCellAmplitude = (TH1F*) GetHisto("QA_hAmplitude");
  TH1F* hClusterEnergy = (TH1F*) GetHisto("QA_hE");
  
  hClusterEnergy->SetYTitle("entries");
  hClusterEnergy->SetTitle("Cluster-cell energy spectra");
  hClusterEnergy->Sumw2();
  hClusterEnergy->SetMarkerColor(1);
  hClusterEnergy->SetMarkerStyle(20);
  hClusterEnergy->SetAxisRange(0.,50.,"X");
  hClusterEnergy->Draw();
  
  hCellAmplitude->Sumw2();
  hCellAmplitude->SetMarkerColor(4);
  hCellAmplitude->SetMarkerStyle(25);
  hCellAmplitude->Draw("same");
  
  TLegend l(0.25,0.7,0.83,0.85);
  l.SetTextSize(0.04);
  l.AddEntry(hClusterEnergy,"Cluster (no exotic+non lin.)","P");
  l.AddEntry(hCellAmplitude,"Cell","P");
  l.SetBorderSize(0);
  l.SetFillColor(0);
  l.Draw();
  
  
  ccalo->cd(2);
  //gPad->SetLogy();
  
  TH1F* hRaw  = (TH1F*) GetHisto("AnaPhoton_hPt_Cut_0_Open");
  TH1F* hCorr = (TH1F*) GetHisto("AnaPhoton_hPt_Cut_4_NCells");
  TH1F* hTM   = (TH1F*) GetHisto("AnaPhoton_hPt_Cut_7_Matching");
  TH1F* hShSh = (TH1F*) GetHisto("AnaPhoton_hPt_Cut_9_PID");
  
  hRaw->Sumw2();
  
  hCorr->SetTitle("Ratio after cluster cuts application");
  hCorr->SetYTitle("Selected clusters / Raw clusters");
  hCorr->SetTitleOffset(1.5,"Y");
  hCorr->Sumw2();
  hCorr->SetMarkerColor(1);
  hCorr->SetMarkerStyle(20);
  hCorr->Divide(hRaw);
  hCorr->SetAxisRange(0.,30.,"X");
  hCorr->SetMaximum(1.1);
  hCorr->SetMinimum(0);
  hCorr->Draw();
  
  hTM  ->Sumw2();
  hTM  ->SetMarkerColor(2);
  hTM  ->SetMarkerStyle(21);
  hTM  ->Divide(hRaw);
  hTM  ->Draw("same");
  
  hShSh->Sumw2();
  hShSh->SetMarkerColor(4);
  hShSh->SetMarkerStyle(22);
  hShSh->Divide(hRaw);
  hShSh->Draw("same");
  
  TLegend l2(0.45,0.8,0.95,0.93);
  l2.SetTextSize(0.04);
  l2.AddEntry(hCorr,"No Exotics + non lin.","P");
  l2.AddEntry(hTM,  "+ Track matching","P");
  l2.AddEntry(hShSh,"+ #lambda^{2}_{0} < 0.4","P");
  l2.SetBorderSize(0);
  l2.SetFillColor(0);
  l2.Draw();
  
  
  // Plot track-matching residuals
  // first test did not have this histogram, add protection
  TH2F* hTrackMatchResEtaPhi = (TH2F*) GetHisto("QA_hTrackMatchedDEtaDPhi");
  if(hTrackMatchResEtaPhi)
  {
    ccalo->cd(3);
    gPad->SetLogz();
    
    hTrackMatchResEtaPhi->SetAxisRange(-0.025,0.025,"X");
    hTrackMatchResEtaPhi->SetAxisRange(-0.025,0.025,"Y");
    hTrackMatchResEtaPhi->SetTitleOffset(1.5,"Y");
    hTrackMatchResEtaPhi->SetTitle("Track-cluster residual #Delta #phi vs #Delta #eta, E > 0.5 GeV");
    hTrackMatchResEtaPhi->SetXTitle("#Delta #eta");
    hTrackMatchResEtaPhi->SetYTitle("#Delta #phi");
    hTrackMatchResEtaPhi->SetZTitle("entries");
    hTrackMatchResEtaPhi->Draw("colz");
    
    ccalo->cd(4);
    gPad->SetLogy();
    
    TH2F* h2TrackMatchResEtaNeg = (TH2F*) GetHisto("QA_hTrackMatchedDEta");
    TH2F* h2TrackMatchResEtaPos = (TH2F*) GetHisto("QA_hTrackMatchedDEtaPos");
    TH2F* h2TrackMatchResPhiNeg = (TH2F*) GetHisto("QA_hTrackMatchedDPhi");
    TH2F* h2TrackMatchResPhiPos = (TH2F*) GetHisto("QA_hTrackMatchedDPhiPos");
    
    h2TrackMatchResEtaNeg->Add(h2TrackMatchResEtaPos,-1);
    h2TrackMatchResPhiNeg->Add(h2TrackMatchResPhiPos,-1);
    
    Float_t binMin = hCorr->FindBin(0.5);
    TH1F* hTrackMatchResEtaNeg = (TH1F*) h2TrackMatchResEtaNeg->ProjectionY("TMProjEtaNeg",binMin, 1000);
    TH1F* hTrackMatchResEtaPos = (TH1F*) h2TrackMatchResEtaPos->ProjectionY("TMProjEtaPos",binMin, 1000);
    TH1F* hTrackMatchResPhiNeg = (TH1F*) h2TrackMatchResPhiNeg->ProjectionY("TMProjPhiNeg",binMin, 1000);
    TH1F* hTrackMatchResPhiPos = (TH1F*) h2TrackMatchResPhiPos->ProjectionY("TMProjPhiPos",binMin, 1000);
    
    hTrackMatchResEtaNeg->SetXTitle("#Delta #eta, #Delta #phi");
    hTrackMatchResEtaNeg->SetYTitle("entries");
    hTrackMatchResEtaNeg->SetTitle("Track-cluster residuals, E > 1 GeV");
    hTrackMatchResEtaNeg->SetAxisRange(-0.05,0.05,"X");
    hTrackMatchResEtaNeg->Sumw2();
    hTrackMatchResEtaNeg->SetMarkerStyle(25);
    hTrackMatchResEtaNeg->SetMarkerColor(2);
    hTrackMatchResEtaNeg->Draw("");
    
    hTrackMatchResEtaPos->Sumw2();
    hTrackMatchResEtaPos->SetMarkerStyle(25);
    hTrackMatchResEtaPos->SetMarkerColor(4);
    hTrackMatchResEtaPos->Draw("same");
    
    hTrackMatchResPhiNeg->Sumw2();
    hTrackMatchResPhiNeg->SetMarkerStyle(24);
    hTrackMatchResPhiNeg->SetMarkerColor(2);
    hTrackMatchResPhiNeg->Draw("same");
    
    hTrackMatchResPhiPos->Sumw2();
    hTrackMatchResPhiPos->SetMarkerStyle(24);
    hTrackMatchResPhiPos->SetMarkerColor(4);
    hTrackMatchResPhiPos->Draw("same");
    
    TLine l0(0,hTrackMatchResEtaNeg->GetMinimum(),0,hTrackMatchResEtaNeg->GetMaximum()*1.2);
    l0.Draw("same");
    
    TLegend l3(0.55,0.7,0.83,0.85);
    l3.SetTextSize(0.04);
    l3.AddEntry(hTrackMatchResEtaNeg,"#Delta #eta, Negative","P");
    l3.AddEntry(hTrackMatchResEtaPos,"#Delta #eta, Positive","P");
    l3.AddEntry(hTrackMatchResPhiNeg,"#Delta #phi, Negative","P");
    l3.AddEntry(hTrackMatchResPhiPos,"#Delta #phi, Positive","P");
    l3.SetBorderSize(0);
    l3.SetFillColor(0);
    l3.Draw();
  }
  ccalo->Print(Form("%s_CaloHisto.eps",histoTag.Data()));
  
  
  TCanvas * ccalo2 = new TCanvas(Form("CaloHisto2_%s",histoTag.Data()),"",500,500);
  ccalo2->Divide(2,2);
  
  ccalo2->cd(3);
//  gPad->SetLogz();
//  TH2F* hCellAmpId   = (TH2F*) GetHisto("QA_hAmpId");
//  hCellAmpId->SetTitle("Cell Id vs energy");
//  hCellAmpId->SetYTitle("Cell Id");
//  //hCellAmpId->SetAxisRange(300.,900.,"Y");
//  hCellAmpId->SetAxisRange(0.,30.,"X");
//  hCellAmpId->SetTitleOffset(1.5,"Y");
//  hCellAmpId->Draw("colz");

  gPad->SetLogz();
  
  TH2F* hClusterTime   = (TH2F*) GetHisto("QA_hClusterTimeEnergy");
  hClusterTime->SetTitle("Cluster energy vs time");
  hClusterTime->SetYTitle("time (ns)");
  hClusterTime->SetAxisRange(300.,900.,"Y");
  hClusterTime->SetAxisRange(0.,30.,"X");
  hClusterTime->SetTitleOffset(1.5,"Y");
  hClusterTime->Draw("colz");
  
  ccalo2->cd(1);
  
  TH2F* hCellActivity  = (TH2F*) GetHisto("QA_hGridCells");
  hCellActivity->SetTitle("Hits per cell (E > 0.2 GeV)");
  hCellActivity->SetTitleOffset(1.5,"Y");
  hCellActivity->Draw("colz");
  
  ccalo2->cd(2);
  
  TH2F* hCellActivity  = (TH2F*) GetHisto("QA_hGridCells");
  TH2F* hCellActivityE = (TH2F*) GetHisto("QA_hGridCellsE");
  hCellActivityE->SetTitle("Mean energy per cell (E > 0.2 GeV)");
  hCellActivityE->Divide(hCellActivity);
  hCellActivityE->SetTitleOffset(1.5,"Y");
  hCellActivityE->Draw("colz");
  
  ccalo2->cd(4);
  //gPad->SetLogz();
  TH2F* hClusterActivity  = (TH2F*) GetHisto("AnaPhoton_hEtaPhi");
  hClusterActivity->SetTitle("Clusters activity (E > 0.5 GeV)");
  hClusterActivity->SetTitleOffset(1.5,"Y");
  hClusterActivity->Draw("colz");
  
  ccalo2->Print(Form("%s_CaloHisto2.eps",histoTag.Data()));
  
}

//____________
void TrackQA()
{
  // Basic hybrid tracks histograms
  
  TCanvas * ctrack = new TCanvas(Form("TrackHisto_%s",histoTag.Data()),"",1000,500);
  ctrack->Divide(2,1);
  
  ctrack->cd(1);
  //gPad->SetLogz();
  TH2F * hTrackEtaPhi = (TH2F*) GetHisto("AnaHadrons_hEtaPhiNegative");
  hTrackEtaPhi ->Add((TH2F*) GetHisto("AnaHadrons_hEtaPhiNegative"));
  hTrackEtaPhi ->SetAxisRange(-0.9,0.9,"X");
  hTrackEtaPhi ->SetTitle("Hybrid tracks #eta vs #phi (p_{T} > 0.2 GeV)");
  hTrackEtaPhi ->Draw("colz");
  
  ctrack->cd(2);
  //gPad->SetLogy();
  TH2F * hTrackEtaPhiSPD   = (TH2F*) GetHisto("AnaHadrons_hEtaPhiSPDRefitPt02");
  TH2F * hTrackEtaPhiNoSPD = (TH2F*) GetHisto("AnaHadrons_hEtaPhiNoSPDRefitPt02");
  
  TH1F* hPhiSPD   = (TH1F*)hTrackEtaPhiSPD  ->ProjectionY("hTrackPhiSPD"  ,0,1000);
  TH1F* hPhiNoSPD = (TH1F*)hTrackEtaPhiNoSPD->ProjectionY("hTrackPhiNoSPD",0,1000);
  //TH1F* hPhi      = (TH1F*)hTrackEtaPhi     ->ProjectionY("hTrackPhi"     ,0,1000);
  TH1F* hPhi      = hPhiSPD->Clone("hTrackPhi");
  hPhi->Add(hPhiNoSPD);
  hPhi     ->SetTitle("Hybrid track in #phi, composition, p_{T} > 0.2 GeV");
  hPhi     ->SetLineColor(1);
  hPhiSPD  ->SetLineColor(2);
  hPhiNoSPD->SetLineColor(4);
  
  hPhi     ->SetMinimum(1);
  hPhi     ->SetMaximum(hPhi->GetMaximum()*1.2);
  
  hPhi     ->Draw("H");
  hPhiSPD  ->Draw("Hsame");
  hPhiNoSPD->Draw("Hsame");
  
  TLegend l(0.2,0.75,0.4,0.89);
  l.SetTextSize(0.04);
  l.AddEntry(hPhi,"Sum","L");
  l.AddEntry(hPhiSPD  ,"SPD+Refit","L");
  l.AddEntry(hPhiNoSPD,"No SPD+Refit","L");
  l.SetBorderSize(0);
  l.SetFillColor(0);
  l.Draw();
//  ctrack->cd(3);
//  gPad->SetLogz();
//  
//  TH2F* hPtDCAxy = (TH2F*) GetHisto("AnaHadrons_hPtDCAxy");
//  hPtDCAxy->SetAxisRange(-1,1,"Y");
//  hPtDCAxy->SetAxisRange(0,30,"X");
//  hPtDCAxy->Draw("colz");
//  
//  ctrack->cd(4);
//  gPad->SetLogz();
//  
//  TH2F* hPtDCAz = (TH2F*) GetHisto("AnaHadrons_hPtDCAz");
//  hPtDCAz->SetAxisRange(-1,1,"Y");
//  hPtDCAz->SetAxisRange(0,30,"X");
//  hPtDCAz->Draw("colz");
  
  ctrack->Print(Form("%s_TrackHisto.eps",histoTag.Data()));
  
}

//__________
void Pi0QA()
{
  // Basic invariant mass QA
  
  TCanvas * cpi0 = new TCanvas(Form("Pi0Histo_%s",histoTag.Data()),"",500,500);
  cpi0->Divide(2,2);
  
  TH2F* hMassE[10];
  TH2F* hMixMassE[10];
  for(Int_t icen = 0; icen < 10; icen++)
  {
    hMassE   [icen] = (TH2F*) GetHisto(Form("AnaPi0_hRe_cen%d_pidbit0_asy1_dist1",icen));
    hMixMassE[icen] = (TH2F*) GetHisto(Form("AnaPi0_hMi_cen%d_pidbit0_asy1_dist1",icen));
  }
  
  // 2D Invariant mass vs E, in PbPb from 60 to 100 %, all in pp
  cpi0->cd(1);
  gPad->SetLogz();
  TH2F* h2DMass;
  
  if(hMassE[1]) // Plot centrality from 60 to 100%
  {
    h2DMass = (TH2F*) hMassE[6]->Clone("h2DMass");
    for(Int_t icen = 7; icen < 10; icen++) h2DMass->Add(hMassE[icen]);
    h2DMass->SetTitle("Invariant mass vs pair E, Cen: 60-100%");
  }
  else
  {
    h2DMass = (TH2F*) hMassE[0]->Clone("hMassProj");
    h2DMass->SetTitle("Invariant mass vs cluster pair E");
  }
  
  h2DMass->SetTitleOffset(1.6,"Y");
  h2DMass->SetAxisRange(0.0,0.7,"Y");
  h2DMass->SetAxisRange(0,30,"X");
  h2DMass->Draw("colz");
  
  // Pi0 Invariant mass projection, in PbPb 6 centrality bins from 0 to 50%, all in pp
  cpi0->cd(2);
  TH1F* hMass   [10];
  TH1F* hMix    [10];
  TH1F* hMassEta[10];
  TH1F* hMassPi0[10];
  
  //Init to 0
  for(Int_t icen=0; icen<10; icen++ )
  {
    hMass   [icen] = 0;
    hMix    [icen] = 0;
    hMassEta[icen] = 0;
    hMassPi0[icen] = 0;
  }
  
  TH1F * hX = (TH1F*) hMassE[0]->ProjectionX("hEPairCen0",0,10000);
  Int_t binmin = hX->FindBin(2);  // Project histo from 2 GeV pairs
  Int_t binmax = hX->FindBin(10); // Project histo up to 10 GeV pairs
  Float_t maxPi0 = 0;
  Float_t maxEta = 0;
  for(Int_t icen = 0; icen < 6; icen++)
  {
    if(!hMassE[icen]) continue;

    hMass[icen] = (TH1F*) hMassE   [icen]->ProjectionY(Form("hMassCen%d",icen),binmin,binmax);
    hMix [icen] = (TH1F*) hMixMassE[icen]->ProjectionY(Form("hMixCen%d" ,icen),binmin,binmax);
    hMass[icen]->Sumw2();
    hMix [icen]->Sumw2();
    
    hMassPi0[icen] = (TH1F*) hMass[icen]->Clone(Form("hMassPi0Cen%d",icen));
    hMassEta[icen] = (TH1F*) hMass[icen]->Clone(Form("hMassEtaCen%d",icen));
    
    hMassPi0[icen]->Divide(hMix[icen]);
    hMassPi0[icen]->Fit("pol0","Q","",0.25,0.35);
    Float_t scale = 1;
    if(hMassPi0[icen]->GetFunction("pol0")) scale = hMassPi0[icen]->GetFunction("pol0")->GetParameter(0);
    //printf("Scale factor %f for cen %d\n",scale,icen);
    hMassPi0[icen]->Scale(1./scale);
    hMassPi0[icen]->SetMarkerStyle(24);
    hMassPi0[icen]->SetMarkerColor(color[icen]);
    hMassPi0[icen]->SetLineColor(color[icen]);
    hMassPi0[icen]->SetAxisRange(0.04,0.24);
    hMassPi0[icen]->SetMarkerSize(0.5);
    
    hMassEta[icen]->Rebin(4);
    hMix    [icen]->Rebin(4);
    hMassEta[icen]->Divide(hMix[icen]);
    hMassEta[icen]->SetMarkerStyle(25);
    hMassEta[icen]->SetMarkerColor(color[icen]);
    hMassEta[icen]->SetLineColor(color[icen]);
    hMassEta[icen]->SetAxisRange(0.4,0.9);
    hMassEta[icen]->SetMarkerSize(0.5);
    hMassEta[icen]->Scale(1./scale);
    
    if(maxEta < hMassEta[icen]->GetMaximum()) maxEta = hMassEta[icen]->GetMaximum();
    if(maxPi0 < hMassPi0[icen]->GetMaximum()) maxPi0 = hMassPi0[icen]->GetMaximum();
  }

  //gPad->SetLogy();
  //gPad->SetGridy();
  hMassPi0[0]->SetMinimum(0.8);
  hMassPi0[0]->SetTitleOffset(1.6,"Y");
  hMassPi0[0]->SetYTitle("Real / Mixed");
  hMassPi0[0]->SetTitle("#pi^{0} peak, 2 < E_{pair}< 10 GeV");
  hMassPi0[0]->Draw();
  
  if(hMass[1]) // PbPb
  {
    hMassPi0[0]->SetMaximum(maxPi0*1.2);
    hMassPi0[5]->Draw("Hsame");
    hMassPi0[4]->Draw("Hsame");
    hMassPi0[3]->Draw("Hsame");
    hMassPi0[2]->Draw("Hsame");
    hMassPi0[1]->Draw("Hsame");
    hMassPi0[0]->Draw("Hsame");
    //hMass[6]->Draw("Hsame");
    //hMass[7]->Draw("same");
    //hMass[8]->Draw("same");
    //hMass[9]->Draw("same");
    
    TLegend l(0.12,0.6,0.4,0.85);
    l.SetTextSize(0.04);
    l.AddEntry(hMassPi0[0],"0-10%","P");
    l.AddEntry(hMassPi0[1],"10-20%","P");
    l.AddEntry(hMassPi0[2],"20-30%","P");
    l.AddEntry(hMassPi0[3],"30-40%","P");
    l.AddEntry(hMassPi0[4],"40-70%","P");
    l.AddEntry(hMassPi0[5],"50-60%","P");
    l.SetBorderSize(0);
    l.SetFillColor(0);
    l.Draw();
  }

  TLine l1(0.04,1,0.24,1);
  l1.Draw("same");
  
  // Pi0 invariant mass per EMCal super module
  cpi0->cd(3);
  
  TH1F* hSM   [10];
  TH1F* hMixSM[10];
  binmin = hX->FindBin(4);  // Project histo from 3 GeV pairs
  binmax = hX->FindBin(20); // Project histo up to 20 GeV pairs
  Float_t maxSM = 0;

  for(Int_t ism = 0; ism < 10; ism++)
  {
    TH2F* hTmpSM = (TH2F*) GetHisto(Form("AnaPi0_hReMod_%d",ism));
    if(!hTmpSM) hTmpSM = (TH2F*) GetHisto(Form("QA_hIM_Mod%d",ism));
    
    hSM[ism] = (TH1F*) hTmpSM->ProjectionY(Form("hMassSM%d",ism),binmin,binmax);
    hSM[ism]->Sumw2();
    hSM[ism]->SetMarkerStyle(26);
    hSM[ism]->Rebin(2);
    //hSM[ism]->Scale(1./hSM[ism]->Integral(0,10000));
    hSM[ism]->SetMarkerColor(color[ism]);
    hSM[ism]->SetLineColor(color[ism]);
    hSM[ism]->SetMarkerSize(0.5);

    TH2F* hTmpMixSM = (TH2F*) GetHisto(Form("AnaPi0_hMiMod_%d",ism));
    if(hTmpMixSM)
    {
      hMixSM[ism] = (TH1F*) hTmpMixSM->ProjectionY(Form("hMassMixSM%d",ism),binmin,binmax);
      hMixSM[ism]->Sumw2();
      hMixSM[ism]->Rebin(2);
      hSM[ism]->Divide(hMixSM[ism]);
      hSM[ism]->Fit("pol0","Q","",0.25,0.35);
      Float_t scale = 1;
      if(hSM[ism]->GetFunction("pol0")) scale = hSM[ism]->GetFunction("pol0")->GetParameter(0);
      //printf("Scale factor %f for cen %d\n",scale,icen);
      hSM[ism]->Scale(1./scale);
      hSM[ism]->SetYTitle("Real / Mixed");

    }
    
    if(maxSM < hSM[ism]->GetMaximum()) maxSM = hSM[ism]->GetMaximum();

  }
  
  hSM[0]->SetTitle("#pi^{0} peak in Modules, 4 < E_{pair}< 10 GeV");
  hSM[0]->SetTitleOffset(1.6,"Y");
  hSM[0]->SetAxisRange(0.04,0.24);
  hSM[0]->SetMaximum(maxSM*1.2);
  hSM[0]->SetMinimum(0.8);

  hSM[0]->Draw("H");
  TLegend lsm(0.12,0.5,0.35,0.85);
  lsm.SetTextSize(0.04);
  lsm.AddEntry(hSM[0],Form("Mod %d",0),"P");
  
  for(Int_t ism = 1; ism < 10; ism++)
  {
    hSM[ism]->Draw("Hsame");
    lsm.AddEntry(hSM[ism],Form("Mod %d",ism),"P");
  }
  
  lsm.SetBorderSize(0);
  lsm.SetFillColor(0);
  lsm.Draw();
  
  l1.Draw("same");
  
  // Pi0 Invariant mass projection, in PbPb 6 centrality bins from 0 to 50%, all in pp
  cpi0->cd(4);
  
  //gPad->SetLogy();
  //gPad->SetGridy();
  hMassEta[0]->SetMinimum(0.8);
  hMassEta[0]->SetTitleOffset(1.6,"Y");
  hMassEta[0]->SetYTitle("Real / Mixed");
  hMassEta[0]->SetTitle("#eta peak, 2 < E_{pair}< 10 GeV");
  hMassEta[0]->Draw("H");
  
  if(hMass[1]) // PbPb
  {
    hMassEta[0]->SetMaximum(maxEta*1.2);
    hMassEta[5]->Draw("Hsame");
    hMassEta[4]->Draw("Hsame");
    hMassEta[3]->Draw("Hsame");
    hMassEta[2]->Draw("Hsame");
    hMassEta[1]->Draw("Hsame");
    hMassEta[0]->Draw("Hsame");
    
    
    TLegend l2(0.12,0.6,0.4,0.85);
    l2.SetTextSize(0.04);
    l2.AddEntry(hMassEta[0],"0-10%","P");
    l2.AddEntry(hMassEta[1],"10-20%","P");
    l2.AddEntry(hMassEta[2],"20-30%","P");
    l2.AddEntry(hMassEta[3],"30-40%","P");
    l2.AddEntry(hMassEta[4],"40-70%","P");
    l2.AddEntry(hMassEta[5],"50-60%","P");
    l2.SetBorderSize(0);
    l2.SetFillColor(0);
    l2.Draw();
  }

  cpi0->Print(Form("%s_Pi0Histo.eps",histoTag.Data()));
  
}

//__________________
void CorrelationQA()
{

  TCanvas * cCorrelation = new TCanvas(Form("CorrelationHisto_%s",histoTag.Data()),"",1000,500);
  cCorrelation->Divide(2,1);
  
  Float_t minClusterE = 8;
  Float_t assocBins[] = {0.5,2.,5.,10.,20.};
  Int_t nAssocBins = 4;
  
  TH1F * hTrigger = (TH1F*) GetHisto("AnaPhotonHadronCorr_hPtTrigger");
  Int_t minClusterEBin = hTrigger->FindBin(minClusterE);
  Float_t nTrig = hTrigger->Integral(minClusterE,100000);
  
  //Azimuthal correlation
  cCorrelation->cd(1);
  gPad->SetLogy();
  TH1F* hDeltaPhi[4];
  
  TLegend l(0.35,0.6,0.83,0.85);
  l.SetHeader(Form("p_{T,T} > %2.1f GeV/c",minClusterE));
  l.SetTextSize(0.04);
  l.SetBorderSize(0);
  l.SetFillColor(0);

  for(Int_t ibin = 0; ibin < nAssocBins; ibin++ )
  {
    TH2F* hDeltaPhiE = (TH2F*) GetHisto(Form("AnaPhotonHadronCorr_hDeltaPhiPtAssocPt%2.1f_%2.1f",assocBins[ibin],assocBins[ibin+1]));
    hDeltaPhi[ibin]  = (TH1F*) hDeltaPhiE->ProjectionY(Form("DeltaPhi%2.1f",assocBins[ibin]),minClusterEBin,10000);
    hDeltaPhi[ibin]->Sumw2();
    hDeltaPhi[ibin]->Rebin(2);
    hDeltaPhi[ibin]->Scale(1./nTrig);

    hDeltaPhi[ibin]->Fit("pol0","Q","",1,2);
    Float_t scale = 1;
    if(hDeltaPhi[ibin]->GetFunction("pol0"))
    {
      scale = hDeltaPhi[ibin]->GetFunction("pol0")->GetParameter(0);
      hDeltaPhi[ibin]->GetFunction("pol0")->SetRange(6,7); // move from plot
    }
    hDeltaPhi[ibin]->Scale(1./scale);
    //printf("ibin %d, scale %f\n",ibin,scale);

    hDeltaPhi[ibin]->SetAxisRange(-1.6,4.7);

    hDeltaPhi[ibin]->SetMarkerStyle(24);
    hDeltaPhi[ibin]->SetMarkerColor(color[ibin]);
    hDeltaPhi[ibin]->SetLineColor(color[ibin]);
    hDeltaPhi[ibin]->SetTitleOffset(1.5,"Y");
    hDeltaPhi[ibin]->SetYTitle("N_{pairs} / N_{trig} / ZYAM");
    hDeltaPhi[ibin]->SetTitle("#gamma (#lambda_{0}^{2} < 0.4, neutral cluster) trigger");
    
    l.AddEntry(hDeltaPhi[ibin],Form("%2.1f< p_{T,A}< %2.1f GeV/c",assocBins[ibin],assocBins[ibin+1]),"P");
  }
  
  
  hDeltaPhi[2]->SetMaximum(hDeltaPhi[2]->GetMaximum()*10);
  hDeltaPhi[2]->SetMinimum(0.8);
  
   hDeltaPhi[2]->Draw("H");
   hDeltaPhi[1]->Draw("Hsame");
   hDeltaPhi[3]->Draw("Hsame");
   hDeltaPhi[0]->Draw("Hsame");
  
  l.Draw("same");
  
  
  // xE correlation
  cCorrelation->cd(2);
  gPad->SetLogy();
  
  TLegend l2(0.35,0.6,0.83,0.85);
  l2.SetHeader(Form("p_{T,T} > %2.1f GeV/c",minClusterE));
  l2.SetTextSize(0.04);
  l2.SetBorderSize(0);
  l2.SetFillColor(0);
  
  TH2F* hEXE   = (TH2F*) GetHisto("AnaPhotonHadronCorr_hXECharged");
  TH2F* hEXEUE = (TH2F*) GetHisto("AnaPhotonHadronCorr_hXEUeCharged");
  
  TH1F* hXE  = (TH1F*) hEXE->ProjectionY(Form("XE%2.1fGeV",minClusterE),minClusterEBin,10000);
  hXE->Sumw2();
  hXE->Rebin(2);
  hXE->Scale(1./nTrig);
  hXE->SetAxisRange(0,1);
  hXE->SetMarkerStyle(24);
  hXE->SetMarkerColor(1);
  hXE->SetLineColor(1);
  hXE->SetTitleOffset(1.5,"Y");
  hXE->SetYTitle("N_{pairs} / N_{trig}");
  hXE->SetTitle("#gamma (#lambda_{0}^{2} < 0.4, neutral cluster) trigger");
  l2.AddEntry(hXE,"raw x_{E}","P");
  hXE->Draw();

  TH1F* hXEUE  = (TH1F*) hEXEUE->ProjectionY(Form("XEUE%2.1fGeV",minClusterE),minClusterEBin,10000);
  hXEUE->Sumw2();
  hXEUE->Rebin(2);
  hXEUE->Scale(1./nTrig);
  hXEUE->SetAxisRange(0,1);
  hXEUE->SetMarkerStyle(25);
  hXEUE->SetMarkerColor(2);
  hXEUE->SetLineColor(2);
  l2.AddEntry(hXEUE,"raw Und. Event x_{E}","P");
  hXEUE->Draw("same");

  
  l2.Draw("same");

  
  cCorrelation->Print(Form("%s_CorrelationHisto.eps",histoTag.Data()));

}

//___________
void MCQA()
{
  // Basic calorimeter QA histograms
  
  TH2F* h2ClusterPho = (TH2F*) GetHisto("QA_hRecoMCE_Photon_Match0");    // not track-matched
  TH2F* h2ClusterPi0 = (TH2F*) GetHisto("QA_hRecoMCE_Pi0_Match0");       // not track-matched
  TH2F* h2ClusterEta = (TH2F*) GetHisto("QA_hRecoMCE_Eta_Match0");       // not track-matched
  TH2F* h2ClusterEle = (TH2F*) GetHisto("QA_hRecoMCE_Electron_Match1");  // Track-matched
  
  if(!h2ClusterPho) return;
  
  
//  TH1F* hPrimPho = (TH1F*) GetHisto("QA_hGenMCAccE_Photon");
//  TH1F* hPrimPi0 = (TH1F*) GetHisto("QA_hGenMCAccE_Pi0");
//  TH1F* hPrimEta = (TH1F*) GetHisto("QA_hGenMCAccE_Eta");

  TH1F* hPrimPho = (TH1F*) GetHisto("AnaPhoton_hPtPrim_MCPhoton");
  TH1F* hPrimPi0 = (TH1F*) GetHisto("AnaPi0_hPrimPi0Pt");
  TH1F* hPrimEta = (TH1F*) GetHisto("AnaPi0_hPrimEtaPt");
  
  TCanvas * cmc = new TCanvas(Form("MCHisto_%s",histoTag.Data()),"",1000,1000);
  cmc->Divide(2,2);
  
  cmc->cd(1);
  gPad->SetLogy();
  
  TH1F* hClusterPho = (TH1F*) h2ClusterPho->ProjectionX("ClusterPho",0,1000);
  TH1F* hClusterPi0 = (TH1F*) h2ClusterPi0->ProjectionX("ClusterPi0",0,1000);
  TH1F* hClusterEta = (TH1F*) h2ClusterEta->ProjectionX("ClusterEta",0,1000);
  
  hClusterPho->SetTitle("Cluster origin spectra, primary spectra in Calo acceptance");
  hClusterPho->Sumw2();
  hClusterPho->SetMarkerColor(1);
  hClusterPho->SetMarkerStyle(20);
  hClusterPho->SetAxisRange(0.,50.,"X");
  //hClusterPho->SetXTitle("E_{rec,gen} (GeV)");
  hClusterPho->SetXTitle("E_{rec}, p_{T,gen} (GeV)");
  hClusterPho->Draw("");

  hClusterPi0->Sumw2();
  hClusterPi0->SetMarkerColor(4);
  hClusterPi0->SetMarkerStyle(21);
  hClusterPi0->Draw("same");

  hClusterEta->Sumw2();
  hClusterEta->SetMarkerColor(2);
  hClusterEta->SetMarkerStyle(22);
  hClusterEta->Draw("same");

  hPrimPho->Sumw2();
  hPrimPho->SetMarkerColor(1);
  hPrimPho->SetMarkerStyle(24);
  hPrimPho->Draw("same");
  
  hPrimPi0->Sumw2();
  hPrimPi0->SetMarkerColor(4);
  hPrimPi0->SetMarkerStyle(25);
  hPrimPi0->Draw("same");
  
  hPrimEta->Sumw2();
  hPrimEta->SetMarkerColor(2);
  hPrimEta->SetMarkerStyle(26);
  hPrimEta->Draw("same");
  
  TLegend l(0.45,0.6,0.83,0.89);
  l.SetTextSize(0.04);
  l.AddEntry(hClusterPho,"#gamma cluster","P");
  l.AddEntry(hClusterPi0,"#pi^{0} (merged) cluster","P");
  l.AddEntry(hClusterEta,"#eta (merged) cluster","P");
  l.AddEntry(hPrimPho,"#gamma generated","P");
  l.AddEntry(hPrimPi0,"#pi^{0} generated","P");
  l.AddEntry(hPrimEta,"#eta generated","P");
  l.SetBorderSize(0);
  l.SetFillColor(0);
  l.Draw();
  
  
  cmc->cd(2);
  gPad->SetLogy();
  TH1F* hRatPho = (TH1F*) hClusterPho->Clone("hGenRecoPho");
  TH1F* hRatPi0 = (TH1F*) hClusterPi0->Clone("hGenRecoPi0");
  TH1F* hRatEta = (TH1F*) hClusterEta->Clone("hGenRecoEta");
  
  hRatPho->Divide(hPrimPho);
  hRatPi0->Divide(hPrimPi0);
  hRatEta->Divide(hPrimEta);
  
  hRatPho->SetTitle("Reconstructed cluster / Generated particle in Calo acc.");
  hRatPho->SetYTitle("Ratio");
  hRatPho->SetXTitle("E(GeV)");
  hRatPho->SetMinimum(1e-3);
  hRatPho->SetMaximum(10);
  hRatPho->Draw("");
  hRatPi0->Draw("same");
  hRatEta->Draw("same");

  TLegend l2(0.15,0.7,0.3,0.85);
  l2.SetTextSize(0.04);
  l2.AddEntry(hRatPho,"#gamma","P");
  l2.AddEntry(hRatPi0,"#pi^{0}","P");
  l2.AddEntry(hRatEta,"#eta","P");
  l2.SetBorderSize(0);
  l2.SetFillColor(0);
  l2.Draw();

  cmc->cd(3);
  //gPad->SetLogy();

  TH2F* h2PrimPhoPhi = (TH2F*) GetHisto("AnaPhoton_hPhiPrim_MCPhoton");
  TH2F* h2PrimPi0Phi = (TH2F*) GetHisto("AnaPi0_hPrimPi0Phi");
  TH2F* h2PrimEtaPhi = (TH2F*) GetHisto("AnaPi0_hPrimEtaPhi");
  
  Int_t binMin = hPrimPho->FindBin(3);
  
  TH1F* hPrimPhoPhi = (TH1F*) h2PrimPhoPhi->ProjectionY("PrimPhoPhi",binMin,1000);
  TH1F* hPrimPi0Phi = (TH1F*) h2PrimPi0Phi->ProjectionY("PrimPi0Phi",binMin,1000);
  TH1F* hPrimEtaPhi = (TH1F*) h2PrimEtaPhi->ProjectionY("PrimEtaPhi",binMin,1000);

  hPrimPhoPhi->Sumw2();
  hPrimPi0Phi->Sumw2();
  hPrimEtaPhi->Sumw2();

  hPrimPhoPhi->Scale(1./hPrimPhoPhi->Integral(0,1000));
  hPrimPi0Phi->Scale(1./hPrimPi0Phi->Integral(0,1000));
  hPrimEtaPhi->Scale(1./hPrimEtaPhi->Integral(0,1000));

  Float_t maxPhi = hPrimPhoPhi->GetMaximum();
  if(maxPhi < hPrimPi0Phi->GetMaximum()) maxPhi =  hPrimPi0Phi->GetMaximum();
  if(maxPhi < hPrimEtaPhi->GetMaximum()) maxPhi =  hPrimEtaPhi->GetMaximum();

  Float_t minPhi = hPrimPhoPhi->GetMinimum();
  if(minPhi > hPrimPi0Phi->GetMinimum()) minPhi =  hPrimPi0Phi->GetMinimum();
  if(minPhi > hPrimEtaPhi->GetMinimum()) minPhi =  hPrimEtaPhi->GetMinimum();

  hPrimPi0Phi->SetMaximum(maxPhi*1.1);
  hPrimPi0Phi->SetMinimum(minPhi);
  TGaxis::SetMaxDigits(3);

  hPrimPi0Phi->SetYTitle("1/total entries dN/d#phi");
  hPrimPi0Phi->SetTitle("Generated particles #phi for E > 3 GeV");
  hPrimPi0Phi->SetTitleOffset(1.6,"Y");
  hPrimPi0Phi->SetMarkerColor(4);
  hPrimPi0Phi->SetMarkerStyle(21);
  hPrimPi0Phi->Draw("");
  
  hPrimPhoPhi->SetMarkerColor(1);
  hPrimPhoPhi->SetMarkerStyle(20);
  Float_t scale = TMath::RadToDeg();
  ScaleXaxis(hPrimPhoPhi, TMath::RadToDeg());
  hPrimPhoPhi->Draw("same");

  hPrimEtaPhi->SetMarkerColor(2);
  hPrimEtaPhi->SetMarkerStyle(22);
  hPrimEtaPhi->Draw("same");

  cmc->cd(4);
  //gPad->SetLogy();
  
  TH2F* h2PrimPhoEta = (TH2F*) GetHisto("AnaPhoton_hYPrim_MCPhoton");
  TH2F* h2PrimPi0Eta = (TH2F*) GetHisto("AnaPi0_hPrimPi0Rapidity");
  TH2F* h2PrimEtaEta = (TH2F*) GetHisto("AnaPi0_hPrimEtaRapidity");

  h2PrimPhoEta->Sumw2();
  h2PrimEtaEta->Sumw2();
  h2PrimPi0Eta->Sumw2();
  
  Int_t binMin = hPrimPho->FindBin(3);
  
  TH1F* hPrimPhoEta = (TH1F*) h2PrimPhoEta->ProjectionY("PrimPhoEta",binMin,1000);
  TH1F* hPrimPi0Eta = (TH1F*) h2PrimPi0Eta->ProjectionY("PrimPi0Eta",binMin,1000);
  TH1F* hPrimEtaEta = (TH1F*) h2PrimEtaEta->ProjectionY("PrimEtaEta",binMin,1000);
  
  hPrimPhoEta->Scale(1./hPrimPhoEta->Integral(0,1000));
  hPrimPi0Eta->Scale(1./hPrimPi0Eta->Integral(0,1000));
  hPrimEtaEta->Scale(1./hPrimEtaEta->Integral(0,1000));
  
  Float_t maxEta = hPrimPhoEta->GetMaximum();
  if(maxEta < hPrimPi0Eta->GetMaximum()) maxEta =  hPrimPi0Eta->GetMaximum();
  if(maxEta < hPrimEtaEta->GetMaximum()) maxEta =  hPrimEtaEta->GetMaximum();
  
  Float_t minEta = hPrimPhoEta->GetMinimum();
  if(minEta > hPrimPi0Eta->GetMinimum()) minEta =  hPrimPi0Eta->GetMinimum();
  if(minEta > hPrimEtaEta->GetMinimum()) minEta =  hPrimEtaEta->GetMinimum();
  
  hPrimPi0Eta->SetMaximum(maxEta*1.1);
  hPrimPi0Eta->SetMinimum(minEta);
  TGaxis::SetMaxDigits(3);
  
  hPrimPi0Eta->SetYTitle("1/total entries dN/d#eta");
  hPrimPi0Eta->SetTitle("Generated particles #eta for E > 3 GeV");
  hPrimPi0Eta->SetTitleOffset(1.6,"Y");
  hPrimPi0Eta->SetMarkerColor(4);
  hPrimPi0Eta->SetMarkerStyle(21);
  hPrimPi0Eta->Draw("");
  
  hPrimPhoEta->SetMarkerColor(1);
  hPrimPhoEta->SetMarkerStyle(20);
  Float_t scale = TMath::RadToDeg();
  hPrimPhoEta->Draw("same");
  
  hPrimEtaEta->SetMarkerColor(2);
  hPrimEtaEta->SetMarkerStyle(22);
  hPrimEtaEta->Draw("same");
  
  cmc->Print(Form("%s_MCHisto.eps",histoTag.Data()));



  
 }


//____________________________________________________________________
void GetFileAndList(TString fileName, TString listName, Bool_t export)
{
  file  = new TFile(fileName,"read");
  
  TDirectory * dir = (TDirectory*) file->Get(listName);
  if(dir)
  {
    list = (TList*) dir->Get(listName);
    if(export)
    {
      TFile * outputFile = new TFile("AnalysisResultsList.root","RECREATE");
      list->Write();
      outputFile->Close();
    }
  }
}

//___________________________________
TObject * GetHisto(TString histoName)
{
  // Check if the list is available, if not get the histo directly from file
  
  if(list) return list->FindObject(histoName);
  else     return file->Get       (histoName);
}

//___________________________________________________
void ScaleAxis(TAxis *a, Double_t scale)
{
  if (!a) return; // just a precaution
  if (a->GetXbins()->GetSize())
  {
    // an axis with variable bins
    // note: bins must remain in increasing order, hence the "Scale"
    // function must be strictly (monotonically) increasing
    TArrayD X(*(a->GetXbins()));
    for(Int_t i = 0; i < X.GetSize(); i++) X[i] = scale*X[i];
    a->Set((X.GetSize() - 1), X.GetArray()); // new Xbins
  }
  else
  {
    // an axis with fix bins
    // note: we modify Xmin and Xmax only, hence the "Scale" function
    // must be linear (and Xmax must remain greater than Xmin)
    a->Set(a->GetNbins(),
           scale*a->GetXmin(), // new Xmin
           scale*a->GetXmax()); // new Xmax
  }
  return;
}

//___________________________________________________
void ScaleXaxis(TH1 *h, Double_t scale)
{
  if (!h) return; // just a precaution
  ScaleAxis(h->GetXaxis(), scale);
  return;
}


 DrawAnaCaloTrackQA.C:1
 DrawAnaCaloTrackQA.C:2
 DrawAnaCaloTrackQA.C:3
 DrawAnaCaloTrackQA.C:4
 DrawAnaCaloTrackQA.C:5
 DrawAnaCaloTrackQA.C:6
 DrawAnaCaloTrackQA.C:7
 DrawAnaCaloTrackQA.C:8
 DrawAnaCaloTrackQA.C:9
 DrawAnaCaloTrackQA.C:10
 DrawAnaCaloTrackQA.C:11
 DrawAnaCaloTrackQA.C:12
 DrawAnaCaloTrackQA.C:13
 DrawAnaCaloTrackQA.C:14
 DrawAnaCaloTrackQA.C:15
 DrawAnaCaloTrackQA.C:16
 DrawAnaCaloTrackQA.C:17
 DrawAnaCaloTrackQA.C:18
 DrawAnaCaloTrackQA.C:19
 DrawAnaCaloTrackQA.C:20
 DrawAnaCaloTrackQA.C:21
 DrawAnaCaloTrackQA.C:22
 DrawAnaCaloTrackQA.C:23
 DrawAnaCaloTrackQA.C:24
 DrawAnaCaloTrackQA.C:25
 DrawAnaCaloTrackQA.C:26
 DrawAnaCaloTrackQA.C:27
 DrawAnaCaloTrackQA.C:28
 DrawAnaCaloTrackQA.C:29
 DrawAnaCaloTrackQA.C:30
 DrawAnaCaloTrackQA.C:31
 DrawAnaCaloTrackQA.C:32
 DrawAnaCaloTrackQA.C:33
 DrawAnaCaloTrackQA.C:34
 DrawAnaCaloTrackQA.C:35
 DrawAnaCaloTrackQA.C:36
 DrawAnaCaloTrackQA.C:37
 DrawAnaCaloTrackQA.C:38
 DrawAnaCaloTrackQA.C:39
 DrawAnaCaloTrackQA.C:40
 DrawAnaCaloTrackQA.C:41
 DrawAnaCaloTrackQA.C:42
 DrawAnaCaloTrackQA.C:43
 DrawAnaCaloTrackQA.C:44
 DrawAnaCaloTrackQA.C:45
 DrawAnaCaloTrackQA.C:46
 DrawAnaCaloTrackQA.C:47
 DrawAnaCaloTrackQA.C:48
 DrawAnaCaloTrackQA.C:49
 DrawAnaCaloTrackQA.C:50
 DrawAnaCaloTrackQA.C:51
 DrawAnaCaloTrackQA.C:52
 DrawAnaCaloTrackQA.C:53
 DrawAnaCaloTrackQA.C:54
 DrawAnaCaloTrackQA.C:55
 DrawAnaCaloTrackQA.C:56
 DrawAnaCaloTrackQA.C:57
 DrawAnaCaloTrackQA.C:58
 DrawAnaCaloTrackQA.C:59
 DrawAnaCaloTrackQA.C:60
 DrawAnaCaloTrackQA.C:61
 DrawAnaCaloTrackQA.C:62
 DrawAnaCaloTrackQA.C:63
 DrawAnaCaloTrackQA.C:64
 DrawAnaCaloTrackQA.C:65
 DrawAnaCaloTrackQA.C:66
 DrawAnaCaloTrackQA.C:67
 DrawAnaCaloTrackQA.C:68
 DrawAnaCaloTrackQA.C:69
 DrawAnaCaloTrackQA.C:70
 DrawAnaCaloTrackQA.C:71
 DrawAnaCaloTrackQA.C:72
 DrawAnaCaloTrackQA.C:73
 DrawAnaCaloTrackQA.C:74
 DrawAnaCaloTrackQA.C:75
 DrawAnaCaloTrackQA.C:76
 DrawAnaCaloTrackQA.C:77
 DrawAnaCaloTrackQA.C:78
 DrawAnaCaloTrackQA.C:79
 DrawAnaCaloTrackQA.C:80
 DrawAnaCaloTrackQA.C:81
 DrawAnaCaloTrackQA.C:82
 DrawAnaCaloTrackQA.C:83
 DrawAnaCaloTrackQA.C:84
 DrawAnaCaloTrackQA.C:85
 DrawAnaCaloTrackQA.C:86
 DrawAnaCaloTrackQA.C:87
 DrawAnaCaloTrackQA.C:88
 DrawAnaCaloTrackQA.C:89
 DrawAnaCaloTrackQA.C:90
 DrawAnaCaloTrackQA.C:91
 DrawAnaCaloTrackQA.C:92
 DrawAnaCaloTrackQA.C:93
 DrawAnaCaloTrackQA.C:94
 DrawAnaCaloTrackQA.C:95
 DrawAnaCaloTrackQA.C:96
 DrawAnaCaloTrackQA.C:97
 DrawAnaCaloTrackQA.C:98
 DrawAnaCaloTrackQA.C:99
 DrawAnaCaloTrackQA.C:100
 DrawAnaCaloTrackQA.C:101
 DrawAnaCaloTrackQA.C:102
 DrawAnaCaloTrackQA.C:103
 DrawAnaCaloTrackQA.C:104
 DrawAnaCaloTrackQA.C:105
 DrawAnaCaloTrackQA.C:106
 DrawAnaCaloTrackQA.C:107
 DrawAnaCaloTrackQA.C:108
 DrawAnaCaloTrackQA.C:109
 DrawAnaCaloTrackQA.C:110
 DrawAnaCaloTrackQA.C:111
 DrawAnaCaloTrackQA.C:112
 DrawAnaCaloTrackQA.C:113
 DrawAnaCaloTrackQA.C:114
 DrawAnaCaloTrackQA.C:115
 DrawAnaCaloTrackQA.C:116
 DrawAnaCaloTrackQA.C:117
 DrawAnaCaloTrackQA.C:118
 DrawAnaCaloTrackQA.C:119
 DrawAnaCaloTrackQA.C:120
 DrawAnaCaloTrackQA.C:121
 DrawAnaCaloTrackQA.C:122
 DrawAnaCaloTrackQA.C:123
 DrawAnaCaloTrackQA.C:124
 DrawAnaCaloTrackQA.C:125
 DrawAnaCaloTrackQA.C:126
 DrawAnaCaloTrackQA.C:127
 DrawAnaCaloTrackQA.C:128
 DrawAnaCaloTrackQA.C:129
 DrawAnaCaloTrackQA.C:130
 DrawAnaCaloTrackQA.C:131
 DrawAnaCaloTrackQA.C:132
 DrawAnaCaloTrackQA.C:133
 DrawAnaCaloTrackQA.C:134
 DrawAnaCaloTrackQA.C:135
 DrawAnaCaloTrackQA.C:136
 DrawAnaCaloTrackQA.C:137
 DrawAnaCaloTrackQA.C:138
 DrawAnaCaloTrackQA.C:139
 DrawAnaCaloTrackQA.C:140
 DrawAnaCaloTrackQA.C:141
 DrawAnaCaloTrackQA.C:142
 DrawAnaCaloTrackQA.C:143
 DrawAnaCaloTrackQA.C:144
 DrawAnaCaloTrackQA.C:145
 DrawAnaCaloTrackQA.C:146
 DrawAnaCaloTrackQA.C:147
 DrawAnaCaloTrackQA.C:148
 DrawAnaCaloTrackQA.C:149
 DrawAnaCaloTrackQA.C:150
 DrawAnaCaloTrackQA.C:151
 DrawAnaCaloTrackQA.C:152
 DrawAnaCaloTrackQA.C:153
 DrawAnaCaloTrackQA.C:154
 DrawAnaCaloTrackQA.C:155
 DrawAnaCaloTrackQA.C:156
 DrawAnaCaloTrackQA.C:157
 DrawAnaCaloTrackQA.C:158
 DrawAnaCaloTrackQA.C:159
 DrawAnaCaloTrackQA.C:160
 DrawAnaCaloTrackQA.C:161
 DrawAnaCaloTrackQA.C:162
 DrawAnaCaloTrackQA.C:163
 DrawAnaCaloTrackQA.C:164
 DrawAnaCaloTrackQA.C:165
 DrawAnaCaloTrackQA.C:166
 DrawAnaCaloTrackQA.C:167
 DrawAnaCaloTrackQA.C:168
 DrawAnaCaloTrackQA.C:169
 DrawAnaCaloTrackQA.C:170
 DrawAnaCaloTrackQA.C:171
 DrawAnaCaloTrackQA.C:172
 DrawAnaCaloTrackQA.C:173
 DrawAnaCaloTrackQA.C:174
 DrawAnaCaloTrackQA.C:175
 DrawAnaCaloTrackQA.C:176
 DrawAnaCaloTrackQA.C:177
 DrawAnaCaloTrackQA.C:178
 DrawAnaCaloTrackQA.C:179
 DrawAnaCaloTrackQA.C:180
 DrawAnaCaloTrackQA.C:181
 DrawAnaCaloTrackQA.C:182
 DrawAnaCaloTrackQA.C:183
 DrawAnaCaloTrackQA.C:184
 DrawAnaCaloTrackQA.C:185
 DrawAnaCaloTrackQA.C:186
 DrawAnaCaloTrackQA.C:187
 DrawAnaCaloTrackQA.C:188
 DrawAnaCaloTrackQA.C:189
 DrawAnaCaloTrackQA.C:190
 DrawAnaCaloTrackQA.C:191
 DrawAnaCaloTrackQA.C:192
 DrawAnaCaloTrackQA.C:193
 DrawAnaCaloTrackQA.C:194
 DrawAnaCaloTrackQA.C:195
 DrawAnaCaloTrackQA.C:196
 DrawAnaCaloTrackQA.C:197
 DrawAnaCaloTrackQA.C:198
 DrawAnaCaloTrackQA.C:199
 DrawAnaCaloTrackQA.C:200
 DrawAnaCaloTrackQA.C:201
 DrawAnaCaloTrackQA.C:202
 DrawAnaCaloTrackQA.C:203
 DrawAnaCaloTrackQA.C:204
 DrawAnaCaloTrackQA.C:205
 DrawAnaCaloTrackQA.C:206
 DrawAnaCaloTrackQA.C:207
 DrawAnaCaloTrackQA.C:208
 DrawAnaCaloTrackQA.C:209
 DrawAnaCaloTrackQA.C:210
 DrawAnaCaloTrackQA.C:211
 DrawAnaCaloTrackQA.C:212
 DrawAnaCaloTrackQA.C:213
 DrawAnaCaloTrackQA.C:214
 DrawAnaCaloTrackQA.C:215
 DrawAnaCaloTrackQA.C:216
 DrawAnaCaloTrackQA.C:217
 DrawAnaCaloTrackQA.C:218
 DrawAnaCaloTrackQA.C:219
 DrawAnaCaloTrackQA.C:220
 DrawAnaCaloTrackQA.C:221
 DrawAnaCaloTrackQA.C:222
 DrawAnaCaloTrackQA.C:223
 DrawAnaCaloTrackQA.C:224
 DrawAnaCaloTrackQA.C:225
 DrawAnaCaloTrackQA.C:226
 DrawAnaCaloTrackQA.C:227
 DrawAnaCaloTrackQA.C:228
 DrawAnaCaloTrackQA.C:229
 DrawAnaCaloTrackQA.C:230
 DrawAnaCaloTrackQA.C:231
 DrawAnaCaloTrackQA.C:232
 DrawAnaCaloTrackQA.C:233
 DrawAnaCaloTrackQA.C:234
 DrawAnaCaloTrackQA.C:235
 DrawAnaCaloTrackQA.C:236
 DrawAnaCaloTrackQA.C:237
 DrawAnaCaloTrackQA.C:238
 DrawAnaCaloTrackQA.C:239
 DrawAnaCaloTrackQA.C:240
 DrawAnaCaloTrackQA.C:241
 DrawAnaCaloTrackQA.C:242
 DrawAnaCaloTrackQA.C:243
 DrawAnaCaloTrackQA.C:244
 DrawAnaCaloTrackQA.C:245
 DrawAnaCaloTrackQA.C:246
 DrawAnaCaloTrackQA.C:247
 DrawAnaCaloTrackQA.C:248
 DrawAnaCaloTrackQA.C:249
 DrawAnaCaloTrackQA.C:250
 DrawAnaCaloTrackQA.C:251
 DrawAnaCaloTrackQA.C:252
 DrawAnaCaloTrackQA.C:253
 DrawAnaCaloTrackQA.C:254
 DrawAnaCaloTrackQA.C:255
 DrawAnaCaloTrackQA.C:256
 DrawAnaCaloTrackQA.C:257
 DrawAnaCaloTrackQA.C:258
 DrawAnaCaloTrackQA.C:259
 DrawAnaCaloTrackQA.C:260
 DrawAnaCaloTrackQA.C:261
 DrawAnaCaloTrackQA.C:262
 DrawAnaCaloTrackQA.C:263
 DrawAnaCaloTrackQA.C:264
 DrawAnaCaloTrackQA.C:265
 DrawAnaCaloTrackQA.C:266
 DrawAnaCaloTrackQA.C:267
 DrawAnaCaloTrackQA.C:268
 DrawAnaCaloTrackQA.C:269
 DrawAnaCaloTrackQA.C:270
 DrawAnaCaloTrackQA.C:271
 DrawAnaCaloTrackQA.C:272
 DrawAnaCaloTrackQA.C:273
 DrawAnaCaloTrackQA.C:274
 DrawAnaCaloTrackQA.C:275
 DrawAnaCaloTrackQA.C:276
 DrawAnaCaloTrackQA.C:277
 DrawAnaCaloTrackQA.C:278
 DrawAnaCaloTrackQA.C:279
 DrawAnaCaloTrackQA.C:280
 DrawAnaCaloTrackQA.C:281
 DrawAnaCaloTrackQA.C:282
 DrawAnaCaloTrackQA.C:283
 DrawAnaCaloTrackQA.C:284
 DrawAnaCaloTrackQA.C:285
 DrawAnaCaloTrackQA.C:286
 DrawAnaCaloTrackQA.C:287
 DrawAnaCaloTrackQA.C:288
 DrawAnaCaloTrackQA.C:289
 DrawAnaCaloTrackQA.C:290
 DrawAnaCaloTrackQA.C:291
 DrawAnaCaloTrackQA.C:292
 DrawAnaCaloTrackQA.C:293
 DrawAnaCaloTrackQA.C:294
 DrawAnaCaloTrackQA.C:295
 DrawAnaCaloTrackQA.C:296
 DrawAnaCaloTrackQA.C:297
 DrawAnaCaloTrackQA.C:298
 DrawAnaCaloTrackQA.C:299
 DrawAnaCaloTrackQA.C:300
 DrawAnaCaloTrackQA.C:301
 DrawAnaCaloTrackQA.C:302
 DrawAnaCaloTrackQA.C:303
 DrawAnaCaloTrackQA.C:304
 DrawAnaCaloTrackQA.C:305
 DrawAnaCaloTrackQA.C:306
 DrawAnaCaloTrackQA.C:307
 DrawAnaCaloTrackQA.C:308
 DrawAnaCaloTrackQA.C:309
 DrawAnaCaloTrackQA.C:310
 DrawAnaCaloTrackQA.C:311
 DrawAnaCaloTrackQA.C:312
 DrawAnaCaloTrackQA.C:313
 DrawAnaCaloTrackQA.C:314
 DrawAnaCaloTrackQA.C:315
 DrawAnaCaloTrackQA.C:316
 DrawAnaCaloTrackQA.C:317
 DrawAnaCaloTrackQA.C:318
 DrawAnaCaloTrackQA.C:319
 DrawAnaCaloTrackQA.C:320
 DrawAnaCaloTrackQA.C:321
 DrawAnaCaloTrackQA.C:322
 DrawAnaCaloTrackQA.C:323
 DrawAnaCaloTrackQA.C:324
 DrawAnaCaloTrackQA.C:325
 DrawAnaCaloTrackQA.C:326
 DrawAnaCaloTrackQA.C:327
 DrawAnaCaloTrackQA.C:328
 DrawAnaCaloTrackQA.C:329
 DrawAnaCaloTrackQA.C:330
 DrawAnaCaloTrackQA.C:331
 DrawAnaCaloTrackQA.C:332
 DrawAnaCaloTrackQA.C:333
 DrawAnaCaloTrackQA.C:334
 DrawAnaCaloTrackQA.C:335
 DrawAnaCaloTrackQA.C:336
 DrawAnaCaloTrackQA.C:337
 DrawAnaCaloTrackQA.C:338
 DrawAnaCaloTrackQA.C:339
 DrawAnaCaloTrackQA.C:340
 DrawAnaCaloTrackQA.C:341
 DrawAnaCaloTrackQA.C:342
 DrawAnaCaloTrackQA.C:343
 DrawAnaCaloTrackQA.C:344
 DrawAnaCaloTrackQA.C:345
 DrawAnaCaloTrackQA.C:346
 DrawAnaCaloTrackQA.C:347
 DrawAnaCaloTrackQA.C:348
 DrawAnaCaloTrackQA.C:349
 DrawAnaCaloTrackQA.C:350
 DrawAnaCaloTrackQA.C:351
 DrawAnaCaloTrackQA.C:352
 DrawAnaCaloTrackQA.C:353
 DrawAnaCaloTrackQA.C:354
 DrawAnaCaloTrackQA.C:355
 DrawAnaCaloTrackQA.C:356
 DrawAnaCaloTrackQA.C:357
 DrawAnaCaloTrackQA.C:358
 DrawAnaCaloTrackQA.C:359
 DrawAnaCaloTrackQA.C:360
 DrawAnaCaloTrackQA.C:361
 DrawAnaCaloTrackQA.C:362
 DrawAnaCaloTrackQA.C:363
 DrawAnaCaloTrackQA.C:364
 DrawAnaCaloTrackQA.C:365
 DrawAnaCaloTrackQA.C:366
 DrawAnaCaloTrackQA.C:367
 DrawAnaCaloTrackQA.C:368
 DrawAnaCaloTrackQA.C:369
 DrawAnaCaloTrackQA.C:370
 DrawAnaCaloTrackQA.C:371
 DrawAnaCaloTrackQA.C:372
 DrawAnaCaloTrackQA.C:373
 DrawAnaCaloTrackQA.C:374
 DrawAnaCaloTrackQA.C:375
 DrawAnaCaloTrackQA.C:376
 DrawAnaCaloTrackQA.C:377
 DrawAnaCaloTrackQA.C:378
 DrawAnaCaloTrackQA.C:379
 DrawAnaCaloTrackQA.C:380
 DrawAnaCaloTrackQA.C:381
 DrawAnaCaloTrackQA.C:382
 DrawAnaCaloTrackQA.C:383
 DrawAnaCaloTrackQA.C:384
 DrawAnaCaloTrackQA.C:385
 DrawAnaCaloTrackQA.C:386
 DrawAnaCaloTrackQA.C:387
 DrawAnaCaloTrackQA.C:388
 DrawAnaCaloTrackQA.C:389
 DrawAnaCaloTrackQA.C:390
 DrawAnaCaloTrackQA.C:391
 DrawAnaCaloTrackQA.C:392
 DrawAnaCaloTrackQA.C:393
 DrawAnaCaloTrackQA.C:394
 DrawAnaCaloTrackQA.C:395
 DrawAnaCaloTrackQA.C:396
 DrawAnaCaloTrackQA.C:397
 DrawAnaCaloTrackQA.C:398
 DrawAnaCaloTrackQA.C:399
 DrawAnaCaloTrackQA.C:400
 DrawAnaCaloTrackQA.C:401
 DrawAnaCaloTrackQA.C:402
 DrawAnaCaloTrackQA.C:403
 DrawAnaCaloTrackQA.C:404
 DrawAnaCaloTrackQA.C:405
 DrawAnaCaloTrackQA.C:406
 DrawAnaCaloTrackQA.C:407
 DrawAnaCaloTrackQA.C:408
 DrawAnaCaloTrackQA.C:409
 DrawAnaCaloTrackQA.C:410
 DrawAnaCaloTrackQA.C:411
 DrawAnaCaloTrackQA.C:412
 DrawAnaCaloTrackQA.C:413
 DrawAnaCaloTrackQA.C:414
 DrawAnaCaloTrackQA.C:415
 DrawAnaCaloTrackQA.C:416
 DrawAnaCaloTrackQA.C:417
 DrawAnaCaloTrackQA.C:418
 DrawAnaCaloTrackQA.C:419
 DrawAnaCaloTrackQA.C:420
 DrawAnaCaloTrackQA.C:421
 DrawAnaCaloTrackQA.C:422
 DrawAnaCaloTrackQA.C:423
 DrawAnaCaloTrackQA.C:424
 DrawAnaCaloTrackQA.C:425
 DrawAnaCaloTrackQA.C:426
 DrawAnaCaloTrackQA.C:427
 DrawAnaCaloTrackQA.C:428
 DrawAnaCaloTrackQA.C:429
 DrawAnaCaloTrackQA.C:430
 DrawAnaCaloTrackQA.C:431
 DrawAnaCaloTrackQA.C:432
 DrawAnaCaloTrackQA.C:433
 DrawAnaCaloTrackQA.C:434
 DrawAnaCaloTrackQA.C:435
 DrawAnaCaloTrackQA.C:436
 DrawAnaCaloTrackQA.C:437
 DrawAnaCaloTrackQA.C:438
 DrawAnaCaloTrackQA.C:439
 DrawAnaCaloTrackQA.C:440
 DrawAnaCaloTrackQA.C:441
 DrawAnaCaloTrackQA.C:442
 DrawAnaCaloTrackQA.C:443
 DrawAnaCaloTrackQA.C:444
 DrawAnaCaloTrackQA.C:445
 DrawAnaCaloTrackQA.C:446
 DrawAnaCaloTrackQA.C:447
 DrawAnaCaloTrackQA.C:448
 DrawAnaCaloTrackQA.C:449
 DrawAnaCaloTrackQA.C:450
 DrawAnaCaloTrackQA.C:451
 DrawAnaCaloTrackQA.C:452
 DrawAnaCaloTrackQA.C:453
 DrawAnaCaloTrackQA.C:454
 DrawAnaCaloTrackQA.C:455
 DrawAnaCaloTrackQA.C:456
 DrawAnaCaloTrackQA.C:457
 DrawAnaCaloTrackQA.C:458
 DrawAnaCaloTrackQA.C:459
 DrawAnaCaloTrackQA.C:460
 DrawAnaCaloTrackQA.C:461
 DrawAnaCaloTrackQA.C:462
 DrawAnaCaloTrackQA.C:463
 DrawAnaCaloTrackQA.C:464
 DrawAnaCaloTrackQA.C:465
 DrawAnaCaloTrackQA.C:466
 DrawAnaCaloTrackQA.C:467
 DrawAnaCaloTrackQA.C:468
 DrawAnaCaloTrackQA.C:469
 DrawAnaCaloTrackQA.C:470
 DrawAnaCaloTrackQA.C:471
 DrawAnaCaloTrackQA.C:472
 DrawAnaCaloTrackQA.C:473
 DrawAnaCaloTrackQA.C:474
 DrawAnaCaloTrackQA.C:475
 DrawAnaCaloTrackQA.C:476
 DrawAnaCaloTrackQA.C:477
 DrawAnaCaloTrackQA.C:478
 DrawAnaCaloTrackQA.C:479
 DrawAnaCaloTrackQA.C:480
 DrawAnaCaloTrackQA.C:481
 DrawAnaCaloTrackQA.C:482
 DrawAnaCaloTrackQA.C:483
 DrawAnaCaloTrackQA.C:484
 DrawAnaCaloTrackQA.C:485
 DrawAnaCaloTrackQA.C:486
 DrawAnaCaloTrackQA.C:487
 DrawAnaCaloTrackQA.C:488
 DrawAnaCaloTrackQA.C:489
 DrawAnaCaloTrackQA.C:490
 DrawAnaCaloTrackQA.C:491
 DrawAnaCaloTrackQA.C:492
 DrawAnaCaloTrackQA.C:493
 DrawAnaCaloTrackQA.C:494
 DrawAnaCaloTrackQA.C:495
 DrawAnaCaloTrackQA.C:496
 DrawAnaCaloTrackQA.C:497
 DrawAnaCaloTrackQA.C:498
 DrawAnaCaloTrackQA.C:499
 DrawAnaCaloTrackQA.C:500
 DrawAnaCaloTrackQA.C:501
 DrawAnaCaloTrackQA.C:502
 DrawAnaCaloTrackQA.C:503
 DrawAnaCaloTrackQA.C:504
 DrawAnaCaloTrackQA.C:505
 DrawAnaCaloTrackQA.C:506
 DrawAnaCaloTrackQA.C:507
 DrawAnaCaloTrackQA.C:508
 DrawAnaCaloTrackQA.C:509
 DrawAnaCaloTrackQA.C:510
 DrawAnaCaloTrackQA.C:511
 DrawAnaCaloTrackQA.C:512
 DrawAnaCaloTrackQA.C:513
 DrawAnaCaloTrackQA.C:514
 DrawAnaCaloTrackQA.C:515
 DrawAnaCaloTrackQA.C:516
 DrawAnaCaloTrackQA.C:517
 DrawAnaCaloTrackQA.C:518
 DrawAnaCaloTrackQA.C:519
 DrawAnaCaloTrackQA.C:520
 DrawAnaCaloTrackQA.C:521
 DrawAnaCaloTrackQA.C:522
 DrawAnaCaloTrackQA.C:523
 DrawAnaCaloTrackQA.C:524
 DrawAnaCaloTrackQA.C:525
 DrawAnaCaloTrackQA.C:526
 DrawAnaCaloTrackQA.C:527
 DrawAnaCaloTrackQA.C:528
 DrawAnaCaloTrackQA.C:529
 DrawAnaCaloTrackQA.C:530
 DrawAnaCaloTrackQA.C:531
 DrawAnaCaloTrackQA.C:532
 DrawAnaCaloTrackQA.C:533
 DrawAnaCaloTrackQA.C:534
 DrawAnaCaloTrackQA.C:535
 DrawAnaCaloTrackQA.C:536
 DrawAnaCaloTrackQA.C:537
 DrawAnaCaloTrackQA.C:538
 DrawAnaCaloTrackQA.C:539
 DrawAnaCaloTrackQA.C:540
 DrawAnaCaloTrackQA.C:541
 DrawAnaCaloTrackQA.C:542
 DrawAnaCaloTrackQA.C:543
 DrawAnaCaloTrackQA.C:544
 DrawAnaCaloTrackQA.C:545
 DrawAnaCaloTrackQA.C:546
 DrawAnaCaloTrackQA.C:547
 DrawAnaCaloTrackQA.C:548
 DrawAnaCaloTrackQA.C:549
 DrawAnaCaloTrackQA.C:550
 DrawAnaCaloTrackQA.C:551
 DrawAnaCaloTrackQA.C:552
 DrawAnaCaloTrackQA.C:553
 DrawAnaCaloTrackQA.C:554
 DrawAnaCaloTrackQA.C:555
 DrawAnaCaloTrackQA.C:556
 DrawAnaCaloTrackQA.C:557
 DrawAnaCaloTrackQA.C:558
 DrawAnaCaloTrackQA.C:559
 DrawAnaCaloTrackQA.C:560
 DrawAnaCaloTrackQA.C:561
 DrawAnaCaloTrackQA.C:562
 DrawAnaCaloTrackQA.C:563
 DrawAnaCaloTrackQA.C:564
 DrawAnaCaloTrackQA.C:565
 DrawAnaCaloTrackQA.C:566
 DrawAnaCaloTrackQA.C:567
 DrawAnaCaloTrackQA.C:568
 DrawAnaCaloTrackQA.C:569
 DrawAnaCaloTrackQA.C:570
 DrawAnaCaloTrackQA.C:571
 DrawAnaCaloTrackQA.C:572
 DrawAnaCaloTrackQA.C:573
 DrawAnaCaloTrackQA.C:574
 DrawAnaCaloTrackQA.C:575
 DrawAnaCaloTrackQA.C:576
 DrawAnaCaloTrackQA.C:577
 DrawAnaCaloTrackQA.C:578
 DrawAnaCaloTrackQA.C:579
 DrawAnaCaloTrackQA.C:580
 DrawAnaCaloTrackQA.C:581
 DrawAnaCaloTrackQA.C:582
 DrawAnaCaloTrackQA.C:583
 DrawAnaCaloTrackQA.C:584
 DrawAnaCaloTrackQA.C:585
 DrawAnaCaloTrackQA.C:586
 DrawAnaCaloTrackQA.C:587
 DrawAnaCaloTrackQA.C:588
 DrawAnaCaloTrackQA.C:589
 DrawAnaCaloTrackQA.C:590
 DrawAnaCaloTrackQA.C:591
 DrawAnaCaloTrackQA.C:592
 DrawAnaCaloTrackQA.C:593
 DrawAnaCaloTrackQA.C:594
 DrawAnaCaloTrackQA.C:595
 DrawAnaCaloTrackQA.C:596
 DrawAnaCaloTrackQA.C:597
 DrawAnaCaloTrackQA.C:598
 DrawAnaCaloTrackQA.C:599
 DrawAnaCaloTrackQA.C:600
 DrawAnaCaloTrackQA.C:601
 DrawAnaCaloTrackQA.C:602
 DrawAnaCaloTrackQA.C:603
 DrawAnaCaloTrackQA.C:604
 DrawAnaCaloTrackQA.C:605
 DrawAnaCaloTrackQA.C:606
 DrawAnaCaloTrackQA.C:607
 DrawAnaCaloTrackQA.C:608
 DrawAnaCaloTrackQA.C:609
 DrawAnaCaloTrackQA.C:610
 DrawAnaCaloTrackQA.C:611
 DrawAnaCaloTrackQA.C:612
 DrawAnaCaloTrackQA.C:613
 DrawAnaCaloTrackQA.C:614
 DrawAnaCaloTrackQA.C:615
 DrawAnaCaloTrackQA.C:616
 DrawAnaCaloTrackQA.C:617
 DrawAnaCaloTrackQA.C:618
 DrawAnaCaloTrackQA.C:619
 DrawAnaCaloTrackQA.C:620
 DrawAnaCaloTrackQA.C:621
 DrawAnaCaloTrackQA.C:622
 DrawAnaCaloTrackQA.C:623
 DrawAnaCaloTrackQA.C:624
 DrawAnaCaloTrackQA.C:625
 DrawAnaCaloTrackQA.C:626
 DrawAnaCaloTrackQA.C:627
 DrawAnaCaloTrackQA.C:628
 DrawAnaCaloTrackQA.C:629
 DrawAnaCaloTrackQA.C:630
 DrawAnaCaloTrackQA.C:631
 DrawAnaCaloTrackQA.C:632
 DrawAnaCaloTrackQA.C:633
 DrawAnaCaloTrackQA.C:634
 DrawAnaCaloTrackQA.C:635
 DrawAnaCaloTrackQA.C:636
 DrawAnaCaloTrackQA.C:637
 DrawAnaCaloTrackQA.C:638
 DrawAnaCaloTrackQA.C:639
 DrawAnaCaloTrackQA.C:640
 DrawAnaCaloTrackQA.C:641
 DrawAnaCaloTrackQA.C:642
 DrawAnaCaloTrackQA.C:643
 DrawAnaCaloTrackQA.C:644
 DrawAnaCaloTrackQA.C:645
 DrawAnaCaloTrackQA.C:646
 DrawAnaCaloTrackQA.C:647
 DrawAnaCaloTrackQA.C:648
 DrawAnaCaloTrackQA.C:649
 DrawAnaCaloTrackQA.C:650
 DrawAnaCaloTrackQA.C:651
 DrawAnaCaloTrackQA.C:652
 DrawAnaCaloTrackQA.C:653
 DrawAnaCaloTrackQA.C:654
 DrawAnaCaloTrackQA.C:655
 DrawAnaCaloTrackQA.C:656
 DrawAnaCaloTrackQA.C:657
 DrawAnaCaloTrackQA.C:658
 DrawAnaCaloTrackQA.C:659
 DrawAnaCaloTrackQA.C:660
 DrawAnaCaloTrackQA.C:661
 DrawAnaCaloTrackQA.C:662
 DrawAnaCaloTrackQA.C:663
 DrawAnaCaloTrackQA.C:664
 DrawAnaCaloTrackQA.C:665
 DrawAnaCaloTrackQA.C:666
 DrawAnaCaloTrackQA.C:667
 DrawAnaCaloTrackQA.C:668
 DrawAnaCaloTrackQA.C:669
 DrawAnaCaloTrackQA.C:670
 DrawAnaCaloTrackQA.C:671
 DrawAnaCaloTrackQA.C:672
 DrawAnaCaloTrackQA.C:673
 DrawAnaCaloTrackQA.C:674
 DrawAnaCaloTrackQA.C:675
 DrawAnaCaloTrackQA.C:676
 DrawAnaCaloTrackQA.C:677
 DrawAnaCaloTrackQA.C:678
 DrawAnaCaloTrackQA.C:679
 DrawAnaCaloTrackQA.C:680
 DrawAnaCaloTrackQA.C:681
 DrawAnaCaloTrackQA.C:682
 DrawAnaCaloTrackQA.C:683
 DrawAnaCaloTrackQA.C:684
 DrawAnaCaloTrackQA.C:685
 DrawAnaCaloTrackQA.C:686
 DrawAnaCaloTrackQA.C:687
 DrawAnaCaloTrackQA.C:688
 DrawAnaCaloTrackQA.C:689
 DrawAnaCaloTrackQA.C:690
 DrawAnaCaloTrackQA.C:691
 DrawAnaCaloTrackQA.C:692
 DrawAnaCaloTrackQA.C:693
 DrawAnaCaloTrackQA.C:694
 DrawAnaCaloTrackQA.C:695
 DrawAnaCaloTrackQA.C:696
 DrawAnaCaloTrackQA.C:697
 DrawAnaCaloTrackQA.C:698
 DrawAnaCaloTrackQA.C:699
 DrawAnaCaloTrackQA.C:700
 DrawAnaCaloTrackQA.C:701
 DrawAnaCaloTrackQA.C:702
 DrawAnaCaloTrackQA.C:703
 DrawAnaCaloTrackQA.C:704
 DrawAnaCaloTrackQA.C:705
 DrawAnaCaloTrackQA.C:706
 DrawAnaCaloTrackQA.C:707
 DrawAnaCaloTrackQA.C:708
 DrawAnaCaloTrackQA.C:709
 DrawAnaCaloTrackQA.C:710
 DrawAnaCaloTrackQA.C:711
 DrawAnaCaloTrackQA.C:712
 DrawAnaCaloTrackQA.C:713
 DrawAnaCaloTrackQA.C:714
 DrawAnaCaloTrackQA.C:715
 DrawAnaCaloTrackQA.C:716
 DrawAnaCaloTrackQA.C:717
 DrawAnaCaloTrackQA.C:718
 DrawAnaCaloTrackQA.C:719
 DrawAnaCaloTrackQA.C:720
 DrawAnaCaloTrackQA.C:721
 DrawAnaCaloTrackQA.C:722
 DrawAnaCaloTrackQA.C:723
 DrawAnaCaloTrackQA.C:724
 DrawAnaCaloTrackQA.C:725
 DrawAnaCaloTrackQA.C:726
 DrawAnaCaloTrackQA.C:727
 DrawAnaCaloTrackQA.C:728
 DrawAnaCaloTrackQA.C:729
 DrawAnaCaloTrackQA.C:730
 DrawAnaCaloTrackQA.C:731
 DrawAnaCaloTrackQA.C:732
 DrawAnaCaloTrackQA.C:733
 DrawAnaCaloTrackQA.C:734
 DrawAnaCaloTrackQA.C:735
 DrawAnaCaloTrackQA.C:736
 DrawAnaCaloTrackQA.C:737
 DrawAnaCaloTrackQA.C:738
 DrawAnaCaloTrackQA.C:739
 DrawAnaCaloTrackQA.C:740
 DrawAnaCaloTrackQA.C:741
 DrawAnaCaloTrackQA.C:742
 DrawAnaCaloTrackQA.C:743
 DrawAnaCaloTrackQA.C:744
 DrawAnaCaloTrackQA.C:745
 DrawAnaCaloTrackQA.C:746
 DrawAnaCaloTrackQA.C:747
 DrawAnaCaloTrackQA.C:748
 DrawAnaCaloTrackQA.C:749
 DrawAnaCaloTrackQA.C:750
 DrawAnaCaloTrackQA.C:751
 DrawAnaCaloTrackQA.C:752
 DrawAnaCaloTrackQA.C:753
 DrawAnaCaloTrackQA.C:754
 DrawAnaCaloTrackQA.C:755
 DrawAnaCaloTrackQA.C:756
 DrawAnaCaloTrackQA.C:757
 DrawAnaCaloTrackQA.C:758
 DrawAnaCaloTrackQA.C:759
 DrawAnaCaloTrackQA.C:760
 DrawAnaCaloTrackQA.C:761
 DrawAnaCaloTrackQA.C:762
 DrawAnaCaloTrackQA.C:763
 DrawAnaCaloTrackQA.C:764
 DrawAnaCaloTrackQA.C:765
 DrawAnaCaloTrackQA.C:766
 DrawAnaCaloTrackQA.C:767
 DrawAnaCaloTrackQA.C:768
 DrawAnaCaloTrackQA.C:769
 DrawAnaCaloTrackQA.C:770
 DrawAnaCaloTrackQA.C:771
 DrawAnaCaloTrackQA.C:772
 DrawAnaCaloTrackQA.C:773
 DrawAnaCaloTrackQA.C:774
 DrawAnaCaloTrackQA.C:775
 DrawAnaCaloTrackQA.C:776
 DrawAnaCaloTrackQA.C:777
 DrawAnaCaloTrackQA.C:778
 DrawAnaCaloTrackQA.C:779
 DrawAnaCaloTrackQA.C:780
 DrawAnaCaloTrackQA.C:781
 DrawAnaCaloTrackQA.C:782
 DrawAnaCaloTrackQA.C:783
 DrawAnaCaloTrackQA.C:784
 DrawAnaCaloTrackQA.C:785
 DrawAnaCaloTrackQA.C:786
 DrawAnaCaloTrackQA.C:787
 DrawAnaCaloTrackQA.C:788
 DrawAnaCaloTrackQA.C:789
 DrawAnaCaloTrackQA.C:790
 DrawAnaCaloTrackQA.C:791
 DrawAnaCaloTrackQA.C:792
 DrawAnaCaloTrackQA.C:793
 DrawAnaCaloTrackQA.C:794
 DrawAnaCaloTrackQA.C:795
 DrawAnaCaloTrackQA.C:796
 DrawAnaCaloTrackQA.C:797
 DrawAnaCaloTrackQA.C:798
 DrawAnaCaloTrackQA.C:799
 DrawAnaCaloTrackQA.C:800
 DrawAnaCaloTrackQA.C:801
 DrawAnaCaloTrackQA.C:802
 DrawAnaCaloTrackQA.C:803
 DrawAnaCaloTrackQA.C:804
 DrawAnaCaloTrackQA.C:805
 DrawAnaCaloTrackQA.C:806
 DrawAnaCaloTrackQA.C:807
 DrawAnaCaloTrackQA.C:808
 DrawAnaCaloTrackQA.C:809
 DrawAnaCaloTrackQA.C:810
 DrawAnaCaloTrackQA.C:811
 DrawAnaCaloTrackQA.C:812
 DrawAnaCaloTrackQA.C:813
 DrawAnaCaloTrackQA.C:814
 DrawAnaCaloTrackQA.C:815
 DrawAnaCaloTrackQA.C:816
 DrawAnaCaloTrackQA.C:817
 DrawAnaCaloTrackQA.C:818
 DrawAnaCaloTrackQA.C:819
 DrawAnaCaloTrackQA.C:820
 DrawAnaCaloTrackQA.C:821
 DrawAnaCaloTrackQA.C:822
 DrawAnaCaloTrackQA.C:823
 DrawAnaCaloTrackQA.C:824
 DrawAnaCaloTrackQA.C:825
 DrawAnaCaloTrackQA.C:826
 DrawAnaCaloTrackQA.C:827
 DrawAnaCaloTrackQA.C:828
 DrawAnaCaloTrackQA.C:829
 DrawAnaCaloTrackQA.C:830
 DrawAnaCaloTrackQA.C:831
 DrawAnaCaloTrackQA.C:832
 DrawAnaCaloTrackQA.C:833
 DrawAnaCaloTrackQA.C:834
 DrawAnaCaloTrackQA.C:835
 DrawAnaCaloTrackQA.C:836
 DrawAnaCaloTrackQA.C:837
 DrawAnaCaloTrackQA.C:838
 DrawAnaCaloTrackQA.C:839
 DrawAnaCaloTrackQA.C:840
 DrawAnaCaloTrackQA.C:841
 DrawAnaCaloTrackQA.C:842
 DrawAnaCaloTrackQA.C:843
 DrawAnaCaloTrackQA.C:844
 DrawAnaCaloTrackQA.C:845
 DrawAnaCaloTrackQA.C:846
 DrawAnaCaloTrackQA.C:847
 DrawAnaCaloTrackQA.C:848
 DrawAnaCaloTrackQA.C:849
 DrawAnaCaloTrackQA.C:850
 DrawAnaCaloTrackQA.C:851
 DrawAnaCaloTrackQA.C:852
 DrawAnaCaloTrackQA.C:853
 DrawAnaCaloTrackQA.C:854
 DrawAnaCaloTrackQA.C:855
 DrawAnaCaloTrackQA.C:856
 DrawAnaCaloTrackQA.C:857
 DrawAnaCaloTrackQA.C:858
 DrawAnaCaloTrackQA.C:859
 DrawAnaCaloTrackQA.C:860
 DrawAnaCaloTrackQA.C:861
 DrawAnaCaloTrackQA.C:862
 DrawAnaCaloTrackQA.C:863
 DrawAnaCaloTrackQA.C:864
 DrawAnaCaloTrackQA.C:865
 DrawAnaCaloTrackQA.C:866
 DrawAnaCaloTrackQA.C:867
 DrawAnaCaloTrackQA.C:868
 DrawAnaCaloTrackQA.C:869
 DrawAnaCaloTrackQA.C:870
 DrawAnaCaloTrackQA.C:871
 DrawAnaCaloTrackQA.C:872
 DrawAnaCaloTrackQA.C:873
 DrawAnaCaloTrackQA.C:874
 DrawAnaCaloTrackQA.C:875
 DrawAnaCaloTrackQA.C:876
 DrawAnaCaloTrackQA.C:877
 DrawAnaCaloTrackQA.C:878
 DrawAnaCaloTrackQA.C:879
 DrawAnaCaloTrackQA.C:880
 DrawAnaCaloTrackQA.C:881
 DrawAnaCaloTrackQA.C:882
 DrawAnaCaloTrackQA.C:883
 DrawAnaCaloTrackQA.C:884
 DrawAnaCaloTrackQA.C:885
 DrawAnaCaloTrackQA.C:886
 DrawAnaCaloTrackQA.C:887
 DrawAnaCaloTrackQA.C:888
 DrawAnaCaloTrackQA.C:889
 DrawAnaCaloTrackQA.C:890
 DrawAnaCaloTrackQA.C:891
 DrawAnaCaloTrackQA.C:892
 DrawAnaCaloTrackQA.C:893
 DrawAnaCaloTrackQA.C:894
 DrawAnaCaloTrackQA.C:895
 DrawAnaCaloTrackQA.C:896
 DrawAnaCaloTrackQA.C:897
 DrawAnaCaloTrackQA.C:898
 DrawAnaCaloTrackQA.C:899
 DrawAnaCaloTrackQA.C:900
 DrawAnaCaloTrackQA.C:901
 DrawAnaCaloTrackQA.C:902
 DrawAnaCaloTrackQA.C:903
 DrawAnaCaloTrackQA.C:904
 DrawAnaCaloTrackQA.C:905
 DrawAnaCaloTrackQA.C:906
 DrawAnaCaloTrackQA.C:907
 DrawAnaCaloTrackQA.C:908
 DrawAnaCaloTrackQA.C:909
 DrawAnaCaloTrackQA.C:910
 DrawAnaCaloTrackQA.C:911
 DrawAnaCaloTrackQA.C:912
 DrawAnaCaloTrackQA.C:913
 DrawAnaCaloTrackQA.C:914
 DrawAnaCaloTrackQA.C:915
 DrawAnaCaloTrackQA.C:916
 DrawAnaCaloTrackQA.C:917
 DrawAnaCaloTrackQA.C:918
 DrawAnaCaloTrackQA.C:919
 DrawAnaCaloTrackQA.C:920
 DrawAnaCaloTrackQA.C:921
 DrawAnaCaloTrackQA.C:922
 DrawAnaCaloTrackQA.C:923
 DrawAnaCaloTrackQA.C:924
 DrawAnaCaloTrackQA.C:925
 DrawAnaCaloTrackQA.C:926
 DrawAnaCaloTrackQA.C:927
 DrawAnaCaloTrackQA.C:928
 DrawAnaCaloTrackQA.C:929
 DrawAnaCaloTrackQA.C:930
 DrawAnaCaloTrackQA.C:931
 DrawAnaCaloTrackQA.C:932
 DrawAnaCaloTrackQA.C:933
 DrawAnaCaloTrackQA.C:934
 DrawAnaCaloTrackQA.C:935
 DrawAnaCaloTrackQA.C:936
 DrawAnaCaloTrackQA.C:937
 DrawAnaCaloTrackQA.C:938
 DrawAnaCaloTrackQA.C:939
 DrawAnaCaloTrackQA.C:940
 DrawAnaCaloTrackQA.C:941
 DrawAnaCaloTrackQA.C:942
 DrawAnaCaloTrackQA.C:943
 DrawAnaCaloTrackQA.C:944
 DrawAnaCaloTrackQA.C:945
 DrawAnaCaloTrackQA.C:946
 DrawAnaCaloTrackQA.C:947
 DrawAnaCaloTrackQA.C:948
 DrawAnaCaloTrackQA.C:949
 DrawAnaCaloTrackQA.C:950
 DrawAnaCaloTrackQA.C:951
 DrawAnaCaloTrackQA.C:952
 DrawAnaCaloTrackQA.C:953
 DrawAnaCaloTrackQA.C:954
 DrawAnaCaloTrackQA.C:955
 DrawAnaCaloTrackQA.C:956
 DrawAnaCaloTrackQA.C:957
 DrawAnaCaloTrackQA.C:958