ROOT logo
void SetStyles(TH1 *histo,int marker, int color,char *xtitle, char *ytitle);
TH1* bayneseffdiv(TH1* numerator, TH1* denominator,Char_t* name) ;
void PlotBackgroundClusters(TString filename="rootFiles/LHC11a10a_bis/Et.ESD.simPbPb.EMCal.LHC11a10a_bis.Run139465.root", Bool_t peripheral = kFALSE, int bin = 10, int binLast = 10, TString det = "EMCal"){

  gStyle->SetOptTitle(0);
  gStyle->SetOptStat(0);
  gStyle->SetOptFit(0);
  TString outname = "";
  TString outnamebin = Form("%iTo%i",bin,binLast);

  TString suffix = "";
  if(peripheral) suffix ="Peripheral";

  TFile *f = TFile::Open(filename, "READ");
  
  TList *l = (TList*)f->Get("out1");
  TH1F  *fHistChargedTracksCut = l->FindObject(("fHistChargedTracksCut"+suffix).Data());
  TH1F  *fHistChargedTracksAccepted = l->FindObject(("fHistChargedTracksAccepted"+suffix).Data());
  TH1F  *fHistGammasCut = l->FindObject(("fHistGammasTracksCut"+suffix).Data());
  TH1F  *fHistGammasAccepted = l->FindObject(("fHistGammasTracksAccepted"+suffix).Data());

  int rebin = 1;
  fHistChargedTracksCut->Rebin(rebin);
  fHistChargedTracksAccepted->Rebin(rebin);
  fHistGammasCut->Rebin(rebin);
  fHistGammasAccepted->Rebin(rebin);

  int bin1 = 1;
  int bin2 = fHistChargedTracksCut->GetXaxis()->FindBin(0.5);
  int bin3 = fHistChargedTracksCut->GetNbinsX();
  float nGammasCutBelow = fHistGammasCut->Integral(bin1,bin2);
  float nGammasCutAbove = fHistGammasCut->Integral(bin2+1,bin3);
  float nGammasCut = fHistGammasCut->Integral();
  float nTracksCutBelow = fHistChargedTracksCut->Integral(bin1,bin2);
  float nTracksCutAbove = fHistChargedTracksCut->Integral(bin2+1,bin3);
  float nTracksCut = fHistChargedTracksCut->Integral();
  cout<<"Gamma Fraction above: "<<nGammasCutAbove/nGammasCut<<" below: "<<nGammasCutBelow/nGammasCut<<endl;
  cout<<"Track Fraction above: "<<nTracksCutAbove/nTracksCut<<" below: "<<nTracksCutBelow/nTracksCut<<endl;

  TH1F *hTotalCut = fHistChargedTracksCut->Clone("hTotalCut");
  hTotalCut->Add(fHistGammasCut);
  TH1F *hTotalAccepted = fHistChargedTracksAccepted->Clone("hTotalAccepted");
  hTotalAccepted->Add(fHistGammasAccepted);
  TH1F *hTotalClusters = fHistChargedTracksCut->Clone("hTotalClusters");
  hTotalClusters->Add(fHistChargedTracksAccepted);
  hTotalClusters->Add(fHistGammasCut);
  hTotalClusters->Add(fHistGammasAccepted);
  TH1F *hTotalCharged = fHistChargedTracksCut->Clone("hTotalCharged");
  hTotalCharged->Add(fHistChargedTracksAccepted);
  TH1F *hTotalGamma = fHistGammasCut->Clone("hTotalGamma");
  hTotalGamma->Add(fHistGammasAccepted);

  TH1F *hSignalCut = bayneseffdiv(fHistGammasCut,hTotalCut,"hSignalCut");
  TH1F *hBkgdCut = bayneseffdiv(fHistChargedTracksCut,hTotalCut,"hBkgdCut");
  TH1F *hSignalAcc = bayneseffdiv(fHistGammasAccepted,hTotalAccepted,"hSignalAcc");
  TH1F *hBkgdAcc = bayneseffdiv(fHistChargedTracksAccepted,hTotalAccepted,"hBkgdAcc");
  TH1F *hFracCharged = bayneseffdiv(hTotalCharged,hTotalClusters,"hFracCharged");
  TH1F *hFracGamma = bayneseffdiv(hTotalGamma,hTotalClusters,"hFracGamma");
  SetStyles(hSignalCut,21,2,"E_{T}","fraction cut");
  SetStyles(hSignalAcc,25,2,"E_{T}","fraction cut");
  SetStyles(hBkgdCut,20,4,"E_{T}","fraction cut");
  SetStyles(hBkgdAcc,24,4,"E_{T}","fraction cut");
  SetStyles(hFracCharged,24,4,"E_{T}","fraction cut");
  SetStyles(hFracGamma,25,2,"E_{T}","fraction cut");

  float ECut = 0.5;
  TLine *lineEDep = new TLine(ECut,0,ECut,1);
  lineEDep->SetLineWidth(2);
  TLine *lineEDep2D = new TLine(ECut,0,ECut,3);
  lineEDep2D->SetLineWidth(2);

  TLegend *leg = new TLegend(0.357383,0.47043,0.458054,0.75);
  leg->SetFillStyle(0);
  leg->SetFillColor(0);
  leg->SetBorderSize(0);
  leg->SetTextSize(0.03);
  leg->AddEntry(hSignalCut,"Fraction of cut particles that are signals");
  leg->AddEntry(hSignalAcc,"Fraction of accepted particles that are signals");
  leg->AddEntry(hBkgdCut,"Fraction of cut particles that are bkgd");
  leg->AddEntry(hBkgdAcc,"Fraction of accepted particles that are background");
  leg->SetTextSize(0.061828);

  TCanvas *c1 = new TCanvas("c1","c1",600,400);
  c1->SetTopMargin(0.02);
  c1->SetRightMargin(0.02);
  c1->SetBorderSize(0);
  c1->SetFillColor(0);
  c1->SetFillColor(0);
  c1->SetBorderMode(0);
  c1->SetFrameFillColor(0);
  c1->SetFrameBorderMode(0);
  hSignalCut->SetMaximum(1.0);
  hSignalCut->Draw();
  hSignalAcc->Draw("same");
  hBkgdCut->Draw("same");
  hBkgdAcc->Draw("same");
  lineEDep->Draw();
  leg->Draw();

  c1->SaveAs("/tmp/SignalBkgdEmcal.png");

  TLegend *leg1 = new TLegend(0.357383,0.47043,0.458054,0.75);
  leg1->SetFillStyle(0);
  leg1->SetFillColor(0);
  leg1->SetBorderSize(0);
  leg1->SetTextSize(0.03);
  leg1->AddEntry(hFracCharged,"Fraction of clusters from charged particles");
  leg1->AddEntry(hFracGamma,"Fraction of clusters from gammas");
  leg1->SetTextSize(0.061828);

  TCanvas *c2 = new TCanvas("c2","c2",600,400);
  c2->SetTopMargin(0.02);
  c2->SetRightMargin(0.02);
  c2->SetBorderSize(0);
  c2->SetFillColor(0);
  c2->SetFillColor(0);
  c2->SetBorderMode(0);
  c2->SetFrameFillColor(0);
  c2->SetFrameBorderMode(0);
//   hFracCharged->SetMaximum(1.0);
//   hFracCharged->Draw();
//   hFracGamma->Draw("same");
//   leg1->Draw();

//   c2->SaveAs("/tmp/FractionsEmcal.png");


  TH2F  *fHistMatchedTracksEvspTBkgd = l->FindObject(("fHistMatchedTracksEvspTBkgd"+suffix).Data());
  TProfile * profBkgd = fHistMatchedTracksEvspTBkgd->ProfileX();
  TH2F  *fHistMatchedTracksEvspTSignal = l->FindObject(("fHistMatchedTracksEvspTSignal"+suffix).Data());
  TProfile * profSignal = fHistMatchedTracksEvspTSignal->ProfileX();
  TF1 *func = new TF1("func","x",0,3);
  fHistMatchedTracksEvspTBkgd->GetXaxis()->SetTitle("p_{T}");
  fHistMatchedTracksEvspTBkgd->GetYaxis()->SetTitle("E_{cluster}");
  fHistMatchedTracksEvspTSignal->GetXaxis()->SetTitle("p_{T}");
  fHistMatchedTracksEvspTSignal->GetYaxis()->SetTitle("E_{cluster}");


  TF1 *funcAvgSig = new TF1("funcAvgSig","[0]*x+[1]",0,3);
  funcAvgSig->SetParameter(0,1);
  funcAvgSig->SetParameter(1,0.3);

  TF1 *funcCut = new TF1("funcCut","[0]*x+[1]",0,3);
  funcCut->SetParameter(0,9.54979e-01);
  funcCut->SetParameter(1,-2.47491e-01);


  TH3F  *fHistMatchedTracksEvspTBkgdvsMult = l->FindObject("fHistMatchedTracksEvspTBkgdvsCent");
  TH3F  *fHistMatchedTracksEvspTSignalvsMult = l->FindObject("fHistMatchedTracksEvspTSignalvsCent");
  //DoProjectProfile2D(const char* name, const char* title, TAxis* projX, TAxis* projY, bool originalRange, bool useUF, bool useOF) const
  fHistMatchedTracksEvspTBkgdvsMult->GetZaxis()->SetRange(bin,binLast);
  TH2D *hBkgd2D = (TProfile2D*) fHistMatchedTracksEvspTBkgdvsMult->Project3D("yx");
  TProfile * profBkgd2D = hBkgd2D->ProfileX();
  fHistMatchedTracksEvspTSignalvsMult->GetZaxis()->SetRange(bin,binLast);
  TH2D *hSignal2D = (TProfile2D*) fHistMatchedTracksEvspTSignalvsMult->Project3D("yx");
  TProfile * profSignal2D = hSignal2D->ProfileX();

  TH2F  *fHistChargedTracksCutMult = l->FindObject("fHistChargedTracksCutMult");
  TH2F  *fHistChargedTracksAcceptedMult = l->FindObject("fHistChargedTracksAcceptedMult");
  TH2F  *fHistGammasCutMult = l->FindObject("fHistGammasTracksCutMult");
  TH2F  *fHistGammasAcceptedMult = l->FindObject("fHistGammasTracksAcceptedMult");

  TH1D  *fHistChargedTracksCutPeri = fHistChargedTracksCutMult->ProjectionX("fHistChargedTracksCutPeri",bin,binLast);
  TH1D  *fHistChargedTracksAcceptedPeri = fHistChargedTracksAcceptedMult->ProjectionX("fHistChargedTracksAcceptedPeri",bin,binLast);
  TH1D  *fHistGammasCutPeri = fHistGammasCutMult->ProjectionX("fHistGammasTracksCutPeri",bin,binLast);
  TH1D  *fHistGammasAcceptedPeri = fHistGammasAcceptedMult->ProjectionX("fHistGammasTracksAcceptedPeri",bin,binLast);

  int rebin = 1;
  fHistChargedTracksCutPeri->Rebin(rebin);
  fHistChargedTracksAcceptedPeri->Rebin(rebin);
  fHistGammasCutPeri->Rebin(rebin);
  fHistGammasAcceptedPeri->Rebin(rebin);

  TH1D *hTotalCutPeri = fHistChargedTracksCutPeri->Clone("hTotalCutPeri");
  hTotalCutPeri->Add(fHistGammasCutPeri);
  TH1D *hTotalAcceptedPeri = fHistChargedTracksAcceptedPeri->Clone("hTotalAcceptedPeri");
  hTotalAcceptedPeri->Add(fHistGammasAcceptedPeri);
  TH1D *hTotalClustersPeri = fHistChargedTracksCutPeri->Clone("hTotalClustersPeri");
  hTotalClustersPeri->Add(fHistChargedTracksAcceptedPeri);
  hTotalClustersPeri->Add(fHistGammasCutPeri);
  hTotalClustersPeri->Add(fHistGammasAcceptedPeri);
  TH1D *hTotalChargedPeri = fHistChargedTracksCutPeri->Clone("hTotalChargedPeri");
  hTotalChargedPeri->Add(fHistChargedTracksAcceptedPeri);
  TH1D *hTotalGammaPeri = fHistGammasCutPeri->Clone("hTotalGammaPeri");
  hTotalGammaPeri->Add(fHistGammasAcceptedPeri);

  TH1D *hSignalCutPeri = bayneseffdiv(fHistGammasCutPeri,hTotalCutPeri,"hSignalCutPeri");
  TH1D *hBkgdCutPeri = bayneseffdiv(fHistChargedTracksCutPeri,hTotalCutPeri,"hBkgdCutPeri");
  TH1D *hSignalAccPeri = bayneseffdiv(fHistGammasAcceptedPeri,hTotalAcceptedPeri,"hSignalAccPeri");
  TH1D *hBkgdAccPeri = bayneseffdiv(fHistChargedTracksAcceptedPeri,hTotalAcceptedPeri,"hBkgdAccPeri");
  TH1D *hFracChargedPeri = bayneseffdiv(hTotalChargedPeri,hTotalClustersPeri,"hFracChargedPeri");
  TH1D *hFracGammaPeri = bayneseffdiv(hTotalGammaPeri,hTotalClustersPeri,"hFracGammaPeri");
  SetStyles(hSignalCutPeri,21,2,"E_{T}","fraction cut");
  SetStyles(hSignalAccPeri,25,2,"E_{T}","fraction cut");
  SetStyles(hBkgdCutPeri,20,4,"E_{T}","fraction cut");
  SetStyles(hBkgdAccPeri,24,4,"E_{T}","fraction cut");
  SetStyles(hFracChargedPeri,24,4,"E_{T}","fraction cut");
  SetStyles(hFracGammaPeri,25,2,"E_{T}","fraction cut");

  TLegend *legPeri = new TLegend(0.357383,0.47043,0.458054,0.75);
  legPeri->SetFillStyle(0);
  legPeri->SetFillColor(0);
  legPeri->SetBorderSize(0);
  legPeri->SetTextSize(0.03);
  legPeri->AddEntry(hSignalCutPeri,"Fraction of cut particles that are signals");
  legPeri->AddEntry(hSignalAccPeri,"Fraction of accepted particles that are signals");
  legPeri->AddEntry(hBkgdCutPeri,"Fraction of cut particles that are bkgd");
  legPeri->AddEntry(hBkgdAccPeri,"Fraction of accepted particles that are background");
  legPeri->SetTextSize(0.061828);

  //profSignal->Fit(funcAvgSig,"","",ECut,3);
  funcAvgSig->SetLineStyle(2);
  funcAvgSig->SetLineColor(1);
  funcCut->SetLineStyle(2);
  funcCut->SetLineColor(1);

  TCanvas *c3 = new TCanvas("c3","Signal All",600,400);
  c3->SetTopMargin(0.02);
  c3->SetRightMargin(0.02);
  c3->SetBorderSize(0);
  c3->SetFillColor(0);
  c3->SetFillColor(0);
  c3->SetBorderMode(0);
  c3->SetFrameFillColor(0);
  c3->SetFrameBorderMode(0);
  fHistMatchedTracksEvspTSignal->Draw("colz");
  profSignal->Draw("esame");
  profBkgd->Draw("esame");
  func->Draw("same");
  //funcCut->Draw("same");
  lineEDep2D->Draw();


  TCanvas *c10 = new TCanvas("c10","c10",600,400);
  c10->SetTopMargin(0.02);
  c10->SetRightMargin(0.02);
  c10->SetBorderSize(0);
  c10->SetFillColor(0);
  c10->SetFillColor(0);
  c10->SetBorderMode(0);
  c10->SetFrameFillColor(0);
  c10->SetFrameBorderMode(0);
  int firstbin = fHistMatchedTracksEvspTBkgd->GetXaxis()->FindBin(0.75);
  TProfile * profE = fHistMatchedTracksEvspTBkgd->ProfileY("Test",firstbin,firstbin+1);
  profE->Draw();

  TCanvas *c4 = new TCanvas("c4","Background All",600,400);
  c4->SetTopMargin(0.02);
  c4->SetRightMargin(0.02);
  c4->SetBorderSize(0);
  c4->SetFillColor(0);
  c4->SetFillColor(0);
  c4->SetBorderMode(0);
  c4->SetFrameFillColor(0);
  c4->SetFrameBorderMode(0);
  fHistMatchedTracksEvspTBkgd->Draw("colz");
  profSignal->Draw("esame");
  profBkgd->Draw("esame");
  func->Draw("same");
  //funcCut->Draw("same");
  //funcAvgSig->Draw("same");
  lineEDep2D->Draw();

  TCanvas *c7 = new TCanvas("c7","Background Binned",600,400);
  c7->SetTopMargin(0.02);
  c7->SetRightMargin(0.02);
  c7->SetBorderSize(0);
  c7->SetFillColor(0);
  c7->SetFillColor(0);
  c7->SetBorderMode(0);
  c7->SetFrameFillColor(0);
  c7->SetFrameBorderMode(0);
  hBkgd2D->Draw("colz");
  profBkgd2D->Draw("same");
  func->Draw("same");
  lineEDep2D->Draw();
  //funcCut->Draw("same");
  //funcAvgSig->Draw("same");
  //c7->SaveAs(Form("/tmp/Bkgd%i.png",bin));
  outname = "/tmp/TrackMatchingBkgd2D"+det+outnamebin+".png";
  c7->SaveAs(outname.Data());

  TCanvas *c8 = new TCanvas("c8","Signal Binned",600,400);
  c8->SetTopMargin(0.02);
  c8->SetRightMargin(0.02);
  c8->SetBorderSize(0);
  c8->SetFillColor(0);
  c8->SetFillColor(0);
  c8->SetBorderMode(0);
  c8->SetFrameFillColor(0);
  c8->SetFrameBorderMode(0);
  hSignal2D->Draw("colz");
  profSignal2D->Draw("same");
  func->Draw("same");
  lineEDep2D->Draw();
  //funcCut->Draw("same");
  //funcAvgSig->Draw("same");
  //c8->SaveAs(Form("/tmp/Signal%i.png",bin));
  outname = "/tmp/TrackMatchingSignal2D"+det+outnamebin+".png";
  c8->SaveAs(outname.Data());


  TCanvas *c9 = new TCanvas("c9","c9",600,400);
  c9->SetTopMargin(0.02);
  c9->SetRightMargin(0.02);
  c9->SetBorderSize(0);
  c9->SetFillColor(0);
  c9->SetFillColor(0);
  c9->SetBorderMode(0);
  c9->SetFrameFillColor(0);
  c9->SetFrameBorderMode(0);
  hSignalCutPeri->SetMaximum(1.0);
  hSignalCutPeri->Draw();
  hSignalAccPeri->Draw("same");
  hBkgdCutPeri->Draw("same");
  hBkgdAccPeri->Draw("same");
  lineEDep->Draw();
  legPeri->Draw();
  outname = "/tmp/TrackMatchingForCuts"+det+outnamebin+".png";
  c9->SaveAs(outname.Data());
  return;

  TCanvas *c5 = new TCanvas("c5","Signal Binned",600,400);
  c5->SetTopMargin(0.02);
  c5->SetRightMargin(0.02);
  c5->SetBorderSize(0);
  c5->SetFillColor(0);
  c5->SetFillColor(0);
  c5->SetBorderMode(0);
  c5->SetFrameFillColor(0);
  c5->SetFrameBorderMode(0);
  TH2F *hSignalOverBkgd = (TH2F*) fHistMatchedTracksEvspTSignal->Clone("SignalOverBackground");
  hSignalOverBkgd->Divide(fHistMatchedTracksEvspTBkgd);
  hSignalOverBkgd->Draw("colz");
  func->Draw("same");
  profSignal->Draw("esame");
  profBkgd->Draw("esame");

  TCanvas *c6 = new TCanvas("c6","c6",600,400);
  c6->SetTopMargin(0.02);
  c6->SetRightMargin(0.02);
  c6->SetBorderSize(0);
  c6->SetFillColor(0);
  c6->SetFillColor(0);
  c6->SetBorderMode(0);
  c6->SetFrameFillColor(0);
  c6->SetFrameBorderMode(0);
  TH2F *hBkgdOverSignal = (TH2F*) fHistMatchedTracksEvspTBkgd->Clone("BackgroundOverSignal");
  hBkgdOverSignal->Divide(fHistMatchedTracksEvspTSignal);
  hBkgdOverSignal->Draw("colz");
  func->Draw("same");
  profSignal->Draw("esame");
  profBkgd->Draw("esame");

  //c3->SaveAs("/tmp/SignalBkgdEmcal.png");

}

void SetStyles(TH1 *histo,int marker, int color,char *xtitle, char *ytitle){
  histo->SetMarkerStyle(marker);
  histo->SetMarkerColor(color);
  histo->SetLineColor(color);
  histo->GetXaxis()->SetTitle(xtitle);
  histo->GetYaxis()->SetTitle(ytitle);
}


TH1* bayneseffdiv(TH1* numerator, TH1* denominator,Char_t* name) 
{
    if(!numerator){
      cerr<<"Error:  numerator does not exist!"<<endl;
      return NULL;
    }
    if(!denominator){
      cerr<<"Error:  denominator does not exist!"<<endl;
      return NULL;
    }
    TH1* result = (TH1*)numerator->Clone(name);
    Int_t nbins = numerator->GetNbinsX();
    for (Int_t ibin=0; ibin<= nbins+1; ++ibin) {
      Double_t numeratorVal = numerator->GetBinContent(ibin);
      Double_t denominatorVal = denominator->GetBinContent(ibin);
      // Check if the errors are right or the thing is scaled
      Double_t numeratorValErr = numerator->GetBinError(ibin);
      if (!(numeratorValErr==0. || numeratorVal ==0.) ) {
	Double_t rescale = numeratorValErr*numeratorValErr/numeratorVal;
	numeratorVal /= rescale;
      }
      Double_t denominatorValErr = denominator->GetBinError(ibin);
      if (!(denominatorValErr==0. || denominatorVal==0. )) {
	Double_t rescale = denominatorValErr*denominatorValErr/denominatorVal;
	denominatorVal /= rescale;
      }
      Double_t quotient = 0.;
      if (denominatorVal!=0.) {
	quotient = numeratorVal/denominatorVal;
      }
      Double_t quotientErr=0;
      quotientErr = TMath::Sqrt(
				(numeratorVal+1.0)/(denominatorVal+2.0)*
				((numeratorVal+2.0)/(denominatorVal+3.0)-(numeratorVal+1.0)/(denominatorVal+2.0)));
      result->SetBinContent(ibin,quotient);
      result->SetBinError(ibin,quotientErr);
      //cout<<"Setting bin "<<ibin<<" to "<<quotient<<" "<<numeratorVal<<"/"<<denominatorVal<<endl;
    }
    return result;
}
 PlotBackgroundClusters.C:1
 PlotBackgroundClusters.C:2
 PlotBackgroundClusters.C:3
 PlotBackgroundClusters.C:4
 PlotBackgroundClusters.C:5
 PlotBackgroundClusters.C:6
 PlotBackgroundClusters.C:7
 PlotBackgroundClusters.C:8
 PlotBackgroundClusters.C:9
 PlotBackgroundClusters.C:10
 PlotBackgroundClusters.C:11
 PlotBackgroundClusters.C:12
 PlotBackgroundClusters.C:13
 PlotBackgroundClusters.C:14
 PlotBackgroundClusters.C:15
 PlotBackgroundClusters.C:16
 PlotBackgroundClusters.C:17
 PlotBackgroundClusters.C:18
 PlotBackgroundClusters.C:19
 PlotBackgroundClusters.C:20
 PlotBackgroundClusters.C:21
 PlotBackgroundClusters.C:22
 PlotBackgroundClusters.C:23
 PlotBackgroundClusters.C:24
 PlotBackgroundClusters.C:25
 PlotBackgroundClusters.C:26
 PlotBackgroundClusters.C:27
 PlotBackgroundClusters.C:28
 PlotBackgroundClusters.C:29
 PlotBackgroundClusters.C:30
 PlotBackgroundClusters.C:31
 PlotBackgroundClusters.C:32
 PlotBackgroundClusters.C:33
 PlotBackgroundClusters.C:34
 PlotBackgroundClusters.C:35
 PlotBackgroundClusters.C:36
 PlotBackgroundClusters.C:37
 PlotBackgroundClusters.C:38
 PlotBackgroundClusters.C:39
 PlotBackgroundClusters.C:40
 PlotBackgroundClusters.C:41
 PlotBackgroundClusters.C:42
 PlotBackgroundClusters.C:43
 PlotBackgroundClusters.C:44
 PlotBackgroundClusters.C:45
 PlotBackgroundClusters.C:46
 PlotBackgroundClusters.C:47
 PlotBackgroundClusters.C:48
 PlotBackgroundClusters.C:49
 PlotBackgroundClusters.C:50
 PlotBackgroundClusters.C:51
 PlotBackgroundClusters.C:52
 PlotBackgroundClusters.C:53
 PlotBackgroundClusters.C:54
 PlotBackgroundClusters.C:55
 PlotBackgroundClusters.C:56
 PlotBackgroundClusters.C:57
 PlotBackgroundClusters.C:58
 PlotBackgroundClusters.C:59
 PlotBackgroundClusters.C:60
 PlotBackgroundClusters.C:61
 PlotBackgroundClusters.C:62
 PlotBackgroundClusters.C:63
 PlotBackgroundClusters.C:64
 PlotBackgroundClusters.C:65
 PlotBackgroundClusters.C:66
 PlotBackgroundClusters.C:67
 PlotBackgroundClusters.C:68
 PlotBackgroundClusters.C:69
 PlotBackgroundClusters.C:70
 PlotBackgroundClusters.C:71
 PlotBackgroundClusters.C:72
 PlotBackgroundClusters.C:73
 PlotBackgroundClusters.C:74
 PlotBackgroundClusters.C:75
 PlotBackgroundClusters.C:76
 PlotBackgroundClusters.C:77
 PlotBackgroundClusters.C:78
 PlotBackgroundClusters.C:79
 PlotBackgroundClusters.C:80
 PlotBackgroundClusters.C:81
 PlotBackgroundClusters.C:82
 PlotBackgroundClusters.C:83
 PlotBackgroundClusters.C:84
 PlotBackgroundClusters.C:85
 PlotBackgroundClusters.C:86
 PlotBackgroundClusters.C:87
 PlotBackgroundClusters.C:88
 PlotBackgroundClusters.C:89
 PlotBackgroundClusters.C:90
 PlotBackgroundClusters.C:91
 PlotBackgroundClusters.C:92
 PlotBackgroundClusters.C:93
 PlotBackgroundClusters.C:94
 PlotBackgroundClusters.C:95
 PlotBackgroundClusters.C:96
 PlotBackgroundClusters.C:97
 PlotBackgroundClusters.C:98
 PlotBackgroundClusters.C:99
 PlotBackgroundClusters.C:100
 PlotBackgroundClusters.C:101
 PlotBackgroundClusters.C:102
 PlotBackgroundClusters.C:103
 PlotBackgroundClusters.C:104
 PlotBackgroundClusters.C:105
 PlotBackgroundClusters.C:106
 PlotBackgroundClusters.C:107
 PlotBackgroundClusters.C:108
 PlotBackgroundClusters.C:109
 PlotBackgroundClusters.C:110
 PlotBackgroundClusters.C:111
 PlotBackgroundClusters.C:112
 PlotBackgroundClusters.C:113
 PlotBackgroundClusters.C:114
 PlotBackgroundClusters.C:115
 PlotBackgroundClusters.C:116
 PlotBackgroundClusters.C:117
 PlotBackgroundClusters.C:118
 PlotBackgroundClusters.C:119
 PlotBackgroundClusters.C:120
 PlotBackgroundClusters.C:121
 PlotBackgroundClusters.C:122
 PlotBackgroundClusters.C:123
 PlotBackgroundClusters.C:124
 PlotBackgroundClusters.C:125
 PlotBackgroundClusters.C:126
 PlotBackgroundClusters.C:127
 PlotBackgroundClusters.C:128
 PlotBackgroundClusters.C:129
 PlotBackgroundClusters.C:130
 PlotBackgroundClusters.C:131
 PlotBackgroundClusters.C:132
 PlotBackgroundClusters.C:133
 PlotBackgroundClusters.C:134
 PlotBackgroundClusters.C:135
 PlotBackgroundClusters.C:136
 PlotBackgroundClusters.C:137
 PlotBackgroundClusters.C:138
 PlotBackgroundClusters.C:139
 PlotBackgroundClusters.C:140
 PlotBackgroundClusters.C:141
 PlotBackgroundClusters.C:142
 PlotBackgroundClusters.C:143
 PlotBackgroundClusters.C:144
 PlotBackgroundClusters.C:145
 PlotBackgroundClusters.C:146
 PlotBackgroundClusters.C:147
 PlotBackgroundClusters.C:148
 PlotBackgroundClusters.C:149
 PlotBackgroundClusters.C:150
 PlotBackgroundClusters.C:151
 PlotBackgroundClusters.C:152
 PlotBackgroundClusters.C:153
 PlotBackgroundClusters.C:154
 PlotBackgroundClusters.C:155
 PlotBackgroundClusters.C:156
 PlotBackgroundClusters.C:157
 PlotBackgroundClusters.C:158
 PlotBackgroundClusters.C:159
 PlotBackgroundClusters.C:160
 PlotBackgroundClusters.C:161
 PlotBackgroundClusters.C:162
 PlotBackgroundClusters.C:163
 PlotBackgroundClusters.C:164
 PlotBackgroundClusters.C:165
 PlotBackgroundClusters.C:166
 PlotBackgroundClusters.C:167
 PlotBackgroundClusters.C:168
 PlotBackgroundClusters.C:169
 PlotBackgroundClusters.C:170
 PlotBackgroundClusters.C:171
 PlotBackgroundClusters.C:172
 PlotBackgroundClusters.C:173
 PlotBackgroundClusters.C:174
 PlotBackgroundClusters.C:175
 PlotBackgroundClusters.C:176
 PlotBackgroundClusters.C:177
 PlotBackgroundClusters.C:178
 PlotBackgroundClusters.C:179
 PlotBackgroundClusters.C:180
 PlotBackgroundClusters.C:181
 PlotBackgroundClusters.C:182
 PlotBackgroundClusters.C:183
 PlotBackgroundClusters.C:184
 PlotBackgroundClusters.C:185
 PlotBackgroundClusters.C:186
 PlotBackgroundClusters.C:187
 PlotBackgroundClusters.C:188
 PlotBackgroundClusters.C:189
 PlotBackgroundClusters.C:190
 PlotBackgroundClusters.C:191
 PlotBackgroundClusters.C:192
 PlotBackgroundClusters.C:193
 PlotBackgroundClusters.C:194
 PlotBackgroundClusters.C:195
 PlotBackgroundClusters.C:196
 PlotBackgroundClusters.C:197
 PlotBackgroundClusters.C:198
 PlotBackgroundClusters.C:199
 PlotBackgroundClusters.C:200
 PlotBackgroundClusters.C:201
 PlotBackgroundClusters.C:202
 PlotBackgroundClusters.C:203
 PlotBackgroundClusters.C:204
 PlotBackgroundClusters.C:205
 PlotBackgroundClusters.C:206
 PlotBackgroundClusters.C:207
 PlotBackgroundClusters.C:208
 PlotBackgroundClusters.C:209
 PlotBackgroundClusters.C:210
 PlotBackgroundClusters.C:211
 PlotBackgroundClusters.C:212
 PlotBackgroundClusters.C:213
 PlotBackgroundClusters.C:214
 PlotBackgroundClusters.C:215
 PlotBackgroundClusters.C:216
 PlotBackgroundClusters.C:217
 PlotBackgroundClusters.C:218
 PlotBackgroundClusters.C:219
 PlotBackgroundClusters.C:220
 PlotBackgroundClusters.C:221
 PlotBackgroundClusters.C:222
 PlotBackgroundClusters.C:223
 PlotBackgroundClusters.C:224
 PlotBackgroundClusters.C:225
 PlotBackgroundClusters.C:226
 PlotBackgroundClusters.C:227
 PlotBackgroundClusters.C:228
 PlotBackgroundClusters.C:229
 PlotBackgroundClusters.C:230
 PlotBackgroundClusters.C:231
 PlotBackgroundClusters.C:232
 PlotBackgroundClusters.C:233
 PlotBackgroundClusters.C:234
 PlotBackgroundClusters.C:235
 PlotBackgroundClusters.C:236
 PlotBackgroundClusters.C:237
 PlotBackgroundClusters.C:238
 PlotBackgroundClusters.C:239
 PlotBackgroundClusters.C:240
 PlotBackgroundClusters.C:241
 PlotBackgroundClusters.C:242
 PlotBackgroundClusters.C:243
 PlotBackgroundClusters.C:244
 PlotBackgroundClusters.C:245
 PlotBackgroundClusters.C:246
 PlotBackgroundClusters.C:247
 PlotBackgroundClusters.C:248
 PlotBackgroundClusters.C:249
 PlotBackgroundClusters.C:250
 PlotBackgroundClusters.C:251
 PlotBackgroundClusters.C:252
 PlotBackgroundClusters.C:253
 PlotBackgroundClusters.C:254
 PlotBackgroundClusters.C:255
 PlotBackgroundClusters.C:256
 PlotBackgroundClusters.C:257
 PlotBackgroundClusters.C:258
 PlotBackgroundClusters.C:259
 PlotBackgroundClusters.C:260
 PlotBackgroundClusters.C:261
 PlotBackgroundClusters.C:262
 PlotBackgroundClusters.C:263
 PlotBackgroundClusters.C:264
 PlotBackgroundClusters.C:265
 PlotBackgroundClusters.C:266
 PlotBackgroundClusters.C:267
 PlotBackgroundClusters.C:268
 PlotBackgroundClusters.C:269
 PlotBackgroundClusters.C:270
 PlotBackgroundClusters.C:271
 PlotBackgroundClusters.C:272
 PlotBackgroundClusters.C:273
 PlotBackgroundClusters.C:274
 PlotBackgroundClusters.C:275
 PlotBackgroundClusters.C:276
 PlotBackgroundClusters.C:277
 PlotBackgroundClusters.C:278
 PlotBackgroundClusters.C:279
 PlotBackgroundClusters.C:280
 PlotBackgroundClusters.C:281
 PlotBackgroundClusters.C:282
 PlotBackgroundClusters.C:283
 PlotBackgroundClusters.C:284
 PlotBackgroundClusters.C:285
 PlotBackgroundClusters.C:286
 PlotBackgroundClusters.C:287
 PlotBackgroundClusters.C:288
 PlotBackgroundClusters.C:289
 PlotBackgroundClusters.C:290
 PlotBackgroundClusters.C:291
 PlotBackgroundClusters.C:292
 PlotBackgroundClusters.C:293
 PlotBackgroundClusters.C:294
 PlotBackgroundClusters.C:295
 PlotBackgroundClusters.C:296
 PlotBackgroundClusters.C:297
 PlotBackgroundClusters.C:298
 PlotBackgroundClusters.C:299
 PlotBackgroundClusters.C:300
 PlotBackgroundClusters.C:301
 PlotBackgroundClusters.C:302
 PlotBackgroundClusters.C:303
 PlotBackgroundClusters.C:304
 PlotBackgroundClusters.C:305
 PlotBackgroundClusters.C:306
 PlotBackgroundClusters.C:307
 PlotBackgroundClusters.C:308
 PlotBackgroundClusters.C:309
 PlotBackgroundClusters.C:310
 PlotBackgroundClusters.C:311
 PlotBackgroundClusters.C:312
 PlotBackgroundClusters.C:313
 PlotBackgroundClusters.C:314
 PlotBackgroundClusters.C:315
 PlotBackgroundClusters.C:316
 PlotBackgroundClusters.C:317
 PlotBackgroundClusters.C:318
 PlotBackgroundClusters.C:319
 PlotBackgroundClusters.C:320
 PlotBackgroundClusters.C:321
 PlotBackgroundClusters.C:322
 PlotBackgroundClusters.C:323
 PlotBackgroundClusters.C:324
 PlotBackgroundClusters.C:325
 PlotBackgroundClusters.C:326
 PlotBackgroundClusters.C:327
 PlotBackgroundClusters.C:328
 PlotBackgroundClusters.C:329
 PlotBackgroundClusters.C:330
 PlotBackgroundClusters.C:331
 PlotBackgroundClusters.C:332
 PlotBackgroundClusters.C:333
 PlotBackgroundClusters.C:334
 PlotBackgroundClusters.C:335
 PlotBackgroundClusters.C:336
 PlotBackgroundClusters.C:337
 PlotBackgroundClusters.C:338
 PlotBackgroundClusters.C:339
 PlotBackgroundClusters.C:340
 PlotBackgroundClusters.C:341
 PlotBackgroundClusters.C:342
 PlotBackgroundClusters.C:343
 PlotBackgroundClusters.C:344
 PlotBackgroundClusters.C:345
 PlotBackgroundClusters.C:346
 PlotBackgroundClusters.C:347
 PlotBackgroundClusters.C:348
 PlotBackgroundClusters.C:349
 PlotBackgroundClusters.C:350
 PlotBackgroundClusters.C:351
 PlotBackgroundClusters.C:352
 PlotBackgroundClusters.C:353
 PlotBackgroundClusters.C:354
 PlotBackgroundClusters.C:355
 PlotBackgroundClusters.C:356
 PlotBackgroundClusters.C:357
 PlotBackgroundClusters.C:358
 PlotBackgroundClusters.C:359
 PlotBackgroundClusters.C:360
 PlotBackgroundClusters.C:361
 PlotBackgroundClusters.C:362
 PlotBackgroundClusters.C:363
 PlotBackgroundClusters.C:364
 PlotBackgroundClusters.C:365
 PlotBackgroundClusters.C:366
 PlotBackgroundClusters.C:367
 PlotBackgroundClusters.C:368
 PlotBackgroundClusters.C:369
 PlotBackgroundClusters.C:370
 PlotBackgroundClusters.C:371
 PlotBackgroundClusters.C:372
 PlotBackgroundClusters.C:373
 PlotBackgroundClusters.C:374
 PlotBackgroundClusters.C:375
 PlotBackgroundClusters.C:376
 PlotBackgroundClusters.C:377
 PlotBackgroundClusters.C:378
 PlotBackgroundClusters.C:379
 PlotBackgroundClusters.C:380
 PlotBackgroundClusters.C:381
 PlotBackgroundClusters.C:382
 PlotBackgroundClusters.C:383
 PlotBackgroundClusters.C:384
 PlotBackgroundClusters.C:385
 PlotBackgroundClusters.C:386
 PlotBackgroundClusters.C:387
 PlotBackgroundClusters.C:388
 PlotBackgroundClusters.C:389
 PlotBackgroundClusters.C:390
 PlotBackgroundClusters.C:391
 PlotBackgroundClusters.C:392
 PlotBackgroundClusters.C:393
 PlotBackgroundClusters.C:394
 PlotBackgroundClusters.C:395
 PlotBackgroundClusters.C:396
 PlotBackgroundClusters.C:397
 PlotBackgroundClusters.C:398
 PlotBackgroundClusters.C:399
 PlotBackgroundClusters.C:400
 PlotBackgroundClusters.C:401
 PlotBackgroundClusters.C:402
 PlotBackgroundClusters.C:403
 PlotBackgroundClusters.C:404
 PlotBackgroundClusters.C:405
 PlotBackgroundClusters.C:406
 PlotBackgroundClusters.C:407
 PlotBackgroundClusters.C:408