void myPlot(vector< TH1D*> h_Z,
           vector< TH1D*> v_data,
	    TH1D* h_data, TH1D* h_bkg,int option=0){

  h_data->Reset();
  for(unsigned int i=0;i<v_data.size();i++)h_data->Add(v_data[i]);
  
  TLegend *leg = new TLegend(0.84, 0.68, 0.92, 0.87);
  
  leg->SetBorderSize(0);
  leg->SetFillColor(0);
  leg->SetFillStyle(0);
  leg->SetTextSize(0.04);

   h_bkg->Reset();
    THStack *h_stack = new THStack("h_stack", "");
  for(unsigned int i=0;i<h_Z.size();i++){
	  h_Z[i]->SetFillColor(97-4*i);
	  h_Z[i]->SetLineColor(kBlack);
	  h_bkg->Add(h_Z[i]);
	   h_stack->Add(h_Z[i]);
	  
  }
   
   
   if(option==1){
	   leg->Clear();
	   leg->AddEntry(h_Z[3], "udsg", "f");
	leg->AddEntry(h_Z[2], "cc,c", "f");
	leg->AddEntry(h_Z[1], "b", "f");
	leg->AddEntry(h_Z[0], "bb", "f");
	}
	else{
		leg->AddEntry(h_Z[0], "QCD700", "f");
   leg->AddEntry(h_Z[1], "QCD1000", "f");
   leg->AddEntry(h_Z[2], "QCD1500", "f");
   leg->AddEntry(h_Z[3], "QCD2000", "f");
	}
  /*
leg->AddEntry(h_Zjets, "Z+Jets", "f");
  leg->AddEntry(h_TT, "t#bar{t}", "f");
  leg->AddEntry(h_WW, "WW", "f");
  leg->AddEntry(h_WZ, "WZ", "f");
  leg->AddEntry(h_ZZ, "ZZ", "f");
  leg->AddEntry(h_ZH, "ZH", "f");
*/

  h_data->SetLineColor(kBlack);
  h_data->SetMarkerStyle(8);
  h_data->SetMarkerSize(1.5);
  h_data->GetYaxis()->SetTitleOffset(1.3);
  h_data->GetXaxis()->SetTitle("");
  h_data->GetXaxis()->SetLabelOffset(999);
  h_data->GetXaxis()->SetLabelSize(0);
  
  int bmin=0,bmax=0;

		for (int k=1;k<25001;k++){
			bmin=k;
			if (h_data->GetBinContent(k)/h_data->GetMaximum()>0.02) break;
	}

		for (int k=25000;k>0;k--){
			bmax=k;
			if (h_data->GetBinContent(k)/h_data->GetMaximum()>0.02) break;
	}
	double width=h_data->GetBinWidth(1);
	rangeUserUp=(bmax-0.5)*width+h_data->GetBinCenter(1);
	rangeUserDown=(bmin-0.5)*width+h_data->GetBinCenter(1);
	if(isSetRange)h_data->GetXaxis()->SetRangeUser(rangeUserDown,rangeUserUp);
	//if(isSetRange)h_stack->GetXaxis()->SetRangeUser(rangeUserDown,rangeUserUp);
	//h_stack->GetXaxis()->SetRangeUser((bmin-0.5)*width+h_data->GetBinCenter(1),(bmax-0.5)*width+h_data->GetBinCenter(1));

  if( h_data->GetMaximum() < h_stack->GetMaximum() && isSetRange==0 ){
	  h_stack->SetTitle(h_data->GetTitle());
	h_stack->SetMaximum(h_data->GetMaximum()*1.3);
    h_stack->Draw("histe");
   // h_stack->GetHistogram()->GetYaxis()->SetTitle("Event Numbers");
    h_stack->GetHistogram()->GetYaxis()->SetTitle("");
    h_stack->GetHistogram()->GetYaxis()->SetTitleSize(h_data->GetYaxis()->GetTitleSize());
    h_stack->GetHistogram()->GetYaxis()->SetLabelSize(h_data->GetYaxis()->GetLabelSize());
    h_stack->GetHistogram()->GetYaxis()->SetTitleOffset(1.3);
    h_stack->GetHistogram()->GetXaxis()->SetTickLength(0);
    h_stack->GetHistogram()->GetXaxis()->SetLabelOffset(999);
    h_data->Draw("elsame");
  
  }
    
  else{

   // h_data->GetYaxis()->SetTitle("Event Numbers");
    h_data->GetYaxis()->SetTitle("");
    h_data->Draw("el");
    h_stack->Draw("histesame");
    h_data->Draw("elsame");

  }

    
  
  leg->AddEntry(h_data, "Data", "lp");
  leg->Draw();

  TLatex *lar = new TLatex();

  lar->SetNDC(kTRUE);
  lar->SetTextSize(0.04);
  lar->SetLineWidth(5);
  //lar->DrawLatex(0.14, 0.94, "CMS #it{#bf{2015}}");
  lar->DrawLatex(0.60, 0.94, "L = 12.9 fb^{-1} at #sqrt{s} = 13 TeV");
  
  

		lar->SetNDC(kTRUE);
		lar->SetTextSize(0.07);
		lar->SetLineWidth(5);
		lar->SetTextAlign(14);
		//lar->DrawLatex(0.14, 0.94, "CMS #it{#bf{2015}}");
		
		
		TLatex *lar2 = new TLatex();

		lar2->SetNDC(kTRUE);
		lar2->SetTextSize(0.04);
		lar2->SetLineWidth(5);
		lar2->SetTextAlign(12);
		lar->DrawLatex(0.14, 0.94, "CMS");
		lar2->DrawLatex(0.25, 0.94, "#it{#bf{Preliminary}} ");

}
Example #2
0
void IdealFitMacroPlot()
{
    TF1 *pTF1_EvenSet9 = (TF1*)(GetFunction(0.0875, 2.41, 5.1, 12.79)->Clone());
    TF1 *pTF1_EvenSet10 = (TF1*)(GetFunction(0.0769, 2.58, 7.5, 8.02)->Clone());
    TF1 *pTF1_EvenSet12 = (TF1*)(GetFunction(0.0725, 2.87, 12.1, 7.86)->Clone());
    TF1 *pTF1_EvenSet13 = (TF1*)(GetFunction(0.0708, 2.69, 16.2, 6.65)->Clone());
    TF1 *pTF1_EvenSet14 = (TF1*)(GetFunction(0.0748, 2.57, 16, 9.89)->Clone());
    TF1 *pTF1_EvenSet15 = (TF1*)(GetFunction(0.0856, 2.34, 5.1, 12.51)->Clone());
    TF1 *pTF1_EvenSet16 = (TF1*)(GetFunction(0.0746, 2.32, 13.7, 6.65)->Clone());

    TF1 *pTF1_OddSet9 = (TF1*)(GetFunction(0.0834, 1.72, 61.0, 0.25)->Clone());
    TF1 *pTF1_OddSet10 = (TF1*)(GetFunction(0.0759, 1.63, 43.2, 0.10)->Clone());
    TF1 *pTF1_OddSet12 = (TF1*)(GetFunction(0.0731, 1.92, 51.5, 0.36)->Clone());
    TF1 *pTF1_OddSet13 = (TF1*)(GetFunction(0.0713, 1.72, 52.5, 0.18)->Clone());
    TF1 *pTF1_OddSet14 = (TF1*)(GetFunction(0.0754, 1.68, 57.3, 0.16)->Clone());
    TF1 *pTF1_OddSet15 = (TF1*)(GetFunction(0.0836, 1.52, 52.7, 0.42)->Clone());
    TF1 *pTF1_OddSet16 = (TF1*)(GetFunction(0.0727, 1.49, 50.7, 0.10)->Clone());

    pTF1_EvenSet9->SetLineColor(kGreen+2);
    pTF1_EvenSet10->SetLineColor(kRed);
    pTF1_EvenSet12->SetLineColor(kMagenta);
    pTF1_EvenSet13->SetLineColor(kBlue);
//    pTF1_EvenSet14->SetLineColor();
    pTF1_EvenSet15->SetLineColor(kCyan);
    pTF1_EvenSet16->SetLineColor(kBlack);

    pTF1_OddSet9->SetLineColor(kGreen+2);
    pTF1_OddSet9->SetLineStyle(2);
    pTF1_OddSet10->SetLineColor(kRed);
    pTF1_OddSet10->SetLineStyle(2);
    pTF1_OddSet12->SetLineColor(kMagenta);
    pTF1_OddSet12->SetLineStyle(2);
    pTF1_OddSet13->SetLineColor(kBlue);
    pTF1_OddSet13->SetLineStyle(2);
//    pTF1_OddSet14->SetLineColor(6);
//    pTF1_OddSet14->SetLineStyle(2);
    pTF1_OddSet15->SetLineColor(kCyan);
    pTF1_OddSet15->SetLineStyle(2);
    pTF1_OddSet16->SetLineColor(kBlack);
    pTF1_OddSet16->SetLineStyle(2);

    TCanvas *pTCanvas = new TCanvas("Name", "",0,0,3000,2500);
    pTCanvas->SetRightMargin(0.35);
    pTCanvas->SetBottomMargin(0.15);
    pTCanvas->Draw();

    TLegend *pTLegend = new TLegend(0.7,0.1,0.95,0.9); 
    pTLegend->SetTextSize(0.05);
    pTLegend->AddEntry(pTF1_EvenSet9, "Set 9, Centred", "l");
    pTLegend->AddEntry(pTF1_EvenSet10, "Set 10, 1/4 Offset", "l");
    pTLegend->AddEntry(pTF1_EvenSet12, "Set 12, Centred", "l");
    pTLegend->AddEntry(pTF1_EvenSet13, "Set 13, Centred", "l");
//    pTLegend->AddEntry(pTF1_EvenSet14, "Set 14, 1/2 Offset", "l");
    pTLegend->AddEntry(pTF1_EvenSet15, "Set 15, Centred", "l");
    pTLegend->AddEntry(pTF1_EvenSet16, "Set 16, 1/2 Offset", "l");

    TLegend *pTLegend2 = new TLegend(0.15,0.65,0.4,0.85); 
    pTLegend2->SetTextSize(0.05);
    pTLegend2->AddEntry(pTF1_EvenSet16, "Even Columns", "l");
    pTLegend2->AddEntry(pTF1_OddSet16, "Odd Columns", "l");

    TH2F *pAxes = new TH2F("Axes","",180,0,180,200,0,20);
    pAxes->Draw();
    pAxes->GetXaxis()->SetRangeUser(0,200);
    pAxes->GetXaxis()->SetTitle("Pulse Height [mV]");
    pAxes->GetXaxis()->SetLabelSize(0.05);
    pAxes->GetXaxis()->SetTitleSize(0.05);
    pAxes->GetYaxis()->SetRangeUser(0,20);
    pAxes->GetYaxis()->SetTitle("ToT");
    pAxes->GetYaxis()->SetTitleSize(0.05);
    pAxes->GetYaxis()->SetLabelSize(0.05);
    pTF1_EvenSet9->Draw("same");
    pTF1_EvenSet10->Draw("same");
    pTF1_EvenSet12->Draw("same");
    pTF1_EvenSet13->Draw("same");
//    pTF1_EvenSet14->Draw("same");
    pTF1_EvenSet15->Draw("same");
    pTF1_EvenSet16->Draw("same");
    pTF1_OddSet9->Draw("same");
    pTF1_OddSet10->Draw("same");
    pTF1_OddSet12->Draw("same");
    pTF1_OddSet13->Draw("same");
//    pTF1_OddSet14->Draw("same");
    pTF1_OddSet15->Draw("same");
    pTF1_OddSet16->Draw("same");
    pTLegend->Draw();
    pTLegend2->Draw();
    pTCanvas->SaveAs("AverageToT_vs_InjectedPulseHeight.pdf");
    pTCanvas->SaveAs("AverageToT_vs_InjectedPulseHeight.C");
}
// option = 1 (muon-pt), option = 2 (transverse mass)
void doPlots(int option)
{
  //gStyle->SetFillColor(1);

  // interested in plot made after all cuts have been applied
  string final_histo_desc;
  if(analysis_channel == 1)
    final_histo_desc = mumet_cuts_desc_short[Num_mumet_cuts-1];
  else if(analysis_channel == 2)
    final_histo_desc = elmet_cuts_desc_short[Num_elmet_cuts-1];

  string prefix = "";
  if(option == 1 && analysis_channel == 1)
    prefix = "hPT";
  if(option == 1 && analysis_channel == 2)
    prefix = "hET";
  else if(option == 2)
    prefix = "hTM";
 
  TH1F ** bgdSamples = 0;
  const string * bgdNames = 0;
  unsigned NbgdSamples = 0;

  if(analysis_channel == 1)
    {
      bgdSamples = &bgdMuMET[0];
      bgdNames = &bgdNamesMuMET[0];
      NbgdSamples = NbgdSamplesMuMET;
    }
  else if(analysis_channel == 2)
    {
      bgdSamples = &bgdElMET[0];
      bgdNames = &bgdNamesElMET[0];
      NbgdSamples = NbgdSamplesElMET;
    }

  string histo = prefix + algo + "_" + final_histo_desc;  
  for(unsigned i = 0; i != NbgdSamples; ++i)
    {
      string histo_i = bgdNames[i] + "/" + histo;
      bgdSamples[i] = (TH1F* ) _file0->Get(histo_i.c_str());
      if(badHisto(bgdSamples[i], histo_i))
	return;
    }

  string mass = "1.5";//W' mass

  string histo_wp = "wprime" + mass + "/" + histo;
  TH1F * wp = (TH1F* )_file0->Get(histo_wp.c_str());
  if(badHisto(wp, "wprime" + mass))
    return;

  string histo_wp_noint = "wprime" + mass + "_noint/" + histo;
  TH1F * wp_noint = (TH1F* )_file0->Get(histo_wp_noint.c_str());
  if(badHisto(wp_noint, "wprime" + mass + "_noint"))
    return;

  string histo_wp_oppsign = "wprime" + mass + "_oppsign/" + histo;
  TH1F * wp_oppsign = (TH1F* )_file0->Get(histo_wp_oppsign.c_str());
  if(badHisto(wp_oppsign, "wprime" + mass + "_oppsign"))
    return;

  string histo_wp_samesign = "wprime" + mass + "_samesign/" + histo;
  TH1F * wp_samesign = (TH1F* )_file0->Get(histo_wp_samesign.c_str());
  if(badHisto(wp_samesign, "wprime" + mass + "_samesign"))
    return;

  string hname = "tot_bgd";
  double xmin = -1; double xmax = -1; 
  double xmax_ratio = -1; double xmax_cumu = -1;
  string title = "INVALID";
  string var_plotted = "INVALID2";
  char data_ipb[1024]; sprintf(data_ipb, " data (%4.1f pb^{-1})", Lumi_ipb);
  char lumi_value[1024]; sprintf(lumi_value, "%4.1fipb", Lumi_ipb);
  char lumi_value2[1024]; sprintf(lumi_value2, "%4.1f pb^{-1}", Lumi_ipb);
  string cms_prelim = "CMS Preliminary 2011"; 
  char lumi_sqrts_[1024]; 
  sprintf(lumi_sqrts_, "L_{int} = %4.1f pb^{-1}, #sqrt{s} = 7 TeV", Lumi_ipb);
  string lumi_sqrts = lumi_sqrts_;
  float x_offset = 0;

  int Nbins = bgdSamples[0]->GetNbinsX();

  if(option == 1)
    {
      hname += "_mupt";
      desc = " p_{T} distribution";
      xmin = 150; xmax = 1200; 
      title = "Muon p_{T} (GeV/c)";
      var_plotted = "MuPt";
      x_offset = -100;
    }
  else if(option == 2)
    {
      hname += "_TM";
      string desc0 = "";
      if(analysis_channel == 1)
	desc0 = "#mu";
      else if(analysis_channel == 2)
	desc0 = "e";
      desc = desc0 + "&ME_{T} transverse mass: 2011 data (" 
	+ string(lumi_value2) + ")";
      xmin = 200; xmax = 2000; 
      title = "M_{T} (GeV/c^{2})";
      var_plotted = "TM";
    }
  string file = var_plotted + "_" + lumi_value + ".gif";

  // ============== CREATE DISTRIBUTIONS HERE ======================
  // this is the total background distribution (W + QCD + top + Z/DY)
  TH1F * bgd = new TH1F(hname.c_str(), desc.c_str(), 
			Nbins, bgdSamples[0]->GetXaxis()->GetXmin(), 
			bgdSamples[0]->GetXaxis()->GetXmax());
  TH1F * bgd_output = new TH1F("MT_bgd","MT_bgd",nbins_output,xmin_output,xmax_output);
  THStack *hsbgd =new THStack(hname.c_str(),desc.c_str());//+++++++++
  for(unsigned i = 0; i != NbgdSamples; ++i){
    //for(int i = NbgdSamples - 1; i != -1; i--){
    if(analysis_channel == 2){
      //  1, 2-4, 5-7, 8-10,11-12,13-15,16-
      if(i<1){bgdClr=bgdColorElMET[0];}
      else if(i>1 && i<5){bgdClr=bgdColorElMET[1];}
      else if(4<i && i<8){bgdClr=bgdColorElMET[2];}
      else if(7<i && i<11){bgdClr=bgdColorElMET[3];}
      else if(10<i && i<13){bgdClr=bgdColorElMET[4];}
      else if(12<i && i<16){bgdClr=bgdColorElMET[5];}
      else if(i>15){bgdClr=bgdColorElMET[6];}

      bgdSamples[i]->SetLineColor(bgdClr);bgdSamples[i]->SetFillColor(bgdClr);
      hsbgd->Add(bgdSamples[i]);//+++++++++
    }
    bgd->Add(bgdSamples[i]);
    bgd_output->Add(bgdSamples[i]);
  }
  
  const int fill_style_sig = 3001;
  const int fill_style_bgd = 3001;

  bgd->SetLineColor(kAzure+1);
  bgd->SetFillColor(kAzure+1);
  bgd->SetFillStyle(fill_style_bgd);

  // =============== PLOT DISTRIBUTIONS HERE ========================
  
  TCanvas * c1 = new TCanvas();
  c1->SetLogy();

  if(wClr && analysis_channel == 2)hsbgd->Draw("e");
  else bgd->Draw("e");

  wp->SetLineColor(kRed);
  wp_noint->SetLineColor(kRed+1);
  wp_oppsign->SetLineColor(kRed+2);
  wp_samesign->SetLineColor(kRed+3);
  wp->SetFillColor(kRed);
  wp_noint->SetFillColor(kRed+1);
  wp_oppsign->SetFillColor(kRed+2);
  wp_samesign->SetFillColor(kRed+3);
  wp->SetFillStyle(fill_style_sig);
  wp_noint->SetFillStyle(fill_style_sig);
  wp_oppsign->SetFillStyle(fill_style_sig);   
  wp_samesign->SetFillStyle(fill_style_sig);
  wp->Draw("same");
  wp_noint->Draw("same");
  wp_oppsign->Draw("same");
  wp_samesign->Draw("same");
  
  TLegend * lg = new TLegend(0.52, 0.67, 0.82, 0.89);
  lg->SetTextSize(0.03);
  lg->SetBorderSize(0);
  lg->SetFillColor(0);
  lg->AddEntry(bgd, "Total bgd", "F");
  string histo_entry_title = "W ' (" + mass + " TeV)";
  lg->AddEntry(wp, histo_entry_title.c_str(), "F");
  histo_entry_title = "W ' (" + mass + " TeV), no interference";
  lg->AddEntry(wp_noint, histo_entry_title.c_str(), "F");
  histo_entry_title = "W ' (" + mass + " TeV), negative interference";
  lg->AddEntry(wp_oppsign, histo_entry_title.c_str(), "F");
  histo_entry_title = "W ' (" + mass + " TeV), positive interference";
  lg->AddEntry(wp_samesign, histo_entry_title.c_str(), "F");
  lg->Draw();
  
  c1->SaveAs(file.c_str());

  TFile *bgd_output_file = new TFile("Wprime_bgd_mu.root","recreate");
  bgd_output->Write();
  bgd_output_file->Close();  
}
void DarkSusy_mH_125_mGammaD_2000_cT_0_LHE_n1_Phi()
{
//=========Macro generated from canvas: cnv/cnv
//=========  (Sun May 24 15:19:41 2015) by ROOT version6.02/05
   TCanvas *cnv = new TCanvas("cnv", "cnv",1,1,904,904);
   gStyle->SetOptFit(1);
   gStyle->SetOptStat(0);
   gStyle->SetOptTitle(0);
   cnv->SetHighLightColor(2);
   cnv->Range(-5.7,-0.00502375,4.3,0.03362048);
   cnv->SetFillColor(0);
   cnv->SetBorderMode(0);
   cnv->SetBorderSize(2);
   cnv->SetTickx(1);
   cnv->SetTicky(1);
   cnv->SetLeftMargin(0.17);
   cnv->SetRightMargin(0.03);
   cnv->SetTopMargin(0.07);
   cnv->SetBottomMargin(0.13);
   cnv->SetFrameFillStyle(0);
   cnv->SetFrameBorderMode(0);
   cnv->SetFrameFillStyle(0);
   cnv->SetFrameBorderMode(0);
   
   TH1F *h_n1_1_Phi_dummy26 = new TH1F("h_n1_1_Phi_dummy26","h_n1_1_Phi_dummy",80,-4,4);
   h_n1_1_Phi_dummy26->SetMaximum(0.03091539);
   h_n1_1_Phi_dummy26->SetLineStyle(0);
   h_n1_1_Phi_dummy26->SetMarkerStyle(20);
   h_n1_1_Phi_dummy26->GetXaxis()->SetTitle("#phi of n_{1} [rad]");
   h_n1_1_Phi_dummy26->GetXaxis()->SetLabelFont(42);
   h_n1_1_Phi_dummy26->GetXaxis()->SetLabelOffset(0.007);
   h_n1_1_Phi_dummy26->GetXaxis()->SetTitleSize(0.06);
   h_n1_1_Phi_dummy26->GetXaxis()->SetTitleOffset(0.95);
   h_n1_1_Phi_dummy26->GetXaxis()->SetTitleFont(42);
   h_n1_1_Phi_dummy26->GetYaxis()->SetTitle("Fraction of events / 0.1 rad");
   h_n1_1_Phi_dummy26->GetYaxis()->SetLabelFont(42);
   h_n1_1_Phi_dummy26->GetYaxis()->SetLabelOffset(0.007);
   h_n1_1_Phi_dummy26->GetYaxis()->SetTitleSize(0.06);
   h_n1_1_Phi_dummy26->GetYaxis()->SetTitleOffset(1.35);
   h_n1_1_Phi_dummy26->GetYaxis()->SetTitleFont(42);
   h_n1_1_Phi_dummy26->GetZaxis()->SetLabelFont(42);
   h_n1_1_Phi_dummy26->GetZaxis()->SetLabelOffset(0.007);
   h_n1_1_Phi_dummy26->GetZaxis()->SetTitleSize(0.06);
   h_n1_1_Phi_dummy26->GetZaxis()->SetTitleFont(42);
   h_n1_1_Phi_dummy26->Draw("");
   
   TH1F *h_n1_1_Phi27 = new TH1F("h_n1_1_Phi27","h_n1_1_Phi",80,-4,4);
   h_n1_1_Phi27->SetBinContent(9,0.00635008);
   h_n1_1_Phi27->SetBinContent(10,0.0157877);
   h_n1_1_Phi27->SetBinContent(11,0.0158002);
   h_n1_1_Phi27->SetBinContent(12,0.01542519);
   h_n1_1_Phi27->SetBinContent(13,0.01491269);
   h_n1_1_Phi27->SetBinContent(14,0.0157252);
   h_n1_1_Phi27->SetBinContent(15,0.01550019);
   h_n1_1_Phi27->SetBinContent(16,0.0163252);
   h_n1_1_Phi27->SetBinContent(17,0.01641271);
   h_n1_1_Phi27->SetBinContent(18,0.01676271);
   h_n1_1_Phi27->SetBinContent(19,0.01541269);
   h_n1_1_Phi27->SetBinContent(20,0.0159877);
   h_n1_1_Phi27->SetBinContent(21,0.01552519);
   h_n1_1_Phi27->SetBinContent(22,0.0158627);
   h_n1_1_Phi27->SetBinContent(23,0.0162752);
   h_n1_1_Phi27->SetBinContent(24,0.0163377);
   h_n1_1_Phi27->SetBinContent(25,0.01641271);
   h_n1_1_Phi27->SetBinContent(26,0.01538769);
   h_n1_1_Phi27->SetBinContent(27,0.0159252);
   h_n1_1_Phi27->SetBinContent(28,0.0163002);
   h_n1_1_Phi27->SetBinContent(29,0.01555019);
   h_n1_1_Phi27->SetBinContent(30,0.01675021);
   h_n1_1_Phi27->SetBinContent(31,0.0156877);
   h_n1_1_Phi27->SetBinContent(32,0.0162752);
   h_n1_1_Phi27->SetBinContent(33,0.0157877);
   h_n1_1_Phi27->SetBinContent(34,0.01647521);
   h_n1_1_Phi27->SetBinContent(35,0.01511269);
   h_n1_1_Phi27->SetBinContent(36,0.0161752);
   h_n1_1_Phi27->SetBinContent(37,0.01692521);
   h_n1_1_Phi27->SetBinContent(38,0.0161877);
   h_n1_1_Phi27->SetBinContent(39,0.01551269);
   h_n1_1_Phi27->SetBinContent(40,0.0160127);
   h_n1_1_Phi27->SetBinContent(41,0.01680021);
   h_n1_1_Phi27->SetBinContent(42,0.0159252);
   h_n1_1_Phi27->SetBinContent(43,0.0161252);
   h_n1_1_Phi27->SetBinContent(44,0.0161002);
   h_n1_1_Phi27->SetBinContent(45,0.01526269);
   h_n1_1_Phi27->SetBinContent(46,0.0156627);
   h_n1_1_Phi27->SetBinContent(47,0.0158627);
   h_n1_1_Phi27->SetBinContent(48,0.01546269);
   h_n1_1_Phi27->SetBinContent(49,0.01537519);
   h_n1_1_Phi27->SetBinContent(50,0.01663771);
   h_n1_1_Phi27->SetBinContent(51,0.01558769);
   h_n1_1_Phi27->SetBinContent(52,0.0161877);
   h_n1_1_Phi27->SetBinContent(53,0.0161752);
   h_n1_1_Phi27->SetBinContent(54,0.01502519);
   h_n1_1_Phi27->SetBinContent(55,0.01557519);
   h_n1_1_Phi27->SetBinContent(56,0.01558769);
   h_n1_1_Phi27->SetBinContent(57,0.01543769);
   h_n1_1_Phi27->SetBinContent(58,0.0163252);
   h_n1_1_Phi27->SetBinContent(59,0.01657521);
   h_n1_1_Phi27->SetBinContent(60,0.0160002);
   h_n1_1_Phi27->SetBinContent(61,0.01558769);
   h_n1_1_Phi27->SetBinContent(62,0.0157252);
   h_n1_1_Phi27->SetBinContent(63,0.01557519);
   h_n1_1_Phi27->SetBinContent(64,0.01717521);
   h_n1_1_Phi27->SetBinContent(65,0.01540019);
   h_n1_1_Phi27->SetBinContent(66,0.01666271);
   h_n1_1_Phi27->SetBinContent(67,0.0158252);
   h_n1_1_Phi27->SetBinContent(68,0.0156002);
   h_n1_1_Phi27->SetBinContent(69,0.0157127);
   h_n1_1_Phi27->SetBinContent(70,0.01481269);
   h_n1_1_Phi27->SetBinContent(71,0.0163627);
   h_n1_1_Phi27->SetBinContent(72,0.006987588);
   h_n1_1_Phi27->SetBinError(9,0.0002817392);
   h_n1_1_Phi27->SetBinError(10,0.0004442394);
   h_n1_1_Phi27->SetBinError(11,0.0004444153);
   h_n1_1_Phi27->SetBinError(12,0.0004391097);
   h_n1_1_Phi27->SetBinError(13,0.0004317533);
   h_n1_1_Phi27->SetBinError(14,0.0004433592);
   h_n1_1_Phi27->SetBinError(15,0.0004401759);
   h_n1_1_Phi27->SetBinError(16,0.0004517384);
   h_n1_1_Phi27->SetBinError(17,0.0004529474);
   h_n1_1_Phi27->SetBinError(18,0.0004577516);
   h_n1_1_Phi27->SetBinError(19,0.0004389317);
   h_n1_1_Phi27->SetBinError(20,0.0004470445);
   h_n1_1_Phi27->SetBinError(21,0.0004405308);
   h_n1_1_Phi27->SetBinError(22,0.0004452934);
   h_n1_1_Phi27->SetBinError(23,0.0004510461);
   h_n1_1_Phi27->SetBinError(24,0.0004519113);
   h_n1_1_Phi27->SetBinError(25,0.0004529474);
   h_n1_1_Phi27->SetBinError(26,0.0004385756);
   h_n1_1_Phi27->SetBinError(27,0.0004461698);
   h_n1_1_Phi27->SetBinError(28,0.0004513924);
   h_n1_1_Phi27->SetBinError(29,0.0004408853);
   h_n1_1_Phi27->SetBinError(30,0.0004575809);
   h_n1_1_Phi27->SetBinError(31,0.0004428303);
   h_n1_1_Phi27->SetBinError(32,0.0004510461);
   h_n1_1_Phi27->SetBinError(33,0.0004442394);
   h_n1_1_Phi27->SetBinError(34,0.000453809);
   h_n1_1_Phi27->SetBinError(35,0.0004346389);
   h_n1_1_Phi27->SetBinError(36,0.0004496583);
   h_n1_1_Phi27->SetBinError(37,0.000459965);
   h_n1_1_Phi27->SetBinError(38,0.000449832);
   h_n1_1_Phi27->SetBinError(39,0.0004403534);
   h_n1_1_Phi27->SetBinError(40,0.0004473938);
   h_n1_1_Phi27->SetBinError(41,0.0004582633);
   h_n1_1_Phi27->SetBinError(42,0.0004461698);
   h_n1_1_Phi27->SetBinError(43,0.0004489627);
   h_n1_1_Phi27->SetBinError(44,0.0004486146);
   h_n1_1_Phi27->SetBinError(45,0.0004367906);
   h_n1_1_Phi27->SetBinError(46,0.0004424773);
   h_n1_1_Phi27->SetBinError(47,0.0004452934);
   h_n1_1_Phi27->SetBinError(48,0.0004396431);
   h_n1_1_Phi27->SetBinError(49,0.0004383974);
   h_n1_1_Phi27->SetBinError(50,0.0004560416);
   h_n1_1_Phi27->SetBinError(51,0.0004414166);
   h_n1_1_Phi27->SetBinError(52,0.000449832);
   h_n1_1_Phi27->SetBinError(53,0.0004496583);
   h_n1_1_Phi27->SetBinError(54,0.0004333788);
   h_n1_1_Phi27->SetBinError(55,0.0004412396);
   h_n1_1_Phi27->SetBinError(56,0.0004414166);
   h_n1_1_Phi27->SetBinError(57,0.0004392876);
   h_n1_1_Phi27->SetBinError(58,0.0004517384);
   h_n1_1_Phi27->SetBinError(59,0.0004551842);
   h_n1_1_Phi27->SetBinError(60,0.0004472192);
   h_n1_1_Phi27->SetBinError(61,0.0004414166);
   h_n1_1_Phi27->SetBinError(62,0.0004433592);
   h_n1_1_Phi27->SetBinError(63,0.0004412396);
   h_n1_1_Phi27->SetBinError(64,0.0004633496);
   h_n1_1_Phi27->SetBinError(65,0.0004387537);
   h_n1_1_Phi27->SetBinError(66,0.0004563841);
   h_n1_1_Phi27->SetBinError(67,0.0004447667);
   h_n1_1_Phi27->SetBinError(68,0.0004415936);
   h_n1_1_Phi27->SetBinError(69,0.000443183);
   h_n1_1_Phi27->SetBinError(70,0.0004303032);
   h_n1_1_Phi27->SetBinError(71,0.000452257);
   h_n1_1_Phi27->SetBinError(72,0.0002955435);
   h_n1_1_Phi27->SetEntries(79999);
   h_n1_1_Phi27->SetDirectory(0);

   Int_t ci;      // for color index setting
   TColor *color; // for color definition with alpha
   ci = TColor::GetColor("#0000ff");
   h_n1_1_Phi27->SetLineColor(ci);
   h_n1_1_Phi27->SetLineWidth(2);
   h_n1_1_Phi27->SetMarkerStyle(20);
   h_n1_1_Phi27->GetXaxis()->SetLabelFont(42);
   h_n1_1_Phi27->GetXaxis()->SetLabelOffset(0.007);
   h_n1_1_Phi27->GetXaxis()->SetTitleSize(0.06);
   h_n1_1_Phi27->GetXaxis()->SetTitleOffset(0.95);
   h_n1_1_Phi27->GetXaxis()->SetTitleFont(42);
   h_n1_1_Phi27->GetYaxis()->SetLabelFont(42);
   h_n1_1_Phi27->GetYaxis()->SetLabelOffset(0.007);
   h_n1_1_Phi27->GetYaxis()->SetTitleSize(0.06);
   h_n1_1_Phi27->GetYaxis()->SetTitleOffset(1.3);
   h_n1_1_Phi27->GetYaxis()->SetTitleFont(42);
   h_n1_1_Phi27->GetZaxis()->SetLabelFont(42);
   h_n1_1_Phi27->GetZaxis()->SetLabelOffset(0.007);
   h_n1_1_Phi27->GetZaxis()->SetTitleSize(0.06);
   h_n1_1_Phi27->GetZaxis()->SetTitleFont(42);
   h_n1_1_Phi27->Draw("SAMEHIST");
   
   TH1F *h_n1_2_Phi28 = new TH1F("h_n1_2_Phi28","h_n1_2_Phi",80,-4,4);
   h_n1_2_Phi28->SetBinContent(9,0.00718759);
   h_n1_2_Phi28->SetBinContent(10,0.0159627);
   h_n1_2_Phi28->SetBinContent(11,0.01655021);
   h_n1_2_Phi28->SetBinContent(12,0.0159002);
   h_n1_2_Phi28->SetBinContent(13,0.0159877);
   h_n1_2_Phi28->SetBinContent(14,0.01481269);
   h_n1_2_Phi28->SetBinContent(15,0.0160252);
   h_n1_2_Phi28->SetBinContent(16,0.0158377);
   h_n1_2_Phi28->SetBinContent(17,0.01513769);
   h_n1_2_Phi28->SetBinContent(18,0.0158252);
   h_n1_2_Phi28->SetBinContent(19,0.0157877);
   h_n1_2_Phi28->SetBinContent(20,0.01648771);
   h_n1_2_Phi28->SetBinContent(21,0.0162502);
   h_n1_2_Phi28->SetBinContent(22,0.01548769);
   h_n1_2_Phi28->SetBinContent(23,0.01542519);
   h_n1_2_Phi28->SetBinContent(24,0.0156752);
   h_n1_2_Phi28->SetBinContent(25,0.01551269);
   h_n1_2_Phi28->SetBinContent(26,0.0159627);
   h_n1_2_Phi28->SetBinContent(27,0.0160127);
   h_n1_2_Phi28->SetBinContent(28,0.01643771);
   h_n1_2_Phi28->SetBinContent(29,0.0162127);
   h_n1_2_Phi28->SetBinContent(30,0.01537519);
   h_n1_2_Phi28->SetBinContent(31,0.0158377);
   h_n1_2_Phi28->SetBinContent(32,0.0162877);
   h_n1_2_Phi28->SetBinContent(33,0.0160627);
   h_n1_2_Phi28->SetBinContent(34,0.0157252);
   h_n1_2_Phi28->SetBinContent(35,0.01682521);
   h_n1_2_Phi28->SetBinContent(36,0.01512519);
   h_n1_2_Phi28->SetBinContent(37,0.0161127);
   h_n1_2_Phi28->SetBinContent(38,0.01541269);
   h_n1_2_Phi28->SetBinContent(39,0.01547519);
   h_n1_2_Phi28->SetBinContent(40,0.0164002);
   h_n1_2_Phi28->SetBinContent(41,0.0157877);
   h_n1_2_Phi28->SetBinContent(42,0.01547519);
   h_n1_2_Phi28->SetBinContent(43,0.0156127);
   h_n1_2_Phi28->SetBinContent(44,0.01522519);
   h_n1_2_Phi28->SetBinContent(45,0.01532519);
   h_n1_2_Phi28->SetBinContent(46,0.0157752);
   h_n1_2_Phi28->SetBinContent(47,0.0160502);
   h_n1_2_Phi28->SetBinContent(48,0.01655021);
   h_n1_2_Phi28->SetBinContent(49,0.0160752);
   h_n1_2_Phi28->SetBinContent(50,0.01661271);
   h_n1_2_Phi28->SetBinContent(51,0.01521269);
   h_n1_2_Phi28->SetBinContent(52,0.0158627);
   h_n1_2_Phi28->SetBinContent(53,0.01550019);
   h_n1_2_Phi28->SetBinContent(54,0.0161127);
   h_n1_2_Phi28->SetBinContent(55,0.01646271);
   h_n1_2_Phi28->SetBinContent(56,0.0159627);
   h_n1_2_Phi28->SetBinContent(57,0.0161502);
   h_n1_2_Phi28->SetBinContent(58,0.01550019);
   h_n1_2_Phi28->SetBinContent(59,0.0162627);
   h_n1_2_Phi28->SetBinContent(60,0.0163002);
   h_n1_2_Phi28->SetBinContent(61,0.0158377);
   h_n1_2_Phi28->SetBinContent(62,0.0162127);
   h_n1_2_Phi28->SetBinContent(63,0.0156877);
   h_n1_2_Phi28->SetBinContent(64,0.01645021);
   h_n1_2_Phi28->SetBinContent(65,0.0162252);
   h_n1_2_Phi28->SetBinContent(66,0.01513769);
   h_n1_2_Phi28->SetBinContent(67,0.0158127);
   h_n1_2_Phi28->SetBinContent(68,0.01720021);
   h_n1_2_Phi28->SetBinContent(69,0.0161252);
   h_n1_2_Phi28->SetBinContent(70,0.0157127);
   h_n1_2_Phi28->SetBinContent(71,0.0160127);
   h_n1_2_Phi28->SetBinContent(72,0.006650083);
   h_n1_2_Phi28->SetBinError(9,0.0002997432);
   h_n1_2_Phi28->SetBinError(10,0.0004466948);
   h_n1_2_Phi28->SetBinError(11,0.0004548408);
   h_n1_2_Phi28->SetBinError(12,0.0004458194);
   h_n1_2_Phi28->SetBinError(13,0.0004470445);
   h_n1_2_Phi28->SetBinError(14,0.0004303032);
   h_n1_2_Phi28->SetBinError(15,0.0004475684);
   h_n1_2_Phi28->SetBinError(16,0.0004449424);
   h_n1_2_Phi28->SetBinError(17,0.0004349983);
   h_n1_2_Phi28->SetBinError(18,0.0004447667);
   h_n1_2_Phi28->SetBinError(19,0.0004442394);
   h_n1_2_Phi28->SetBinError(20,0.0004539812);
   h_n1_2_Phi28->SetBinError(21,0.0004506995);
   h_n1_2_Phi28->SetBinError(22,0.0004399984);
   h_n1_2_Phi28->SetBinError(23,0.0004391097);
   h_n1_2_Phi28->SetBinError(24,0.0004426538);
   h_n1_2_Phi28->SetBinError(25,0.0004403534);
   h_n1_2_Phi28->SetBinError(26,0.0004466948);
   h_n1_2_Phi28->SetBinError(27,0.0004473938);
   h_n1_2_Phi28->SetBinError(28,0.0004532923);
   h_n1_2_Phi28->SetBinError(29,0.0004501792);
   h_n1_2_Phi28->SetBinError(30,0.0004383974);
   h_n1_2_Phi28->SetBinError(31,0.0004449424);
   h_n1_2_Phi28->SetBinError(32,0.0004512193);
   h_n1_2_Phi28->SetBinError(33,0.0004480918);
   h_n1_2_Phi28->SetBinError(34,0.0004433592);
   h_n1_2_Phi28->SetBinError(35,0.0004586041);
   h_n1_2_Phi28->SetBinError(36,0.0004348186);
   h_n1_2_Phi28->SetBinError(37,0.0004487887);
   h_n1_2_Phi28->SetBinError(38,0.0004389317);
   h_n1_2_Phi28->SetBinError(39,0.0004398208);
   h_n1_2_Phi28->SetBinError(40,0.0004527749);
   h_n1_2_Phi28->SetBinError(41,0.0004442394);
   h_n1_2_Phi28->SetBinError(42,0.0004398208);
   h_n1_2_Phi28->SetBinError(43,0.0004417704);
   h_n1_2_Phi28->SetBinError(44,0.0004362537);
   h_n1_2_Phi28->SetBinError(45,0.000437684);
   h_n1_2_Phi28->SetBinError(46,0.0004440635);
   h_n1_2_Phi28->SetBinError(47,0.0004479174);
   h_n1_2_Phi28->SetBinError(48,0.0004548408);
   h_n1_2_Phi28->SetBinError(49,0.0004482661);
   h_n1_2_Phi28->SetBinError(50,0.0004556988);
   h_n1_2_Phi28->SetBinError(51,0.0004360745);
   h_n1_2_Phi28->SetBinError(52,0.0004452934);
   h_n1_2_Phi28->SetBinError(53,0.0004401759);
   h_n1_2_Phi28->SetBinError(54,0.0004487887);
   h_n1_2_Phi28->SetBinError(55,0.0004536369);
   h_n1_2_Phi28->SetBinError(56,0.0004466948);
   h_n1_2_Phi28->SetBinError(57,0.0004493106);
   h_n1_2_Phi28->SetBinError(58,0.0004401759);
   h_n1_2_Phi28->SetBinError(59,0.0004508729);
   h_n1_2_Phi28->SetBinError(60,0.0004513924);
   h_n1_2_Phi28->SetBinError(61,0.0004449424);
   h_n1_2_Phi28->SetBinError(62,0.0004501792);
   h_n1_2_Phi28->SetBinError(63,0.0004428303);
   h_n1_2_Phi28->SetBinError(64,0.0004534646);
   h_n1_2_Phi28->SetBinError(65,0.0004503527);
   h_n1_2_Phi28->SetBinError(66,0.0004349983);
   h_n1_2_Phi28->SetBinError(67,0.000444591);
   h_n1_2_Phi28->SetBinError(68,0.0004636867);
   h_n1_2_Phi28->SetBinError(69,0.0004489627);
   h_n1_2_Phi28->SetBinError(70,0.000443183);
   h_n1_2_Phi28->SetBinError(71,0.0004473938);
   h_n1_2_Phi28->SetBinError(72,0.0002883177);
   h_n1_2_Phi28->SetEntries(79999);
   h_n1_2_Phi28->SetDirectory(0);

   ci = TColor::GetColor("#ff0000");
   h_n1_2_Phi28->SetLineColor(ci);
   h_n1_2_Phi28->SetLineWidth(2);
   h_n1_2_Phi28->SetMarkerStyle(20);
   h_n1_2_Phi28->GetXaxis()->SetLabelFont(42);
   h_n1_2_Phi28->GetXaxis()->SetLabelOffset(0.007);
   h_n1_2_Phi28->GetXaxis()->SetTitleSize(0.06);
   h_n1_2_Phi28->GetXaxis()->SetTitleOffset(0.95);
   h_n1_2_Phi28->GetXaxis()->SetTitleFont(42);
   h_n1_2_Phi28->GetYaxis()->SetLabelFont(42);
   h_n1_2_Phi28->GetYaxis()->SetLabelOffset(0.007);
   h_n1_2_Phi28->GetYaxis()->SetTitleSize(0.06);
   h_n1_2_Phi28->GetYaxis()->SetTitleOffset(1.3);
   h_n1_2_Phi28->GetYaxis()->SetTitleFont(42);
   h_n1_2_Phi28->GetZaxis()->SetLabelFont(42);
   h_n1_2_Phi28->GetZaxis()->SetLabelOffset(0.007);
   h_n1_2_Phi28->GetZaxis()->SetTitleSize(0.06);
   h_n1_2_Phi28->GetZaxis()->SetTitleFont(42);
   h_n1_2_Phi28->Draw("SAMEHIST");
   
   TLegend *leg = new TLegend(0.46,0.6744444,0.6955556,0.7644444,NULL,"brNDC");
   leg->SetBorderSize(0);
   leg->SetTextSize(0.02777778);
   leg->SetLineColor(1);
   leg->SetLineStyle(1);
   leg->SetLineWidth(1);
   leg->SetFillColor(0);
   leg->SetFillStyle(0);
   TLegendEntry *entry=leg->AddEntry("h_n1_1_Phi","1st neutralino","L");

   ci = TColor::GetColor("#0000ff");
   entry->SetLineColor(ci);
   entry->SetLineStyle(1);
   entry->SetLineWidth(2);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(42);
   entry=leg->AddEntry("h_n1_2_Phi","2nd neutralino","L");

   ci = TColor::GetColor("#ff0000");
   entry->SetLineColor(ci);
   entry->SetLineStyle(1);
   entry->SetLineWidth(2);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(42);
   leg->Draw();
   
   leg = new TLegend(0.4566667,0.82,0.7822222,0.9066667,NULL,"brNDC");
   leg->SetBorderSize(0);
   leg->SetTextSize(0.02777778);
   leg->SetLineColor(1);
   leg->SetLineStyle(1);
   leg->SetLineWidth(1);
   leg->SetFillColor(0);
   leg->SetFillStyle(0);
   entry=leg->AddEntry("NULL","#splitline{pp #rightarrow h #rightarrow 2n_{1} #rightarrow 2n_{D} + 2 #gamma_{D} #rightarrow 2n_{D} + 4#mu}{#splitline{m_{h} = 125 GeV, m_{n_{1}} = 50 GeV, m_{n_{D}} = 1 GeV}{m_{#gamma_{D}} = 20 GeV, c#tau_{#gamma_{D}} = 0 mm}}","h");
   entry->SetLineColor(1);
   entry->SetLineStyle(1);
   entry->SetLineWidth(1);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(42);
   leg->Draw();
   
   leg = new TLegend(0.17,0.935,0.97,1,NULL,"brNDC");
   leg->SetBorderSize(0);
   leg->SetTextAlign(22);
   leg->SetTextSize(0.045);
   leg->SetLineColor(1);
   leg->SetLineStyle(1);
   leg->SetLineWidth(1);
   leg->SetFillColor(0);
   leg->SetFillStyle(0);
   entry=leg->AddEntry("NULL","CMS Simulation (LHE) 14 TeV","h");
   entry->SetLineColor(1);
   entry->SetLineStyle(1);
   entry->SetLineWidth(1);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(42);
   leg->Draw();
   cnv->Modified();
   cnv->cd();
   cnv->SetSelected(cnv);
}
Example #5
0
void ComputeHiggsPtKFactor( ) {
  TFile *EffFile = new TFile("JetVetoEfficiencySystematics.root", "UPDATE");

  TH1D* MCAtNLOHiggsPt = (TH1D*)EffFile->Get("bosonSystemPt_ggHww160_MCAtNLO_default");
  TH1D* PowhegHiggsPt = (TH1D*)EffFile->Get("bosonSystemPt_ggHww160_default");
  PowhegHiggsPt->SetLineColor(kRed);
  TH1D* NNLLHiggsPt = (TH1D*)EffFile->Get("bosonSystemPt_ggHww160_NNLL_default");
  NNLLHiggsPt->SetLineColor(kBlue);

  TH1D* MCAtNLOHiggsPtFineBinning = (TH1D*)EffFile->Get("bosonSystemPtFineBinning_ggHww160_MCAtNLO_default");
  TH1D* PowhegHiggsPtFineBinning = (TH1D*)EffFile->Get("bosonSystemPtFineBinning_ggHww160_default");
  TH1D* NNLLHiggsPtFineBinning = (TH1D*)EffFile->Get("bosonSystemPtFineBinning_ggHww160_NNLL_default");

  assert(MCAtNLOHiggsPt);
  assert(PowhegHiggsPt);
  assert(NNLLHiggsPt);
  assert(MCAtNLOHiggsPtFineBinning);
  assert(PowhegHiggsPtFineBinning);
  assert(NNLLHiggsPtFineBinning);


  Double_t norm = 0 ;

  for(int i=0; i<PowhegHiggsPt->GetXaxis()->GetNbins()+2 ; ++i) {
    norm += PowhegHiggsPt->GetBinContent(i);
  }
  for(int i=0; i<PowhegHiggsPt->GetXaxis()->GetNbins()+2 ; ++i) {
    PowhegHiggsPt->SetBinContent(i, PowhegHiggsPt->GetBinContent(i) / norm);
//     cout << i << " " << PowhegHiggsPt->GetBinContent(i) << endl;
  }

  norm = 0;
  for(int i=0; i<MCAtNLOHiggsPt->GetXaxis()->GetNbins()+2 ; ++i) {
    norm += MCAtNLOHiggsPt->GetBinContent(i);
  }
  for(int i=0; i<MCAtNLOHiggsPt->GetXaxis()->GetNbins()+2 ; ++i) {
    MCAtNLOHiggsPt->SetBinContent(i, MCAtNLOHiggsPt->GetBinContent(i) / norm);
    // cout << i << " " << MCAtNLOHiggsPt->GetBinContent(i) << endl;
  }
  
  norm = 0 ;
  for(int i=0; i<PowhegHiggsPtFineBinning->GetXaxis()->GetNbins()+2 ; ++i) {
    norm += PowhegHiggsPtFineBinning->GetBinContent(i);
  }
  for(int i=0; i<PowhegHiggsPtFineBinning->GetXaxis()->GetNbins()+2 ; ++i) {
    PowhegHiggsPtFineBinning->SetBinContent(i, PowhegHiggsPtFineBinning->GetBinContent(i) / norm);
  }

  norm = 0;
  for(int i=0; i<MCAtNLOHiggsPtFineBinning->GetXaxis()->GetNbins()+2 ; ++i) {
    norm += MCAtNLOHiggsPtFineBinning->GetBinContent(i);
  }
  for(int i=0; i<MCAtNLOHiggsPtFineBinning->GetXaxis()->GetNbins()+2 ; ++i) {
    MCAtNLOHiggsPtFineBinning->SetBinContent(i, MCAtNLOHiggsPtFineBinning->GetBinContent(i) / norm);
    // cout << i << " " << MCAtNLOHiggsPtFineBinning->GetBinContent(i) << endl;
  }


  TCanvas *cv = new TCanvas("cv","cv", 800,600);

  TLegend *tmpLegend = new TLegend(0.73,0.55,0.93,0.70);   
  tmpLegend->SetTextSize(0.03);
  tmpLegend->SetBorderSize(1);
  tmpLegend->AddEntry(MCAtNLOHiggsPt, "MC@NLO", "LP");   
  tmpLegend->AddEntry(PowhegHiggsPt, "Powheg", "LP");   
  tmpLegend->AddEntry(NNLLHiggsPt, "NNLO+NNLL", "LP");   

  MCAtNLOHiggsPt->SetMaximum(0.07);
  MCAtNLOHiggsPt->Draw("hist");
  MCAtNLOHiggsPt->GetYaxis()->SetTitleOffset(1.2);
  MCAtNLOHiggsPt->GetYaxis()->SetTitle("Fraction of Events");
  MCAtNLOHiggsPt->GetXaxis()->SetTitleOffset(1.05);
  PowhegHiggsPt->Draw("hist,same");
  NNLLHiggsPt->Draw("hist,same");
  tmpLegend->Draw();
  cv->SaveAs("HiggsPtComparison.gif");

  cv->SetLogy();
  cv->SaveAs("HiggsPtComparison_logY.gif");




  TH1D* kFactorHiggsPt_PowhegToNNLL = (TH1D*)MCAtNLOHiggsPt->Clone("kFactorHiggsPt_ggHww160_PowhegToNNLL");
  for(int i=0; i<kFactorHiggsPt_PowhegToNNLL->GetXaxis()->GetNbins()+2 ; ++i) {
    if (i==0) {
      kFactorHiggsPt_PowhegToNNLL->SetBinContent(i,1.0);
    } else if (i == kFactorHiggsPt_PowhegToNNLL->GetXaxis()->GetNbins()+1) {
      kFactorHiggsPt_PowhegToNNLL->SetBinContent(i,0.6);
    } else {
      kFactorHiggsPt_PowhegToNNLL->SetBinContent(i,NNLLHiggsPt->GetBinContent(i) / PowhegHiggsPt->GetBinContent(i));    
    }
//     cout << i << " " << NNLLHiggsPt->GetBinContent(i) << " / " << PowhegHiggsPt->GetBinContent(i) << " " << kFactorHiggsPt_PowhegToNNLL->GetBinContent(i) << endl;
  }
  TH1D* kFactorHiggsPt_MCAtNLOToNNLL = (TH1D*)MCAtNLOHiggsPt->Clone("kFactorHiggsPt_ggHww160_MCAtNLOToNNLL");
  for(int i=0; i<kFactorHiggsPt_MCAtNLOToNNLL->GetXaxis()->GetNbins()+2 ; ++i) {
    if (i==0) {
      kFactorHiggsPt_MCAtNLOToNNLL->SetBinContent(i,1.0);
    } else if (i == kFactorHiggsPt_PowhegToNNLL->GetXaxis()->GetNbins()+1) {
      kFactorHiggsPt_MCAtNLOToNNLL->SetBinContent(i,1.5);
    } else {
      kFactorHiggsPt_MCAtNLOToNNLL->SetBinContent(i,NNLLHiggsPt->GetBinContent(i) / MCAtNLOHiggsPt->GetBinContent(i));
    }
  }

  TH1D* kFactorHiggsPtFineBinning_PowhegToNNLL = (TH1D*)MCAtNLOHiggsPtFineBinning->Clone("kFactorHiggsPtFineBinning_ggHww160_PowhegToNNLL");
  for(int i=0; i<kFactorHiggsPtFineBinning_PowhegToNNLL->GetXaxis()->GetNbins()+2 ; ++i) {
    if (i==0) {
    kFactorHiggsPtFineBinning_PowhegToNNLL->SetBinContent(i,1.0);
    } else if (i == kFactorHiggsPt_PowhegToNNLL->GetXaxis()->GetNbins()+1) {
    kFactorHiggsPtFineBinning_PowhegToNNLL->SetBinContent(i,0.6);
    } else {
    kFactorHiggsPtFineBinning_PowhegToNNLL->SetBinContent(i,NNLLHiggsPtFineBinning->GetBinContent(i) / PowhegHiggsPtFineBinning->GetBinContent(i));
    }
//     cout << i << " " << NNLLHiggsPtFineBinning->GetBinContent(i) << " / " << PowhegHiggsPtFineBinning->GetBinContent(i) << " " << kFactorHiggsPtFineBinning_PowhegToNNLL->GetBinContent(i) << endl;
  }
  TH1D* kFactorHiggsPtFineBinning_MCAtNLOToNNLL = (TH1D*)MCAtNLOHiggsPtFineBinning->Clone("kFactorHiggsPtFineBinning_ggHww160_MCAtNLOToNNLL");
  for(int i=0; i<kFactorHiggsPtFineBinning_MCAtNLOToNNLL->GetXaxis()->GetNbins()+2 ; ++i) {
    if (i==0) {
      kFactorHiggsPtFineBinning_MCAtNLOToNNLL->SetBinContent(i,1.0);
    } else if (i == kFactorHiggsPt_PowhegToNNLL->GetXaxis()->GetNbins()+1) {
      kFactorHiggsPtFineBinning_MCAtNLOToNNLL->SetBinContent(i,1.5);
    } else {
      kFactorHiggsPtFineBinning_MCAtNLOToNNLL->SetBinContent(i,NNLLHiggsPtFineBinning->GetBinContent(i) / MCAtNLOHiggsPtFineBinning->GetBinContent(i));
    }
//    cout << i << " " << NNLLHiggsPtFineBinning->GetBinContent(i) << " / " << MCAtNLOHiggsPtFineBinning->GetBinContent(i) << " " << kFactorHiggsPtFineBinning_MCAtNLOToNNLL->GetBinContent(i) << endl;
  }

  cv->SetLogy(0);
  tmpLegend = new TLegend(0.20,0.75,0.55,0.90);   
  tmpLegend->SetTextSize(0.03);
  tmpLegend->SetBorderSize(1);
  tmpLegend->AddEntry(kFactorHiggsPt_PowhegToNNLL, "NNLO+NNLL/Powheg", "LP");   
   tmpLegend->AddEntry(kFactorHiggsPt_MCAtNLOToNNLL, "NNLO+NNLL/MC@NLO", "LP");   
//   kFactorHiggsPt_MCAtNLOToNNLL->GetYaxis()->SetTitle("Ratio");
//    kFactorHiggsPt_MCAtNLOToNNLL->Draw("hist");
//   kFactorHiggsPt_MCAtNLOToNNLL->SetMinimum(0.3);
//   kFactorHiggsPt_MCAtNLOToNNLL->SetMaximum(3.2);
  kFactorHiggsPt_PowhegToNNLL->SetLineColor(kRed);
  kFactorHiggsPt_PowhegToNNLL->Draw("hist");
  kFactorHiggsPt_PowhegToNNLL->SetMinimum(0.0);
  kFactorHiggsPt_PowhegToNNLL->SetMaximum(3.2);
  kFactorHiggsPt_MCAtNLOToNNLL->Draw("hist,same");  
  tmpLegend->Draw(); 
//   cv->SetLogy(0);
  cv->SaveAs("HiggsPtKFactors.gif");



  //*****************************************************************************************
  //Print KFactors
  //*****************************************************************************************
//   //To Produce Tex
//   for(int i=0; i<kFactorHiggsPt_PowhegToNNLL->GetXaxis()->GetNbins()+2 ; ++i) {
//     char kfactor[10];
//     sprintf(kfactor,"%.4f ",kFactorHiggsPt_PowhegToNNLL->GetBinContent(i));

//     cout << kFactorHiggsPt_PowhegToNNLL->GetXaxis()->GetBinLowEdge(i) << " - " << kFactorHiggsPt_PowhegToNNLL->GetXaxis()->GetBinUpEdge(i) << " &  " << kfactor <<  " \\\\" << endl;
//   }

//   for(int i=0; i<kFactorHiggsPt_MCAtNLOToNNLL->GetXaxis()->GetNbins()+2 ; ++i) {
//     char kfactor[10];
//     sprintf(kfactor,"%.4f ",kFactorHiggsPt_MCAtNLOToNNLL->GetBinContent(i));

//     cout << kFactorHiggsPt_MCAtNLOToNNLL->GetXaxis()->GetBinLowEdge(i) << " - " << kFactorHiggsPt_MCAtNLOToNNLL->GetXaxis()->GetBinUpEdge(i) << " &  " << kfactor <<  " \\\\" << endl;
//   }


//   //To Produce twiki table
//   for(int i=0; i<kFactorHiggsPt_PowhegToNNLL->GetXaxis()->GetNbins()+2 ; ++i) {
//     char kfactor[10];
//     sprintf(kfactor,"%.4f ",kFactorHiggsPt_PowhegToNNLL->GetBinContent(i));

//     cout << "| " << kFactorHiggsPt_PowhegToNNLL->GetXaxis()->GetBinLowEdge(i) << " - " << kFactorHiggsPt_PowhegToNNLL->GetXaxis()->GetBinUpEdge(i) << " | " << kfactor <<  " | " << endl;
//   }

//   for(int i=0; i<kFactorHiggsPt_MCAtNLOToNNLL->GetXaxis()->GetNbins()+2 ; ++i) {
//     char kfactor[10];
//     sprintf(kfactor,"%.4f ",kFactorHiggsPt_MCAtNLOToNNLL->GetBinContent(i));

//     cout << "| " << kFactorHiggsPt_MCAtNLOToNNLL->GetXaxis()->GetBinLowEdge(i) << " - " << kFactorHiggsPt_MCAtNLOToNNLL->GetXaxis()->GetBinUpEdge(i) << " | " << kfactor <<  " |" << endl;
//   }


  //To produce the KFactor file
  for(int i=0; i<kFactorHiggsPt_PowhegToNNLL->GetXaxis()->GetNbins()+2 ; ++i) {
    char kfactor[10];
    sprintf(kfactor,"%.4f ",kFactorHiggsPt_PowhegToNNLL->GetBinContent(i));    
    cout << i << " " << kfactor <<  endl;
  }

  for(int i=0; i<kFactorHiggsPt_MCAtNLOToNNLL->GetXaxis()->GetNbins()+2 ; ++i) {
    char kfactor[10];
    sprintf(kfactor,"%.4f ",kFactorHiggsPt_MCAtNLOToNNLL->GetBinContent(i));
    cout << i << " " << kfactor <<  endl;
  }




  EffFile->WriteTObject(kFactorHiggsPt_PowhegToNNLL, kFactorHiggsPt_PowhegToNNLL->GetName(), "WriteDelete");
  EffFile->WriteTObject(kFactorHiggsPt_MCAtNLOToNNLL, kFactorHiggsPt_MCAtNLOToNNLL->GetName(), "WriteDelete");
  EffFile->WriteTObject(kFactorHiggsPtFineBinning_PowhegToNNLL, kFactorHiggsPtFineBinning_PowhegToNNLL->GetName(), "WriteDelete");
  EffFile->WriteTObject(kFactorHiggsPtFineBinning_MCAtNLOToNNLL, kFactorHiggsPtFineBinning_MCAtNLOToNNLL->GetName(), "WriteDelete");
  EffFile->Close();

}
Example #6
0
void makeMETPlots( bool printplot = false ){

  gStyle->SetOptFit(0);

  TChain *ch = new TChain("T1");
  ch->Add("../../output/V00-02-21/wz_summer11_madgraph_gen_baby.root");

  vector<TCut> metcuts;
  vector<float> metcutvals;

  metcuts.push_back(TCut("pfmet>100")); metcutvals.push_back(100);
  metcuts.push_back(TCut("pfmet>200")); metcutvals.push_back(200);
  metcuts.push_back(TCut("pfmet>300")); metcutvals.push_back(300);

  TCut sel("dilmass>81&&dilmass<101&&njets>=2");

  const unsigned int n = metcuts.size();

  TH1F* hpass[n];
  TH1F* hall[n];

  for( unsigned int i = 0 ; i < metcuts.size() ; ++i){

    hpass[i]   = new TH1F(Form("hpass_%i",i),Form("hpass_%i",i),30,0,600);
    hall[i]    = new TH1F(Form("hall_%i",i), Form("hall_%i",i) ,30,0,600);

    ch->Draw(Form("genmet>>hpass_%i",i),sel+metcuts.at(i));
    ch->Draw(Form("genmet>>hall_%i",i)  ,sel);

  }

  TCanvas *can = new TCanvas();
  can->cd();
  gPad->SetGridx();
  gPad->SetGridy();
  gPad->SetTopMargin(0.08);

  TGraphAsymmErrors* gr[n];  
  TLegend *leg = new TLegend(0.6,0.2,0.95,0.4);
  leg->SetFillColor(0);
  leg->SetBorderSize(1);
  leg->SetTextSize(0.035);

  TF1* erf[n];

  for( unsigned int i = 0 ; i < metcuts.size() ; ++i){

    //can[i] = new TCanvas(Form("can_%i",i),Form("can_%i",i),600,600);
    //can[i]->cd();
    
    TF1* efunc = new TF1("efitf", fitf, 0, 600, 3);
    efunc->SetParameters(1, 100, 10);
    efunc->SetParNames("norm", "offset", "width");

    erf[i] = new TF1("efitf", fitf, 0, 600, 3);
    erf[i]->SetParameters(1, 100, 10);
    erf[i]->SetParNames("norm", "offset", "width");
    erf[i]->SetLineWidth(2);
    //erf[i]->FixParameter(0,1);

    //erf[i] = new TF1(Form("erf_%i",i),mfitf,0,400);

    //erf[i]->SetParameter(0,100*(i+1));
    //erf[i]->SetParameter(1,10);

    gr[i] = new TGraphAsymmErrors();
    if( i==0 ){
      erf[i]->SetLineColor(1);
    }

    if( i==1 ){
      gr[i]->SetLineColor(2);
      gr[i]->SetMarkerColor(2);
      gr[i]->SetMarkerStyle(21);
      erf[i]->SetLineColor(2);
    }
    if( i==2 ){
      gr[i]->SetLineColor(4);
      gr[i]->SetMarkerColor(4);
      gr[i]->SetMarkerStyle(25);
      erf[i]->SetLineColor(4);
    }

    leg->AddEntry(gr[i],Form("E_{T}^{miss}>%.0f GeV",metcutvals.at(i)),"p");

    gr[i]->GetXaxis()->SetTitle("generator-level E_{T}^{miss} (GeV)");
    gr[i]->GetYaxis()->SetTitle("efficiency");
    gr[i]->SetMaximum(1.05);
    gr[i]->BayesDivide(hpass[i],hall[i]);

    //gr[i]->Fit(efunc,"R");
    gr[i]->Fit(erf[i],"R");


    if( i==0 ) gr[i]->Draw("AP");
    else       gr[i]->Draw("sameP");

    gr[i]->GetXaxis()->SetTitle("generator E_{T}^{miss} [GeV]");
    gr[i]->GetYaxis()->SetTitle("efficiency");

    //erf[i]->Draw("same");
  }

  leg->Draw();

  TLatex *t = new TLatex();
  t->SetNDC();
  t->SetTextSize(0.04);
  t->DrawLatex(0.28,0.95,"CMS Simulation,  #sqrt{s} = 7 TeV");


  if (printplot) can->Print("../plots/met_turnon_LM4.pdf");





}
Example #7
0
void ppb_merge(){
	
	TStopwatch timer;
	timer.Start();
	
	
	//Float_t N_mb = Lumi_ppb*sigma_inelastic*1000;
	//Float_t Lumi_ppb = 30.9;// inverse micro barns
	//Float_t sigma_inelastic = 70.0;//milli barns

	TH1::SetDefaultSumw2();
	
	
	
	TString inname1 = "root://eoscms//eos/cms/store/group/phys_heavyions/yjlee/pPb2013/promptReco/PA2013_HiForest_PromptReco_JSonPPb_forestv77.root";
	TString inname2 = "root://eoscms//eos/cms/store/group/phys_heavyions/krajczar/inbound/mnt/hadoop/cms/store/user/krajczar/pPb_Jet40Jet60_Full_v1/mergedJet40Jet60_KK.root";
	
	TFile *f1 = TFile::Open(inname1);
	TFile *f2 = TFile::Open(inname2);
	
	cout<<" File for HLT_100 HLT_80 = "<<inname1<<endl;
	cout<<" File for HLT_60 HLT_40 = "<<inname2<<endl;
	
	TFile *outfile = new TFile("pPbmerged_output.root","RECREATE");
	
	TTree* jet_80 = (TTree*)f1->Get("akPu3PFJetAnalyzer/t");
	TTree* jet_80_hlt = (TTree*)f1->Get("hltanalysis/HltTree");
	TTree* jet_80_skim = (TTree*)f1->Get("skimanalysis/HltTree");
	TTree* jet_80_evt = (TTree*)f1->Get("hiEvtAnalyzer/HiTree");
	jet_80->AddFriend(jet_80_hlt);
	jet_80->AddFriend(jet_80_skim);
	jet_80->AddFriend(jet_80_evt);
	
	TTree* jet_60 = (TTree*)f2->Get("akPu3PFJetAnalyzer/t");
	TTree* jet_60_hlt = (TTree*)f2->Get("hltanalysis/HltTree");
	TTree* jet_60_skim = (TTree*)f2->Get("skimanalysis/HltTree");
	TTree* jet_60_evt = (TTree*)f2->Get("hiEvtAnalyzer/HiTree");
	jet_60->AddFriend(jet_60_hlt);
	jet_60->AddFriend(jet_60_skim);
	jet_60->AddFriend(jet_60_evt);
	
	TCut Sel = "abs(vz)<15&&pHBHENoiseFilter&&pPAcollisionEventSelectionPA";
	TCut Trig_100 = "HLT_PAJet100_NoJetID_v1";
	TCut Trig_80 = "HLT_PAJet80_NoJetID_v1";
	TCut Trig_60 = "HLT_PAJet60_NoJetID_v1";
	TCut eta = "abs(jteta)<1";

	Float_t N_mb = 7.71e13;
	
	Float_t prescl3 = (Float_t)jet_80->GetEntries()/jet_80->GetEntries(Trig_60);
	Float_t prescl3_test = (Float_t)jet_80->GetEntries(Sel&&eta&&Trig_100)/jet_80->GetEntries(Sel&&eta&&Trig_60);

	
	const Int_t nbins = 16;
	const Double_t bound[nbins+1] = {30., 40., 50., 60., 70., 80., 90., 100., 110., 120., 140., 150., 160., 200., 220., 260., 300.};
	
	TH1F *hMeas_100 = new TH1F("hMeas_100","PPb HLT_100 Measured histo",nbins,bound);
	TH1F *hMeas_80 = new TH1F("hMeas_80","PPb HLT_80 Measured histo",nbins,bound);
	TH1F *hMeas_60 = new TH1F("hMeas_60","PPb HLT_60 Measured histo",nbins,bound);
	TH1F *hCombined = new TH1F("hCombined","PPb Combined spectra",nbins,bound);
	
	hMeas_100->Sumw2();
	hMeas_60->Sumw2();
	hMeas_80->Sumw2();
	
	jet_80->Draw("jtpt>>hMeas_100",Sel&&Trig_100&&eta);
	jet_80->Draw("jtpt>>hMeas_80",Sel&&!Trig_100&&Trig_80&&eta);
	jet_60->Draw("jtpt>>hMeas_60","1.58606"*Sel&&eta&&Trig_60&&!Trig_80&&!Trig_100);
	
	
	divideBinWidth(hMeas_100);
	divideBinWidth(hMeas_80);
	divideBinWidth(hMeas_60);
	
	hMeas_100->Scale(1./2); //scaling by d eta  - from -1 to +1 is 2. 
	hMeas_80->Scale(1./2);
	hMeas_60->Scale(1./2);
	
	hCombined->Add(hMeas_100,1);
	hCombined->Add(hMeas_80,1);
	hCombined->Add(hMeas_60,1);
	
	hCombined->Scale(1./N_mb);
	hMeas_100->Scale(1./N_mb);
	hMeas_80->Scale(1./N_mb);
	hMeas_60->Scale(1./N_mb);
	
	TCanvas *cMerged = new TCanvas("cMerged","Merged PPb spectra",800,600);
	cMerged->SetLogy();

	hCombined->SetXTitle("Jet p_{T} [GeV/c]");
	hCombined->SetYTitle("1/N_mb d^2N/dp_t d eta");
	hCombined->SetMarkerColor(kBlack);
	hCombined->SetMarkerStyle(20);
	hCombined->SetAxisRange(30,300,"X");
	hCombined->Draw();
	hMeas_100->SetMarkerColor(kRed);
	hMeas_100->SetMarkerStyle(21);
	hMeas_100->Draw("same");
	hMeas_80->SetMarkerColor(kBlue);
	hMeas_80->SetMarkerStyle(22);
	hMeas_80->Draw("same");
	hMeas_60->SetMarkerColor(kGreen);
	hMeas_60->SetMarkerStyle(23);
	hMeas_60->Draw("same");
	
	TLegend *leg_PPb = myLegend(0.6,0.65,0.95,0.9);
	leg_PPb->SetTextSize(0.05);
	leg_PPb->AddEntry(hCombined,"Merged PPb spectra ","pl");
	leg_PPb->AddEntry(hMeas_100,"HLT_100 spectra","pl");
	leg_PPb->AddEntry(hMeas_80,"HLT_80 spectra","pl");
	leg_PPb->AddEntry(hMeas_60,"HLT_60 spectra","pl");
	leg_PPb->Draw();
	
	putCMSPrel(0.2,0.83,0.06);
	drawText("PPb AKPu3PF |eta|<1 |vz|<15",0.2,0.23,20);
	
	cMerged->SaveAs("pPb_merged.pdf","RECREATE");
	
	hMeas_100->Write();
	hCombined->Write();
	hMeas_80->Write();
	hMeas_60->Write();
	

	TFile *fYaxian = TFile::Open("AkPu3PFJetRpA.root");
	TH1F *Yaxian = (TH1F*)fYaxian->Get("DataJetWideBin;3");
	TH1F *test = (TH1F*)Yaxian->Clone("test");

	cout<<"hi"<<endl;
	//outfile->cd();
	Yaxian->Print("base");
	test->Print("base");
	Yaxian->Divide(hCombined);
	TCanvas *yaxian = new TCanvas("yaxian","",800,600);
	yaxian->Divide(2,1);
	yaxian->cd(1);
	Yaxian->SetTitle("ratio of Yaxian's measured pPb spectra to Mine");
	Yaxian->SetXTitle("Jet p_{T} [GeV/c]");
	Yaxian->SetMarkerColor(kBlack);
	Yaxian->SetMarkerStyle(23);
	Yaxian->Draw();
	
	yaxian->cd(2);
	yaxian->cd(2)->SetLogy();
	test->SetMarkerStyle(22);
	test->SetMarkerColor(kBlack);
	test->SetXTitle("Jet p_{T} [GeV/c]");
	test->SetYTitle("1/N_mb d^2N/dp_t d eta");
	test->Draw();
	hCombined->Draw("same");
	
	TLegend *leg = myLegend(0.6,0.65,0.95,0.9);
	leg->SetTextSize(0.05);
	leg->AddEntry(hCombined,"Merged PPb spectra ","pl");
	leg->AddEntry(test,"Yaxian's spectra","pl");
	leg->Draw();
	
	putCMSPrel(0.2,0.83,0.06);
	drawText("PPb AKPu3PF |eta|<1 |vz|<15",0.2,0.23,20);
	
	yaxian->SaveAs("Yaxian_Comparison_pPb_pt_spectra.root","RECREATE");
	
	outfile->cd();
	Yaxian->Write();
	test->Write();
	
	outfile->Write();
	outfile->Close();
	
	timer.Stop();
    float rtime  = timer.RealTime();
    float ctime  = timer.CpuTime();
    
    std::cout<<"\t"<<std::endl;
    std::cout<<Form("RealTime=%f seconds, CpuTime=%f seconds",rtime,ctime)<<std::endl;
    std::cout<<"\t"<<std::endl;
    std::cout<<"Good bye : " <<"\t"<<std::endl;
    
	//define the required histograms
	//static const Int_t nbins = 22;
	//static const Double_t bound[nbins+1] = {30.,40.,50.,60.,70.,80.,90.,100.,110.,120.,130.,140.,150.,160.,180.,200.,220.,260.,300.,350.,400.,450.,500.};
	
}
Example #8
0
void makeCorr3(){
	setNCUStyle(true);
	c1 = new TCanvas("c1","",1360,768);
	
	TFile *f;
	f=TFile::Open("corr2/corr.root");
	
	TFile *f2;
	f2=TFile::Open("pdgToReco2.root");
	
	TFile* tf1[nMasspoint];
	int masspoint[nMasspoint]={1000,1200,1400,1600,1800,2000,2500,3000};
	for(int i=0;i<nMasspoint;i++){
		tf1[i]=TFile::Open(Form("corr2/B%d.root",masspoint[i]));
		//f[i+11]=TFile::Open(Form("R%s.root",masspoint[i].data()));
	}
	double xsec[nMasspoint]={1.90,0.763,0.33,0.155,7.65e-2,1.58e-2,3.73e-3,2.08e-4,4.91e-5};
		
	double ptBins[14]={300,400,500,600,700,800,900,1000,1250,1500,1750,2000,2500};
	double ptBinsCenter[14]={350,450,550,650,750,850,950,1125,1375,1625,1875,2250,2750};
	double ptBinsCenterE[14]={350,450,550,650,750,850,950,1125,1375,1625,1875,2250,2750};
	double ptBinsError[14]={0};
	double ptBinsErrorE[14]={0};
	
	double mean[6][15];
	double sigma[6][15];
	
	
	TLegend *leg = new TLegend(0.68, 0.45, 0.94, 0.90);
  
  leg->SetBorderSize(0);
  leg->SetFillColor(0);
  leg->SetFillStyle(0);
  leg->SetTextSize(0.04);
	
	
	TGraphErrors* tg1[nMasspoint];
	
	for(int k=0;k<nMasspoint;k++){
		for(int i=0;i<13;i++){
		TH1D* th1=(TH1D	*)tf1[k]->Get(Form("ptBarel%.0f",ptBins[i]));
		ptBinsCenter[i]=th1->GetMean();
		ptBinsError[i]=th1->GetRMS();
		cout<<i<<","<<ptBinsCenter[i]<<","<<ptBinsError[i]<<endl;
	}
	
	
		
		for(int i=0;i<13;i++){
		TH1D* th1=(TH1D*)tf1[k]->Get(Form("recoBarelMass%.0f",ptBins[i]));
		TF1 *tf1[4];
	if(i<3){
			tf1[0]=new TF1("fa1","gaus(25000)",th1->GetMaximumBin()-30,th1->GetMaximumBin()+30);
		th1->Fit(tf1[0],"","",th1->GetMaximumBin()-30,th1->GetMaximumBin()+30);
		}
		else {
			tf1[0]=new TF1("fa1","gaus(25000)",th1->GetMaximumBin()-20,th1->GetMaximumBin()+20);
		th1->Fit(tf1[0],"","",th1->GetMaximumBin()-20,th1->GetMaximumBin()+20);
		}
		mean[4][i]=125/tf1[0]->GetParameter(1);
		sigma[4][i]=tf1[0]->GetParError(1)*(125/tf1[0]->GetParameter(1))/tf1[0]->GetParameter(1);
		double temp=tf1[0]->GetParError(1)/tf1[0]->GetParameter(1);
		//mean[4][i]=125/th1->GetMean();
		//sigma[4][i]=th1->GetMeanError()/th1->GetMean();
		
		//cout<<i<<"="<<mean[4][i]<<endl;
		//sigma[4][i]=0;
		th1->SetTitle(Form("%.0f",ptBins[i]));
		if(i==0)c1->Print(Form("plots/recoBarel%d.pdf(",masspoint[k]));
		else if(i==12)c1->Print(Form("plots/recoBarel%d.pdf)",masspoint[k]));
		else  c1->Print(Form("plots/recoBarel%d.pdf",masspoint[k]));
		if(th1->GetEntries()<50|| mean[4][i]<0 || mean[4][i]>2.5||temp>0.3){
			mean[4][i]=0;
			sigma[4][i]=0;
		}
	}
	
	
	
	tg1[k]=new TGraphErrors(12,ptBinsCenter,mean[4],ptBinsError,sigma[4]);
	
	
	
	tg1[k]->GetXaxis()->SetTitle("jet Pt");
	tg1[k]->GetXaxis()->SetRangeUser(0,1800);
	tg1[k]->GetYaxis()->SetTitle("M_{PDG}/M_{Reco}");
	tg1[k]->SetTitle("Gen Correction");
	tg1[k]->SetMinimum(0.9);
	tg1[k]->SetMaximum(2.2);
	tg1[k]->SetFillColor(0);
	tg1[k]->SetLineColor(97-5*k);
	tg1[k]->SetMarkerColor(97-5*k);
	tg1[k]->SetMarkerStyle(20+k);
	tg1[k]->SetMarkerSize(2);
	tg1[k]->SetLineWidth(3);
		
		
		leg->AddEntry(tg1[k],Form("M=%d",masspoint[k]));
	
	}
	for(int k=0;k<nMasspoint;k++){
		tg1[k]->GetXaxis()->SetRangeUser(200,2500);
		if(k==0)tg1[k]->Draw("APL");
		else tg1[k]->Draw("samePL");
	
	for(int j=0;j<12;j++){
		double x,y;
		tg1[k]->GetPoint(j,x,y);
		cout<<"k="<<k<<",j="<<j<<","<<x<<","<<y<<endl;
		if(y<0.1){
			tg1[k]->RemovePoint (j);
			//j--;
		}
		tg1[k]->GetPoint(j,x,y);
		cout<<"k="<<k<<",j="<<j<<","<<x<<","<<y<<endl;
	}
	
	for(int j=0;j<12;j++){
		double x,y;
		tg1[k]->GetPoint(j,x,y);
		
		if(y<0.1){
			tg1[k]->RemovePoint (j);
			//j--;
		}
	}
	for(int j=0;j<12;j++){
		double x,y;
		tg1[k]->GetPoint(j,x,y);
		
		if(y<0.1){
			tg1[k]->RemovePoint (j);
			//j--;
		}
	}
	}
	
	
	TGraphErrors* te1=(TGraphErrors*)f2->Get("barel");
	//leg->AddEntry(te1,"avg");
	//te1->Draw("samePL");
	// te1->SetLineColor(1);
	// te1->SetLineWidth(3);
	// te1->SetMarkerColor(1);
	// te1->SetMarkerSize(1.5);
	// te1->SetMarkerStyle(20);
	leg->Draw("same");
	c1->Print("plots/recoOneBarrel.pdf");
	
	
	leg->Clear();
	
		for(int k=0;k<nMasspoint;k++){

	
	for(int i=0;i<11;i++){
		TH1D* th1=(TH1D*)tf1[k]->Get(Form("ptEndcap%.0f",ptBins[i]));
		ptBinsCenterE[i]=th1->GetMean();
		ptBinsErrorE[i]=th1->GetRMS();
		cout<<i<<","<<ptBinsCenterE[i]<<","<<ptBinsErrorE[i]<<endl;
	}
		
		
		for(int i=0;i<13;i++){
		TH1D* th1=(TH1D*)tf1[k]->Get(Form("recoEndcapMass%.0f",ptBins[i]));
		TF1 *tf1[4];
	if(i<3){
			tf1[0]=new TF1("fa1","gaus(25000)",th1->GetMaximumBin()-40,th1->GetMaximumBin()+40);
		th1->Fit(tf1[0],"","",th1->GetMaximumBin()-40,th1->GetMaximumBin()+40);
		}
		else {
			tf1[0]=new TF1("fa1","gaus(25000)",th1->GetMaximumBin()-30,th1->GetMaximumBin()+30);
			tf1[0]->SetParameter(1,100);
		th1->Fit(tf1[0],"","",th1->GetMaximumBin()-30,th1->GetMaximumBin()+30);
		
		}
		mean[4][i]=125/tf1[0]->GetParameter(1);
		sigma[4][i]=tf1[0]->GetParError(1)*(125/tf1[0]->GetParameter(1))/tf1[0]->GetParameter(1);
		double temp=tf1[0]->GetParError(1)/tf1[0]->GetParameter(1);
		//mean[4][i]=125/th1->GetMean();
		//sigma[4][i]=th1->GetMeanError()/th1->GetMean();
		
		//cout<<i<<"="<<mean[4][i]<<endl;
		//sigma[4][i]=0;
		th1->SetTitle(Form("%.0f",ptBins[i]));
		if(i==0)c1->Print(Form("plots/recoEndcap%d.pdf(",masspoint[k]));
		else if(i==12)c1->Print(Form("plots/recoEndcap%d.pdf)",masspoint[k]));
		else  c1->Print(Form("plots/recoEndcap%d.pdf",masspoint[k]));
		if(th1->GetEntries()<50|| mean[4][i]<1 || mean[4][i]>2.5||temp>0.3){
			mean[4][i]=0;
			sigma[4][i]=0;
		}
	}
	
	
	
	tg1[k]=new TGraphErrors(9,ptBinsCenter,mean[4],ptBinsError,sigma[4]);
	
	
	
	tg1[k]->GetXaxis()->SetTitle("jet Pt");
	tg1[k]->GetXaxis()->SetRangeUser(0,1800);
	tg1[k]->GetYaxis()->SetTitle("M_{PDG}/M_{Reco}");
	tg1[k]->SetTitle("Gen Correction");
	tg1[k]->SetMinimum(1);
	tg1[k]->SetMaximum(1.7);
	tg1[k]->SetFillColor(0);
	tg1[k]->SetLineColor(97-5*k);
	tg1[k]->SetMarkerColor(97-5*k);
	tg1[k]->SetMarkerStyle(20+k);
	tg1[k]->SetMarkerSize(2);
	tg1[k]->SetLineWidth(3);
		
		
		leg->AddEntry(tg1[k],Form("M=%d",masspoint[k]));
	
	}
	for(int k=0;k<nMasspoint;k++){
		tg1[k]->GetXaxis()->SetRangeUser(200,2500);
		if(k==0)tg1[k]->Draw("APL");
	else tg1[k]->Draw("samePL");
	
	for(int j=0;j<12;j++){
		double x,y;
		tg1[k]->GetPoint(j,x,y);
		cout<<"k="<<k<<",j="<<j<<","<<x<<","<<y<<endl;
		if(y<0.1){
			tg1[k]->RemovePoint (j);
			//j--;
		}
		tg1[k]->GetPoint(j,x,y);
		cout<<"k="<<k<<",j="<<j<<","<<x<<","<<y<<endl;
	}
	
	for(int j=0;j<12;j++){
		double x,y;
		tg1[k]->GetPoint(j,x,y);
		
		if(y<0.1){
			tg1[k]->RemovePoint (j);
			//j--;
		}
	}
	for(int j=0;j<12;j++){
		double x,y;
		tg1[k]->GetPoint(j,x,y);
		
		if(y<0.1){
			tg1[k]->RemovePoint (j);
			//j--;
		}
	}
	}
	 te1=(TGraphErrors*)f2->Get("endcap");
	//leg->AddEntry(te1,"avg");
	//te1->Draw("samePL");
	// te1->SetLineColor(1);
	// te1->SetLineWidth(3);
	// te1->SetMarkerColor(1);
	// te1->SetMarkerSize(1.5);
	// te1->SetMarkerStyle(20);
	leg->Draw("same");
	c1->Print("plots/recoOneEndcap.pdf");
	
	/*
	
	
	for(int i=0;i<13;i++){
		TH1D* th1=(TH1D*)f->Get(Form("recoEndcapMass%.0f",ptBins[i]));
		TF1 *tf1[4];
		if(i<2){
			tf1[0]=new TF1("fa1","gaus(25000)",th1->GetMaximumBin()-30,th1->GetMaximumBin()+30);
		th1->Fit(tf1[0],"","",th1->GetMaximumBin()-30,th1->GetMaximumBin()+30);
		}
		else {
			tf1[0]=new TF1("fa1","gaus(25000)",th1->GetMaximumBin()-20,th1->GetMaximumBin()+20);
		th1->Fit(tf1[0],"","",th1->GetMaximumBin()-20,th1->GetMaximumBin()+20);
		}
	
		mean[5][i]=125/tf1[0]->GetParameter(1);
		sigma[5][i]=tf1[0]->GetParError(1)*(125/tf1[0]->GetParameter(1)	)/tf1[0]->GetParameter(1);
		//mean[5][i]=125/th1->GetMean();
		//sigma[5][i]=th1->GetMeanError()/th1->GetMean();
			th1->Draw();
			th1->SetTitle(Form("%.0f",ptBins[i]));
		tf1[0]->Draw("same");
	//cout<<i<<"="<<mean[5][i]<<endl;
	
  
	}
	
	
	
	
	TGraphErrors* tg1[6];
	
	tg1[4]=new TGraphErrors(12,ptBinsCenter,mean[4],ptBinsError,sigma[4]);
	tg1[5]=new TGraphErrors(9,ptBinsCenter,mean[5],ptBinsError,sigma[5]);
	
	for(int i=0;i<14;i++)cout<<i<<"="<<mean[4][i]<<endl;
	for(int i=0;i<14;i++)cout<<i<<"="<<mean[5][i]<<endl;
	

	
	
  

	tg1[4]->Draw("APL");
	tg1[4]->SetFillColor(0);
	tg1[5]->SetFillColor(0);
	tg1[5]->SetLineColor(2);
	tg1[5]->SetMarkerColor(2);
	tg1[5]->Draw("PLsame");
	

leg->Clear();


  
  leg->AddEntry(tg1[5],"reco endcap");
  leg->AddEntry(puppisd_corrRECO_cen,"Thea barel");
  leg->AddEntry(puppisd_corrRECO_for,"Thea endcap");

	leg->Draw("same");
	genBarel->Draw("same");
	genEndcap->Draw("same");
	puppisd_corrRECO_cen->SetLineColor(3);
	puppisd_corrRECO_for->SetLineColor(4);
	//tg1[2]->Draw("APL");
	puppisd_corrRECO_cen->Draw("same");
	puppisd_corrRECO_for->Draw("same");
	
	c1->Print("plots/recoOne.pdf");
	*/
}
Example #9
0
void flagNoiseMatrixGraphs(TString myFileName){  
gSystem->cd("images/NoiseMatrix");
gSystem->cd(myFileName);

TCanvas *flagNoiseMatrixCanv = new TCanvas("flagNoiseMatrixCanv", "flagNoiseMatrixCanv", 200,10,800,800);
flagNoiseMatrixCanv->SetCanvasSize(1200,800);
flagNoiseMatrixCanv->cd();
flagNoiseMatrixGraph_1D = new TH1F("flagNoiseMatrixGraph_1D", "flagNoiseMatrixGraph_1D", 5, 0, 5);
flagNoiseMatrixGraph_1D->GetYaxis()->SetTitle("Number of flag of each type");
flagNoiseMatrixGraph_1D->GetYaxis()->SetLabelSize(0.035);

TLegend *LegNoiseMatrix = new TLegend(0.7,0.5,0.89,0.7);
LegNoiseMatrix->SetHeader("Noise Matrix Flags Definitions");
LegNoiseMatrix->SetFillColor(0);
LegNoiseMatrix->SetTextSize(0);

Calibration->UseCurrentStyle(); 
Calibration->Draw("flagMatrix>>flagNoiseMatrixGraph_1D"); 

LegNoiseMatrix->AddEntry("", "1: Good");
LegNoiseMatrix->AddEntry("", "2: High Noise");
LegNoiseMatrix->AddEntry("", "3: Low Noise" );
LegNoiseMatrix->Draw("same");

flagNoiseMatrixCanv->Update();

PrintAsGif(flagNoiseMatrixCanv, "flagNoiseMatrixGraph_1D");

///////// CHAMBER flag Graph ///////////////////////
gStyle->SetOptStat(0);
TCanvas *flagNoiseMatrixChamberCanv = new TCanvas("flagNoiseMatrixChamberCanv", "flagNoiseMatrixChamberCanv", 200,10,800,800);
flagNoiseMatrixChamberCanv->SetCanvasSize(1200,800);

//create legend 
TLegend *LegNoiseMatrixChamber = new TLegend(0.85,0.8,0.98,0.98);
LegNoiseMatrixChamber->SetHeader("Noise Matrix Flags Definitions");
LegNoiseMatrixChamber->SetFillColor(0);
LegNoiseMatrixChamber->SetTextSize(0);

//final histogram for display
flagNoiseMatrixGraph_2D_Chamber = new TH2F("flagNoiseMatrixGraph_2D_Chamber", "flagNoiseMatrixGraph_2D_Chamber", 9, 0, 9, 4, 0, 4);
///dummy histo to get bin maximum
flagNoiseMatrixGraph_2D_Chamber0 = new TH2F("flagNoiseMatrixGraph_2D_Chamber0", "flagNoiseMatrixGraph_2D_Chamber0", 9, 0, 9, 4, 0, 4);
//one histo for each flag value. 
flagNoiseMatrixGraph_2D_Chamber1 = new TH2F("flagNoiseMatrixGraph_2D_Chamber1", "flagNoiseMatrixGraph_2D_Chamber1", 9, 0, 9, 4, 0, 4);
flagNoiseMatrixGraph_2D_Chamber2 = new TH2F("flagNoiseMatrixGraph_2D_Chamber2", "flagNoiseMatrixGraph_2D_Chamber2", 9, 0, 9, 4, 0, 4);
flagNoiseMatrixGraph_2D_Chamber3 = new TH2F("flagNoiseMatrixGraph_2D_Chamber3", "flagNoiseMatrixGraph_2D_Chamber3", 9, 0, 9, 4, 0, 4);
flagNoiseMatrixGraph_2D_Chamber4 = new TH2F("flagNoiseMatrixGraph_2D_Chamber4", "flagNoiseMatrixGraph_2D_Chamber4", 9, 0, 9, 4, 0, 4);

//fill completley, get bin maximum, set it for overall graph
Calibration->Project("flagNoiseMatrixGraph_2D_Chamber0", "flagMatrix:cham"); 
Double_t binMaxValCham = flagNoiseMatrixGraph_2D_Chamber0->GetMaximum();
//normalize each box appropriately, with respect to the most filled box
flagNoiseMatrixGraph_2D_Chamber->SetMaximum(binMaxValCham);

//fill each "bin"
Calibration->Project("flagNoiseMatrixGraph_2D_Chamber1","flagMatrix:cham", "flagMatrix==1", "box"); 
Calibration->Project("flagNoiseMatrixGraph_2D_Chamber2","flagMatrix:cham", "flagMatrix==2", "box"); 
Calibration->Project("flagNoiseMatrixGraph_2D_Chamber3","flagMatrix:cham", "flagMatrix==3", "box"); 

//set appropriate colors
flagNoiseMatrixGraph_2D_Chamber1->SetFillColor(1);//Black for eveything is OK
flagNoiseMatrixGraph_2D_Chamber2->SetFillColor(2);//red for VERY BAD
flagNoiseMatrixGraph_2D_Chamber3->SetFillColor(3);//Green for pretty good

int idArray[9];
GetChamberIDs(idArray);
for (int chamNum = 0; chamNum<9; ++chamNum){
int chamNumPlus = chamNum + 1; //for bin access

Int_t chamber_id_int = idArray[chamNum]; //set individual id as int
std::stringstream chamber_id_stream;     //define variable in intermediate format
chamber_id_stream << chamber_id_int;     //convert from int to intermediate "stringstream" format
TString chamber_id_str = chamber_id_stream.str();  //convert from stream into string
 if (chamber_id_str.BeginsWith("220")==0 ){  //binary check, i.e. if the string doesn't begin with 220
   chamber_id_str=0;                         //clean out; set to 0.
 }else{
   chamber_id_str.Remove(8,8);               //remove 0 at end
   chamber_id_str.Remove(0,3);               //remove 220 at beginning 
 }
flagNoiseMatrixGraph_2D_Chamber->GetXaxis()->SetBinLabel(chamNumPlus,chamber_id_str); //set bins to have chamber names
}

flagNoiseMatrixGraph_2D_Chamber->GetYaxis()->SetTitle("Flag");
flagNoiseMatrixGraph_2D_Chamber->GetXaxis()->SetTitle("Chamber");

flagNoiseMatrixChamberCanv->cd();  
//draw original histogram, empty
flagNoiseMatrixGraph_2D_Chamber->Draw("box");
//overlay the individual "bin" graphs
flagNoiseMatrixGraph_2D_Chamber1->Draw("samebox");
flagNoiseMatrixGraph_2D_Chamber2->Draw("samebox");
flagNoiseMatrixGraph_2D_Chamber3->Draw("samebox");
flagNoiseMatrixGraph_2D_Chamber4->Draw("samebox");

//set legend entries appropriately
LegNoiseMatrixChamber->AddEntry(flagNoiseMatrixGraph_2D_Chamber1, "Good", "f");
LegNoiseMatrixChamber->AddEntry(flagNoiseMatrixGraph_2D_Chamber2, "High Noise", "f");
LegNoiseMatrixChamber->AddEntry(flagNoiseMatrixGraph_2D_Chamber3, "Low noise", "f");
LegNoiseMatrixChamber->Draw("same");

//print as gif
PrintAsGif(flagNoiseMatrixChamberCanv, "flagNoiseMatrixChamber");
gStyle->SetOptStat(0);gSystem->cd("../../../");
directoryCheck();
}
Example #10
0
void TrigEffvJEt(
               //TString infname="/d100/velicanu/tmp/hiexp-hirun2011-r181611-reco-v1-collisionEvents_lowerSC_autohlt.root"
                 //TString infname="/d100/velicanu/tmp/hiexp-hirun2011-r181685-reco-v1-collisionEvents_lowerSC_autohlt.root"
                 //TString infname="../../../trees/hiexp-hirun2011-b9b9-181611.root"
                 //TString infname="../../../trees/hiexp-hirun2011-b170b170_181683to181695.root"
                 TString infname="../../../trees/hiexp-hirun2011-b358b358.root",
                 TString tag = "Bunch358x358_Hbhe",
                 TCut sel = "HLT_HIMinBiasHfOrBSC_v1&&skim.pcollisionEventSelection"
               )
{
   TH1::SetDefaultSumw2();
   TFile * inf = new TFile(infname);
   cout << inf->GetName() << endl;
   
   TTree * t = (TTree*)inf->Get("hltanalysis/HltTree");
   t->AddFriend("skim=skimanalysis/HltTree");
   t->AddFriend("icPu5JetAnalyzer/t");

   TString jetvar = "Max$(jtpt*(abs(jteta)<5))";
   const int nptbins = 13;
   float ptbins[nptbins+1] = {30,35,40,45,50,55,60,65,70,80,90,100,120,150};

   // L1
   Efficiency l1eff1(t,"l1eff1",jetvar,sel,"L1_SingleJet36_BptxAND",50,0,150);
   Efficiency l1eff2(t,"l1eff2",jetvar,sel,"L1_SingleJet52_BptxAND",50,0,150);
   Efficiency l1eff3(t,"l1eff3",jetvar,sel,"L1_SingleJet68_BptxAND",50,0,150);
   Efficiency l1eff4(t,"l1eff4",jetvar,sel,"L1_SingleJet92_BptxAND",50,0,150);
   Efficiency l1eff5(t,"l1eff5",jetvar,sel,"L1_SingleJet128_BptxAND",50,0,150);
   
   TCanvas * c2 = new TCanvas(tag+"c2",tag+"c2",500,500);
   TH1D * hFrame = (TH1D*)l1eff1.hEff->Clone("hFrame");
   hFrame->SetAxisRange(0,1.6,"Y");
   hFrame->SetTitle(";Leading RecoJet p_{T} (GeV/c);Trigger #epsilon");
   hFrame->Draw();

   l1eff1.Draw();
   l1eff2.Draw(kBlue,kOpenCircle);
   l1eff3.Draw(kGreen+3,kOpenSquare);
   l1eff4.Draw(kOrange+3,kOpenTriangleUp);
   l1eff5.Draw(kViolet+3,kOpenDiamond);

   TLine * l = new TLine(0,1,150,1);
   l->SetLineStyle(2);
   l->Draw();
	
   TLegend *leg = new TLegend(0.4,0.71,0.88,0.93);
   leg->SetFillStyle(0);
   leg->SetBorderSize(0);
   leg->SetTextSize(0.035);
   leg->AddEntry(l1eff1.hEff,tag,"");
   leg->AddEntry(l1eff1.hEff,"ICPu5","");
   leg->AddEntry(l1eff1.hEff,"L1_SingleJet36","p");
   leg->AddEntry(l1eff2.hEff,"L1_SingleJet52","p");
   leg->AddEntry(l1eff3.hEff,"L1_SingleJet68","p");
   leg->AddEntry(l1eff4.hEff,"L1_SingleJet92","p");
   leg->AddEntry(l1eff5.hEff,"L1_SingleJet128","p");
   leg->Draw();   
   c2->Print(Form("out/trigVal/L1JetEffvJEt_%s.gif",tag.Data()));
   
   // HLT
   Efficiency hlteff1(t,"hlteff1",jetvar,sel,"HLT_HIJet55_v1",nptbins,ptbins);
   Efficiency hlteff2(t,"hlteff2",jetvar,"HLT_HIJet55_v1&&skim.pcollisionEventSelection","HLT_HIJet65_v1",nptbins,ptbins);
   Efficiency hlteff3(t,"hlteff3",jetvar,"HLT_HIJet65_v1&&skim.pcollisionEventSelection","HLT_HIJet80_v1",nptbins,ptbins);
   //Efficiency hlteff4(t,"hlteff4",jetvar,sel,"HLT_HIJet95_v1",50,0,200);
   //Efficiency hlteff5(t,"hlteff5",jetvar,sel&&"jtpt[1]>55","HLT_HIDiJet55_v1"&&jetcut,50,0,200);
   TCanvas * c3 = new TCanvas(tag+"c3",tag+"c3",500,500);
   TH1D * hFrame3 = (TH1D*)hlteff1.hEff->Clone("hFrame3");
   hFrame3->SetAxisRange(0,150,"X");
   hFrame3->SetAxisRange(0,1.6,"Y");
   hFrame3->SetTitle(";Leading RecoJet p_{T} (GeV/c);Trigger #epsilon");
   hFrame3->Draw();
   
   hlteff1.Draw();
   hlteff2.Draw(kBlue,kOpenCircle);
   hlteff3.Draw(kGreen+2,kOpenSquare);
   //hlteff4.Draw(kOrange+2,kOpenTriangleUp);
   
   TLine * l2 = new TLine(30,1,150,1);
   l2->SetLineStyle(2);
   l2->Draw();
	
   TLegend *leg3 = new TLegend(0.4,0.71,0.88,0.93);
   leg3->SetFillStyle(0);
   leg3->SetBorderSize(0);
   leg3->SetTextSize(0.035);
   leg3->AddEntry(hlteff1.hEff,tag,"");
   leg3->AddEntry(hlteff1.hEff,"ICPu5","");
   leg3->AddEntry(hlteff1.hEff,"HLT_HIJet55_v1","p");
   leg3->AddEntry(hlteff2.hEff,"HLT_HIJet65_v1","p");
   leg3->AddEntry(hlteff3.hEff,"HLT_HIJet80_v1","p");
   //leg3->AddEntry(hlteff5.hEff,"HLT_HIDiJet55_v1","p");
   leg3->Draw();
   c3->Print(Form("out/trigVal/HLTJetEffvJEt_%s.gif",tag.Data()));
}
Example #11
0
void myPlot(TH1D* h_DY100,
            TH1D* h_DY200,
            TH1D* h_DY400,
            TH1D* h_DY600,
            TH1D* h_TTbar,
            TH1D* h_WW,
            TH1D* h_WZ,
            TH1D* h_ZZ,
            TH1D* h_data0,
	    TH1D* h_data1,
            Double_t scaleDY100,
            Double_t scaleDY200,
            Double_t scaleDY400,
            Double_t scaleDY600,
            Double_t scaleTTbar,
            Double_t scaleWW,
            Double_t scaleWZ,
            Double_t scaleZZ){

  TH1D* h_data = (TH1D*)h_data0->Clone("h_data");

  h_data->Reset();
  h_data->Add(h_data0);
  h_data->Add(h_data1);

  TH1D* h_DY = (TH1D*)h_DY100->Clone("h_DY");

  h_DY->Reset();
  h_DY->Add(h_DY100, scaleDY100);
  h_DY->Add(h_DY200, scaleDY200);
  h_DY->Add(h_DY400, scaleDY400);
  h_DY->Add(h_DY600, scaleDY600);
  h_DY->SetFillColor(kOrange-3);
  h_DY->SetLineColor(kBlack);

  h_TTbar->Scale(scaleTTbar);
  h_TTbar->SetFillColor(kGreen);
  h_TTbar->SetLineColor(kBlack);

  h_WW->Scale(scaleWW);
  h_WW->SetFillColor(kYellow);
  h_WW->SetLineColor(kBlack);

  h_WZ->Scale(scaleWZ);
  h_WZ->SetFillColor(kCyan);
  h_WZ->SetLineColor(kBlack);

  h_ZZ->Scale(scaleZZ);
  h_ZZ->SetFillColor(kPink);
  h_ZZ->SetLineColor(kBlack);

  THStack *h_stack = new THStack("h_stack", "");

  h_stack->Add(h_DY);
  h_stack->Add(h_TTbar);
  h_stack->Add(h_WW);
  h_stack->Add(h_WZ);
  h_stack->Add(h_ZZ);

  h_data->SetLineColor(kBlack);
  h_data->GetXaxis()->SetTitle("");
  h_data->GetXaxis()->SetLabelOffset(999);
  h_data->GetXaxis()->SetLabelSize(0);

  if( h_data->GetMaximum() < h_stack->GetMaximum() ){
  
    h_stack->Draw("histe");
    h_stack->GetHistogram()->GetYaxis()->SetTitle("Event Numbers");
    h_stack->GetHistogram()->GetYaxis()->SetTitleSize(h_data->GetYaxis()->GetTitleSize());
    h_stack->GetHistogram()->GetYaxis()->SetLabelSize(h_data->GetYaxis()->GetLabelSize());
    h_stack->GetHistogram()->GetXaxis()->SetTickLength(0);
    h_stack->GetHistogram()->GetXaxis()->SetLabelOffset(999);
    h_data->Draw("elsame");
  
  }
    
  else{

    h_data->GetYaxis()->SetTitle("Event Numbers");
    h_data->Draw("el");
    h_stack->Draw("histesame");
    h_data->Draw("elsame");

  }
  
  TLegend *leg = new TLegend(0.73, 0.60, 0.90, 0.87);
  
  leg->SetBorderSize(0);
  leg->SetFillColor(0);
  leg->SetFillStyle(0);
  leg->SetTextSize(0.04);
    
  leg->AddEntry(h_DY, "DY+Jets", "f");
  leg->AddEntry(h_TTbar, "t#bar{t}", "f");
  leg->AddEntry(h_WW, "WW", "f");
  leg->AddEntry(h_WZ, "WZ", "f");
  leg->AddEntry(h_ZZ, "ZZ", "f");
  leg->AddEntry(h_data, "Data", "lp");
  leg->Draw();

  TLatex *lar = new TLatex();

  lar->SetNDC(kTRUE);
  lar->SetTextSize(0.04);
  lar->SetLineWidth(5);
  lar->DrawLatex(0.15, 0.94, "CMS preliminary 2015");
  lar->DrawLatex(0.65, 0.94, "L = 831.7 pb^{-1} at #sqrt{s} = 13 TeV");

}
Example #12
0
void InclusiveJets_2010(){

//general root settings
gROOT->SetStyle("Plain");
gStyle->SetOptStat(0); //get rid of statistics box

TH1::SetDefaultSumw2() ;

//Ranges for plots
Float_t xmin=17.5 , ymin = 0.00001, xmax = 1684.0, ymax = 10000000000000000.;

//for the linecolor and linestyle
Int_t icol[8]={8,kViolet,7,4,12,46,6,7};
Int_t isty[8]={1,1,1,1,1,1,1,1};
Int_t imark[5] = {21,22,25,26,3};

//get the root files
TFile *f[3]; // POWHEG + Pythia
TFile *g[1]; //Herwig
TFile *p[1]; //Pythia
f[0] = new TFile("out_aida_40times900kevents_errorcut50/Z2MPIHADONbornkt5ktsupp250_errorcut.root");
f[1] = new TFile("out_aida_40times900kevents_errorcut50/Z2MPIHADOFFbornkt5ktsupp250_errorcut.root");
f[2] = new TFile("out_aida_40times900kevents_errorcut50/NOTUNEbornkt5ktsupp250_errorcut.root");

g[0] = new TFile("out_aida_40times900kevents_errorcut50/HERWIGMPIHADONbornkt5ktsupp250_1.root"); // from POWHEG and HERWIG

//files from Paolo ---- only Pythia Z2
p[0] = new TFile("FromPaolo/2010PYTHIA.root");


//get the Tgraph and convert into histo
TH1F _histotmp[6][3];
TH1F _histotmp_pyth[6][1];
TH1F _histotmp_herw[6][1];

_histotmp_herw[0][0] = Gr2Hi((TGraph*) g[0]->Get("d01_x01_y01;1")); // |y| < 0.5
_histotmp_herw[1][0] = Gr2Hi((TGraph*) g[0]->Get("d02_x01_y01;1")); // 0.5 < |y| < 1.0
_histotmp_herw[2][0] = Gr2Hi((TGraph*) g[0]->Get("d03_x01_y01;1")); // 1.0 < |y| < 1.5
_histotmp_herw[3][0] = Gr2Hi((TGraph*) g[0]->Get("d04_x01_y01;1")); // 1.5 < |y| < 2.0
_histotmp_herw[4][0] = Gr2Hi((TGraph*) g[0]->Get("d05_x01_y01;1")); // 2.0 < |y| < 2.5
_histotmp_herw[5][0] = Gr2Hi((TGraph*) g[0]->Get("d06_x01_y01;1")); //  2.5 < |y| < 3.0

_histotmp_pyth[0][0] = Gr2Hi((TGraph*) p[0]->Get("d01_x01_y01;1")); // |y| < 0.5
_histotmp_pyth[1][0] = Gr2Hi((TGraph*) p[0]->Get("d02_x01_y01;1")); // 0.5 < |y| < 1.0
_histotmp_pyth[2][0] = Gr2Hi((TGraph*) p[0]->Get("d03_x01_y01;1")); // 1.0 < |y| < 1.5
_histotmp_pyth[3][0] = Gr2Hi((TGraph*) p[0]->Get("d04_x01_y01;1")); // 1.5 < |y| < 2.0
_histotmp_pyth[4][0] = Gr2Hi((TGraph*) p[0]->Get("d05_x01_y01;1")); // 2.0 < |y| < 2.5
_histotmp_pyth[5][0] = Gr2Hi((TGraph*) p[0]->Get("d06_x01_y01;1")); //  2.5 < |y| < 3.0

Int_t n = 3; //number of files
Int_t nh = 6; // number of histograms = number of y bins

for(const int ifile = 0; ifile < n; ifile++){

  _histotmp[0][ifile] = Gr2Hi((TGraph*) f[ifile]->Get("d01_x01_y01;1")); // |y| <0.5
  _histotmp[1][ifile] = Gr2Hi((TGraph*) f[ifile]->Get("d02_x01_y01;2")); // 0.5 < |y| < 1.0
  _histotmp[2][ifile] = Gr2Hi((TGraph*) f[ifile]->Get("d03_x01_y01;2")); // 1.0 < |y| < 1.5
  _histotmp[3][ifile] = Gr2Hi((TGraph*) f[ifile]->Get("d04_x01_y01;2")); // 1.5 < |y| < 2.0
  _histotmp[4][ifile] = Gr2Hi((TGraph*) f[ifile]->Get("d05_x01_y01;1")); // 2.0 < |y| < 2.5
  _histotmp[5][ifile] = Gr2Hi((TGraph*) f[ifile]->Get("d06_x01_y01;1")); // 2.5 < |y| < 3.0
/*
  _histotmp[0][ifile] = Gr2Hi((TGraph*) f[ifile]->Get("d01_x01_y01;1")); // |y| <0.5
  _histotmp[1][ifile] = Gr2Hi((TGraph*) f[ifile]->Get("d02_x01_y01;1")); // 0.5 < |y| < 1.0
  _histotmp[2][ifile] = Gr2Hi((TGraph*) f[ifile]->Get("d03_x01_y01;1")); // 1.0 < |y| < 1.5
  _histotmp[3][ifile] = Gr2Hi((TGraph*) f[ifile]->Get("d04_x01_y01;1")); // 1.5 < |y| < 2.0
  _histotmp[4][ifile] = Gr2Hi((TGraph*) f[ifile]->Get("d05_x01_y01;1")); // 2.0 < |y| < 2.5
  _histotmp[5][ifile] = Gr2Hi((TGraph*) f[ifile]->Get("d06_x01_y01;1")); // 2.5 < |y| < 3.0
*/
  for(const int ihisto = 0; ihisto < nh; ihisto++){
    _histotmp_herw[ihisto][0].SetName("");
    _histotmp_pyth[ihisto][0].SetName("");
    _histotmp[ihisto][ifile].SetName("");
  }
}

//change the histo so that I can plot it and do the ratio
 TH1F *_histo[6][3];

 TH1F *_histo_herw[6][1];
 TH1F *_histo_pyth[6][1];

for(const int ifile = 0; ifile < n; ifile++){
  for(const int ihisto = 0; ihisto < nh; ihisto++){

    TH1F *_histo[ihisto][ifile]= (TH1F*)_histotmp[ihisto][ifile].Clone("");
/*
  _histo[ihisto][ifile]->Divide((TH1*)_histo[ihisto][1]);  //histo 0 / hsito 1
  TH1F *_ratio1[ihisto]= (TH1F*)_ratiotmp1[ihisto]->Clone("");
  _ratiotmp2[ihisto]->Divide((TH1*)_histo[ihisto][2]);  //histo 0 / hsito 2
  TH1F *_ratio2[ihisto]= (TH1F*)_ratiotmp2[ihisto]->Clone("");
*/
    _histo[ihisto][ifile]->SetLineWidth(2);
    _histo[ihisto][ifile]->SetLineColor(icol[ihisto]);
    _histo[ihisto][ifile]->SetMarkerStyle(2);
    _histo[ihisto][ifile]->SetMarkerColor(icol[ihisto]);

 TH1F *_histo_herw[ihisto][0] = (TH1F*) _histotmp_herw[ihisto][0].Clone("");
 _histo_herw[ihisto][0]->SetLineWidth(2);
 _histo_herw[ihisto][0]->SetLineColor(1);
 _histo_herw[ihisto][0]->SetMarkerStyle(2);
 _histo_herw[ihisto][0]->SetMarkerColor(1);

 TH1F *_histo_pyth[ihisto][0] = (TH1F*) _histotmp_pyth[ihisto][0].Clone("");
 _histo_pyth[ihisto][0]->SetLineWidth(2);
 _histo_pyth[ihisto][0]->SetLineStyle(3);
 _histo_pyth[ihisto][0]->SetLineColor(icol[ihisto]);
 _histo_pyth[ihisto][0]->SetMarkerStyle(2);
 _histo_pyth[ihisto][0]->SetMarkerColor(icol[ihisto]);
  }

//scale the histos that it fits in one histogram
_histo[0][ifile]->Scale(10000);
_histo[1][ifile]->Scale(1000);
_histo[2][ifile]->Scale(100);
_histo[3][ifile]->Scale(10);
_histo[4][ifile]->Scale(1);

}

_histo_herw[0][0]->Scale(10000);
_histo_herw[1][0]->Scale(1000);
_histo_herw[2][0]->Scale(100);
_histo_herw[3][0]->Scale(10);
_histo_herw[4][0]->Scale(1);

_histo_pyth[0][0]->Scale(10000);
_histo_pyth[1][0]->Scale(1000);
_histo_pyth[2][0]->Scale(100);
_histo_pyth[3][0]->Scale(10);
_histo_pyth[4][0]->Scale(1);

//get the data 2010
//data =  new TFile("out_aida/CMS_2011_S9086218.root");

//TH1F _histodata1 = Gr2Hi((TGraph*)data->Get("d01_x01_y01;1")); // |y| <0.5
//TH1F _histodata2 = Gr2Hi((TGraph*)data->Get("d02_x01_y01;1")); // 0.5 < |y| < 1.0
//TH1F _histodata3 = Gr2Hi((TGraph*)data->Get("d03_x01_y01;1")); // 1.0 < |y| < 1.5
//TH1F _histodata4 = Gr2Hi((TGraph*)data->Get("d04_x01_y01;1")); // 1.5 < |y| < 2.0
//TH1F _histodata5 = Gr2Hi((TGraph*)data->Get("d05_x01_y01;1")); // 2.0 < |y| < 2.5
//TH1F _histodata6 = Gr2Hi((TGraph*)data->Get("d06_x01_y01;1")); // 2.5 < |y| < 3.0


   Double_t xAxis1[35] = {18, 21, 24, 28, 32, 37, 43, 49, 56, 64, 74, 84, 97, 114, 133, 153, 174, 196, 220, 245, 272, 300, 330, 362, 395, 430, 468, 507, 548, 592, 638, 686, 737, 846, 1684}; 

   TH1F *d01_x01_y01_histo = new TH1F("d01_x01_y01_histo","d01_x01_y01_histo",34, xAxis1);
   d01_x01_y01_histo->SetBinContent(1,1.97e+11);
   d01_x01_y01_histo->SetBinContent(2,1.02e+11);
   d01_x01_y01_histo->SetBinContent(3,5.14e+10);
   d01_x01_y01_histo->SetBinContent(4,2.66e+10);
   d01_x01_y01_histo->SetBinContent(5,1.38e+10);
   d01_x01_y01_histo->SetBinContent(6,6.53e+09);
   d01_x01_y01_histo->SetBinContent(7,3.35e+09);
   d01_x01_y01_histo->SetBinContent(8,1.8e+09);
   d01_x01_y01_histo->SetBinContent(9,9.2e+08);
   d01_x01_y01_histo->SetBinContent(10,4.66e+08);
   d01_x01_y01_histo->SetBinContent(11,2.37e+08);
   d01_x01_y01_histo->SetBinContent(12,1.18e+08);
   d01_x01_y01_histo->SetBinContent(13,5.43e+07);
   d01_x01_y01_histo->SetBinContent(14,2.39e+07);
   d01_x01_y01_histo->SetBinContent(15,1.08e+07);
   d01_x01_y01_histo->SetBinContent(16,5240000);
   d01_x01_y01_histo->SetBinContent(17,2610000);
   d01_x01_y01_histo->SetBinContent(18,1360000);
   d01_x01_y01_histo->SetBinContent(19,716000);
   d01_x01_y01_histo->SetBinContent(20,381000);
   d01_x01_y01_histo->SetBinContent(21,207000);
   d01_x01_y01_histo->SetBinContent(22,117000);
   d01_x01_y01_histo->SetBinContent(23,66800);
   d01_x01_y01_histo->SetBinContent(24,37900);
   d01_x01_y01_histo->SetBinContent(25,22000);
   d01_x01_y01_histo->SetBinContent(26,12900);
   d01_x01_y01_histo->SetBinContent(27,7540);
   d01_x01_y01_histo->SetBinContent(28,4410);
   d01_x01_y01_histo->SetBinContent(29,2770);
   d01_x01_y01_histo->SetBinContent(30,1450);
   d01_x01_y01_histo->SetBinContent(31,846);

   d01_x01_y01_histo->SetBinContent(32,499);
   d01_x01_y01_histo->SetBinContent(33,205);

   d01_x01_y01_histo->SetBinContent(34,20.2);

   d01_x01_y01_histo->SetBinError(1,2.547782e+10);
   d01_x01_y01_histo->SetBinError(2,1.24325e+10);
   d01_x01_y01_histo->SetBinError(3,6.016764e+09);
   d01_x01_y01_histo->SetBinError(4,3.005329e+09);
   d01_x01_y01_histo->SetBinError(5,1.530463e+09);
   d01_x01_y01_histo->SetBinError(6,7.056178e+08);
   d01_x01_y01_histo->SetBinError(7,3.617535e+08);
   d01_x01_y01_histo->SetBinError(8,1.96072e+08);
   d01_x01_y01_histo->SetBinError(9,9.919588e+07);
   d01_x01_y01_histo->SetBinError(10,5.102008e+07);
   d01_x01_y01_histo->SetBinError(11,2.639067e+07);
   d01_x01_y01_histo->SetBinError(12,1.335539e+07);
   d01_x01_y01_histo->SetBinError(13,6258885);
   d01_x01_y01_histo->SetBinError(14,2836105);
   d01_x01_y01_histo->SetBinError(15,1319900);
   d01_x01_y01_histo->SetBinError(16,663920.6);
   d01_x01_y01_histo->SetBinError(17,342646.4);
   d01_x01_y01_histo->SetBinError(18,184642.2);
   d01_x01_y01_histo->SetBinError(19,100845.5);
   d01_x01_y01_histo->SetBinError(20,55764.14);
   d01_x01_y01_histo->SetBinError(21,31565.29);
   d01_x01_y01_histo->SetBinError(22,18614.95);
   d01_x01_y01_histo->SetBinError(23,11075.51);
   d01_x01_y01_histo->SetBinError(24,6579.499);
   d01_x01_y01_histo->SetBinError(25,4015.708);
   d01_x01_y01_histo->SetBinError(26,2479.083);
   d01_x01_y01_histo->SetBinError(27,1527.99);
   d01_x01_y01_histo->SetBinError(28,943.6936);
   d01_x01_y01_histo->SetBinError(29,627.92);
   d01_x01_y01_histo->SetBinError(30,350.3168);
   d01_x01_y01_histo->SetBinError(31,219.1467);
   d01_x01_y01_histo->SetBinError(32,139.7467);
   d01_x01_y01_histo->SetBinError(33,62.02427);
   d01_x01_y01_histo->SetBinError(34,7.233998);
   d01_x01_y01_histo->SetEntries(34);
   d01_x01_y01_histo->SetStats(0);

   //d01_x01_y01_histo->Scale(10000);
   d01_x01_y01_histo->SetLineWidth(2);
   d01_x01_y01_histo->SetMarkerStyle(21);
   d01_x01_y01_histo->SetMarkerSize(0.7);
   d01_x01_y01_histo->SetFillColor(kGray);

   Double_t xAxis2[34] = {18, 21, 24, 28, 32, 37, 43, 49, 56, 64, 74, 84, 97, 114, 133, 153, 174, 196, 220, 245, 272, 300, 330, 362, 395, 430, 468, 507, 548, 592, 638, 686, 790, 1684}; 

   TH1F *d02_x01_y01_histo = new TH1F("d02_x01_y01_histo","d02_x01_y01_histo",33, xAxis2);
   d02_x01_y01_histo->SetBinContent(1,1.89e+10);
   d02_x01_y01_histo->SetBinContent(2,9.74e+09);
   d02_x01_y01_histo->SetBinContent(3,4.99e+09);
   d02_x01_y01_histo->SetBinContent(4,2.49e+09);
   d02_x01_y01_histo->SetBinContent(5,1.31e+09);
   d02_x01_y01_histo->SetBinContent(6,6.28e+08);
   d02_x01_y01_histo->SetBinContent(7,3.23e+08);
   d02_x01_y01_histo->SetBinContent(8,1.71e+08);
   d02_x01_y01_histo->SetBinContent(9,8.84e+07);
   d02_x01_y01_histo->SetBinContent(10,4.42e+07);
   d02_x01_y01_histo->SetBinContent(11,2.22e+07);
   d02_x01_y01_histo->SetBinContent(12,1.13e+07);
   d02_x01_y01_histo->SetBinContent(13,5130000);
   d02_x01_y01_histo->SetBinContent(14,2230000);
   d02_x01_y01_histo->SetBinContent(15,1010000);
   d02_x01_y01_histo->SetBinContent(16,482000);
   d02_x01_y01_histo->SetBinContent(17,238000);
   d02_x01_y01_histo->SetBinContent(18,122000);
   d02_x01_y01_histo->SetBinContent(19,64200);
   d02_x01_y01_histo->SetBinContent(20,34100);
   d02_x01_y01_histo->SetBinContent(21,18700);
   d02_x01_y01_histo->SetBinContent(22,10100);
   d02_x01_y01_histo->SetBinContent(23,5720);
   d02_x01_y01_histo->SetBinContent(24,3420);
   d02_x01_y01_histo->SetBinContent(25,1890);
   d02_x01_y01_histo->SetBinContent(26,1130);
   d02_x01_y01_histo->SetBinContent(27,590);
   d02_x01_y01_histo->SetBinContent(28,376);
   d02_x01_y01_histo->SetBinContent(29,196);
   d02_x01_y01_histo->SetBinContent(30,130);

   d02_x01_y01_histo->SetBinContent(31,62.4);
   d02_x01_y01_histo->SetBinContent(32,30.1);
   d02_x01_y01_histo->SetBinContent(33,2.14);

   d02_x01_y01_histo->SetBinError(1,2.47211e+09);
   d02_x01_y01_histo->SetBinError(2,1.196891e+09);
   d02_x01_y01_histo->SetBinError(3,5.890842e+08);
   d02_x01_y01_histo->SetBinError(4,2.837945e+08);
   d02_x01_y01_histo->SetBinError(5,1.465766e+08);
   d02_x01_y01_histo->SetBinError(6,6.848512e+07);
   d02_x01_y01_histo->SetBinError(7,3.536592e+07);
   d02_x01_y01_histo->SetBinError(8,1.879562e+07);
   d02_x01_y01_histo->SetBinError(9,9619569);
   d02_x01_y01_histo->SetBinError(10,4860292);
   d02_x01_y01_histo->SetBinError(11,2483524);
   d02_x01_y01_histo->SetBinError(12,1278948);
   d02_x01_y01_histo->SetBinError(13,596427.3);
   d02_x01_y01_histo->SetBinError(14,266851);
   d02_x01_y01_histo->SetBinError(15,124973);
   d02_x01_y01_histo->SetBinError(16,61551.8);
   d02_x01_y01_histo->SetBinError(17,31482.64);
   d02_x01_y01_histo->SetBinError(18,16749.58);
   d02_x01_y01_histo->SetBinError(19,9172.852);
   d02_x01_y01_histo->SetBinError(20,5077.065);
   d02_x01_y01_histo->SetBinError(21,2898.771);
   d02_x01_y01_histo->SetBinError(22,1633.017);
   d02_x01_y01_histo->SetBinError(23,965.8504);
   d02_x01_y01_histo->SetBinError(24,606.0352);
   d02_x01_y01_histo->SetBinError(25,351.8168);
   d02_x01_y01_histo->SetBinError(26,221.2594);
   d02_x01_y01_histo->SetBinError(27,122.0002);
   d02_x01_y01_histo->SetBinError(28,82.34314);
   d02_x01_y01_histo->SetBinError(29,45.69701);
   d02_x01_y01_histo->SetBinError(30,32.27314);
   d02_x01_y01_histo->SetBinError(31,16.82748);
   d02_x01_y01_histo->SetBinError(32,8.687436);
   d02_x01_y01_histo->SetBinError(33,0.745178);
   d02_x01_y01_histo->SetEntries(33);
   d02_x01_y01_histo->SetStats(0);

   d02_x01_y01_histo->SetLineStyle(0);
   d02_x01_y01_histo->SetLineWidth(2);
   d02_x01_y01_histo->SetMarkerStyle(22);
   d02_x01_y01_histo->SetMarkerSize(0.7);
   d02_x01_y01_histo->SetFillColor(kGray);


   Double_t xAxis3[33] = {18, 21, 24, 28, 32, 37, 43, 49, 56, 64, 74, 84, 97, 114, 133, 153, 174, 196, 220, 245, 272, 300, 330, 362, 395, 430, 468, 507, 548, 592, 638, 686, 1410}; 

   TH1F *d03_x01_y01_histo = new TH1F("d03_x01_y01_histo","d03_x01_y01_histo",32, xAxis3);
   d03_x01_y01_histo->SetBinContent(1,1.84e+09);
   d03_x01_y01_histo->SetBinContent(2,9.24e+08);
   d03_x01_y01_histo->SetBinContent(3,4.64e+08);
   d03_x01_y01_histo->SetBinContent(4,2.34e+08);
   d03_x01_y01_histo->SetBinContent(5,1.19e+08);
   d03_x01_y01_histo->SetBinContent(6,5.88e+07);
   d03_x01_y01_histo->SetBinContent(7,2.92e+07);
   d03_x01_y01_histo->SetBinContent(8,1.57e+07);
   d03_x01_y01_histo->SetBinContent(9,8090000);
   d03_x01_y01_histo->SetBinContent(10,4090000);
   d03_x01_y01_histo->SetBinContent(11,2050000);
   d03_x01_y01_histo->SetBinContent(12,994000);
   d03_x01_y01_histo->SetBinContent(13,452000);
   d03_x01_y01_histo->SetBinContent(14,192000);
   d03_x01_y01_histo->SetBinContent(15,86200);
   d03_x01_y01_histo->SetBinContent(16,40500);
   d03_x01_y01_histo->SetBinContent(17,20100);
   d03_x01_y01_histo->SetBinContent(18,10000);
   d03_x01_y01_histo->SetBinContent(19,5210);
   d03_x01_y01_histo->SetBinContent(20,2720);
   d03_x01_y01_histo->SetBinContent(21,1470);
   d03_x01_y01_histo->SetBinContent(22,803);
   d03_x01_y01_histo->SetBinContent(23,435);
   d03_x01_y01_histo->SetBinContent(24,252);
   d03_x01_y01_histo->SetBinContent(25,138);
   d03_x01_y01_histo->SetBinContent(26,75.7);
   d03_x01_y01_histo->SetBinContent(27,43.1);
   d03_x01_y01_histo->SetBinContent(28,23.5);
   d03_x01_y01_histo->SetBinContent(29,13.1);

   d03_x01_y01_histo->SetBinContent(30,6.96);
   d03_x01_y01_histo->SetBinContent(31,3.31);
   d03_x01_y01_histo->SetBinContent(32,0.263);

   d03_x01_y01_histo->SetBinError(1,3.267438e+08);
   d03_x01_y01_histo->SetBinError(2,1.460402e+08);
   d03_x01_y01_histo->SetBinError(3,6.756898e+07);
   d03_x01_y01_histo->SetBinError(4,3.169167e+07);
   d03_x01_y01_histo->SetBinError(5,1.534246e+07);
   d03_x01_y01_histo->SetBinError(6,7206299);
   d03_x01_y01_histo->SetBinError(7,3487964);
   d03_x01_y01_histo->SetBinError(8,1852766);
   d03_x01_y01_histo->SetBinError(9,937690);
   d03_x01_y01_histo->SetBinError(10,474695.6);
   d03_x01_y01_histo->SetBinError(11,239744.8);
   d03_x01_y01_histo->SetBinError(12,117028.5);
   d03_x01_y01_histo->SetBinError(13,54375.43);
   d03_x01_y01_histo->SetBinError(14,23751.81);
   d03_x01_y01_histo->SetBinError(15,11010.17);
   d03_x01_y01_histo->SetBinError(16,5355.962);
   d03_x01_y01_histo->SetBinError(17,2760.221);
   d03_x01_y01_histo->SetBinError(18,1428.408);
   d03_x01_y01_histo->SetBinError(19,775.8965);
   d03_x01_y01_histo->SetBinError(20,422.7916);
   d03_x01_y01_histo->SetBinError(21,238.9779);
   d03_x01_y01_histo->SetBinError(22,137.1344);
   d03_x01_y01_histo->SetBinError(23,78.10703);
   d03_x01_y01_histo->SetBinError(24,47.62767);
   d03_x01_y01_histo->SetBinError(25,27.54976);
   d03_x01_y01_histo->SetBinError(26,16.01829);
   d03_x01_y01_histo->SetBinError(27,9.722084);
   d03_x01_y01_histo->SetBinError(28,5.653863);
   d03_x01_y01_histo->SetBinError(29,3.37332);
   d03_x01_y01_histo->SetBinError(30,1.948179);
   d03_x01_y01_histo->SetBinError(31,1.026618);
   d03_x01_y01_histo->SetBinError(32,0.09205037);
   d03_x01_y01_histo->SetEntries(32);
   d03_x01_y01_histo->SetStats(0);

   d03_x01_y01_histo->SetLineStyle(0);
   d03_x01_y01_histo->SetLineWidth(2);
   d03_x01_y01_histo->SetMarkerStyle(25);
   d03_x01_y01_histo->SetMarkerSize(0.7);
   d03_x01_y01_histo->SetFillColor(kGray);

   Double_t xAxis4[30] = {18, 21, 24, 28, 32, 37, 43, 49, 56, 64, 74, 84, 97, 114, 133, 153, 174, 196, 220, 245, 272, 300, 330, 362, 395, 430, 468, 507, 548, 1032}; 

   TH1F *d04_x01_y01_histo = new TH1F("d04_x01_y01_histo","d04_x01_y01_histo",29, xAxis4);
   d04_x01_y01_histo->SetBinContent(1,1.44e+08);
   d04_x01_y01_histo->SetBinContent(2,7.35e+07);
   d04_x01_y01_histo->SetBinContent(3,3.8e+07);
   d04_x01_y01_histo->SetBinContent(4,1.89e+07);
   d04_x01_y01_histo->SetBinContent(5,9700000);
   d04_x01_y01_histo->SetBinContent(6,4670000);
   d04_x01_y01_histo->SetBinContent(7,2280000);
   d04_x01_y01_histo->SetBinContent(8,1220000);
   d04_x01_y01_histo->SetBinContent(9,629000);
   d04_x01_y01_histo->SetBinContent(10,305000);
   d04_x01_y01_histo->SetBinContent(11,151000);
   d04_x01_y01_histo->SetBinContent(12,73400);
   d04_x01_y01_histo->SetBinContent(13,32900);
   d04_x01_y01_histo->SetBinContent(14,13900);
   d04_x01_y01_histo->SetBinContent(15,6160);
   d04_x01_y01_histo->SetBinContent(16,2860);
   d04_x01_y01_histo->SetBinContent(17,1400);
   d04_x01_y01_histo->SetBinContent(18,711);
   d04_x01_y01_histo->SetBinContent(19,356);
   d04_x01_y01_histo->SetBinContent(20,186);
   d04_x01_y01_histo->SetBinContent(21,94.5);
   d04_x01_y01_histo->SetBinContent(22,50.9);
   d04_x01_y01_histo->SetBinContent(23,25.6);
   d04_x01_y01_histo->SetBinContent(24,13.3);
   d04_x01_y01_histo->SetBinContent(25,7);
   d04_x01_y01_histo->SetBinContent(26,3.45);
   d04_x01_y01_histo->SetBinContent(27,1.73);

   d04_x01_y01_histo->SetBinContent(28,0.796);
   d04_x01_y01_histo->SetBinContent(29,0.066);

   d04_x01_y01_histo->SetBinError(1,3.637846e+07);
   d04_x01_y01_histo->SetBinError(2,1.67099e+07);
   d04_x01_y01_histo->SetBinError(3,7851714);
   d04_x01_y01_histo->SetBinError(4,3568673);
   d04_x01_y01_histo->SetBinError(5,1703586);
   d04_x01_y01_histo->SetBinError(6,750723.4);
   d04_x01_y01_histo->SetBinError(7,343490.2);
   d04_x01_y01_histo->SetBinError(8,173448.2);
   d04_x01_y01_histo->SetBinError(9,84294.21);
   d04_x01_y01_histo->SetBinError(10,39082.27);
   d04_x01_y01_histo->SetBinError(11,18979.5);
   d04_x01_y01_histo->SetBinError(12,9119.636);
   d04_x01_y01_histo->SetBinError(13,4140.893);
   d04_x01_y01_histo->SetBinError(14,1810.098);
   d04_x01_y01_histo->SetBinError(15,830.3785);
   d04_x01_y01_histo->SetBinError(16,399.9657);
   d04_x01_y01_histo->SetBinError(17,204.9602);
   d04_x01_y01_histo->SetBinError(18,109.8075);
   d04_x01_y01_histo->SetBinError(19,59.1287);
   d04_x01_y01_histo->SetBinError(20,33.42105);
   d04_x01_y01_histo->SetBinError(21,18.47046);
   d04_x01_y01_histo->SetBinError(22,10.88183);
   d04_x01_y01_histo->SetBinError(23,6.000047);
   d04_x01_y01_histo->SetBinError(24,3.41489);
   d04_x01_y01_histo->SetBinError(25,1.994767);
   d04_x01_y01_histo->SetBinError(26,1.086542);
   d04_x01_y01_histo->SetBinError(27,0.610451);
   d04_x01_y01_histo->SetBinError(28,0.3130872);
   d04_x01_y01_histo->SetBinError(29,0.03211142);
   d04_x01_y01_histo->SetEntries(29);
   d04_x01_y01_histo->SetStats(0);

   d04_x01_y01_histo->SetLineStyle(0);
   d04_x01_y01_histo->SetLineWidth(2);
   d04_x01_y01_histo->SetMarkerStyle(26);
   d04_x01_y01_histo->SetMarkerSize(0.7);
   d04_x01_y01_histo->SetFillColor(kGray);

   Double_t xAxis5[27] = {18, 21, 24, 28, 32, 37, 43, 49, 56, 64, 74, 84, 97, 114, 133, 153, 174, 196, 220, 245, 272, 300, 330, 362, 395, 430, 737};

   TH1F *d05_x01_y01_histo = new TH1F("d05_x01_y01_histo","d05_x01_y01_histo",26, xAxis5);
   d05_x01_y01_histo->SetBinContent(1,1.05e+07);
   d05_x01_y01_histo->SetBinContent(2,5520000);
   d05_x01_y01_histo->SetBinContent(3,2720000);
   d05_x01_y01_histo->SetBinContent(4,1440000);
   d05_x01_y01_histo->SetBinContent(5,738000);
   d05_x01_y01_histo->SetBinContent(6,348000);
   d05_x01_y01_histo->SetBinContent(7,168000);
   d05_x01_y01_histo->SetBinContent(8,89800);
   d05_x01_y01_histo->SetBinContent(9,43800);
   d05_x01_y01_histo->SetBinContent(10,21800);
   d05_x01_y01_histo->SetBinContent(11,10300);
   d05_x01_y01_histo->SetBinContent(12,5030);
   d05_x01_y01_histo->SetBinContent(13,2180);
   d05_x01_y01_histo->SetBinContent(14,896);
   d05_x01_y01_histo->SetBinContent(15,384);
   d05_x01_y01_histo->SetBinContent(16,170);
   d05_x01_y01_histo->SetBinContent(17,78.5);
   d05_x01_y01_histo->SetBinContent(18,35.8);
   d05_x01_y01_histo->SetBinContent(19,16.5);
   d05_x01_y01_histo->SetBinContent(20,7.25);
   d05_x01_y01_histo->SetBinContent(21,3.27);
   d05_x01_y01_histo->SetBinContent(22,1.38);
   d05_x01_y01_histo->SetBinContent(23,0.579);
   d05_x01_y01_histo->SetBinContent(24,0.22);

   d05_x01_y01_histo->SetBinContent(25,0.0808);
   d05_x01_y01_histo->SetBinContent(26,0.00548);

   d05_x01_y01_histo->SetBinError(1,1978672);
   d05_x01_y01_histo->SetBinError(2,935188);
   d05_x01_y01_histo->SetBinError(3,421635.1);
   d05_x01_y01_histo->SetBinError(4,206618.7);
   d05_x01_y01_histo->SetBinError(5,100557.7);
   d05_x01_y01_histo->SetBinError(6,44514.08);
   d05_x01_y01_histo->SetBinError(7,20942.13);
   d05_x01_y01_histo->SetBinError(8,11048.87);
   d05_x01_y01_histo->SetBinError(9,5260.105);
   d05_x01_y01_histo->SetBinError(10,2634.555);
   d05_x01_y01_histo->SetBinError(11,1278.591);
   d05_x01_y01_histo->SetBinError(12,627.8137);
   d05_x01_y01_histo->SetBinError(13,282.1732);
   d05_x01_y01_histo->SetBinError(14,121.6466);
   d05_x01_y01_histo->SetBinError(15,55.24865);
   d05_x01_y01_histo->SetBinError(16,25.82574);
   d05_x01_y01_histo->SetBinError(17,12.76174);
   d05_x01_y01_histo->SetBinError(18,6.253124);
   d05_x01_y01_histo->SetBinError(19,3.142438);
   d05_x01_y01_histo->SetBinError(20,1.508923);
   d05_x01_y01_histo->SetBinError(21,0.7510828);
   d05_x01_y01_histo->SetBinError(22,0.3514478);
   d05_x01_y01_histo->SetBinError(23,0.1646418);
   d05_x01_y01_histo->SetBinError(24,0.071108);
   d05_x01_y01_histo->SetBinError(25,0.02988224);
   d05_x01_y01_histo->SetBinError(26,0.002567773);
   d05_x01_y01_histo->SetEntries(26);
   d05_x01_y01_histo->SetStats(0);

   d05_x01_y01_histo->SetLineStyle(0);
   d05_x01_y01_histo->SetLineWidth(2);
   d05_x01_y01_histo->SetMarkerStyle(3);
   d05_x01_y01_histo->SetMarkerSize(0.7);
   d05_x01_y01_histo->SetFillColor(kGray);

// MC / Data
TH1F *_ratio[6][3];
TH1F *_ratio_pyth[6][1];

for(const int ifile = 0; ifile < n; ifile++){
  for(const int ihisto = 0; ihisto < nh; ihisto++){

    TH1F *_ratio[ihisto][ifile]= (TH1F*)_histo[ihisto][ifile]->Clone("");
    TH1F *_ratio_pyth[ihisto][0]= (TH1F*)_histo_pyth[ihisto][0]->Clone("");

    _ratio[ihisto][ifile]->SetLineWidth(1);
    _ratio[ihisto][ifile]->SetLineColor(icol[ihisto]);
    _ratio[ihisto][ifile]->SetMarkerStyle(imark[ihisto]);
    _ratio[ihisto][ifile]->SetMarkerSize(0.5);
    _ratio[ihisto][ifile]->SetMarkerColor(icol[ihisto]);

    _ratio_pyth[ihisto][0]->SetLineWidth(1);
    _ratio_pyth[ihisto][0]->SetLineColor(icol[ihisto]);
    _ratio_pyth[ihisto][0]->SetLineStyle(3);
    _ratio_pyth[ihisto][0]->SetMarkerStyle(imark[ihisto]);
    _ratio_pyth[ihisto][0]->SetMarkerSize(0.5);
    _ratio_pyth[ihisto][0]->SetMarkerColor(icol[ihisto]);
 }

  _ratio[0][ifile]->Divide((TH1*)d01_x01_y01_histo);  
  _ratio[1][ifile]->Divide((TH1*)d02_x01_y01_histo);  
  _ratio[2][ifile]->Divide((TH1*)d03_x01_y01_histo);  
  _ratio[3][ifile]->Divide((TH1*)d04_x01_y01_histo);  
  _ratio[4][ifile]->Divide((TH1*)d05_x01_y01_histo);  


//  TH1F *_ratio[ihisto]= (TH1F*)_ratiotmp1[ihisto]->Clone("");
// _ratiotmp2[ihisto]->Divide((TH1*)_histo[ihisto][2]);  //histo 0 / hsito 2
//  TH1F *_ratio2[ihisto]= (TH1F*)_ratiotmp2[ihisto]->Clone("");

}

  _ratio_pyth[0][0]->Divide((TH1*)d01_x01_y01_histo);  
  _ratio_pyth[1][0]->Divide((TH1*)d02_x01_y01_histo);  
  _ratio_pyth[2][0]->Divide((TH1*)d03_x01_y01_histo);  
  _ratio_pyth[3][0]->Divide((TH1*)d04_x01_y01_histo);  
  _ratio_pyth[4][0]->Divide((TH1*)d05_x01_y01_histo);  

// Data / MC
TH1F *_ratio_datamc[6][3];
TH1F *_ratio_pyth_datamc[6][1];

    TH1F *_ratio_pyth_datamc[0][0]= (TH1F*)d01_x01_y01_histo->Clone("");
    TH1F *_ratio_pyth_datamc[1][0]= (TH1F*)d02_x01_y01_histo->Clone("");
    TH1F *_ratio_pyth_datamc[2][0]= (TH1F*)d03_x01_y01_histo->Clone("");
    TH1F *_ratio_pyth_datamc[3][0]= (TH1F*)d04_x01_y01_histo->Clone("");
    TH1F *_ratio_pyth_datamc[4][0]= (TH1F*)d05_x01_y01_histo->Clone("");


for(const int ifile = 0; ifile < n; ifile++){

    TH1F *_ratio_datamc[0][ifile]= (TH1F*)d01_x01_y01_histo->Clone("");
    TH1F *_ratio_datamc[1][ifile]= (TH1F*)d02_x01_y01_histo->Clone("");
    TH1F *_ratio_datamc[2][ifile]= (TH1F*)d03_x01_y01_histo->Clone("");
    TH1F *_ratio_datamc[3][ifile]= (TH1F*)d04_x01_y01_histo->Clone("");
    TH1F *_ratio_datamc[4][ifile]= (TH1F*)d05_x01_y01_histo->Clone("");


  for(const int ihisto = 0; ihisto < 5; ihisto++){ 
    _ratio_datamc[ihisto][ifile]->Divide((TH1F*)_histo[ihisto][ifile]); 
	
    _ratio_datamc[ihisto][ifile]->SetLineWidth(1);
    _ratio_datamc[ihisto][ifile]->SetLineColor(icol[ihisto]);
    _ratio_datamc[ihisto][ifile]->SetMarkerStyle(imark[ihisto]);
    _ratio_datamc[ihisto][ifile]->SetMarkerSize(0.5);
    _ratio_datamc[ihisto][ifile]->SetMarkerColor(icol[ihisto]);
    _ratio_datamc[ihisto][ifile]->SetFillColor(0);

    _ratio_pyth_datamc[ihisto][0]->Divide((TH1F*)_histo_pyth[ihisto][0]); 
	
    _ratio_pyth_datamc[ihisto][0]->SetLineWidth(1);
    _ratio_pyth_datamc[ihisto][0]->SetLineColor(icol[ihisto]);
    _ratio_pyth_datamc[ihisto][0]->SetLineStyle(3);
    _ratio_pyth_datamc[ihisto][0]->SetMarkerStyle(imark[ihisto]);
    _ratio_pyth_datamc[ihisto][0]->SetMarkerSize(0.5);
    _ratio_pyth_datamc[ihisto][0]->SetMarkerColor(icol[ihisto]);
    _ratio_pyth_datamc[ihisto][0]->SetFillColor(0);
  }
}

//create a canvas to draw TGraph and TH1F

TCanvas *c1 = new TCanvas("c1", "c1",369,0,680,550);

    //pads (inclusive jet cross section, MC / data )
   Pad_inclJet = new TPad("Pad_inclJet","xs",0.01,0.01,1.0,1.0);
   Pad_inclJet->Draw();

// first pad style
   Pad_inclJet->cd();
   gStyle->SetOptStat(0);
   gPad->SetFillColor(0);
   gPad->SetBorderMode(0);
   gPad->SetBorderSize(2);
   gPad->SetLogy();
   gPad->SetLeftMargin(0.14);
   gPad->SetRightMargin(0.03);
   gPad->SetTopMargin(0.03);
   gPad->SetFrameBorderMode(0);
   gPad->SetFrameBorderMode(0);

//empty histo for border and style

   TH1F *shape = new TH1F("","",1, xmin, xmax);
   shape->SetMinimum(ymin);
   shape->SetMaximum(ymax); 
   shape->GetXaxis()->SetTitle("Jet p_{T} (GeV/c)");
   shape->GetXaxis()->SetLabelSize(0.03);
   shape->GetXaxis()->SetTitleSize(0.03);
   shape->GetXaxis()->SetNdivisions(508);
   shape->GetXaxis()->SetTitleOffset(1.3);
   shape->GetXaxis()->SetMoreLogLabels();
   shape->GetYaxis()->SetTitle("#frac{d^{2}#sigma}{dp_{T}d|y|} (pb/GeV)");
   shape->GetYaxis()->SetLabelSize(0.03);
   shape->GetYaxis()->SetTitleSize(0.03);
   shape->GetYaxis()->SetTitleOffset(1.6);
   shape->Draw("e");

  gPad->SetLogy();
  gPad->SetLogx();

  //data
  d01_x01_y01_histo->Draw("E2same");
  d02_x01_y01_histo->Draw("E2same");
  d03_x01_y01_histo->Draw("E2same");
  d04_x01_y01_histo->Draw("E2same");
  d05_x01_y01_histo->Draw("E2same");

	_histo[0][0]->Draw("E1same");
	_histo[1][0]->Draw("E1same");
	_histo[2][0]->Draw("E1same");
	_histo[3][0]->Draw("E1same");
	_histo[4][0]->Draw("E1same");

//	_histo_herw[0][0]->Draw("E1same");
//	_histo_herw[1][0]->Draw("E1same");
//	_histo_herw[2][0]->Draw("E1same");
//	_histo_herw[3][0]->Draw("E1same");
//	_histo_herw[4][0]->Draw("E1same");


	_histo_pyth[0][0]->Draw("E1same");
	_histo_pyth[1][0]->Draw("E1same");
	_histo_pyth[2][0]->Draw("E1same");
	_histo_pyth[3][0]->Draw("E1same");
	_histo_pyth[4][0]->Draw("E1same");



   TLine *line = new TLine(xmin,1,xmax,1);
   line->SetLineStyle(2);
   line->Draw();

   TPaveText *pt = new TPaveText(0.17,0.79,0.37,0.95,"brNDC");
   pt->SetBorderSize(0);
   pt->SetFillColor(0);
   pt->SetTextAlign(12);
   pt->SetTextSize(0.03);
   text = pt->AddText("CMS 2010");
   text = pt->AddText("#sqrt{s} = 7 TeV");
   text = pt->AddText("anti-k_{T} R = 0.5");
   pt->Draw();

TLegend *leg = new TLegend(0.68,0.70,0.83,0.928);
   leg->SetBorderSize(1);
   leg->SetTextSize(0.025);
   leg->SetLineColor(0);
   leg->SetLineStyle(1);
   leg->SetLineWidth(1);
   leg->SetFillColor(0);
   leg->SetFillStyle(1001);

   leg->AddEntry((TH1F*)_histo[0][0],"POWHEG & Pythia6 Z2","pfl");
   leg->AddEntry((TH1F*)_histo_pyth[0][0]," Pythia6 Z2","pfl");
   leg->AddEntry((TH1F*)  d01_x01_y01_histo, "|y| <0.5 (x 10^{4})","pfl");
   leg->AddEntry((TH1F*)  d02_x01_y01_histo, "0.5 < |y| < 1.0 (x 10^{3})","pfl");
   leg->AddEntry((TH1F*)  d03_x01_y01_histo, "1.0 < |y| < 1.5 (x 10^{2})","pfl");
   leg->AddEntry((TH1F*)  d04_x01_y01_histo, "1.5 < |y| < 2.0 (x 10^{1})","pfl");
   leg->AddEntry((TH1F*)  d05_x01_y01_histo, "2.0 < |y| < 2.5 (x 10^{0})","pfl");

   leg->Draw();

//write in png file
mysubpad1 =(TPad*)c1->GetPad(0);
mysubpad1->Print("pics/InclusiveJets_xs_10.png");
mysubpad1->Print("~/DESY/ANALYSIS_NOTES/JetCrossSectionsWithPOWHEG/notes/AN-12-236/trunk/plots/InclusiveJets_xs_10.pdf");


// MC / Data 

//create a canvas to draw TGraph and TH1F

TCanvas *c2 = new TCanvas("c2", "c2",369,0,680,550);

   Pad_MCdata1 = new TPad("Pad_MCdata1","ratio",0.01,0.78,1.0,0.95);
   Pad_MCdata1->Draw();
   Pad_MCdata2 = new TPad("Pad_MCdata2","ratio",0.01,0.60,1.0,0.76);
   Pad_MCdata2->Draw();
   Pad_MCdata3 = new TPad("Pad_MCdata3","ratio",0.01,0.42,1.0,0.58);
   Pad_MCdata3->Draw();
   Pad_MCdata4 = new TPad("Pad_MCdata4","ratio",0.01,0.24,1.0,0.40);
   Pad_MCdata4->Draw();
   Pad_MCdata5 = new TPad("Pad_MCdata5","ratio",0.01,0.06,1.0,0.22);
   Pad_MCdata5->Draw();

   Pad_MCdata1->cd();

   gPad->SetFillColor(0);
   gPad->SetBorderMode(0);
   gPad->SetBorderSize(2);
   gPad->SetLeftMargin(0.14);
   gPad->SetRightMargin(0.03);
   gPad->SetTopMargin(0.0);
   gPad->SetFrameBorderMode(0);
   gPad->SetFrameBorderMode(0);

  gPad->SetLogx();

   //AK Empty histo for style and borders
   TH1F *shape_MCdata = new TH1F("","",1, xmin, xmax);
   shape_MCdata->SetMinimum(0.5);
   shape_MCdata->SetMaximum(2.0);
   shape_MCdata->GetXaxis()->SetTitle("Jet p_{T} (GeV/c)");
   shape_MCdata->GetXaxis()->SetLabelSize(0.1);
   shape_MCdata->GetXaxis()->SetTitleSize(0.1);
   shape_MCdata->GetXaxis()->SetTitleOffset(0.6);
   shape_MCdata->GetXaxis()->SetMoreLogLabels();
   shape_MCdata->GetYaxis()->SetTitle("MC/Data");
   shape_MCdata->GetYaxis()->SetLabelSize(0.1);
   shape_MCdata->GetYaxis()->SetTitleSize(0.15);
   shape_MCdata->GetYaxis()->SetTitleOffset(0.2);
   shape_MCdata->GetYaxis()->SetNdivisions(108, kTRUE);   
   shape_MCdata->Draw("e");   

// horizontal line at y = 1
   TLine *line = new TLine(xmin,1,xmax,1);
   line->SetLineStyle(2);
   line->Draw();

   TPaveText *pt = new TPaveText(0.89,0.7,0.94,0.8,"brNDC");
   pt->SetBorderSize(0);
   pt->SetFillColor(0);
   pt->SetTextAlign(12);
   pt->SetTextSize(0.15);
   text = pt->AddText("|y| <0.5");
   pt->Draw();

	_ratio[0][0]->Draw("EhistSame");
	_ratio_pyth[0][0]->Draw("EhistSame");

   Pad_MCdata2->cd();

   gPad->SetFillColor(0);
   gPad->SetBorderMode(0);
   gPad->SetBorderSize(2);
   gPad->SetLeftMargin(0.14);
   gPad->SetRightMargin(0.03);
   gPad->SetTopMargin(0.0);
   gPad->SetFrameBorderMode(0);
   gPad->SetFrameBorderMode(0);

  gPad->SetLogx();

   shape_MCdata->Draw("e");   



// horizontal line at y = 1
   TLine *line = new TLine(xmin,1,xmax,1);
   line->SetLineStyle(2);
   line->Draw();

   TPaveText *pt = new TPaveText(0.84,0.7,0.89,0.8,"brNDC");
   pt->SetBorderSize(0);
   pt->SetFillColor(0);
   pt->SetTextAlign(12);
   pt->SetTextSize(0.15);
   text = pt->AddText("0.5 < |y| < 1.0");
   pt->Draw();

	_ratio[1][0]->Draw("EhistSame");
	_ratio_pyth[1][0]->Draw("EhistSame");

   Pad_MCdata3->cd();

   gPad->SetFillColor(0);
   gPad->SetBorderMode(0);
   gPad->SetBorderSize(2);
   gPad->SetLeftMargin(0.14);
   gPad->SetRightMargin(0.03);
   gPad->SetTopMargin(0.0);
   gPad->SetFrameBorderMode(0);
   gPad->SetFrameBorderMode(0);

  gPad->SetLogx();

   shape_MCdata->Draw("e");   
// horizontal line at y = 1
   TLine *line = new TLine(xmin,1,xmax,1);
   line->SetLineStyle(2);
   line->Draw();

   TPaveText *pt = new TPaveText(0.84,0.7,0.89,0.8,"brNDC");
   pt->SetBorderSize(0);
   pt->SetFillColor(0);
   pt->SetTextAlign(12);
   pt->SetTextSize(0.15);
   text = pt->AddText("1.0 < |y| < 1.5");
   pt->Draw();
	_ratio[2][0]->Draw("EhistSame");
	_ratio_pyth[2][0]->Draw("EhistSame");

   Pad_MCdata4->cd();

   gPad->SetFillColor(0);
   gPad->SetBorderMode(0);
   gPad->SetBorderSize(2);
   gPad->SetLeftMargin(0.14);
   gPad->SetRightMargin(0.03);
   gPad->SetTopMargin(0.0);
   gPad->SetFrameBorderMode(0);
   gPad->SetFrameBorderMode(0);

  gPad->SetLogx();

   shape_MCdata->Draw("e");   
// horizontal line at y = 1
   TLine *line = new TLine(xmin,1,xmax,1);
   line->SetLineStyle(2);
   line->Draw();

   TPaveText *pt = new TPaveText(0.84,0.7,0.89,0.8,"brNDC");
   pt->SetBorderSize(0);
   pt->SetFillColor(0);
   pt->SetTextAlign(12);
   pt->SetTextSize(0.15);
   text = pt->AddText("1.5 < |y| < 2.0");
   pt->Draw();
	_ratio[3][0]->Draw("EhistSame");
	_ratio_pyth[3][0]->Draw("EhistSame");

   Pad_MCdata5->cd();

   gPad->SetFillColor(0);
   gPad->SetBorderMode(0);
   gPad->SetBorderSize(2);
   gPad->SetLeftMargin(0.14);
   gPad->SetRightMargin(0.03);
   gPad->SetTopMargin(0.0);
   gPad->SetFrameBorderMode(0);
   gPad->SetFrameBorderMode(0);

  gPad->SetLogx();

   shape_MCdata->Draw("e");   
// horizontal line at y = 1
   TLine *line = new TLine(xmin,1,xmax,1);
   line->SetLineStyle(2);
   line->Draw();

   TPaveText *pt = new TPaveText(0.84,0.7,0.89,0.8,"brNDC");
   pt->SetBorderSize(0);
   pt->SetFillColor(0);
   pt->SetTextAlign(12);
   pt->SetTextSize(0.15);
   text = pt->AddText("2.0 < |y| < 2.5");
   pt->Draw();
	_ratio[4][0]->Draw("EhistSame");
	_ratio_pyth[4][0]->Draw("EhistSame");

//write in png file
mysubpad2 =(TPad*)c2->GetPad(0);
mysubpad2->Print("pics/InclusiveJets_mcdataRatio_10.png");
mysubpad2->Print("~/DESY/ANALYSIS_NOTES/JetCrossSectionsWithPOWHEG/notes/AN-12-236/trunk/plots/InclusiveJets_mcdataRatio_10.pdf");

// Data / MC 

//create a canvas to draw TGraph and TH1F

TCanvas *c3 = new TCanvas("c3", "c3",369,0,680,550);

   Pad_DataMC1 = new TPad("Pad_DataMC1","ratio",0.01,0.78,1.0,0.95);
   Pad_DataMC1->Draw();
   Pad_DataMC2 = new TPad("Pad_DataMC2","ratio",0.01,0.60,1.0,0.76);
   Pad_DataMC2->Draw();
   Pad_DataMC3 = new TPad("Pad_DataMC3","ratio",0.01,0.42,1.0,0.58);
   Pad_DataMC3->Draw();
   Pad_DataMC4 = new TPad("Pad_DataMC4","ratio",0.01,0.24,1.0,0.40);
   Pad_DataMC4->Draw();
   Pad_DataMC5 = new TPad("Pad_DataMC5","ratio",0.01,0.06,1.0,0.22);
   Pad_DataMC5->Draw();

   Pad_DataMC1->cd();

   gPad->SetFillColor(0);
   gPad->SetBorderMode(0);
   gPad->SetBorderSize(2);
   gPad->SetLeftMargin(0.14);
   gPad->SetRightMargin(0.03);
   gPad->SetTopMargin(0.0);
   gPad->SetFrameBorderMode(0);
   gPad->SetFrameBorderMode(0);

  gPad->SetLogx();

   //AK Empty histo for style and borders
   TH1F *shape_DataMC = new TH1F("","",1, xmin, xmax);
   shape_DataMC->SetMinimum(0.5);
   shape_DataMC->SetMaximum(2.0);
   shape_DataMC->GetXaxis()->SetTitle("Jet p_{T} (GeV/c)");
   shape_DataMC->GetXaxis()->SetLabelSize(0.1);
   shape_DataMC->GetXaxis()->SetTitleSize(0.1);
   shape_DataMC->GetXaxis()->SetTitleOffset(0.6);
   shape_DataMC->GetXaxis()->SetMoreLogLabels();
   shape_DataMC->GetYaxis()->SetTitle("Data/MC");
   shape_DataMC->GetYaxis()->SetLabelSize(0.1);
   shape_DataMC->GetYaxis()->SetTitleSize(0.15);
   shape_DataMC->GetYaxis()->SetTitleOffset(0.2);
   shape_DataMC->GetYaxis()->SetNdivisions(108, kTRUE);   
   shape_DataMC->Draw("e");   

// horizontal line at y = 1
   TLine *line = new TLine(xmin,1,xmax,1);
   line->SetLineStyle(2);
   line->Draw();

   TPaveText *pt = new TPaveText(0.89,0.7,0.94,0.8,"brNDC");
   pt->SetBorderSize(0);
   pt->SetFillColor(0);
   pt->SetTextAlign(12);
   pt->SetTextSize(0.15);
   text = pt->AddText("|y| <0.5");
   pt->Draw();

	_ratio_datamc[0][0]->Draw("EhistSame");
	_ratio_pyth_datamc[0][0]->Draw("EhistSame");

   Pad_DataMC2->cd();

   gPad->SetFillColor(0);
   gPad->SetBorderMode(0);
   gPad->SetBorderSize(2);
   gPad->SetLeftMargin(0.14);
   gPad->SetRightMargin(0.03);
   gPad->SetTopMargin(0.0);
   gPad->SetFrameBorderMode(0);
   gPad->SetFrameBorderMode(0);

  gPad->SetLogx();

   shape_DataMC->Draw("e");   



// horizontal line at y = 1
   TLine *line = new TLine(xmin,1,xmax,1);
   line->SetLineStyle(2);
   line->Draw();

   TPaveText *pt = new TPaveText(0.84,0.7,0.89,0.8,"brNDC");
   pt->SetBorderSize(0);
   pt->SetFillColor(0);
   pt->SetTextAlign(12);
   pt->SetTextSize(0.15);
   text = pt->AddText("0.5 < |y| < 1.0");
   pt->Draw();

	_ratio_datamc[1][0]->Draw("EhistSame");
	_ratio_pyth_datamc[1][0]->Draw("EhistSame");

   Pad_DataMC3->cd();

   gPad->SetFillColor(0);
   gPad->SetBorderMode(0);
   gPad->SetBorderSize(2);
   gPad->SetLeftMargin(0.14);
   gPad->SetRightMargin(0.03);
   gPad->SetTopMargin(0.0);
   gPad->SetFrameBorderMode(0);
   gPad->SetFrameBorderMode(0);

  gPad->SetLogx();

   shape_DataMC->Draw("e");   
// horizontal line at y = 1
   TLine *line = new TLine(xmin,1,xmax,1);
   line->SetLineStyle(2);
   line->Draw();

   TPaveText *pt = new TPaveText(0.84,0.7,0.89,0.8,"brNDC");
   pt->SetBorderSize(0);
   pt->SetFillColor(0);
   pt->SetTextAlign(12);
   pt->SetTextSize(0.15);
   text = pt->AddText("1.0 < |y| < 1.5");
   pt->Draw();
	_ratio_datamc[2][0]->Draw("EhistSame");
	_ratio_pyth_datamc[2][0]->Draw("EhistSame");

   Pad_DataMC4->cd();

   gPad->SetFillColor(0);
   gPad->SetBorderMode(0);
   gPad->SetBorderSize(2);
   gPad->SetLeftMargin(0.14);
   gPad->SetRightMargin(0.03);
   gPad->SetTopMargin(0.0);
   gPad->SetFrameBorderMode(0);
   gPad->SetFrameBorderMode(0);

  gPad->SetLogx();

   shape_DataMC->Draw("e");   
// horizontal line at y = 1
   TLine *line = new TLine(xmin,1,xmax,1);
   line->SetLineStyle(2);
   line->Draw();

   TPaveText *pt = new TPaveText(0.84,0.7,0.89,0.8,"brNDC");
   pt->SetBorderSize(0);
   pt->SetFillColor(0);
   pt->SetTextAlign(12);
   pt->SetTextSize(0.15);
   text = pt->AddText("1.5 < |y| < 2.0");
   pt->Draw();
	_ratio_datamc[3][0]->Draw("EhistSame");
	_ratio_pyth_datamc[3][0]->Draw("EhistSame");

   Pad_DataMC5->cd();

   gPad->SetFillColor(0);
   gPad->SetBorderMode(0);
   gPad->SetBorderSize(2);
   gPad->SetLeftMargin(0.14);
   gPad->SetRightMargin(0.03);
   gPad->SetTopMargin(0.0);
   gPad->SetFrameBorderMode(0);
   gPad->SetFrameBorderMode(0);

  gPad->SetLogx();

   shape_DataMC->Draw("e");   
// horizontal line at y = 1
   TLine *line = new TLine(xmin,1,xmax,1);
   line->SetLineStyle(2);
   line->Draw();

   TPaveText *pt = new TPaveText(0.84,0.7,0.89,0.8,"brNDC");
   pt->SetBorderSize(0);
   pt->SetFillColor(0);
   pt->SetTextAlign(12);
   pt->SetTextSize(0.15);
   text = pt->AddText("2.0 < |y| < 2.5");
   pt->Draw();
	_ratio_datamc[4][0]->Draw("EhistSame");
	_ratio_pyth_datamc[4][0]->Draw("EhistSame");

//write in png file
mysubpad3 =(TPad*)c3->GetPad(0);
mysubpad3->Print("pics/InclusiveJets_DataMCRatio_10.png");
mysubpad3->Print("~/DESY/ANALYSIS_NOTES/JetCrossSectionsWithPOWHEG/notes/AN-12-236/trunk/plots/InclusiveJets_DataMCRatio_10.pdf");

c1->Print("InclusiveJets_2010.pdf(");
c2->Print("InclusiveJets_2010.pdf");
c3->Print("InclusiveJets_2010.pdf)");
} 
Example #13
0
void diphomva_inputs(bool passMVAcut=false, bool equalArea=true) {

  gStyle->SetOptTitle(0);
  gStyle->SetOptStat(0);

  gStyle->SetCanvasColor(0);
  gStyle->SetFrameBorderMode(0);
  
  gStyle->SetPalette(1);
  gStyle->SetLineColor(1);

  TString preselNorm_str = "";
  if (!equalArea) preselNorm_str = "_preselNorm";

  TFile *file = TFile::Open("histograms_CMS-HGG_zeevalidation.root");
  file->cd();

  txt = new TLatex();
  txt->SetNDC();
  txt->SetTextSize(0.08);

  bdtout_cat0_DYJetsToLL->Rebin(2);
  bdtout_cat1_DYJetsToLL->Rebin(2);
  bdtout_cat2_DYJetsToLL->Rebin(2);
  bdtout_cat3_DYJetsToLL->Rebin(2);
  bdtout_cat4_DYJetsToLL->Rebin(2);
  bdtoutEB_cat0_DYJetsToLL->Rebin(2);
  bdtoutEBEE_cat0_DYJetsToLL->Rebin(2);
  bdtoutEE_cat0_DYJetsToLL->Rebin(2);
  bdtout_cat0_Data->Rebin(2);
  bdtout_cat1_Data->Rebin(2);
  bdtout_cat2_Data->Rebin(2);
  bdtout_cat3_Data->Rebin(2);
  bdtout_cat4_Data->Rebin(2);
  bdtoutEB_cat0_Data->Rebin(2);
  bdtoutEBEE_cat0_Data->Rebin(2);
  bdtoutEE_cat0_Data->Rebin(2);

  bdtout_cat0_Data->GetXaxis()->SetTitle("di-photon BDT output");
  bdtout_cat1_Data->GetXaxis()->SetTitle("di-photon BDT output, CiC cat0");
  bdtout_cat2_Data->GetXaxis()->SetTitle("di-photon BDT output, CiC cat1");
  bdtout_cat3_Data->GetXaxis()->SetTitle("di-photon BDT output, CiC cat2");
  bdtout_cat4_Data->GetXaxis()->SetTitle("di-photon BDT output, CiC cat3");
  bdtoutEB_cat0_Data->GetXaxis()->SetTitle("di-photon BDT output (both EB)");
  bdtoutEBEE_cat0_Data->GetXaxis()->SetTitle("di-photon BDT output (one EB, one EE)");
  bdtoutEE_cat0_Data->GetXaxis()->SetTitle("di-photon BDT output (both EE)");
  pho1_phoidMva_cat0_Data->GetXaxis()->SetTitle("lead photon ID MVA output");
  pho2_phoidMva_cat0_Data->GetXaxis()->SetTitle("sublead photon ID MVA output");
  sigmaMOverM_cat0_Data->GetXaxis()->SetTitle("#sigma_{M}/M_{#gamma#gamma} (right vertex)");
  sigmaMOverM_wrongVtx_cat0_Data->GetXaxis()->SetTitle("#sigma_{M}/M_{#gamma#gamma} (wrong vertex)");
  sigmaMOverM_EB_cat0_Data->GetXaxis()->SetTitle("#sigma_{M}/M_{#gamma#gamma} (right vertex, both EB)");
  sigmaMOverM_wrongVtx_EB_cat0_Data->GetXaxis()->SetTitle("#sigma_{M}/M_{#gamma#gamma} (wrong vertex, both EB)");
  sigmaMOverM_EE_cat0_Data->GetXaxis()->SetTitle("#sigma_{M}/M_{#gamma#gamma} (right vertex, both EE)");
  sigmaMOverM_wrongVtx_EE_cat0_Data->GetXaxis()->SetTitle("#sigma_{M}/M_{#gamma#gamma} (wrong vertex, both EE)");
  vtxProb_cat0_Data->GetXaxis()->SetTitle("Vertex probabilty");
  pho1_ptOverM_cat0_Data->GetXaxis()->SetTitle("lead p_{T}/M_{#gamma#gamma}");
  pho2_ptOverM_cat0_Data->GetXaxis()->SetTitle("sublead p_{T}/M_{#gamma#gamma}");
  pho1_eta_cat0_Data->GetXaxis()->SetTitle("lead #eta");
  pho2_eta_cat0_Data->GetXaxis()->SetTitle("sublead #eta");
  cosDeltaPhi_cat0_Data->GetXaxis()->SetTitle("cos(#Delta#phi)");

  bdtout_cat0_Data->GetYaxis()->SetTitle("");
  bdtout_cat1_Data->GetYaxis()->SetTitle("");
  bdtout_cat2_Data->GetYaxis()->SetTitle("");
  bdtout_cat3_Data->GetYaxis()->SetTitle("");
  bdtout_cat4_Data->GetYaxis()->SetTitle("");
  bdtoutEB_cat0_Data->GetYaxis()->SetTitle("");
  bdtoutEBEE_cat0_Data->GetYaxis()->SetTitle("");
  bdtoutEE_cat0_Data->GetYaxis()->SetTitle("");
  pho1_phoidMva_cat0_Data->GetYaxis()->SetTitle("");
  pho2_phoidMva_cat0_Data->GetYaxis()->SetTitle("");
  sigmaMOverM_cat0_Data->GetYaxis()->SetTitle("");
  sigmaMOverM_wrongVtx_cat0_Data->GetYaxis()->SetTitle("");
  sigmaMOverM_EB_cat0_Data->GetYaxis()->SetTitle("");
  sigmaMOverM_wrongVtx_EB_cat0_Data->GetYaxis()->SetTitle("");
  sigmaMOverM_EE_cat0_Data->GetYaxis()->SetTitle("");
  sigmaMOverM_wrongVtx_EE_cat0_Data->GetYaxis()->SetTitle("");
  vtxProb_cat0_Data->GetYaxis()->SetTitle("");
  pho1_ptOverM_cat0_Data->GetYaxis()->SetTitle("");
  pho2_ptOverM_cat0_Data->GetYaxis()->SetTitle("");
  pho1_eta_cat0_Data->GetYaxis()->SetTitle("");
  pho2_eta_cat0_Data->GetYaxis()->SetTitle("");
  cosDeltaPhi_cat0_Data->GetYaxis()->SetTitle("");

  bdtout_cat0_Data->GetXaxis()->SetTitleSize(0.05);
  bdtout_cat1_Data->GetXaxis()->SetTitleSize(0.05);
  bdtout_cat2_Data->GetXaxis()->SetTitleSize(0.05);
  bdtout_cat3_Data->GetXaxis()->SetTitleSize(0.05);
  bdtout_cat4_Data->GetXaxis()->SetTitleSize(0.05);
  bdtoutEB_cat0_Data->GetXaxis()->SetTitleSize(0.05);
  bdtoutEBEE_cat0_Data->GetXaxis()->SetTitleSize(0.05);
  bdtoutEE_cat0_Data->GetXaxis()->SetTitleSize(0.05);
  pho1_phoidMva_cat0_Data->GetXaxis()->SetTitleSize(0.05);
  pho2_phoidMva_cat0_Data->GetXaxis()->SetTitleSize(0.05);
  sigmaMOverM_cat0_Data->GetXaxis()->SetTitleSize(0.05);
  sigmaMOverM_wrongVtx_cat0_Data->GetXaxis()->SetTitleSize(0.05);
  sigmaMOverM_EB_cat0_Data->GetXaxis()->SetTitleSize(0.05);
  sigmaMOverM_wrongVtx_EB_cat0_Data->GetXaxis()->SetTitleSize(0.05);
  sigmaMOverM_EE_cat0_Data->GetXaxis()->SetTitleSize(0.05);
  sigmaMOverM_wrongVtx_EE_cat0_Data->GetXaxis()->SetTitleSize(0.05);
  vtxProb_cat0_Data->GetXaxis()->SetTitleSize(0.05);
  pho1_ptOverM_cat0_Data->GetXaxis()->SetTitleSize(0.05);
  pho2_ptOverM_cat0_Data->GetXaxis()->SetTitleSize(0.05);
  pho1_eta_cat0_Data->GetXaxis()->SetTitleSize(0.05);
  pho2_eta_cat0_Data->GetXaxis()->SetTitleSize(0.05);
  cosDeltaPhi_cat0_Data->GetXaxis()->SetTitleSize(0.05);

  bdtout_cat0_DYJetsToLL->SetFillColor(38);
  bdtout_cat1_DYJetsToLL->SetFillColor(38);
  bdtout_cat2_DYJetsToLL->SetFillColor(38);
  bdtout_cat3_DYJetsToLL->SetFillColor(38);
  bdtout_cat4_DYJetsToLL->SetFillColor(38);
  bdtoutEB_cat0_DYJetsToLL->SetFillColor(38);
  bdtoutEBEE_cat0_DYJetsToLL->SetFillColor(38);
  bdtoutEE_cat0_DYJetsToLL->SetFillColor(38);
  pho1_phoidMva_cat0_DYJetsToLL->SetFillColor(38);
  pho2_phoidMva_cat0_DYJetsToLL->SetFillColor(38);
  sigmaMOverM_cat0_DYJetsToLL->SetFillColor(38);
  sigmaMOverM_wrongVtx_cat0_DYJetsToLL->SetFillColor(38);
  sigmaMOverM_EB_cat0_DYJetsToLL->SetFillColor(38);
  sigmaMOverM_wrongVtx_EB_cat0_DYJetsToLL->SetFillColor(38);
  sigmaMOverM_EE_cat0_DYJetsToLL->SetFillColor(38);
  sigmaMOverM_wrongVtx_EE_cat0_DYJetsToLL->SetFillColor(38);
  vtxProb_cat0_DYJetsToLL->SetFillColor(38);
  pho1_ptOverM_cat0_DYJetsToLL->SetFillColor(38);
  pho2_ptOverM_cat0_DYJetsToLL->SetFillColor(38);
  pho1_eta_cat0_DYJetsToLL->SetFillColor(38);
  pho2_eta_cat0_DYJetsToLL->SetFillColor(38);
  cosDeltaPhi_cat0_DYJetsToLL->SetFillColor(38);

  bdtout_cat0_DYJetsToLL->SetLineColor(1);
  bdtoutEB_cat0_DYJetsToLL->SetLineColor(1);
  bdtoutEBEE_cat0_DYJetsToLL->SetLineColor(1);
  bdtoutEE_cat0_DYJetsToLL->SetLineColor(1);
  pho1_phoidMva_cat0_DYJetsToLL->SetLineColor(1);
  pho2_phoidMva_cat0_DYJetsToLL->SetLineColor(1);
  sigmaMOverM_cat0_DYJetsToLL->SetLineColor(1);
  sigmaMOverM_wrongVtx_cat0_DYJetsToLL->SetLineColor(1);
  sigmaMOverM_EB_cat0_DYJetsToLL->SetLineColor(1);
  sigmaMOverM_wrongVtx_EB_cat0_DYJetsToLL->SetLineColor(1);
  sigmaMOverM_EE_cat0_DYJetsToLL->SetLineColor(1);
  sigmaMOverM_wrongVtx_EE_cat0_DYJetsToLL->SetLineColor(1);
  vtxProb_cat0_DYJetsToLL->SetLineColor(1);
  pho1_ptOverM_cat0_DYJetsToLL->SetLineColor(1);
  pho2_ptOverM_cat0_DYJetsToLL->SetLineColor(1);
  pho1_eta_cat0_DYJetsToLL->SetLineColor(1);
  pho2_eta_cat0_DYJetsToLL->SetLineColor(1);
  cosDeltaPhi_cat0_DYJetsToLL->SetLineColor(1);

  bdtout_cat0_Data->SetMarkerStyle(20);
  bdtout_cat1_Data->SetMarkerStyle(20);
  bdtout_cat2_Data->SetMarkerStyle(20);
  bdtout_cat3_Data->SetMarkerStyle(20);
  bdtout_cat4_Data->SetMarkerStyle(20);
  bdtoutEB_cat0_Data->SetMarkerStyle(20);
  bdtoutEBEE_cat0_Data->SetMarkerStyle(20);
  bdtoutEE_cat0_Data->SetMarkerStyle(20);
  pho1_phoidMva_cat0_Data->SetMarkerStyle(20);
  pho2_phoidMva_cat0_Data->SetMarkerStyle(20);
  sigmaMOverM_cat0_Data->SetMarkerStyle(20);
  sigmaMOverM_wrongVtx_cat0_Data->SetMarkerStyle(20);
  sigmaMOverM_EB_cat0_Data->SetMarkerStyle(20);
  sigmaMOverM_wrongVtx_EB_cat0_Data->SetMarkerStyle(20);
  sigmaMOverM_EE_cat0_Data->SetMarkerStyle(20);
  sigmaMOverM_wrongVtx_EE_cat0_Data->SetMarkerStyle(20);
  vtxProb_cat0_Data->SetMarkerStyle(20);
  pho1_ptOverM_cat0_Data->SetMarkerStyle(20);
  pho2_ptOverM_cat0_Data->SetMarkerStyle(20);
  pho1_eta_cat0_Data->SetMarkerStyle(20);
  pho2_eta_cat0_Data->SetMarkerStyle(20);
  cosDeltaPhi_cat0_Data->SetMarkerStyle(20);

  bdtout_cat0_Data->SetMarkerSize(0.4);
  bdtout_cat1_Data->SetMarkerSize(0.4);
  bdtout_cat2_Data->SetMarkerSize(0.4);
  bdtout_cat3_Data->SetMarkerSize(0.4);
  bdtout_cat4_Data->SetMarkerSize(0.4);
  bdtoutEB_cat0_Data->SetMarkerSize(0.4);
  bdtoutEBEE_cat0_Data->SetMarkerSize(0.4);
  bdtoutEE_cat0_Data->SetMarkerSize(0.4);
  pho1_phoidMva_cat0_Data->SetMarkerSize(0.4);
  pho2_phoidMva_cat0_Data->SetMarkerSize(0.4);
  sigmaMOverM_cat0_Data->SetMarkerSize(0.4);
  sigmaMOverM_wrongVtx_cat0_Data->SetMarkerSize(0.4);
  sigmaMOverM_EB_cat0_Data->SetMarkerSize(0.4);
  sigmaMOverM_wrongVtx_EB_cat0_Data->SetMarkerSize(0.4);
  sigmaMOverM_EE_cat0_Data->SetMarkerSize(0.4);
  sigmaMOverM_wrongVtx_EE_cat0_Data->SetMarkerSize(0.4);
  vtxProb_cat0_Data->SetMarkerSize(0.4);
  pho1_ptOverM_cat0_Data->SetMarkerSize(0.4);
  pho2_ptOverM_cat0_Data->SetMarkerSize(0.4);
  pho1_eta_cat0_Data->SetMarkerSize(0.4);
  pho2_eta_cat0_Data->SetMarkerSize(0.4);
  cosDeltaPhi_cat0_Data->SetMarkerSize(0.4);

  bdtout_cat0_Data->SetLineColor(1);
  bdtout_cat1_Data->SetLineColor(1);
  bdtout_cat2_Data->SetLineColor(1);
  bdtout_cat3_Data->SetLineColor(1);
  bdtout_cat4_Data->SetLineColor(1);
  bdtoutEB_cat0_Data->SetLineColor(1);
  bdtoutEBEE_cat0_Data->SetLineColor(1);
  bdtoutEE_cat0_Data->SetLineColor(1);
  pho1_phoidMva_cat0_Data->SetLineColor(1);
  pho2_phoidMva_cat0_Data->SetLineColor(1);
  sigmaMOverM_cat0_Data->SetLineColor(1);
  sigmaMOverM_wrongVtx_cat0_Data->SetLineColor(1);
  sigmaMOverM_EB_cat0_Data->SetLineColor(1);
  sigmaMOverM_wrongVtx_EB_cat0_Data->SetLineColor(1);
  sigmaMOverM_EE_cat0_Data->SetLineColor(1);
  sigmaMOverM_wrongVtx_EE_cat0_Data->SetLineColor(1);
  vtxProb_cat0_Data->SetLineColor(1);
  pho1_ptOverM_cat0_Data->SetLineColor(1);
  pho2_ptOverM_cat0_Data->SetLineColor(1);
  pho1_eta_cat0_Data->SetLineColor(1);
  pho2_eta_cat0_Data->SetLineColor(1);
  cosDeltaPhi_cat0_Data->SetLineColor(1);

  if (passMVAcut) {
    bdtout_cat0_Data->GetXaxis()->SetRangeUser(-0.05,1.);
    bdtout_cat1_Data->GetXaxis()->SetRangeUser(-0.05,1.);
    bdtout_cat2_Data->GetXaxis()->SetRangeUser(-0.05,1.);
    bdtout_cat3_Data->GetXaxis()->SetRangeUser(-0.05,1.);
    bdtout_cat4_Data->GetXaxis()->SetRangeUser(-0.05,1.);
    bdtoutEB_cat0_Data->GetXaxis()->SetRangeUser(-0.05,1.);
    bdtoutEBEE_cat0_Data->GetXaxis()->SetRangeUser(-0.05,1.);
    bdtoutEE_cat0_Data->GetXaxis()->SetRangeUser(-0.05,1.);
  }

  TLegend *leg;
  leg = new TLegend(.6,.65,.87,.87);
  leg->SetBorderSize(0);
  leg->SetFillColor(10);
  leg->SetTextSize(.035);
  leg->AddEntry(vtxProb_cat0_Data,"Data (19.6fb^{-1})");
  leg->AddEntry(vtxProb_cat0_DYJetsToLL,"DYJetsToLL MC","F");

  TLegend *leg2;
  leg2 = new TLegend(.2,.65,.52,.87);
  leg2->SetBorderSize(0);
  leg2->SetFillColor(10);
  leg2->SetTextSize(.035);
  leg2->AddEntry(vtxProb_cat0_Data,"Data (19.6fb^{-1})");
  leg2->AddEntry(vtxProb_cat0_DYJetsToLL,"DYJetsToLL MC","F");

  float sf_presel = bdtout_cat0_Data->Integral()/bdtout_cat0_DYJetsToLL->Integral();
  cout << "sf_presel " << sf_presel << endl;

  //------------------------------------------------------------------------------

  TCanvas *c_bdtout = new TCanvas("c_bdtout","BDT output",2200,800);
  c_bdtout->Divide(4,2);

  c_bdtout->cd(1);
  float sf;
  if (passMVAcut) {
    sf = bdtout_cat0_Data->Integral(48,100)/bdtout_cat0_DYJetsToLL->Integral(48,100);
  } else {
    sf = bdtout_cat0_Data->Integral()/bdtout_cat0_DYJetsToLL->Integral();
  }
  bdtout_cat0_DYJetsToLL->Scale(sf);
  bdtout_cat0_Data->Draw("e");
  leg2->Draw();
  bdtout_cat0_DYJetsToLL->Draw("hist,same");
  bdtout_cat0_Data->Draw("e,same");
  gPad->RedrawAxis();

  c_bdtout->cd(2);
  if (passMVAcut) {
    sf = bdtoutEB_cat0_Data->Integral(48,100)/bdtoutEB_cat0_DYJetsToLL->Integral(48,100);
  } else {
    sf = bdtoutEB_cat0_Data->Integral()/bdtoutEB_cat0_DYJetsToLL->Integral();
    if (!equalArea) sf = sf_presel;
  }
  bdtoutEB_cat0_DYJetsToLL->Scale(sf);
  bdtoutEB_cat0_Data->Draw("e");
  leg2->Draw();
  bdtoutEB_cat0_DYJetsToLL->Draw("hist,same");
  bdtoutEB_cat0_Data->Draw("e,same");
  gPad->RedrawAxis();

  c_bdtout->cd(3);
  if (passMVAcut) {
    sf = bdtoutEBEE_cat0_Data->Integral(48,100)/bdtoutEBEE_cat0_DYJetsToLL->Integral(48,100);
  } else {
    sf = bdtoutEBEE_cat0_Data->Integral()/bdtoutEBEE_cat0_DYJetsToLL->Integral();
    if (!equalArea) sf = sf_presel;
  }
  bdtoutEBEE_cat0_DYJetsToLL->Scale(sf);
  bdtoutEBEE_cat0_Data->Draw("e");
  leg->Draw();
  bdtoutEBEE_cat0_DYJetsToLL->Draw("hist,same");
  bdtoutEBEE_cat0_Data->Draw("e,same");
  gPad->RedrawAxis();

  c_bdtout->cd(4);
  if (passMVAcut) {
    sf = bdtoutEE_cat0_Data->Integral(48,100)/bdtoutEE_cat0_DYJetsToLL->Integral(48,100);
  } else {
    sf = bdtoutEE_cat0_Data->Integral()/bdtoutEE_cat0_DYJetsToLL->Integral();
    if (!equalArea) sf = sf_presel;
  }
  bdtoutEE_cat0_DYJetsToLL->Scale(sf);
  bdtoutEE_cat0_Data->Draw("e");
  leg->Draw();
  bdtoutEE_cat0_DYJetsToLL->Draw("hist,same");
  bdtoutEE_cat0_Data->Draw("e,same");
  gPad->RedrawAxis();

  TLine *line;
  if (passMVAcut) {
    line = new TLine(-0.06,1.,1.,1.);
  } else {
    line = new TLine(-1.,1.,1.,1.);
  }
  line->SetLineColor(4);
  line->SetLineWidth(2);

  c_bdtout->cd(5);
  plotRatio(bdtout_cat0_Data,bdtout_cat0_DYJetsToLL);
  line->Draw();

  c_bdtout->cd(6);
  plotRatio(bdtoutEB_cat0_Data,bdtoutEB_cat0_DYJetsToLL);
  line->Draw();

  c_bdtout->cd(7);
  plotRatio(bdtoutEBEE_cat0_Data,bdtoutEBEE_cat0_DYJetsToLL);
  line->Draw();

  c_bdtout->cd(8);
  plotRatio(bdtoutEE_cat0_Data,bdtoutEE_cat0_DYJetsToLL);
  line->Draw();

  c_bdtout->SaveAs("bdtout"+preselNorm_str+".png");

  //------------------------------------------------------------------------------

  TCanvas *c_bdtout_basecat = new TCanvas("c_bdtout_basecat","BDT output in CiC categories",2200,800);
  c_bdtout_basecat->Divide(4,2);

  c_bdtout_basecat->cd(1);
  if (passMVAcut) {
    sf = bdtout_cat1_Data->Integral(48,100)/bdtout_cat1_DYJetsToLL->Integral(48,100);
  } else {
    sf = bdtout_cat1_Data->Integral()/bdtout_cat1_DYJetsToLL->Integral();
    if (!equalArea) sf = sf_presel;
  }
  bdtout_cat1_DYJetsToLL->Scale(sf);
  bdtout_cat1_Data->Draw("e");
  leg2->Draw();
  bdtout_cat1_DYJetsToLL->Draw("hist,same");
  bdtout_cat1_Data->Draw("e,same");
  gPad->RedrawAxis();

  c_bdtout_basecat->cd(2);
  if (passMVAcut) {
    sf = bdtout_cat2_Data->Integral(48,100)/bdtout_cat2_DYJetsToLL->Integral(48,100);
  } else {
    sf = bdtout_cat2_Data->Integral()/bdtout_cat2_DYJetsToLL->Integral();
    if (!equalArea) sf = sf_presel;
  }
  bdtout_cat2_DYJetsToLL->Scale(sf);
  bdtout_cat2_Data->Draw("e");
  leg2->Draw();
  bdtout_cat2_DYJetsToLL->Draw("hist,same");
  bdtout_cat2_Data->Draw("e,same");
  gPad->RedrawAxis();

  c_bdtout_basecat->cd(3);
  if (passMVAcut) {
    sf = bdtout_cat3_Data->Integral(48,100)/bdtout_cat3_DYJetsToLL->Integral(48,100);
  } else {
    sf = bdtout_cat3_Data->Integral()/bdtout_cat3_DYJetsToLL->Integral();
    if (!equalArea) sf = sf_presel;
  }
  bdtout_cat3_DYJetsToLL->Scale(sf);
  bdtout_cat3_Data->Draw("e");
  leg->Draw();
  bdtout_cat3_DYJetsToLL->Draw("hist,same");
  bdtout_cat3_Data->Draw("e,same");
  gPad->RedrawAxis();

  c_bdtout_basecat->cd(4);
  if (passMVAcut) {
    sf = bdtout_cat4_Data->Integral(48,100)/bdtout_cat4_DYJetsToLL->Integral(48,100);
  } else {
    sf = bdtout_cat4_Data->Integral()/bdtout_cat4_DYJetsToLL->Integral();
    if (!equalArea) sf = sf_presel;
  }
  bdtout_cat4_DYJetsToLL->Scale(sf);
  bdtout_cat4_Data->Draw("e");
  leg->Draw();
  bdtout_cat4_DYJetsToLL->Draw("hist,same");
  bdtout_cat4_Data->Draw("e,same");
  gPad->RedrawAxis();

  c_bdtout_basecat->cd(5);
  plotRatio(bdtout_cat1_Data,bdtout_cat1_DYJetsToLL);
  line->Draw();

  c_bdtout_basecat->cd(6);
  plotRatio(bdtout_cat2_Data,bdtout_cat2_DYJetsToLL);
  line->Draw();

  c_bdtout_basecat->cd(7);
  plotRatio(bdtout_cat3_Data,bdtout_cat3_DYJetsToLL);
  line->Draw();

  c_bdtout_basecat->cd(8);
  plotRatio(bdtout_cat4_Data,bdtout_cat4_DYJetsToLL);
  line->Draw();

  c_bdtout_basecat->SaveAs("bdtout_basecat"+preselNorm_str+".png");

  //------------------------------------------------------------------------------

  TCanvas *c_bdtin_1 = new TCanvas("c_bdtin_1","BDT input variables",1600,800);
  c_bdtin_1->Divide(4,2);

  c_bdtin_1->cd(1);
  sf = pho1_phoidMva_cat0_Data->Integral()/pho1_phoidMva_cat0_DYJetsToLL->Integral();
  pho1_phoidMva_cat0_DYJetsToLL->Scale(sf);
  pho1_phoidMva_cat0_Data->GetXaxis()->SetRangeUser(-0.3,0.6);
  pho1_phoidMva_cat0_Data->Draw("e");
  pho1_phoidMva_cat0_DYJetsToLL->Draw("hist,same");
  pho1_phoidMva_cat0_Data->Draw("e,same");
  gPad->RedrawAxis();
  leg->Draw();

  c_bdtin_1->cd(2);
  sf = pho2_phoidMva_cat0_Data->Integral()/pho2_phoidMva_cat0_DYJetsToLL->Integral();
  pho2_phoidMva_cat0_DYJetsToLL->Scale(sf);
  pho2_phoidMva_cat0_Data->GetXaxis()->SetRangeUser(-0.3,0.6);
  pho2_phoidMva_cat0_Data->Draw("e");
  pho2_phoidMva_cat0_DYJetsToLL->Draw("hist,same");
  pho2_phoidMva_cat0_Data->Draw("e,same");
  gPad->RedrawAxis();
  leg->Draw();

  c_bdtin_1->cd(3);
  gPad->SetLogy();
  sf = vtxProb_cat0_Data->Integral()/vtxProb_cat0_DYJetsToLL->Integral();
  vtxProb_cat0_DYJetsToLL->Scale(sf);
  //vtxProb_cat0_Data->GetXaxis()->SetRangeUser(0.2,1.);
  vtxProb_cat0_Data->Draw("e");
  vtxProb_cat0_DYJetsToLL->Draw("hist,same");
  vtxProb_cat0_Data->Draw("e,same");
  gPad->RedrawAxis();
  leg2->Draw();

  c_bdtin_1->cd(4);
  gPad->SetLogy();
  sf = cosDeltaPhi_cat0_Data->Integral()/cosDeltaPhi_cat0_DYJetsToLL->Integral();
  cosDeltaPhi_cat0_DYJetsToLL->Scale(sf);
  cosDeltaPhi_cat0_Data->Draw("e");
  cosDeltaPhi_cat0_DYJetsToLL->Draw("hist,same");
  cosDeltaPhi_cat0_Data->Draw("e,same");
  gPad->RedrawAxis();
  leg->Draw();

  c_bdtin_1->cd(5);
  plotRatio(pho1_phoidMva_cat0_Data,pho1_phoidMva_cat0_DYJetsToLL);
  line1 = (TLine*)line->Clone();
  line1->SetX1(-0.3);
  line1->SetX2(0.6);
  line1->Draw();

  c_bdtin_1->cd(6);
  plotRatio(pho2_phoidMva_cat0_Data,pho2_phoidMva_cat0_DYJetsToLL);
  line1->Draw();

  c_bdtin_1->cd(7);
  plotRatio(vtxProb_cat0_Data,vtxProb_cat0_DYJetsToLL);
  line->Draw();

  c_bdtin_1->cd(8);
  plotRatio(cosDeltaPhi_cat0_Data,cosDeltaPhi_cat0_DYJetsToLL);
  line->Draw();

  c_bdtin_1->SaveAs("bdtin_1.png");

  //------------------------------------------------------------------------------

  TCanvas *c_bdtin_2 = new TCanvas("c_bdtin_2","BDT input variables",1500,900);
  c_bdtin_2->Divide(4,3);
  c_bdtin_2->cd(1);

  sf = sigmaMOverM_cat0_Data->Integral()/sigmaMOverM_cat0_DYJetsToLL->Integral();
  sigmaMOverM_cat0_DYJetsToLL->Scale(sf);
  sigmaMOverM_cat0_Data->Draw("e");
  sigmaMOverM_cat0_DYJetsToLL->Draw("hist,same");
  sigmaMOverM_cat0_Data->Draw("e,same");
  gPad->RedrawAxis();
  leg->Draw();

  c_bdtin_2->cd(2);
  sf = sigmaMOverM_wrongVtx_cat0_Data->Integral()/sigmaMOverM_wrongVtx_cat0_DYJetsToLL->Integral();
  sigmaMOverM_wrongVtx_cat0_DYJetsToLL->Scale(sf);
  sigmaMOverM_wrongVtx_cat0_Data->Draw("e");
  sigmaMOverM_wrongVtx_cat0_DYJetsToLL->Draw("hist,same");
  sigmaMOverM_wrongVtx_cat0_Data->Draw("e,same");
  gPad->RedrawAxis();
  leg2->Draw();

  c_bdtin_2->cd(3);
  sf = pho1_ptOverM_cat0_Data->Integral()/pho1_ptOverM_cat0_DYJetsToLL->Integral();
  pho1_ptOverM_cat0_DYJetsToLL->Scale(sf);
  pho1_ptOverM_cat0_Data->GetXaxis()->SetRangeUser(0.2,1.2);
  pho1_ptOverM_cat0_Data->Draw("e");
  pho1_ptOverM_cat0_DYJetsToLL->Draw("hist,same");
  pho1_ptOverM_cat0_Data->Draw("e,same");
  gPad->RedrawAxis();
  leg->Draw();

  c_bdtin_2->cd(4);
  sf = pho2_ptOverM_cat0_Data->Integral()/pho2_ptOverM_cat0_DYJetsToLL->Integral();
  pho2_ptOverM_cat0_DYJetsToLL->Scale(sf);
  pho2_ptOverM_cat0_Data->GetXaxis()->SetRangeUser(0.2,.9);
  pho2_ptOverM_cat0_Data->Draw("e");
  pho2_ptOverM_cat0_DYJetsToLL->Draw("hist,same");
  pho2_ptOverM_cat0_Data->Draw("e,same");
  gPad->RedrawAxis();
  leg->Draw();

  c_bdtin_2->cd(5);
  gPad->SetLogy();
  sigmaMOverM_cat0_Data->Draw("e");
  sigmaMOverM_cat0_DYJetsToLL->Draw("hist,same");
  sigmaMOverM_cat0_Data->Draw("e,same");
  gPad->RedrawAxis();
  leg->Draw();

  c_bdtin_2->cd(6);
  gPad->SetLogy();
  sigmaMOverM_wrongVtx_cat0_Data->Draw("e");
  sigmaMOverM_wrongVtx_cat0_DYJetsToLL->Draw("hist,same");
  sigmaMOverM_wrongVtx_cat0_Data->Draw("e,same");
  gPad->RedrawAxis();

  c_bdtin_2->cd(7);
  gPad->SetLogy();
  pho1_ptOverM_cat0_Data->Draw("e");
  pho1_ptOverM_cat0_DYJetsToLL->Draw("hist,same");
  pho1_ptOverM_cat0_Data->Draw("e,same");
  gPad->RedrawAxis();
  leg->Draw();

  c_bdtin_2->cd(8);
  gPad->SetLogy();
  pho2_ptOverM_cat0_Data->Draw("e");
  pho2_ptOverM_cat0_DYJetsToLL->Draw("hist,same");
  pho2_ptOverM_cat0_Data->Draw("e,same");
  gPad->RedrawAxis();
  leg->Draw();

  c_bdtin_2->cd(9);
  plotRatio(sigmaMOverM_cat0_Data,sigmaMOverM_cat0_DYJetsToLL);
  line3 = (TLine*)line->Clone();
  line3->SetX1(0.);
  line3->SetX2(0.06);
  line3->Draw();

  c_bdtin_2->cd(10);
  plotRatio(sigmaMOverM_wrongVtx_cat0_Data,sigmaMOverM_wrongVtx_cat0_DYJetsToLL);
  line3->Draw();

  c_bdtin_2->cd(11);
  plotRatio(pho1_ptOverM_cat0_Data,pho1_ptOverM_cat0_DYJetsToLL);
  line4 = (TLine*)line->Clone();
  line4->SetX1(0.2);
  line4->SetX2(1.2);
  line4->Draw();

  c_bdtin_2->cd(12);
  plotRatio(pho2_ptOverM_cat0_Data,pho2_ptOverM_cat0_DYJetsToLL);
  line5 = (TLine*)line->Clone();
  line5->SetX1(0.2);
  line5->SetX2(0.9);
  line5->Draw();

  c_bdtin_2->SaveAs("bdtin_2.png");

  //------------------------------------------------------------------------------

  TCanvas *c_bdtin_3 = new TCanvas("c_bdtin_3","BDT input variables",1200,800);
  c_bdtin_3->Divide(2,2);
  c_bdtin_3->cd(1);

  c_bdtin_3->cd(1);
  sf = pho1_eta_cat0_Data->Integral()/pho1_eta_cat0_DYJetsToLL->Integral();
  pho1_eta_cat0_DYJetsToLL->Scale(sf);
  pho1_eta_cat0_Data->Draw("e");
  pho1_eta_cat0_DYJetsToLL->Draw("hist,same");
  pho1_eta_cat0_Data->Draw("e,same");
  gPad->RedrawAxis();

  c_bdtin_3->cd(2);
  sf = pho2_eta_cat0_Data->Integral()/pho2_eta_cat0_DYJetsToLL->Integral();
  pho2_eta_cat0_DYJetsToLL->Scale(sf);
  pho2_eta_cat0_Data->Draw("e");
  pho2_eta_cat0_DYJetsToLL->Draw("hist,same");
  pho2_eta_cat0_Data->Draw("e,same");
  gPad->RedrawAxis();

  c_bdtin_3->cd(3);
  plotRatio(pho1_eta_cat0_Data,pho1_eta_cat0_DYJetsToLL);
  line6 = (TLine*)line->Clone();
  line6->SetX1(-2.5);
  line6->SetX2(2.5);
  line6->Draw();

  c_bdtin_3->cd(4);
  plotRatio(pho2_eta_cat0_Data,pho2_eta_cat0_DYJetsToLL);
  line6->Draw();

  c_bdtin_3->SaveAs("bdtin_3.png");

  //------------------------------------------------------------------------------

  TCanvas *c_sigmam_ebee = new TCanvas("c_sigmam_ebee","BDT input variables",1500,900);
  c_sigmam_ebee->Divide(4,3);
  c_sigmam_ebee->cd(1);

  sf = sigmaMOverM_EB_cat0_Data->Integral()/sigmaMOverM_EB_cat0_DYJetsToLL->Integral();
  sigmaMOverM_EB_cat0_DYJetsToLL->Scale(sf);
  sigmaMOverM_EB_cat0_Data->Draw("e");
  sigmaMOverM_EB_cat0_DYJetsToLL->Draw("hist,same");
  sigmaMOverM_EB_cat0_Data->Draw("e,same");
  gPad->RedrawAxis();
  leg->Draw();

  c_sigmam_ebee->cd(2);
  sf = sigmaMOverM_wrongVtx_EB_cat0_Data->Integral()/sigmaMOverM_wrongVtx_EB_cat0_DYJetsToLL->Integral();
  sigmaMOverM_wrongVtx_EB_cat0_DYJetsToLL->Scale(sf);
  sigmaMOverM_wrongVtx_EB_cat0_Data->Draw("e");
  sigmaMOverM_wrongVtx_EB_cat0_DYJetsToLL->Draw("hist,same");
  sigmaMOverM_wrongVtx_EB_cat0_Data->Draw("e,same");
  gPad->RedrawAxis();
  leg->Draw();

  c_sigmam_ebee->cd(3);
  sf = sigmaMOverM_EE_cat0_Data->Integral()/sigmaMOverM_EE_cat0_DYJetsToLL->Integral();
  sigmaMOverM_EE_cat0_DYJetsToLL->Scale(sf);
  sigmaMOverM_EE_cat0_Data->Draw("e");
  sigmaMOverM_EE_cat0_DYJetsToLL->Draw("hist,same");
  sigmaMOverM_EE_cat0_Data->Draw("e,same");
  gPad->RedrawAxis();
  leg->Draw();

  c_sigmam_ebee->cd(4);
  sf = sigmaMOverM_wrongVtx_EE_cat0_Data->Integral()/sigmaMOverM_wrongVtx_EE_cat0_DYJetsToLL->Integral();
  sigmaMOverM_wrongVtx_EE_cat0_DYJetsToLL->Scale(sf);
  sigmaMOverM_wrongVtx_EE_cat0_Data->Draw("e");
  sigmaMOverM_wrongVtx_EE_cat0_DYJetsToLL->Draw("hist,same");
  sigmaMOverM_wrongVtx_EE_cat0_Data->Draw("e,same");
  gPad->RedrawAxis();
  leg2->Draw();

  c_sigmam_ebee->cd(5);
  gPad->SetLogy();
  sigmaMOverM_EB_cat0_Data->Draw("e");
  sigmaMOverM_EB_cat0_DYJetsToLL->Draw("hist,same");
  sigmaMOverM_EB_cat0_Data->Draw("e,same");
  gPad->RedrawAxis();
  leg->Draw();

  c_sigmam_ebee->cd(6);
  gPad->SetLogy();
  sigmaMOverM_wrongVtx_EB_cat0_Data->Draw("e");
  sigmaMOverM_wrongVtx_EB_cat0_DYJetsToLL->Draw("hist,same");
  sigmaMOverM_wrongVtx_EB_cat0_Data->Draw("e,same");
  gPad->RedrawAxis();

  c_sigmam_ebee->cd(7);
  gPad->SetLogy();
  sigmaMOverM_EE_cat0_Data->Draw("e");
  sigmaMOverM_EE_cat0_DYJetsToLL->Draw("hist,same");
  sigmaMOverM_EE_cat0_Data->Draw("e,same");
  gPad->RedrawAxis();
  leg->Draw();

  c_sigmam_ebee->cd(8);
  gPad->SetLogy();
  sigmaMOverM_wrongVtx_EE_cat0_Data->Draw("e");
  sigmaMOverM_wrongVtx_EE_cat0_DYJetsToLL->Draw("hist,same");
  sigmaMOverM_wrongVtx_EE_cat0_Data->Draw("e,same");
  gPad->RedrawAxis();

  c_sigmam_ebee->cd(9);
  plotRatio(sigmaMOverM_EB_cat0_Data,
	    sigmaMOverM_EB_cat0_DYJetsToLL);
  line3->Draw();

  c_sigmam_ebee->cd(10);
  plotRatio(sigmaMOverM_wrongVtx_EB_cat0_Data,
	    sigmaMOverM_wrongVtx_EB_cat0_DYJetsToLL);
  line3->Draw();

  c_sigmam_ebee->cd(11);
  plotRatio(sigmaMOverM_EE_cat0_Data,
	    sigmaMOverM_EE_cat0_DYJetsToLL);
  line3->Draw();

  c_sigmam_ebee->cd(12);
  plotRatio(sigmaMOverM_wrongVtx_EE_cat0_Data,
	    sigmaMOverM_wrongVtx_EE_cat0_DYJetsToLL);
  line3->Draw();

  c_sigmam_ebee->SaveAs("sigmam_ebee.png");


}
void dataMCplots_v2(){

  setNCUStyle(true);
 
  Float_t up_height     = 0.8;
  Float_t dw_correction = 1.455;
  Float_t dw_height     = (1-up_height)*dw_correction;

  TCanvas c("c","",0,0,800,1600);
  c.Divide(1,2);

  TPad* c_up = (TPad*) c.GetListOfPrimitives()->FindObject("c_1");
  TPad* c_dw = (TPad*) c.GetListOfPrimitives()->FindObject("c_2"); 

  c_up->SetPad(0,1-up_height,1,1);
  c_dw->SetPad(0,0,1,dw_height);
  c_dw->SetBottomMargin(0.25);

  // To get the name of histograms
  
  TFile* tf1[10];
  tf1[0]=TFile::Open("sf2/QCD700.root");
  tf1[1]=TFile::Open("sf2/QCD1000.root");
  tf1[2]=TFile::Open("sf2/QCD1500.root");
  tf1[3]=TFile::Open("sf2/QCD2000.root");
  tf1[4]=TFile::Open("sf2/data.root");
  tf1[5]=TFile::Open("sf2/bGen700.root");
  tf1[6]=TFile::Open("sf2/bGen1000.root");
  tf1[7]=TFile::Open("sf2/bGen1500.root");
  tf1[8]=TFile::Open("sf2/bGen2000.root");
  
  TFile* tf2[10];
   tf2[0]=TFile::Open("sf2/B1400.root");
   tf2[1]=TFile::Open("sf2/B1800.root");
   tf2[2]=TFile::Open("sf2/B2500.root");
   tf2[3]=TFile::Open("sf2/R1800.root");
   
  vector<std::string> h_name;
  h_name.push_back("h_nvtx");  
  for(int i=0;i<2;i++){
		for(int j=0;j<2;j++){
			for(int k=0;k<5;k++){
				h_name.push_back(Form("Pt_j%d_sj%d_%db",i,j,k));  
				h_name.push_back(Form("Eta_j%d_sj%d_%db",i,j,k));  
				h_name.push_back(Form("subCSV_j%d_sj%d_%db",i,j,k));  
				h_name.push_back(Form("subCSVCut_j%d_sj%d_%db",i,j,k));  
			}
		}
		for(int k=0;k<5;k++){
			h_name.push_back(Form("deltaR_j%d_%db",i,k));  
			h_name.push_back(Form("Pt_j%d_%db",i,k));  
			h_name.push_back(Form("Eta_j%d_%db",i,k));  
			h_name.push_back(Form("prMassL2L3_j%d_%db",i,k));  
			h_name.push_back(Form("tau21_j%d_%db",i,k));  
			h_name.push_back(Form("PuppiSDMassL2L3_j%d_%db",i,k));  
			h_name.push_back(Form("puppiTau21_j%d_%db",i,k));  
		h_name.push_back(Form("prMass_j%d_%db",i,k));  
		h_name.push_back(Form("PuppiSDMass_j%d_%db",i,k));  
		h_name.push_back(Form("doubleSV_j%d_%db",i,k));  
		h_name.push_back(Form("FatSV_j%d_%db",i,k));  
		}
	}
	for(int k=0;k<5;k++){
		h_name.push_back(Form("totalMass_%db",k));  
		h_name.push_back(Form("totalMassRed_%db",k));  
		h_name.push_back(Form("deltaEta_%db",k));  
		//h_name.push_back(Form("HT_%db",k));  
	}
  
 // h_name.push_back("cutflow");  
 
 
 string prMass_no[4]={"prMass","prMassL2L3","PuppiSDMass","PuppiSDMassL2L3"};
	string tau21_no[2]={"tau21","puppiTau21"};
	for (int i=0;i<4;i++){
		h_name.push_back(Form("%s_j0_noPr_noTau21",prMass_no[i].data()));  
		h_name.push_back(Form("%s_j1_noPr_noTau21",prMass_no[i].data()));  
		h_name.push_back(Form("%s_j0_noPr",prMass_no[i].data()));  
		h_name.push_back(Form("%s_j1_noPr",prMass_no[i].data()));  
		h_name.push_back(Form("%s_j0_noTau21",prMass_no[i].data()));  
		h_name.push_back(Form("%s_j1_noTau21",prMass_no[i].data()));  
		
	
	}
	for (int i=0;i<2;i++){
		h_name.push_back(Form("%s_j0_noPr_noTau21",tau21_no[i].data()));  
		h_name.push_back(Form("%s_j1_noPr_noTau21",tau21_no[i].data()));  
		h_name.push_back(Form("%s_j0_noPr",tau21_no[i].data()));  
		h_name.push_back(Form("%s_j1_noPr",tau21_no[i].data()));  
		h_name.push_back(Form("%s_j0_noTau21",tau21_no[i].data()));  
		h_name.push_back(Form("%s_j1_noTau21",tau21_no[i].data()));  
	
	}
 
 
 
 h_name.push_back("h_nvtx_cut");  
h_name.push_back("Nbtagjet");  

  for(unsigned int i = 0; i < h_name.size(); i++){
//	 for(unsigned int i = 0; i < 1; i++){
	  
	//cout<<h_name[i]<<endl;
	TH1D *th1[10];
	for(int k=0;k<5;k++){
		
			th1[k]=(TH1D* )tf1[k]->FindObjectAny(Form("%s",h_name[i].data()));
		
	}
	if(h_name[i].find("3b")!= std::string::npos)continue;	
	if(h_name[i].find("2b")!= std::string::npos)continue;	
	if(h_name[i].find("1b")!= std::string::npos)continue;	
	if(h_name[i].find("0b")!= std::string::npos)continue;	
	//if(h_name[i].find("4b")!= std::string::npos)continue;	
	bool drawSignal=1;
	
	//---------
	 TH1D* thh[5][4];
  double fixNumber=22295/30584.3;//7306/11857.3;
double Xsec[4]={6831,1207,119.9,25.24};
  //string categories[4]={"0b","1b","2b","DSV"};
  string hadflv[4]={"bb","b","cc","udcsg"};
  
  
  
  TString endfix;
	endfix=gSystem->GetFromPipe(Form("file=%s; test=${file%%*_}; echo \"${test}\"",h_name[i].data()));
	
  
  
  for(int k=0;k<4;k++){
	  for(int j=0;j<4;j++){
		  
		  TH1D *th2=(TH1D* )tf1[k]->FindObjectAny("cutflow");
		  
	
		  thh[k][j]=(TH1D*)tf1[k]->FindObjectAny(Form("%s_%s",h_name[i].data(),hadflv[j].data()));
		   TString endfix;
		  if(h_name[i].find("4b")!= std::string::npos){
			  endfix=gSystem->GetFromPipe(Form("file=%s; test=${file%%*_4b}; echo \"${test}\"",h_name[i].data()));
			  TH1D *th2;
			  //cout<<endfix<<endl;
			  th2=(TH1D* )tf1[k]->FindObjectAny(Form("%s_0b_%s",endfix.Data(),hadflv[j].data()));
 			  thh[k][j]->Add(th2);
			  th2=(TH1D* )tf1[k]->FindObjectAny(Form("%s_1b_%s",endfix.Data(),hadflv[j].data()));
 			  thh[k][j]->Add(th2);
			  th2=(TH1D* )tf1[k]->FindObjectAny(Form("%s_2b_%s",endfix.Data(),hadflv[j].data()));
 			  thh[k][j]->Add(th2);
			  th2=(TH1D* )tf1[k]->FindObjectAny(Form("%s_3b_%s",endfix.Data(),hadflv[j].data()));
 			  thh[k][j]->Add(th2);
		  }
		  thh[k][j]->Scale(fixNumber* 12883.846147301*Xsec[k]/th2->GetBinContent(1));
		 // cout<<k<<","<<j<<","<<Form("%s_%s",h_name[i].data(),hadflv[j].data())<<","<<thh[k][j]->Integral()<<endl;
	  }
	  
	  if(k==3){
		  for(int j=0;j<4;j++)thh[k][j]->Add(thh[0][j]);
		  for(int j=0;j<4;j++)thh[k][j]->Add(thh[1][j]);
		  for(int j=0;j<4;j++)thh[k][j]->Add(thh[2][j]);
	  }
  }
vector<TH1D* > v2;
	vector<TH1D* > vd;
	
	thh[4][0]=(TH1D*)tf1[4]->FindObjectAny(Form("%s_udcsg",h_name[i].data()));
	 if(h_name[i].find("4b")!= std::string::npos){
			  endfix=gSystem->GetFromPipe(Form("file=%s; test=${file%%*_4b}; echo \"${test}\"",h_name[i].data()));
			  TH1D *th2;
			  th2=(TH1D* )tf1[4]->FindObjectAny(Form("%s_0b_udcsg",endfix.Data()));
 			  thh[4][0]->Add(th2);
			 th2=(TH1D* )tf1[4]->FindObjectAny(Form("%s_1b_udcsg",endfix.Data()));
 			  thh[4][0]->Add(th2);
			  th2=(TH1D* )tf1[4]->FindObjectAny(Form("%s_2b_udcsg",endfix.Data()));
 			  thh[4][0]->Add(th2);
			  th2=(TH1D* )tf1[4]->FindObjectAny(Form("%s_3b_udcsg",endfix.Data()));
 			  thh[4][0]->Add(th2);
		  }
	
	cout<<thh[4][0]->Integral();
	v2.push_back(thh[3][0]);
	v2.push_back(thh[3][1]);
	v2.push_back(thh[3][2]);
	v2.push_back(thh[3][3]);
	
	double temp_scale=0;
	for(int i=0;i<4;i++){
		temp_scale+=thh[3][i]->Integral();
	}
	
	for(int i=0;i<4;i++){
		if(h_name[i].find("HT")!= std::string::npos)continue;
		thh[3][i]->Scale(thh[4][0]->Integral()/temp_scale);
	}
	
	vd.push_back(thh[4][0]);
	
	//--------
	
	TH1D *h_bkg  = (TH1D* )th1[0]->Clone("h_bkg");
	//TH1D *temp = (TH1D* )th1[0]->Clone("h_bkg");
	
	
    TH1D *h_data = (TH1D* )th1[0]->Clone("h_data");
    /*
	h_data->SetTitle(Form("%s",endfix.Data()));
	h_bkg->SetTitle(Form("%s",endfix.Data()));
	c_up->SetTitle(Form("%s",endfix.Data()));
	c.SetTitle(Form("%s",endfix.Data()));
	 */
	 h_data->SetTitle("");
	 h_bkg->SetTitle("");
	 c_up->SetTitle("");
	 c_up->cd();
	 
	 if (h_name[i].find("Nbtagjet")!= std::string::npos)c_up->SetLogy();	
	// if(h_name[i].find("cutflow")!= std::string::npos)c_up->SetLogy();	
	 if(h_name[i].find("Pt")!= std::string::npos)isSetRange=1;	
	 if(h_name[i].find("logPt")!= std::string::npos){
		   isSetRange=0;	
		   c_up->SetLogy(1);	
	 }
	 
	 
	  if(h_name[i].find("total")!= std::string::npos)isSetRange=1;	
	
	
	double scaleTemp[4];
	
	
	
	
	//vd.push_back(th1[4]);
	cout<<h_name[i]<<endl;
	
	
    myPlot(v2,
vd,
	   h_data, h_bkg,1);

    c_up->RedrawAxis();
    
    
    
    
    if(drawSignal){
	    int colorNum[4]={kRed,kBlue,kOrange+2,kViolet};
	    double xsec2[4]={1.9,0.155,0.0158,17.3};
		TH1D* th_signal[4];
		
		TLegend *leg = new TLegend(0.63, 0.68, 0.78, 0.87);
  string legendS[4]={"M_{G}=1.4TeV","M_{G}=1.8TeV","M_{G}=2.5TeV","M_{R}=1.8TeV"};
  
  leg->SetBorderSize(0);
  leg->SetFillColor(0);
  leg->SetFillStyle(0);
  leg->SetTextSize(0.04);
		for(int k=0;k<4;k++){
			
	    th_signal[k]=(TH1D*)tf2[k]->FindObjectAny(Form("%s",h_name[i].data()));
	    leg->AddEntry(th_signal[k],Form("%s",legendS[k].data()));
	    th_signal[k]->SetLineColor(colorNum[k]);
	    th_signal[k]->SetLineWidth(2);
	   // th_signal[k]->SetLineStyle(k+1);
	    
	    
	     TString endfix;
		  if(h_name[i].find("4b")!= std::string::npos){
		  endfix=gSystem->GetFromPipe(Form("file=%s; test=${file%%*_4b}; echo \"${test}\"",h_name[i].data()));
			  TH1D *th2;
			
			  th2=(TH1D* )tf2[k]->FindObjectAny(Form("%s_0b",endfix.Data()));
 			   th_signal[k]->Add(th2);
			  th2=(TH1D* )tf2[k]->FindObjectAny(Form("%s_1b",endfix.Data()));
 			   th_signal[k]->Add(th2);
			  th2=(TH1D* )tf2[k]->FindObjectAny(Form("%s_2b",endfix.Data()));
 			   th_signal[k]->Add(th2);
			   th2=(TH1D* )tf2[k]->FindObjectAny(Form("%s_3b",endfix.Data()));
 			   th_signal[k]->Add(th2);
		  }
	    
	     TH1D *th3=(TH1D* )tf2[k]->FindObjectAny("cutflow");
	     //cout<<"k="<<k<<","<<th2->GetBinContent(1)<<","<<12.883846147301*xsec2[k]*200/th2->GetBinContent(1)<<endl;
	     th_signal[k]->Scale(thh[4][0]->Integral()/(th_signal[k]->Integral()*2));
	     if(h_name[i].find("deltaR")!= std::string::npos)th_signal[k]->Scale(0.5);
	     if(h_name[i].find("noPr")!= std::string::npos &&
	     h_name[i].find("noPr_")== std::string::npos&&
	     h_name[i].find("tau21")== std::string::npos)th_signal[k]->Scale(0.4);
	    //if(k<3)th_signal[k]->Scale(10);
	     cout<<th_signal[k]->Integral()<<",";
	     th_signal[k]->Draw("same hist ");
		}
		leg->Draw("same");
		
    }
    
    
    
    
     
		  
	
		
		  
    
    c_dw->cd();
	string tempName=h_name[i];
	if(h_name[i].find("Eta")!= std::string::npos){
		TString endfix2;
		 endfix2=gSystem->GetFromPipe(Form("file=%s; test=${file##Eta}; echo \"${test}\"",h_name[i].data()));
		 h_name[i]=Form("#eta%s",endfix2.Data());
	}
	
	if(h_name[i].find("tau")!= std::string::npos){
		TString endfix2;
		 endfix2=gSystem->GetFromPipe(Form("file=%s; test=${file##tau}; echo \"${test}\"",h_name[i].data()));
		 h_name[i]=Form("#tau%s",endfix2.Data());
	}
	
	if (h_name[i].find("total")!= std::string::npos)myRatio(h_data, h_bkg,"M_{jj}[GeV]");
	
	else if (h_name[i].find("_j0")!= std::string::npos){
		TString endfix2;
		 endfix2=gSystem->GetFromPipe(Form("file=%s; test=${file%%*_j0*}; echo \"${test}\"",h_name[i].data()));
		 //cout<<endfix2<<endl;
		 if (h_name[i].find("_sj0")!= std::string::npos) myRatio(h_data, h_bkg,Form("%s^{Jet0}_{subjet0}",endfix2.Data()));
		 else  if (h_name[i].find("_sj1")!= std::string::npos) myRatio(h_data, h_bkg,Form("%s^{Jet0}_{subjet1}",endfix2.Data()));
		 else myRatio(h_data, h_bkg,Form("%s^{Jet0}",endfix2.Data()));
	}
	
	else if (h_name[i].find("_j1")!= std::string::npos){
		TString endfix2;
		 endfix2=gSystem->GetFromPipe(Form("file=%s; test=${file%%*_j1*}; echo \"${test}\"",h_name[i].data()));
		 //cout<<endfix2<<endl;
		 if (h_name[i].find("_sj0")!= std::string::npos) myRatio(h_data, h_bkg,Form("%s^{Jet1}_{subjet0}",endfix2.Data()));
		 else  if (h_name[i].find("_sj1")!= std::string::npos) myRatio(h_data, h_bkg,Form("%s^{Jet1}_{subjet1}",endfix2.Data()));
		 else myRatio(h_data, h_bkg,Form("%s^{Jet1}",endfix2.Data()));
	}
	
    else if(h_name[i].find("Pt")!= std::string::npos||
	//h_name[i].find("total")!= std::string::npos||
	h_name[i].find("ass")!= std::string::npos)myRatio(h_data, h_bkg,Form("%s[GeV]",endfix.Data()));
	else if (h_name[i].find("Nbtagje")!= std::string::npos)myRatio(h_data, h_bkg,"Nbtagjet",1);
	
	else myRatio(h_data, h_bkg,Form("%s",endfix.Data()));
	
	
	h_name[i]=tempName;
	
	if(h_name[i].find("Pt")!= std::string::npos)isSetRange=0;	
	 if(h_name[i].find("total")!= std::string::npos)isSetRange=0;	
   // c.Draw();
  
	if(h_name[i].find("0b")!= std::string::npos)c.SaveAs(Form("dataMC_v2/0b/%s.png",h_name[i].data()));
	else if(h_name[i].find("1b")!= std::string::npos)c.SaveAs(Form("dataMC_v2/1b/%s.png",h_name[i].data()));
	else if(h_name[i].find("2b")!= std::string::npos)c.SaveAs(Form("dataMC_v2/2b/%s.png",h_name[i].data()));
    else if(h_name[i].find("4b")!= std::string::npos)c.SaveAs(Form("dataMC_v2/all/%s.png",endfix.Data()));
	else c.SaveAs(Form("dataMC_v2/all/%s.png",h_name[i].data()));
	
	if(h_name[i].find("0b")!= std::string::npos)c.Print(Form("dataMC_v2/0b/%s.pdf",h_name[i].data()));
	else if(h_name[i].find("1b")!= std::string::npos)c.Print(Form("dataMC_v2/1b/%s.pdf",h_name[i].data()));
	else if(h_name[i].find("2b")!= std::string::npos)c.Print(Form("dataMC_v2/2b/%s.pdf",h_name[i].data()));
    else if(h_name[i].find("4b")!= std::string::npos)c.Print(Form("dataMC_v2/all/%s.pdf",endfix.Data()));
	else c.Print(Form("dataMC_v2/all/%s.pdf",h_name[i].data()));
	
	
	
	if(h_name[i].find("logPt")!= std::string::npos){
		   isSetRange=0;	
		   c_up->SetLogy(0);	
	 }
  }
  
}
Example #15
0
void plotVBTFWP(const string tau_ = "HPS"){


  TCanvas *c1 = new TCanvas("c1","Canvas",10,30,650,600);
  c1->SetGrid(0,0);
  c1->SetFillStyle(4000);
  c1->SetFillColor(10);
  c1->SetTicky();
  c1->SetObjectStat(0);
  c1->SetLogx(1);

  TLegend* leg = new TLegend(0.36,0.15,0.80,0.5,NULL,"brNDC");
  leg->SetFillStyle(4000);
  leg->SetBorderSize(0);
  leg->SetFillColor(10);
  leg->SetTextSize(0.03);

  TFile* f_Zee     = new TFile("/data_CMS/cms/lbianchini/35pb/testNewWriteFromPAT_DYToEE-PYTHIA-TAUEFF.root");
  TFile* f_Ztautau = new TFile("/data_CMS/cms/lbianchini/35pb/testNewWriteFromPAT_DYToTauTau-PYTHIA-TAUEFF.root");


  f_Zee->cd();
  TTree* tree_Zee     = (TTree*) gDirectory->Get( ("tauFakeRateAnalyzer"+tau_+"/tree").c_str() ); 
  f_Ztautau->cd();
  TTree* tree_Ztautau = (TTree*) gDirectory->Get( ("tauFakeRateAnalyzer"+tau_+"/tree").c_str() ); 

  TH2F* h2 = new TH2F("h2","",220,0,1.1,220,0,1.1);

  float vxF[45];
  float vyF[45];

  float vxF_VBTF[6];
  float vyF_VBTF[6];

  float ZeeAll     = (float)tree_Zee->GetEntries("");
  float ZtautauAll = (float)tree_Ztautau->GetEntries("");

  std::cout << ZtautauAll << std::endl;

  for(int i = 0; i<=44; i++){
    float cut = 0.025*i;
    float ZeeCut = (float) tree_Zee->GetEntries(Form("leadPFChargedHadrMva<=%f",-0.1+cut));
    float ZtautauCut = (float) tree_Ztautau->GetEntries(Form("leadPFChargedHadrMva<=%f",-0.1+cut));
    std::cout << ZtautauCut << std::endl;
    vxF[i]=ZeeCut/ZeeAll;
    vyF[i]=ZtautauCut/ZtautauAll;
      //h2->Fill(ZeeCut/ZeeAll,ZtautauCut/ZtautauAll);
    std::cout << Form("leadPFChargedHadrMva<=%f: ",-0.1+cut) <<ZeeCut/ZeeAll << " --- " << ZtautauCut/ZtautauAll << std::endl;
  }

  h2->SetXTitle("e#rightarrow #tau_{had} fake-rate");
  h2->SetYTitle("#tau_{had} efficiency");
  h2->SetAxisRange(0.02,1.0,"X");
  h2->SetAxisRange(0.95,1.01,"Y");
  h2->Draw();

  float ids[] = {1.0,.95,.90,.85,.80,.70,.60};
  for(int i = 0; i<6; i++){
    float ZeeCut_i     = (float) tree_Zee->GetEntries( Form("matchedID>%f",ids[i]-0.025));
    float ZtautauCut_i = (float) tree_Ztautau->GetEntries(Form("matchedID>%f",ids[i]-0.025));
    vxF_VBTF[i]=ZeeCut_i/ZeeAll;
    vyF_VBTF[i]=ZtautauCut_i/ZtautauAll;
    std::cout << Form("matchedID>%f",ids[i]-0.025) << "    " << ZeeCut_i/ZeeAll << " <-- VBTF Zee ----  VBTF Ztautau ---> " << ZtautauCut_i/ZtautauAll << std::endl;
  }

  TVectorF vx_VBTF(6,vxF_VBTF);
  TVectorF vy_VBTF(6,vyF_VBTF);

  TVectorF vx(45,vxF);
  TVectorF vy(45,vyF);
  TGraph* graph = new TGraph(vx,vy);
  TGraph* graph_VBTF = new TGraph(vx_VBTF,vy_VBTF);
  if( tau_.find("HPS")!=string::npos) graph->SetMarkerStyle(kOpenCircle);
  else  graph->SetMarkerStyle(kOpenSquare);
  graph->SetMarkerSize(1.2);
  if( tau_.find("HPS")!=string::npos) graph->SetMarkerColor(kRed);
  else graph->SetMarkerColor(kBlue);
  graph_VBTF->SetMarkerStyle(kFullStar);
  graph_VBTF->SetMarkerSize(1.8);
  graph_VBTF->SetMarkerColor(kBlack);
  graph->Draw("P");
  graph_VBTF->Draw("P");

  string tau = tau_.find("HPS")!=string::npos ? "HPS" : "Shrinking Cone";
  leg->SetHeader( ("#splitline{Simulation: "+tau+" #tau_{had}-candidates}{passing tau-ID and loose isolation}").c_str() );
  leg->AddEntry(graph,"#splitline{discriminator by #xi^{lch}}{-0.1#leq #xi^{lch}_{cut} #leq1.0}","P");
  leg->AddEntry(graph_VBTF,"#splitline{cut-based discriminator}{WP95,90,85,80,70,60 (ID-only)}","P");
  leg->Draw();
}
void paraPull_alpha_FT_EFF_extrapolation_2TeV_2Lep_plots_All()
{
//=========Macro generated from canvas: c1/alpha_FT_EFF_extrapolation
//=========  (Sun Nov 22 20:19:02 2015) by ROOT version6.02/12
   TCanvas *c1 = new TCanvas("c1", "alpha_FT_EFF_extrapolation",0,22,1000,600);
   gStyle->SetOptStat(0);
   c1->Range(-4.125,-0.9756589,37.125,1.048929);
   c1->SetFillColor(0);
   c1->SetBorderMode(0);
   c1->SetBorderSize(2);
   c1->SetGridx();
   c1->SetGridy();
   c1->SetFrameBorderMode(0);
   c1->SetFrameBorderMode(0);
   
   TH1F *NuisanceParameterFreed23 = new TH1F("NuisanceParameterFreed23","alpha_FT_EFF_extrapolation",33,0,33);
   NuisanceParameterFreed23->SetMinimum(-0.7732002);
   NuisanceParameterFreed23->SetMaximum(0.84647);
   NuisanceParameterFreed23->SetStats(0);

   Int_t ci;      // for color index setting
   TColor *color; // for color definition with alpha
   ci = TColor::GetColor("#000099");
   NuisanceParameterFreed23->SetLineColor(ci);
   NuisanceParameterFreed23->GetXaxis()->SetBinLabel(1,"XS_ttbar");
   NuisanceParameterFreed23->GetXaxis()->SetBinLabel(2,"EG_SCALE_ALL");
   NuisanceParameterFreed23->GetXaxis()->SetBinLabel(3,"FT_EFF_Eigen_C_0");
   NuisanceParameterFreed23->GetXaxis()->SetBinLabel(4,"Luminosity");
   NuisanceParameterFreed23->GetXaxis()->SetBinLabel(5,"XS_st");
   NuisanceParameterFreed23->GetXaxis()->SetBinLabel(6,"FT_EFF_Eigen_B_1");
   NuisanceParameterFreed23->GetXaxis()->SetBinLabel(7,"XS_Zc");
   NuisanceParameterFreed23->GetXaxis()->SetBinLabel(8,"MUONS_ID");
   NuisanceParameterFreed23->GetXaxis()->SetBinLabel(9,"FT_EFF_Eigen_C_1");
   NuisanceParameterFreed23->GetXaxis()->SetBinLabel(10,"FT_EFF_Eigen_C_3");
   NuisanceParameterFreed23->GetXaxis()->SetBinLabel(11,"MUON_EFF_TrigSystUncertainty");
   NuisanceParameterFreed23->GetXaxis()->SetBinLabel(12,"XS_Zl");
   NuisanceParameterFreed23->GetXaxis()->SetBinLabel(13,"EL_EFF_ID_TotalCorrUncertainty");
   NuisanceParameterFreed23->GetXaxis()->SetBinLabel(14,"FT_EFF_Eigen_B_0");
   NuisanceParameterFreed23->GetXaxis()->SetBinLabel(15,"FT_EFF_Eigen_B_2");
   NuisanceParameterFreed23->GetXaxis()->SetBinLabel(16,"EL_EFF_Iso_TotalCorrUncertainty");
   NuisanceParameterFreed23->GetXaxis()->SetBinLabel(17,"EL_EFF_Reco_TotalCorrUncertainty");
   NuisanceParameterFreed23->GetXaxis()->SetBinLabel(18,"MUONS_SCALE");
   NuisanceParameterFreed23->GetXaxis()->SetBinLabel(19,"MUON_ISO_STAT");
   NuisanceParameterFreed23->GetXaxis()->SetBinLabel(20,"MUON_EFF_STAT");
   NuisanceParameterFreed23->GetXaxis()->SetBinLabel(21,"MUON_EFF_SYS");
   NuisanceParameterFreed23->GetXaxis()->SetBinLabel(22,"MUON_EFF_TrigStatUncertainty");
   NuisanceParameterFreed23->GetXaxis()->SetBinLabel(23,"FT_EFF_Eigen_Light_1");
   NuisanceParameterFreed23->GetXaxis()->SetBinLabel(24,"FT_EFF_Eigen_Light_2");
   NuisanceParameterFreed23->GetXaxis()->SetBinLabel(25,"EG_RESOLUTION_ALL");
   NuisanceParameterFreed23->GetXaxis()->SetBinLabel(26,"XS_diboson");
   NuisanceParameterFreed23->GetXaxis()->SetBinLabel(27,"FT_EFF_Eigen_Light_4");
   NuisanceParameterFreed23->GetXaxis()->SetBinLabel(28,"FT_EFF_Eigen_Light_3");
   NuisanceParameterFreed23->GetXaxis()->SetBinLabel(29,"MUON_ISO_SYS");
   NuisanceParameterFreed23->GetXaxis()->SetBinLabel(30,"XS_Zb");
   NuisanceParameterFreed23->GetXaxis()->SetBinLabel(31,"MUONS_MS");
   NuisanceParameterFreed23->GetXaxis()->SetBinLabel(32,"FT_EFF_Eigen_C_2");
   NuisanceParameterFreed23->GetXaxis()->SetBinLabel(33,"FT_EFF_Eigen_Light_0");
   NuisanceParameterFreed23->GetXaxis()->SetLabelFont(42);
   NuisanceParameterFreed23->GetXaxis()->SetLabelSize(0.035);
   NuisanceParameterFreed23->GetXaxis()->SetTitleSize(0.035);
   NuisanceParameterFreed23->GetXaxis()->SetTitleFont(42);
   NuisanceParameterFreed23->GetYaxis()->SetTitle("#theta_{fit} - #theta_{initial}/#Delta#theta");
   NuisanceParameterFreed23->GetYaxis()->SetLabelFont(42);
   NuisanceParameterFreed23->GetYaxis()->SetLabelSize(0.035);
   NuisanceParameterFreed23->GetYaxis()->SetTitleSize(0.035);
   NuisanceParameterFreed23->GetYaxis()->SetTitleFont(42);
   NuisanceParameterFreed23->GetZaxis()->SetLabelFont(42);
   NuisanceParameterFreed23->GetZaxis()->SetLabelSize(0.035);
   NuisanceParameterFreed23->GetZaxis()->SetTitleSize(0.035);
   NuisanceParameterFreed23->GetZaxis()->SetTitleFont(42);
   NuisanceParameterFreed23->Draw("hist");
   
   Double_t _fx1023[35] = {
   1.22802e-312,
   0.5,
   1.5,
   2.5,
   3.5,
   4.5,
   5.5,
   6.5,
   7.5,
   8.5,
   9.5,
   10.5,
   11.5,
   12.5,
   13.5,
   14.5,
   15.5,
   16.5,
   17.5,
   18.5,
   19.5,
   20.5,
   21.5,
   22.5,
   23.5,
   24.5,
   25.5,
   26.5,
   27.5,
   28.5,
   29.5,
   30.5,
   31.5,
   32.5,
   0};
   Double_t _fy1023[35] = {
   1.22802e-312,
   -0.7732002,
   -0.3921591,
   -0.2934756,
   -0.2062307,
   -0.1826562,
   -0.1278773,
   -0.1247963,
   -0.108241,
   -0.06582277,
   -0.05689324,
   -0.05334169,
   -0.04681761,
   -0.03773949,
   -0.03194355,
   -0.03107318,
   -0.02396662,
   -0.01713834,
   -0.001377884,
   0.0001640769,
   0.01059417,
   0.01807268,
   0.01971767,
   0.02015498,
   0.02031121,
   0.0264387,
   0.04025057,
   0.04268968,
   0.0458893,
   0.05072166,
   0.05322667,
   0.05659235,
   0.05743463,
   0.84647,
   0};
   Double_t _fex1023[35] = {
   0,
   0,
   0,
   0,
   0,
   0,
   0,
   0,
   0,
   0,
   0,
   0,
   0,
   0,
   0,
   0,
   0,
   0,
   0,
   0,
   0,
   0,
   0,
   0,
   0,
   0,
   0,
   0,
   0,
   0,
   0,
   0,
   0,
   0,
   0};
   Double_t _fey1023[35] = {
   0,
   0,
   0.6107108,
   1.073202,
   1.262649,
   0.9362982,
   0.9916356,
   0.9862464,
   0.9262906,
   0.7691235,
   0.9864321,
   0.9937945,
   0.9917446,
   0.9970094,
   0.9817783,
   0.9372476,
   0.9926669,
   0.9931837,
   0.9925578,
   1.005003,
   0.9933467,
   0.9932277,
   0.9929663,
   0.9927589,
   0.9912906,
   0.9909611,
   1.097757,
   0.9869836,
   0.993171,
   0.9930564,
   0.9854803,
   0.753601,
   0.7380864,
   0.9908989,
   0.785308};
   TGraphErrors *gre = new TGraphErrors(35,_fx1023,_fy1023,_fex1023,_fey1023);
   gre->SetName("");
   gre->SetTitle("");
   gre->SetFillColor(1);
   gre->SetMarkerStyle(20);
   gre->SetMarkerSize(1.2);
   
   TH1F *Graph_Graph1023 = new TH1F("Graph_Graph1023","",100,0,35.75);
   Graph_Graph1023->SetMinimum(-1.799504);
   Graph_Graph1023->SetMaximum(2.167994);
   Graph_Graph1023->SetDirectory(0);
   Graph_Graph1023->SetStats(0);

   ci = TColor::GetColor("#000099");
   Graph_Graph1023->SetLineColor(ci);
   Graph_Graph1023->GetXaxis()->SetLabelFont(42);
   Graph_Graph1023->GetXaxis()->SetLabelSize(0.035);
   Graph_Graph1023->GetXaxis()->SetTitleSize(0.035);
   Graph_Graph1023->GetXaxis()->SetTitleFont(42);
   Graph_Graph1023->GetYaxis()->SetLabelFont(42);
   Graph_Graph1023->GetYaxis()->SetLabelSize(0.035);
   Graph_Graph1023->GetYaxis()->SetTitleSize(0.035);
   Graph_Graph1023->GetYaxis()->SetTitleFont(42);
   Graph_Graph1023->GetZaxis()->SetLabelFont(42);
   Graph_Graph1023->GetZaxis()->SetLabelSize(0.035);
   Graph_Graph1023->GetZaxis()->SetTitleSize(0.035);
   Graph_Graph1023->GetZaxis()->SetTitleFont(42);
   gre->SetHistogram(Graph_Graph1023);
   
   gre->Draw("p");
   
   TLegend *leg = new TLegend(0.1,0.4,0.4,0.95,NULL,"brNDC");
   leg->SetBorderSize(0);
   leg->SetTextFont(72);
   leg->SetTextSize(0.015);
   leg->SetLineColor(1);
   leg->SetLineStyle(1);
   leg->SetLineWidth(1);
   leg->SetFillColor(0);
   leg->SetFillStyle(0);
   leg->Draw();
   
   TPaveText *pt = new TPaveText(0.2917068,0.9341608,0.7082932,0.995,"blNDC");
   pt->SetName("title");
   pt->SetBorderSize(0);
   pt->SetFillColor(0);
   pt->SetFillStyle(0);
   pt->SetTextFont(42);
   TText *AText = pt->AddText("alpha_FT_EFF_extrapolation");
   pt->Draw();
   c1->Modified();
   c1->cd();
   c1->SetSelected(c1);
}
void EfficiencyByEta_vs_Lz()
{
//=========Macro generated from canvas: eta_lz/eta_lz
//=========  (Thu Oct 29 10:19:05 2015) by ROOT version6.02/05
   TCanvas *eta_lz = new TCanvas("eta_lz", "eta_lz",1123,69,700,500);
   eta_lz->Range(-15,-0.125,95,1.125);
   eta_lz->SetFillColor(0);
   eta_lz->SetBorderMode(0);
   eta_lz->SetBorderSize(2);
   eta_lz->SetFrameBorderMode(0);
   eta_lz->SetFrameBorderMode(0);
   
   TMultiGraph *multigraph = new TMultiGraph();
   multigraph->SetName("");
   multigraph->SetTitle("");
   
   Double_t divide_num_LEp8_1D_A0_LZ_by_den_LEp8_1D_A0_LZ_fx3001[17] = {
   1,
   3,
   5,
   7,
   9,
   11,
   14,
   17,
   19,
   22.5,
   27.5,
   32.5,
   37.5,
   42.5,
   47.5,
   55,
   70};
   Double_t divide_num_LEp8_1D_A0_LZ_by_den_LEp8_1D_A0_LZ_fy3001[17] = {
   0.8207681,
   0.7183406,
   0.6823529,
   0.6296296,
   0.6016949,
   0.5540541,
   0.4752187,
   0.3962264,
   0.4306569,
   0.4033898,
   0.2211982,
   0.2352941,
   0.1679389,
   0.1630435,
   0,
   0,
   0};
   Double_t divide_num_LEp8_1D_A0_LZ_by_den_LEp8_1D_A0_LZ_felx3001[17] = {
   1,
   1,
   1,
   1,
   1,
   1,
   2,
   1,
   1,
   2.5,
   2.5,
   2.5,
   2.5,
   2.5,
   2.5,
   5,
   10};
   Double_t divide_num_LEp8_1D_A0_LZ_by_den_LEp8_1D_A0_LZ_fely3001[17] = {
   0.01564874,
   0.02258889,
   0.02724798,
   0.03011546,
   0.03436919,
   0.03578772,
   0.02830245,
   0.04109258,
   0.04522796,
   0.02985828,
   0.0290375,
   0.03208442,
   0.03356904,
   0.03963993,
   0,
   0,
   0};
   Double_t divide_num_LEp8_1D_A0_LZ_by_den_LEp8_1D_A0_LZ_fehx3001[17] = {
   1,
   1,
   1,
   1,
   1,
   1,
   2,
   1,
   1,
   2.5,
   2.5,
   2.5,
   2.5,
   2.5,
   2.5,
   5,
   10};
   Double_t divide_num_LEp8_1D_A0_LZ_by_den_LEp8_1D_A0_LZ_fehy3001[17] = {
   0.01469211,
   0.02158727,
   0.02611493,
   0.02919205,
   0.03345254,
   0.03526936,
   0.02845448,
   0.04249806,
   0.04632244,
   0.03055065,
   0.03180918,
   0.03514912,
   0.03920329,
   0.04793882,
   0.02750881,
   0.02093884,
   0.05124115};
   TGraphAsymmErrors *grae = new TGraphAsymmErrors(17,divide_num_LEp8_1D_A0_LZ_by_den_LEp8_1D_A0_LZ_fx3001,divide_num_LEp8_1D_A0_LZ_by_den_LEp8_1D_A0_LZ_fy3001,divide_num_LEp8_1D_A0_LZ_by_den_LEp8_1D_A0_LZ_felx3001,divide_num_LEp8_1D_A0_LZ_by_den_LEp8_1D_A0_LZ_fehx3001,divide_num_LEp8_1D_A0_LZ_by_den_LEp8_1D_A0_LZ_fely3001,divide_num_LEp8_1D_A0_LZ_by_den_LEp8_1D_A0_LZ_fehy3001);
   grae->SetName("divide_num_LEp8_1D_A0_LZ_by_den_LEp8_1D_A0_LZ");
   grae->SetTitle("num_LEp8_1D_A0_LZ");

   Int_t ci;      // for color index setting
   TColor *color; // for color definition with alpha
   ci = TColor::GetColor("#ff0000");
   grae->SetLineColor(ci);

   ci = TColor::GetColor("#ff0000");
   grae->SetMarkerColor(ci);
   grae->SetMarkerStyle(2);
   
   TH1F *Graph_divide_num_LEp8_1D_A0_LZ_by_den_LEp8_1D_A0_LZ3001 = new TH1F("Graph_divide_num_LEp8_1D_A0_LZ_by_den_LEp8_1D_A0_LZ3001","num_LEp8_1D_A0_LZ",100,0,88);
   Graph_divide_num_LEp8_1D_A0_LZ_by_den_LEp8_1D_A0_LZ3001->SetMinimum(0);
   Graph_divide_num_LEp8_1D_A0_LZ_by_den_LEp8_1D_A0_LZ3001->SetMaximum(0.9190063);
   Graph_divide_num_LEp8_1D_A0_LZ_by_den_LEp8_1D_A0_LZ3001->SetDirectory(0);
   Graph_divide_num_LEp8_1D_A0_LZ_by_den_LEp8_1D_A0_LZ3001->SetStats(0);

   ci = TColor::GetColor("#000099");
   Graph_divide_num_LEp8_1D_A0_LZ_by_den_LEp8_1D_A0_LZ3001->SetLineColor(ci);
   Graph_divide_num_LEp8_1D_A0_LZ_by_den_LEp8_1D_A0_LZ3001->GetXaxis()->SetLabelFont(42);
   Graph_divide_num_LEp8_1D_A0_LZ_by_den_LEp8_1D_A0_LZ3001->GetXaxis()->SetLabelSize(0.035);
   Graph_divide_num_LEp8_1D_A0_LZ_by_den_LEp8_1D_A0_LZ3001->GetXaxis()->SetTitleSize(0.035);
   Graph_divide_num_LEp8_1D_A0_LZ_by_den_LEp8_1D_A0_LZ3001->GetXaxis()->SetTitleFont(42);
   Graph_divide_num_LEp8_1D_A0_LZ_by_den_LEp8_1D_A0_LZ3001->GetYaxis()->SetLabelFont(42);
   Graph_divide_num_LEp8_1D_A0_LZ_by_den_LEp8_1D_A0_LZ3001->GetYaxis()->SetLabelSize(0.035);
   Graph_divide_num_LEp8_1D_A0_LZ_by_den_LEp8_1D_A0_LZ3001->GetYaxis()->SetTitleSize(0.035);
   Graph_divide_num_LEp8_1D_A0_LZ_by_den_LEp8_1D_A0_LZ3001->GetYaxis()->SetTitleFont(42);
   Graph_divide_num_LEp8_1D_A0_LZ_by_den_LEp8_1D_A0_LZ3001->GetZaxis()->SetLabelFont(42);
   Graph_divide_num_LEp8_1D_A0_LZ_by_den_LEp8_1D_A0_LZ3001->GetZaxis()->SetLabelSize(0.035);
   Graph_divide_num_LEp8_1D_A0_LZ_by_den_LEp8_1D_A0_LZ3001->GetZaxis()->SetTitleSize(0.035);
   Graph_divide_num_LEp8_1D_A0_LZ_by_den_LEp8_1D_A0_LZ3001->GetZaxis()->SetTitleFont(42);
   grae->SetHistogram(Graph_divide_num_LEp8_1D_A0_LZ_by_den_LEp8_1D_A0_LZ3001);
   
   multigraph->Add(grae,"");
   
   Double_t divide_num_LEp8_1D_A1_LZ_by_den_LEp8_1D_A1_LZ_fx3002[17] = {
   1,
   3,
   5,
   7,
   9,
   11,
   14,
   17,
   19,
   22.5,
   27.5,
   32.5,
   37.5,
   42.5,
   47.5,
   55,
   70};
   Double_t divide_num_LEp8_1D_A1_LZ_by_den_LEp8_1D_A1_LZ_fy3002[17] = {
   0.6232558,
   0.5583756,
   0.5841584,
   0.5437956,
   0.496,
   0.4319249,
   0.3764045,
   0.3773585,
   0.4468085,
   0.3511905,
   0.2879377,
   0.2727273,
   0.2324324,
   0.2269504,
   0.1729323,
   0.139738,
   0.1242424};
   Double_t divide_num_LEp8_1D_A1_LZ_by_den_LEp8_1D_A1_LZ_felx3002[17] = {
   1,
   1,
   1,
   1,
   1,
   1,
   2,
   1,
   1,
   2.5,
   2.5,
   2.5,
   2.5,
   2.5,
   2.5,
   5,
   10};
   Double_t divide_num_LEp8_1D_A1_LZ_by_den_LEp8_1D_A1_LZ_fely3002[17] = {
   0.02003841,
   0.02640712,
   0.03020659,
   0.03202259,
   0.03353345,
   0.03585729,
   0.02667804,
   0.04061892,
   0.04483449,
   0.02702119,
   0.02925602,
   0.0311239,
   0.0321134,
   0.03658286,
   0.03373231,
   0.02335216,
   0.01843313};
   Double_t divide_num_LEp8_1D_A1_LZ_by_den_LEp8_1D_A1_LZ_fehx3002[17] = {
   1,
   1,
   1,
   1,
   1,
   1,
   2,
   1,
   1,
   2.5,
   2.5,
   2.5,
   2.5,
   2.5,
   2.5,
   5,
   10};
   Double_t divide_num_LEp8_1D_A1_LZ_by_den_LEp8_1D_A1_LZ_fehy3002[17] = {
   0.01964108,
   0.02609626,
   0.02961994,
   0.03168431,
   0.03356739,
   0.03653866,
   0.02740908,
   0.04228106,
   0.04564915,
   0.02795583,
   0.03101567,
   0.03334003,
   0.035247,
   0.04082589,
   0.03918793,
   0.02678903,
   0.02089594};
   grae = new TGraphAsymmErrors(17,divide_num_LEp8_1D_A1_LZ_by_den_LEp8_1D_A1_LZ_fx3002,divide_num_LEp8_1D_A1_LZ_by_den_LEp8_1D_A1_LZ_fy3002,divide_num_LEp8_1D_A1_LZ_by_den_LEp8_1D_A1_LZ_felx3002,divide_num_LEp8_1D_A1_LZ_by_den_LEp8_1D_A1_LZ_fehx3002,divide_num_LEp8_1D_A1_LZ_by_den_LEp8_1D_A1_LZ_fely3002,divide_num_LEp8_1D_A1_LZ_by_den_LEp8_1D_A1_LZ_fehy3002);
   grae->SetName("divide_num_LEp8_1D_A1_LZ_by_den_LEp8_1D_A1_LZ");
   grae->SetTitle("num_LEp8_1D_A1_LZ");
   grae->SetMarkerStyle(2);
   
   TH1F *Graph_divide_num_LEp8_1D_A1_LZ_by_den_LEp8_1D_A1_LZ3002 = new TH1F("Graph_divide_num_LEp8_1D_A1_LZ_by_den_LEp8_1D_A1_LZ3002","num_LEp8_1D_A1_LZ",100,0,88);
   Graph_divide_num_LEp8_1D_A1_LZ_by_den_LEp8_1D_A1_LZ3002->SetMinimum(0.05210053);
   Graph_divide_num_LEp8_1D_A1_LZ_by_den_LEp8_1D_A1_LZ3002->SetMaximum(0.6966057);
   Graph_divide_num_LEp8_1D_A1_LZ_by_den_LEp8_1D_A1_LZ3002->SetDirectory(0);
   Graph_divide_num_LEp8_1D_A1_LZ_by_den_LEp8_1D_A1_LZ3002->SetStats(0);

   ci = TColor::GetColor("#000099");
   Graph_divide_num_LEp8_1D_A1_LZ_by_den_LEp8_1D_A1_LZ3002->SetLineColor(ci);
   Graph_divide_num_LEp8_1D_A1_LZ_by_den_LEp8_1D_A1_LZ3002->GetXaxis()->SetLabelFont(42);
   Graph_divide_num_LEp8_1D_A1_LZ_by_den_LEp8_1D_A1_LZ3002->GetXaxis()->SetLabelSize(0.035);
   Graph_divide_num_LEp8_1D_A1_LZ_by_den_LEp8_1D_A1_LZ3002->GetXaxis()->SetTitleSize(0.035);
   Graph_divide_num_LEp8_1D_A1_LZ_by_den_LEp8_1D_A1_LZ3002->GetXaxis()->SetTitleFont(42);
   Graph_divide_num_LEp8_1D_A1_LZ_by_den_LEp8_1D_A1_LZ3002->GetYaxis()->SetLabelFont(42);
   Graph_divide_num_LEp8_1D_A1_LZ_by_den_LEp8_1D_A1_LZ3002->GetYaxis()->SetLabelSize(0.035);
   Graph_divide_num_LEp8_1D_A1_LZ_by_den_LEp8_1D_A1_LZ3002->GetYaxis()->SetTitleSize(0.035);
   Graph_divide_num_LEp8_1D_A1_LZ_by_den_LEp8_1D_A1_LZ3002->GetYaxis()->SetTitleFont(42);
   Graph_divide_num_LEp8_1D_A1_LZ_by_den_LEp8_1D_A1_LZ3002->GetZaxis()->SetLabelFont(42);
   Graph_divide_num_LEp8_1D_A1_LZ_by_den_LEp8_1D_A1_LZ3002->GetZaxis()->SetLabelSize(0.035);
   Graph_divide_num_LEp8_1D_A1_LZ_by_den_LEp8_1D_A1_LZ3002->GetZaxis()->SetTitleSize(0.035);
   Graph_divide_num_LEp8_1D_A1_LZ_by_den_LEp8_1D_A1_LZ3002->GetZaxis()->SetTitleFont(42);
   grae->SetHistogram(Graph_divide_num_LEp8_1D_A1_LZ_by_den_LEp8_1D_A1_LZ3002);
   
   multigraph->Add(grae,"");
   
   Double_t divide_num_Gp8_1D_A0_LZ_by_den_Gp8_1D_A0_LZ_fx3003[17] = {
   1,
   3,
   5,
   7,
   9,
   11,
   14,
   17,
   19,
   22.5,
   27.5,
   32.5,
   37.5,
   42.5,
   47.5,
   55,
   70};
   Double_t divide_num_Gp8_1D_A0_LZ_by_den_Gp8_1D_A0_LZ_fy3003[17] = {
   0.6829268,
   0.6,
   0.6851852,
   0.6,
   0.6060606,
   0.5588235,
   0.5571429,
   0.5853659,
   0.6071429,
   0.5454545,
   0.3875,
   0.3333333,
   0.2727273,
   0.4090909,
   0.2957746,
   0.1875,
   0.1058201};
   Double_t divide_num_Gp8_1D_A0_LZ_by_den_Gp8_1D_A0_LZ_felx3003[17] = {
   1,
   1,
   1,
   1,
   1,
   1,
   2,
   1,
   1,
   2.5,
   2.5,
   2.5,
   2.5,
   2.5,
   2.5,
   5,
   10};
   Double_t divide_num_Gp8_1D_A0_LZ_by_den_Gp8_1D_A0_LZ_fely3003[17] = {
   0.08888679,
   0.1079526,
   0.07564299,
   0.09880854,
   0.1021968,
   0.1001643,
   0.06689406,
   0.09028307,
   0.1123558,
   0.0589631,
   0.05875506,
   0.06081322,
   0.05358554,
   0.06599562,
   0.05755151,
   0.0355912,
   0.02268587};
   Double_t divide_num_Gp8_1D_A0_LZ_by_den_Gp8_1D_A0_LZ_fehx3003[17] = {
   1,
   1,
   1,
   1,
   1,
   1,
   2,
   1,
   1,
   2.5,
   2.5,
   2.5,
   2.5,
   2.5,
   2.5,
   5,
   10};
   Double_t divide_num_Gp8_1D_A0_LZ_by_den_Gp8_1D_A0_LZ_fehy3003[17] = {
   0.07863764,
   0.1002229,
   0.06787653,
   0.09223778,
   0.0947793,
   0.09618714,
   0.06508215,
   0.08553781,
   0.1034446,
   0.05782793,
   0.06186464,
   0.06620896,
   0.06018711,
   0.06906434,
   0.06399194,
   0.04099953,
   0.02733468};
   grae = new TGraphAsymmErrors(17,divide_num_Gp8_1D_A0_LZ_by_den_Gp8_1D_A0_LZ_fx3003,divide_num_Gp8_1D_A0_LZ_by_den_Gp8_1D_A0_LZ_fy3003,divide_num_Gp8_1D_A0_LZ_by_den_Gp8_1D_A0_LZ_felx3003,divide_num_Gp8_1D_A0_LZ_by_den_Gp8_1D_A0_LZ_fehx3003,divide_num_Gp8_1D_A0_LZ_by_den_Gp8_1D_A0_LZ_fely3003,divide_num_Gp8_1D_A0_LZ_by_den_Gp8_1D_A0_LZ_fehy3003);
   grae->SetName("divide_num_Gp8_1D_A0_LZ_by_den_Gp8_1D_A0_LZ");
   grae->SetTitle("num_Gp8_1D_A0_LZ");

   ci = TColor::GetColor("#ff0000");
   grae->SetLineColor(ci);
   grae->SetLineStyle(2);

   ci = TColor::GetColor("#ff0000");
   grae->SetMarkerColor(ci);
   grae->SetMarkerStyle(2);
   
   TH1F *Graph_divide_num_Gp8_1D_A0_LZ_by_den_Gp8_1D_A0_LZ3003 = new TH1F("Graph_divide_num_Gp8_1D_A0_LZ_by_den_Gp8_1D_A0_LZ3003","num_Gp8_1D_A0_LZ",100,0,88);
   Graph_divide_num_Gp8_1D_A0_LZ_by_den_Gp8_1D_A0_LZ3003->SetMinimum(0.01529121);
   Graph_divide_num_Gp8_1D_A0_LZ_by_den_Gp8_1D_A0_LZ3003->SetMaximum(0.8294075);
   Graph_divide_num_Gp8_1D_A0_LZ_by_den_Gp8_1D_A0_LZ3003->SetDirectory(0);
   Graph_divide_num_Gp8_1D_A0_LZ_by_den_Gp8_1D_A0_LZ3003->SetStats(0);

   ci = TColor::GetColor("#000099");
   Graph_divide_num_Gp8_1D_A0_LZ_by_den_Gp8_1D_A0_LZ3003->SetLineColor(ci);
   Graph_divide_num_Gp8_1D_A0_LZ_by_den_Gp8_1D_A0_LZ3003->GetXaxis()->SetLabelFont(42);
   Graph_divide_num_Gp8_1D_A0_LZ_by_den_Gp8_1D_A0_LZ3003->GetXaxis()->SetLabelSize(0.035);
   Graph_divide_num_Gp8_1D_A0_LZ_by_den_Gp8_1D_A0_LZ3003->GetXaxis()->SetTitleSize(0.035);
   Graph_divide_num_Gp8_1D_A0_LZ_by_den_Gp8_1D_A0_LZ3003->GetXaxis()->SetTitleFont(42);
   Graph_divide_num_Gp8_1D_A0_LZ_by_den_Gp8_1D_A0_LZ3003->GetYaxis()->SetLabelFont(42);
   Graph_divide_num_Gp8_1D_A0_LZ_by_den_Gp8_1D_A0_LZ3003->GetYaxis()->SetLabelSize(0.035);
   Graph_divide_num_Gp8_1D_A0_LZ_by_den_Gp8_1D_A0_LZ3003->GetYaxis()->SetTitleSize(0.035);
   Graph_divide_num_Gp8_1D_A0_LZ_by_den_Gp8_1D_A0_LZ3003->GetYaxis()->SetTitleFont(42);
   Graph_divide_num_Gp8_1D_A0_LZ_by_den_Gp8_1D_A0_LZ3003->GetZaxis()->SetLabelFont(42);
   Graph_divide_num_Gp8_1D_A0_LZ_by_den_Gp8_1D_A0_LZ3003->GetZaxis()->SetLabelSize(0.035);
   Graph_divide_num_Gp8_1D_A0_LZ_by_den_Gp8_1D_A0_LZ3003->GetZaxis()->SetTitleSize(0.035);
   Graph_divide_num_Gp8_1D_A0_LZ_by_den_Gp8_1D_A0_LZ3003->GetZaxis()->SetTitleFont(42);
   grae->SetHistogram(Graph_divide_num_Gp8_1D_A0_LZ_by_den_Gp8_1D_A0_LZ3003);
   
   multigraph->Add(grae,"");
   
   Double_t divide_num_Gp8_1D_A1_LZ_by_den_Gp8_1D_A1_LZ_fx3004[17] = {
   1,
   3,
   5,
   7,
   9,
   11,
   14,
   17,
   19,
   22.5,
   27.5,
   32.5,
   37.5,
   42.5,
   47.5,
   55,
   70};
   Double_t divide_num_Gp8_1D_A1_LZ_by_den_Gp8_1D_A1_LZ_fy3004[17] = {
   0.7601626,
   0.7016575,
   0.6848485,
   0.6185567,
   0.648,
   0.5301205,
   0.6028369,
   0.5737705,
   0.4423077,
   0.3730159,
   0.3243243,
   0.2906977,
   0.1764706,
   0.3265306,
   0.1176471,
   0.09677419,
   0.03703704};
   Double_t divide_num_Gp8_1D_A1_LZ_by_den_Gp8_1D_A1_LZ_felx3004[17] = {
   1,
   1,
   1,
   1,
   1,
   1,
   2,
   1,
   1,
   2.5,
   2.5,
   2.5,
   2.5,
   2.5,
   2.5,
   5,
   10};
   Double_t divide_num_Gp8_1D_A1_LZ_by_den_Gp8_1D_A1_LZ_fely3004[17] = {
   0.03033946,
   0.03787332,
   0.04029006,
   0.05551651,
   0.04781274,
   0.06080294,
   0.04537447,
   0.07221676,
   0.07639601,
   0.04576098,
   0.04698051,
   0.05176228,
   0.05528972,
   0.07233421,
   0.05543815,
   0.03771076,
   0.02388645};
   Double_t divide_num_Gp8_1D_A1_LZ_by_den_Gp8_1D_A1_LZ_fehx3004[17] = {
   1,
   1,
   1,
   1,
   1,
   1,
   2,
   1,
   1,
   2.5,
   2.5,
   2.5,
   2.5,
   2.5,
   2.5,
   5,
   10};
   Double_t divide_num_Gp8_1D_A1_LZ_by_den_Gp8_1D_A1_LZ_fehy3004[17] = {
   0.02807219,
   0.03547253,
   0.03787114,
   0.05283465,
   0.04523635,
   0.06000368,
   0.04379748,
   0.06951453,
   0.07889241,
   0.047951,
   0.05044641,
   0.05716632,
   0.07010552,
   0.08038169,
   0.08329135,
   0.05332885,
   0.04677086};
   grae = new TGraphAsymmErrors(17,divide_num_Gp8_1D_A1_LZ_by_den_Gp8_1D_A1_LZ_fx3004,divide_num_Gp8_1D_A1_LZ_by_den_Gp8_1D_A1_LZ_fy3004,divide_num_Gp8_1D_A1_LZ_by_den_Gp8_1D_A1_LZ_felx3004,divide_num_Gp8_1D_A1_LZ_by_den_Gp8_1D_A1_LZ_fehx3004,divide_num_Gp8_1D_A1_LZ_by_den_Gp8_1D_A1_LZ_fely3004,divide_num_Gp8_1D_A1_LZ_by_den_Gp8_1D_A1_LZ_fehy3004);
   grae->SetName("divide_num_Gp8_1D_A1_LZ_by_den_Gp8_1D_A1_LZ");
   grae->SetTitle("num_Gp8_1D_A1_LZ");
   grae->SetLineStyle(2);
   grae->SetMarkerStyle(2);
   
   TH1F *Graph_divide_num_Gp8_1D_A1_LZ_by_den_Gp8_1D_A1_LZ3004 = new TH1F("Graph_divide_num_Gp8_1D_A1_LZ_by_den_Gp8_1D_A1_LZ3004","num_Gp8_1D_A1_LZ",100,0,88);
   Graph_divide_num_Gp8_1D_A1_LZ_by_den_Gp8_1D_A1_LZ3004->SetMinimum(0);
   Graph_divide_num_Gp8_1D_A1_LZ_by_den_Gp8_1D_A1_LZ3004->SetMaximum(0.8657432);
   Graph_divide_num_Gp8_1D_A1_LZ_by_den_Gp8_1D_A1_LZ3004->SetDirectory(0);
   Graph_divide_num_Gp8_1D_A1_LZ_by_den_Gp8_1D_A1_LZ3004->SetStats(0);

   ci = TColor::GetColor("#000099");
   Graph_divide_num_Gp8_1D_A1_LZ_by_den_Gp8_1D_A1_LZ3004->SetLineColor(ci);
   Graph_divide_num_Gp8_1D_A1_LZ_by_den_Gp8_1D_A1_LZ3004->GetXaxis()->SetLabelFont(42);
   Graph_divide_num_Gp8_1D_A1_LZ_by_den_Gp8_1D_A1_LZ3004->GetXaxis()->SetLabelSize(0.035);
   Graph_divide_num_Gp8_1D_A1_LZ_by_den_Gp8_1D_A1_LZ3004->GetXaxis()->SetTitleSize(0.035);
   Graph_divide_num_Gp8_1D_A1_LZ_by_den_Gp8_1D_A1_LZ3004->GetXaxis()->SetTitleFont(42);
   Graph_divide_num_Gp8_1D_A1_LZ_by_den_Gp8_1D_A1_LZ3004->GetYaxis()->SetLabelFont(42);
   Graph_divide_num_Gp8_1D_A1_LZ_by_den_Gp8_1D_A1_LZ3004->GetYaxis()->SetLabelSize(0.035);
   Graph_divide_num_Gp8_1D_A1_LZ_by_den_Gp8_1D_A1_LZ3004->GetYaxis()->SetTitleSize(0.035);
   Graph_divide_num_Gp8_1D_A1_LZ_by_den_Gp8_1D_A1_LZ3004->GetYaxis()->SetTitleFont(42);
   Graph_divide_num_Gp8_1D_A1_LZ_by_den_Gp8_1D_A1_LZ3004->GetZaxis()->SetLabelFont(42);
   Graph_divide_num_Gp8_1D_A1_LZ_by_den_Gp8_1D_A1_LZ3004->GetZaxis()->SetLabelSize(0.035);
   Graph_divide_num_Gp8_1D_A1_LZ_by_den_Gp8_1D_A1_LZ3004->GetZaxis()->SetTitleSize(0.035);
   Graph_divide_num_Gp8_1D_A1_LZ_by_den_Gp8_1D_A1_LZ3004->GetZaxis()->SetTitleFont(42);
   grae->SetHistogram(Graph_divide_num_Gp8_1D_A1_LZ_by_den_Gp8_1D_A1_LZ3004);
   
   multigraph->Add(grae,"");
   multigraph->Draw("ALP");
   multigraph->GetXaxis()->SetTitle("L_{Z} [cm]");
   multigraph->GetXaxis()->SetLabelFont(42);
   multigraph->GetXaxis()->SetLabelSize(0.035);
   multigraph->GetXaxis()->SetTitleSize(0.035);
   multigraph->GetXaxis()->SetTitleFont(42);
   multigraph->GetYaxis()->SetTitle("Efficiency");
   multigraph->GetYaxis()->SetLabelFont(42);
   multigraph->GetYaxis()->SetLabelSize(0.035);
   multigraph->GetYaxis()->SetTitleSize(0.035);
   multigraph->GetYaxis()->SetTitleFont(42);
   TLine *line = new TLine(34.5,0,34.5,1);

   ci = TColor::GetColor("#0000ff");
   line->SetLineColor(ci);
   line->SetLineStyle(2);
   line->Draw();
   line = new TLine(46.5,0,46.5,1);

   ci = TColor::GetColor("#0000ff");
   line->SetLineColor(ci);
   line->SetLineStyle(2);
   line->Draw();
   
   TLegend *leg = new TLegend(0.6982759,0.6701903,0.8979885,0.8794926,NULL,"brNDC");
   leg->SetBorderSize(0);
   leg->SetTextSize(0.03171247);
   leg->SetLineColor(1);
   leg->SetLineStyle(1);
   leg->SetLineWidth(1);
   leg->SetFillColor(0);
   leg->SetFillStyle(1001);
   TLegendEntry *entry=leg->AddEntry("divide_num_LEp8_1D_A0_LXY_by_den_LEp8_1D_A0_LXY","|#eta_{#gamma D}| #leq 0.8 A0","L");

   ci = TColor::GetColor("#ff0000");
   entry->SetLineColor(ci);
   entry->SetLineStyle(1);
   entry->SetLineWidth(1);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(42);
   entry=leg->AddEntry("divide_num_Gp8_1D_A0_LXY_by_den_Gp8_1D_A0_LXY","|#eta_{#gamma D}| > 0.8 A0","L");

   ci = TColor::GetColor("#ff0000");
   entry->SetLineColor(ci);
   entry->SetLineStyle(2);
   entry->SetLineWidth(1);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(42);
   entry=leg->AddEntry("divide_num_LEp8_1D_A1_LXY_by_den_LEp8_1D_A1_LXY","|#eta_{#gamma D}| #leq 0.8 A1","L");
   entry->SetLineColor(1);
   entry->SetLineStyle(1);
   entry->SetLineWidth(1);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(42);
   entry=leg->AddEntry("divide_num_Gp8_1D_A1_LXY_by_den_Gp8_1D_A1_LXY","|#eta_{#gamma D}| > 0.8 A1","L");
   entry->SetLineColor(1);
   entry->SetLineStyle(2);
   entry->SetLineWidth(1);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(42);
   leg->Draw();
   eta_lz->Modified();
   eta_lz->cd();
   eta_lz->SetSelected(eta_lz);
}
Example #18
0
int main (int argc, char * argv[])
{
	// command line input
	if (argc != 3)
	{
		fprintf(stderr, "ERROR - wrong number of arguments\n");
		fprintf(stderr, "usage: %s num_data_points input_file\n", argv[0]);
		return 1;
	}

	int num_data_points = atoi(argv[1]);

	char input_file[256];
	sprintf(input_file, "%s", argv[2]);

	// set style for plots
	SetAtlasStyle();

	// input observed limits
	Float_t mZ[num_data_points];
	Float_t mA[num_data_points];
	Float_t lim_obs[num_data_points];
	Float_t lim_exp[num_data_points];
	Float_t lim_exp_err_hi[num_data_points];
	Float_t lim_exp_err_lo[num_data_points];
	Float_t lim_exp_err_hi_rel[num_data_points];
	Float_t lim_exp_err_lo_rel[num_data_points];

	FILE * file = fopen(input_file, "r");
	for (int i = 0; i < num_data_points; i++)
	{
		fscanf(file, "%f %f %f %f %f %f", &mZ[i], &mA[i], &lim_obs[i], &lim_exp[i], &lim_exp_err_hi[i], &lim_exp_err_lo[i]);
		lim_exp_err_hi_rel[i] = lim_exp_err_hi[i] - lim_exp[i];
		lim_exp_err_lo_rel[i] = lim_exp[i] - lim_exp_err_lo[i];
	}
	fclose(file);

	// set up the graphs
	TGraph * gr_lim_exp_hi_err = new TGraph(num_data_points, mZ, lim_exp_err_hi);
	gr_lim_exp_hi_err->SetFillStyle(1001);
	gr_lim_exp_hi_err->SetFillColor(kGreen);

	TGraph * gr_lim_exp_lo_err = new TGraph(num_data_points, mZ, lim_exp_err_lo);
	gr_lim_exp_lo_err->SetFillStyle(1001);
	gr_lim_exp_lo_err->SetFillColor(kWhite);

	TGraph * gr_lim_exp = new TGraph(num_data_points, mZ, lim_exp);
	gr_lim_exp->SetLineStyle(2);
	gr_lim_exp->SetLineWidth(4);

	TGraph * gr_lim_obs = new TGraph(num_data_points, mZ, lim_obs);
	gr_lim_obs->SetLineWidth(4);

	TGraph * gr_one = new TGraph(2);
	gr_one->SetPoint(0, 600, 1);
	gr_one->SetPoint(1, 1400, 1);
	gr_one->SetLineWidth(4);
	gr_one->SetLineColor(kRed);

	// set up the legend
	TLegend * l = new TLegend(0.67, 0.77, 0.92, 0.92, "");
	l->SetFillStyle(0);
	l->SetBorderSize(0);
	l->SetTextSize(0.04);
	l->SetTextFont(42);
	l->AddEntry(gr_lim_obs, "Observed Limits", "l");
	l->AddEntry(gr_lim_exp, "Expected Limits", "l");
	l->AddEntry(gr_lim_exp_hi_err, "Expected #pm1#sigma", "f");

	// get and print the intersections between the limits and a signal strength of one
	TGraph * gr_obs_one = GetIntersections(gr_lim_obs, gr_one);
	TGraph * gr_exp_one = GetIntersections(gr_lim_exp, gr_one);
	TGraph * gr_exp_lo_err_one = GetIntersections(gr_lim_exp_lo_err, gr_one);
	TGraph * gr_exp_hi_err_one = GetIntersections(gr_lim_exp_hi_err, gr_one);

	gr_obs_one->SetMarkerStyle(20);
	gr_obs_one->SetMarkerColor(kBlue);

	for (int i = 0; i < gr_obs_one->GetN(); i++)
	{
		Double_t x, y = 0;
		gr_obs_one->GetPoint(i, x, y);
		printf("observed limit intersections: %f, %f\n", x, y);
		gr_lim_obs->SetPoint(gr_lim_obs->GetN(), x, y);
		gr_lim_obs->Sort();
	}

	for (int i = 0; i < gr_exp_one->GetN(); i++)
	{
		Double_t x, y = 0;
		gr_exp_one->GetPoint(i, x, y);
		printf("expected limit intersections: %f, %f\n", x, y);
		gr_lim_exp->SetPoint(gr_lim_exp->GetN(), x, y);
		gr_lim_exp->Sort();
	}

	for (int i = 0; i < gr_exp_lo_err_one->GetN(); i++)
	{
		Double_t x, y = 0;
		gr_exp_lo_err_one->GetPoint(i, x, y);
		printf("expected limit low error intersections: %f, %f\n", x, y);
		gr_lim_exp_lo_err->SetPoint(gr_lim_exp_lo_err->GetN(), x, y);
		gr_lim_exp_lo_err->Sort();
	}

	for (int i = 0; i < gr_exp_hi_err_one->GetN(); i++)
	{
		Double_t x, y = 0;
		gr_exp_hi_err_one->GetPoint(i, x, y);
		printf("expected limit high error intersections: %f, %f\n", x, y);
		gr_lim_exp_hi_err->SetPoint(gr_lim_exp_hi_err->GetN(), x, y);
		gr_lim_exp_hi_err->Sort();
	}

	// make the canvas and draw the graphs
	TCanvas * c = new TCanvas("c", "c", 800, 600);
	c->SetLeftMargin(1.2);
	c->SetLogy();

	// add points to make error filling look nice
	Double_t x, y = 0;

	gr_lim_exp_hi_err->GetPoint(0, x, y);
	gr_lim_exp_hi_err->SetPoint(gr_lim_exp_hi_err->GetN(), x - 0.0001, 0.19);
	gr_lim_exp_hi_err->Sort();
	gr_lim_exp_hi_err->GetPoint(gr_lim_exp_hi_err->GetN() - 1, x, y);
	gr_lim_exp_hi_err->SetPoint(gr_lim_exp_hi_err->GetN(), x + 0.0001, 0.19);
	gr_lim_exp_hi_err->Sort();

	gr_lim_exp_lo_err->GetPoint(0, x, y);
	gr_lim_exp_lo_err->SetPoint(gr_lim_exp_lo_err->GetN(), x - 1, y);
	gr_lim_exp_lo_err->Sort();
	gr_lim_exp_lo_err->SetPoint(gr_lim_exp_lo_err->GetN(), x - 2, 0.19);
	gr_lim_exp_lo_err->Sort();
	gr_lim_exp_lo_err->GetPoint(gr_lim_exp_lo_err->GetN() - 1, x, y);
	gr_lim_exp_lo_err->SetPoint(gr_lim_exp_lo_err->GetN(), x + 1, y);
	gr_lim_exp_lo_err->Sort();
	gr_lim_exp_lo_err->SetPoint(gr_lim_exp_lo_err->GetN(), x + 2, 0.19);
	gr_lim_exp_lo_err->Sort();

	// format the axis of the first TGraph that we will draw
	gr_lim_exp_hi_err->GetXaxis()->SetTitle("m_{Z'} [GeV]");
	gr_lim_exp_hi_err->GetYaxis()->SetTitle("Signal Strength @ 95% CL");
	gr_lim_exp_hi_err->GetXaxis()->SetLimits(550, 1450);
	gr_lim_exp_hi_err->GetYaxis()->SetRangeUser(0.2, 15);
	gr_lim_exp_hi_err->GetYaxis()->SetTitleOffset(0.8);

	// draw all the TGraphs
	gr_lim_exp_hi_err->Draw("af");
	gr_lim_exp_lo_err->Draw("f");
	gr_lim_exp->Draw("lx");
	gr_lim_obs->Draw("l");
	gr_one->Draw("l");
	gr_obs_one->Draw("p");

	// redraw the axis
	gPad->RedrawAxis();

	// draw the legend
	l->Draw("same");

	// draw additional text
	TLatex text;
	text.SetNDC();
	text.SetTextSize(0.04);
	char mA_text[256];
	sprintf(mA_text, "m_{A} = %0.f GeV", mA[0]);
	text.DrawLatex(0.67, 0.73, mA_text);

	// output the canvas as a pdf file
	char pdf_file[256];
	sprintf(pdf_file, "mA%0.f_limits_logy.pdf", mA[0]);
	c->SaveAs(pdf_file);

	return 0;
}
 //  fit with 2 components
void fit_chi2_err_two_components(TH1F* dataInput, TH1F* sigTemplate, TH1F* bkgTemplate1,/* TH1F* bkgTemplate2,*/ std::string prefix, 
                                Double_t& sigFrac, Double_t& sigFrac_intial , Double_t& sigFrac_err, 
                                /*Double_t& bkg1Frac, Double_t& bkg1Frac_intial , Double_t& bkg1Frac_err,*/ Double_t& FitChi2)

/*  fit with 3 components
void fit_chi2_err_manytimes(TH1F* dataInput, TH1F* sigTemplate, TH1F* bkgTemplate1, TH1F* bkgTemplate2, std::string prefix, 
			    	Double_t& sigFrac, Double_t& sigFrac_intial , Double_t& sigFrac_err, 
			    	Double_t& bkg1Frac, Double_t& bkg1Frac_intial , Double_t& bkg1Frac_err, Double_t& FitChi2)
*/

//void fit_chi2_err(TH1F* dataInput, TH1F* sigTemplate, TH1F* bkgTemplate, Double_t& sigFrac, Double_t& sigFrac_err)
//void fit_chi2_err(TH1F* dataInput, TH1F* sigTemplate, TH1F* bkgTemplate, Double_t& sigFrac, Double_t& sigFrac_err, Double_t& FitChi2)
{
  gStyle->SetOptStat(kFALSE);
  gStyle->SetCanvasColor(0);
  gStyle->SetCanvasBorderMode(0);
  gStyle->SetPadBorderMode(0);
  gStyle->SetFrameBorderMode(0);

  Double_t scale=1.;




  data = (TH1D*)dataInput->Clone();
  data->SetName("data");
  data->SetLineColor(1);
  data->SetMarkerColor(1);
  data->SetXTitle("SigmaIetaIeta");
  data->Sumw2();
//  scale = 1.0/(Double_t)data->Integral(0,1000); 
  scale = 1.0/(Double_t)data->Integral();
//  scale = 1.0/(Double_t)data->Integral();//changed by Yu-hsiang
  //cout << "scale for data = " << scale << endl;
  data->Scale(scale);


  fit_result = (TH1D*)dataInput->Clone();
  fit_result->SetName("fit_result");
  fit_result->SetLineColor(8); 
  fit_result->SetMarkerColor(8);
  fit_result->SetLineStyle(2);
  fit_result->Sumw2();
  fit_result->Reset();


  signal_pos = (TH1D*)sigTemplate->Clone();
  signal_pos->SetName("signal_pos");
  signal_pos->SetLineColor(2);
  signal_pos->SetMarkerColor(2);
  signal_pos->SetFillColor(2);
  signal_pos->SetXTitle("SigmaIetaIeta");
  signal_pos->Sumw2();
//  scale = 1.0/(Double_t)signal_pos->Integral(0,1000); 
  scale = 1.0/(Double_t)signal_pos->Integral();
//  scale = 1.0/(Double_t)signal_pos->Integral();//changed by Yu-hsiang
  //cout << "scale for signal template = " << scale << endl;
  signal_pos->Scale(scale);


  background_pos1 = (TH1D*)bkgTemplate1->Clone();
  background_pos1->SetName("background_pos1");
  background_pos1->SetLineColor(4);
  background_pos1->SetMarkerColor(4);
  background_pos1->SetFillColor(4);
  background_pos1->SetXTitle("SigmaIetaIeta");
  background_pos1->Sumw2();
//  scale = 1.0/(Double_t)background_pos->Integral(0,1000); 
  scale = 1.0/(Double_t)background_pos1->Integral();
//  scale = 1.0/(Double_t)background_pos->Integral();//changed by Yu-hsiang
  //cout << "scale for background template = " << scale << endl;
  background_pos1->Scale(scale);

/*
  background_pos2 = (TH1D*)bkgTemplate2->Clone();
  background_pos2->SetName("background_pos2");
  background_pos2->SetLineColor(7);
  background_pos2->SetMarkerColor(7);
  background_pos2->SetFillColor(7);
  background_pos2->SetXTitle("SigmaIetaIeta");
  background_pos2->Sumw2();
  scale = 1.0/(Double_t)background_pos2->Integral();
  //cout << "scale for background template = " << scale << endl;
  background_pos2->Scale(scale);
*/

//////////  count the number of points and the dof   



  int Number_of_points =0 ;

//  for (int i=1;i<2000;i++){ //the Sig or Bkg histo has 2000 bins
   for (int i=1;i<= sigTemplate->GetNbinsX();i++){ 
    if(/* ( ( bkgTemplate2->GetBinContent(i) ) != 0) ||*/ ( ( bkgTemplate1->GetBinContent(i) ) != 0) || ( ( sigTemplate->GetBinContent(i) ) != 0 ) ){
    Number_of_points = Number_of_points+1;

    }
  }
//cout<<"Number_of_points:"<<Number_of_points<<endl;
int dof = Number_of_points-1 ;//dof=Number_of_points - free_par
                              //and in this case we normalize it so free_par =1
//cout<<"dof of this fit:"<<dof<<endl;



/////////


  TMinuit *gMinuit = new TMinuit(1); // initialize TMinuit with a maximum of 1 params
//  TMinuit *gMinuit = new TMinuit(2);  //initialize TMinuit with a maximum of 5 (1param??) params
  gMinuit->SetFCN(fcn); // sets function to minimize: fcn is Chi2 with errors on templates

  Double_t arglist[10];
  Int_t ierflg = 0; // status flag, it is 0 when ereything goes fine

  // -- sets error
  arglist[0] = 1;
  gMinuit->mnexcm("SET ERR", arglist ,1,ierflg);

  // set first parameter
  Double_t vstart = sigFrac_intial;
  //Double_t vstart = 0.48 ;//0.11;//intial value
  Double_t step = 0.001;
  gMinuit->mnparm(0, "fsig", vstart, step, 0,1,ierflg);

/*
  // set second parameter
    vstart = bkg1Frac_intial;
//    vstart = 0.4; //0.69;//intial value
    step = 0.001;
  gMinuit->mnparm(1, "fbk1", vstart, step, 0,1,ierflg);
*/

  // Now ready for minimization step
  arglist[0] = 1000;
  arglist[1] = 0.01;
  gMinuit->mnexcm("MIGRAD", arglist ,2,ierflg);

  Double_t fsig=0;
  Double_t fsigerr=0;
  Double_t fbk1=0;
//  Double_t fbk1err=0;
  Double_t chi2 = 0;


  if ( ierflg == 0 ) 
    {

      // Print results
      Double_t amin,edm,errdef;
      Int_t nvpar,nparx,icstat;
      gMinuit->mnstat(amin,edm,errdef,nvpar,nparx,icstat);
      gMinuit->mnprin(3,amin);
      chi2 = (gMinuit->fAmin)/dof;
      gMinuit->GetParameter(0, fsig, fsigerr );  

//      gMinuit->GetParameter(1, fbk1, fbk1err );
      //cout << "Fsig = " << fsig << " +- " << fsigerr << endl;
      //cout << "Fbk1 = " << fbk1 << " +- " << fbk1err << endl;
      //cout << "Chi2/degree of freedom = " << chi2 <<endl;
	fbk1 = 1 - fsig ; 
      TCanvas* c1 = new TCanvas("c1","",500,500);

  TH2F *htmp2 = new TH2F("htmp2","",100, 0., 0.025, 100, 0., data->GetMaximum()*1.25);

  htmp2->SetNdivisions(505,"XY");
  htmp2->SetXTitle("SigmaIetaIeta");
  htmp2->SetYTitle("A.U.");
  htmp2->SetLineColor(1); 

//     htmp2->Draw();


  TH1D* signal_display = (TH1D*)signal_pos->Clone();
  signal_display->SetName("signal_display");
  Double_t scale_sig = signal_display->Integral();
  signal_display->Scale(fsig/scale_sig);
  signal_display->SetFillStyle(3001);

      
  TH1D* background_display1 = (TH1D*)background_pos1->Clone();
  background_display1->SetName("background_display1");
  Double_t scale_background1 = background_display1->Integral();
  background_display1->Scale(fbk1/scale_background1);
  background_display1->SetFillStyle(3001);

/*
  TH1D* background_display2 = (TH1D*)background_pos2->Clone();
  background_display2->SetName("background_display2");
  Double_t scale_background2 = background_display2->Integral();
  background_display2->Scale((1-fsig-fbk1)/scale_background2);
  background_display2->SetFillStyle(3001);
*/

  fit_result->GetXaxis()->SetRangeUser(50,300);
  data->GetXaxis()->SetRangeUser(50,300);
//  fit_result->GetYaxis()->SetRangeUser(0.,0.2);
  fit_result->SetXTitle("mass of hadronic top");
  data->SetXTitle("mass of hadronic top");
//  fit_result->SetXTitle("#sigma_{i#eta i#eta}");
  fit_result->SetTitleSize(0.04,"X");
  fit_result->GetXaxis()->SetLabelSize(0.04);

  data->Draw("histe");
  fit_result->Draw("esame");
//  fit_result->Draw("histe");
//  data->Draw("esame");
  signal_display->Draw("histsame");
  background_display1->Draw("histsame");
//  background_display2->Draw("histsame");

  char result[300];
  sprintf(result,"fsig = %.3lf #pm %.3lf",fsig,fsigerr );
  sigFrac = fsig;
  sigFrac_err = fsigerr ;
//  bkg1Frac =fbk1;
//  bkg1Frac_err =fbk1err;

  FitChi2 = chi2;

  TLegend* leg = new TLegend(0.9,0.6,0.6,0.9);
  leg->SetHeader(result);
  leg->SetFillColor(0);
  leg->SetFillStyle(0);
  leg->SetTextSize(0.035);
  leg->SetBorderSize(0);
  leg->AddEntry(data,"data");
  leg->AddEntry(fit_result,"fit");
  leg->AddEntry(signal_display,"signal template");
  leg->AddEntry(background_display1,"background template1");
//  leg->AddEntry(background_display2,"background template2");
  leg->Draw("same");

cout<< "inside chi2 macro prefix: "<< prefix<< endl;

int save_flag = 0;
if (save_flag == 1){
      std::string outputFile = "plots_of_fit_results/"+  prefix + ".eps";
      c1->Print(outputFile.data());

//      outputFile = prefix + ".gif";
      outputFile = "plots_of_fit_results/"+  prefix + ".gif";
      c1->Print(outputFile.data());

      outputFile = "plots_of_fit_results/"+ prefix + ".C";
      c1->Print(outputFile.data());

      outputFile = "plots_of_fit_results/"+ prefix + ".pdf";
      c1->Print(outputFile.data());
}
    }

    
  else{
    //cout << "Fit failed!\n";
    sigFrac = 0;
    sigFrac_err = 0;
  }

  
  return;

}
Example #20
0
void plotv2vseta_4p(){

const int ntotbin=4;
const int neta24 = 24;
//const double eta[neta24]={-2.3,-2.1,-1.9,-1.7,-1.5,-1.3,-1.1,-0.9,-0.7,-0.5,-0.3,-0.1,0.1,0.3,0.5,0.7,0.9,1.1,1.3,1.5,1.7,1.9,2.1,2.3};
const double eta[neta24]={2.3,2.1,1.9,1.7,1.5,1.3,1.1,0.9,0.7,0.5,0.3,0.1,-0.1,-0.3,-0.5,-0.7,-0.9,-1.1,-1.3,-1.5,-1.7,-1.9,-2.1,-2.3};
const double v24[5][neta24]={
    {0.0432641,0.0455596,0.047398,0.0487525,0.0474855,0.048846,0.048522,0.0517424,0.0539666,0.0497799,0.0506504,0.0514888,0.052062,0.0549108,0.0568447,0.054158,0.0514865,0.0514555,0.0522606,0.0531111,0.0511507,0.0521319,0.0496498,0.0473403},
    {0.0442665,0.0447503,0.0457534,0.0493462,0.0469372,0.048526,0.0506926,0.0487161,0.0518399,0.0515905,0.0506925,0.0527857,0.0537468,0.0521099,0.0527964,0.0548288,0.051693,0.0509545,0.0495024,0.0510973,0.052487,0.0488386,0.047514,0.0476627},
    {0.0404313,0.0447685,0.0438576,0.0450373,0.0502867,0.0459248,0.0488646,0.0488743,0.052482,0.0522723,0.048692,0.0536635,0.0517914,0.0515041,0.0525336,0.0522464,0.0516658,0.0499649,0.0513079,0.0485047,0.0484243,0.0466903,0.0465833,0.0486667},
    {0.0394377,0.0382888,0.0403906,0.0446794,0.0456563,0.046237,0.0518117,0.0492207,0.0495715,0.0500253,0.0471591,0.0512425,0.0508383,0.0489873,0.0510985,0.0521952,0.0519205,0.0502002,0.0483005,0.0490915,0.0491048,0.0451727,0.0454383,0.0449816}
};
const double v24err[5][neta24]={
    {0.00213252,0.00239273,0.0016591,0.00209502,0.00225771,0.00225458,0.00248255,0.00233681,0.00119202,0.00105722,0.00118857,0.00176323,0.00178824,0.00157164,0.00268905,0.00151479,0.00223109,0.000902273,0.00233205,0.0019693,0.00187124,0.000814683,0.00219925,0.00191728},
    {0.00141958,0.000827599,0.0022066,0.00160681,0.00148752,0.00137974,0.000969869,0.00159642,0.000748125,0.000982856,0.00103947,0.00140614,0.00124063,0.000911796,0.00163491,0.00157494,0.00118583,0.00143245,0.00129396,0.00125119,0.00129714,0.00148963,0.00080729,0.00107534},
    {0.00125317,0.00147008,0.00105077,0.000622335,0.00126054,0.00128997,0.00132659,0.000939361,0.00139537,0.001373,0.000975309,0.00172908,0.00102706,0.00130696,0.00116993,0.00100326,0.00120813,0.00103887,0.00122673,0.00129249,0.00121388,0.00100021,0.000863658,0.00196428},
    {0.00273482,0.00234369,0.00134579,0.00186978,0.00199003,0.0021615,0.00134748,0.00188273,0.00139278,0.00178835,0.00261648,0.00155944,0.00203534,0.00151454,0.0016396,0.00180368,0.00164155,0.00160485,0.00200158,0.00269925,0.00228062,0.00181256,0.00102951,0.00150117}
};
const double v26[5][neta24]={
    {0.0372967,0.0454809,0.0526946,0.040252,0.0568755,0.0402211,0.041394,0.0423501,0.0505429,0.0348172,0.046218,0.0587727,0.0377846,0.0470679,0.0422496,0.0500769,0.0503031,0.0548387,0.0572582,0.0457487,0.049558,0.046186,0.0505475,0.0394379},
    {0.0285363,0.0393923,0.0400587,0.0489756,0.0540125,0.0312662,0.0429369,0.0531532,0.0543499,0.0439156,0.0417407,0.0430776,0.0428994,0.0509004,0.0480431,0.0444528,0.0496354,0.0559514,0.0394878,0.0415313,0.05425,0.0532839,0.0470465,0.0403547},
    {0.0459206,0.0355538,0.0419957,0.0344166,0.0526823,0.0417837,0.0433983,0.0498982,0.0487397,0.0571734,0.0415559,0.0469645,0.0514987,0.0489165,0.0456416,0.0482855,0.0484072,0.0516254,0.043176,0.0435458,0.0392863,0.0450654,0.0406578,0.0389489},
    {0.022798,0.026030,0.035934,0.047467,0.037035,0.041117,0.055143,0.045940,0.028821,0.047708,0.039324,0.056697,0.049173,0.037814,0.051821,0.043677,0.056958,0.042394,0.041518,0.038374,0.046884,0.038156,0.040849,0.048296}
};
const double v26err[5][neta24]={
    {0.00935143,0.00982847,0.00564785,0.00905794,0.0111128,0.00836526,0.0107956,0.0050948,0.00458922,0.00703032,0.00536614,0.00617455,0.00668817,0.00778934,0.0054874,0.00867388,0.00670244,0.00746278,0.0101004,0.00868972,0.00522075,0.00643437,0.00750222,0.0104727},
    {0.00496363,0.00568563,0.00789724,0.0048323,0.00424556,0.00381064,0.00549587,0.00698582,0.00606858,0.005248,0.00389068,0.00377182,0.00558966,0.00829005,0.00499524,0.0048063,0.00470981,0.00472216,0.00394499,0.00481531,0.00674246,0.00472761,0.00462292,0.00781334},
    {0.00545676,0.00422763,0.00492144,0.00519605,0.00478717,0.00489905,0.00360426,0.00377393,0.00562225,0.00593851,0.00600243,0.00362091,0.00439534,0.00214222,0.00588959,0.0060104,0.00502334,0.00448944,0.00550453,0.00430516,0.0046234,0.00400195,0.00446609,0.00440899},
    {0.00638419,0.00604659,0.00874978,0.00639421,0.00870034,0.00465647,0.00681883,0.00506355,0.00564328,0.00414517,0.00490768,0.00585097,0.00484191,0.00889346,0.00481556,0.00689774,0.0100838,0.00806311,0.00644624,0.00440426,0.00577399,0.00511675,0.0054603,0.00638806}
};
const double v28[5][neta24]={
    {0.0715431,0.0622705,0.032117,0.0217226,0.0672875,0.0424787,0.0176958,0.053471,0.040624,0.0637778,0.0481112,0.031055,0.0563658,0.0549635,0.0613547,0.0317414,0.0166499,0.0569516,0.0356099,0.0634825,0.0593198,0.0287702,0.029394,0.0728652},
    {0.00645559,0.0391586,0.0417692,0.0219347,0.0332012,0.0350643,0.022722,0.0145884,0.0449616,0.0458014,0.0352739,0.0583895,0.0283404,0.0515102,0.0462868,0.0586263,0.0491252,0.07865,0.0621928,0.0481825,0.0679307,0.0417835,0.0398492,0.070694},
    {0.0142113,0.0149623,0.0352779,0.0210192,0.0242208,0.0164288,0.0547812,0.0833789,0.066554,0.0481297,0.0383759,0.0512297,0.047438,0.0201015,0.0610993,0.0305725,0.0602495,0.0962027,0.0417315,0.0078534,0.0395888,0.0375707,0.0372333,0.0384892},
    {-0.056093,-0.014727,0.012444,0.060825,0.124009,0.189203,0.147548,-0.025069,-0.042198,0.144555,0.056154,-0.042462,-0.010954,0.011064,0.117553,0.077408,-0.013897,0.008107,-0.099659,0.028184,0.120390,0.080015,-0.064097,0.067662}
};
const double v28err[5][neta24]={
    {0.0189027,0.020825,0.0205137,0.0245923,0.0220476,0.0163261,0.0167048,0.0151245,0.0135629,0.0193551,0.0149366,0.0187209,0.0182479,0.0179809,0.0138375,0.022175,0.0128636,0.0171511,0.0199959,0.0167045,0.00998071,0.0129204,0.0156432,0.0131616},
    {0.0126504,0.0185545,0.0113774,0.00622928,0.0131663,0.00996583,0.0124426,0.0130636,0.0152539,0.0133118,0.0132147,0.0133987,0.0113255,0.0118079,0.0137243,0.0126674,0.0104211,0.0124122,0.00840302,0.0116605,0.00999918,0.0111701,0.0133083,0.0123068},
    {0.0118897,0.016531,0.017573,0.0177533,0.0175104,0.0163231,0.013498,0.0145697,0.0159273,0.0130186,0.0109738,0.00834695,0.0129921,0.0221044,0.014129,0.0152436,0.0193347,0.0141917,0.0178025,0.0183253,0.0154219,0.00937566,0.0139814,0.013235},
    {0.056716,0.0691342,0.0559995,0.0615565,0.0712773,0.0464516,0.0479385,0.0548723,0.0430702,0.0407193,0.0674964,0.0461579,0.0411515,0.0489988,0.0480329,0.0501363,0.0655108,0.0547294,0.0678025,0.0537292,0.0347939,0.0559245,0.0643674,0.0614759}
};
const int trkpointmin[ntotbin] = {120,150,185,220};
const int trkpointmax[ntotbin] = {150,185,220,260};
c1 = new TCanvas("c1"," ",1200,350);
makeMultiPanelCanvas(c1,4,1,0,0,0.15,0.15,0.01);
    gStyle->SetOptFit(1);
    gStyle->SetOptStat(0);
    gStyle->SetOptTitle(0);
    gStyle->SetErrorX(0);
    TH1D *hFrame = new TH1D("","",80,-3,3);
    hFrame->SetTitle("");
    hFrame->SetTitle("v_{2} vs #eta");
    hFrame->GetXaxis()->SetTitle("#eta");
    hFrame->GetYaxis()->SetTitle("v_{2}");	
    hFrame->GetXaxis()->SetTitleSize(0.06);
    hFrame->GetYaxis()->SetTitleSize(0.06);
    hFrame->GetXaxis()->SetLabelSize(0.06);
    hFrame->GetYaxis()->SetLabelSize(0.06);
    hFrame->GetXaxis()->CenterTitle();
    hFrame->GetYaxis()->CenterTitle();
    hFrame->GetYaxis()->SetNdivisions(505);
    hFrame->GetXaxis()->SetRangeUser(-2.5,2.5);
    hFrame->SetMaximum(0.18);

int xbin=0;
for(int i=0;i<ntotbin;i++){
	//TFile *fProderr = TFile::Open(Form("M%d%d/mergedv_Prod2_eta_sub.root",trkpointmax[i],trkpointmin[i]));
	TFile *fProderr = TFile::Open(Form("M%d%d/mergedv_Prod2_coarse_eta_sub.root",trkpointmax[i],trkpointmin[i]));
	//TFile *fProd = TFile::Open(Form("M%d%d/mergedv_Prod2_eta.root",trkpointmax[t-1],trkpointmin[t-1]));
	TVectorD *vecDv2_Proderr = (TVectorD*)fProderr->Get(Form("D_%d/vmeanmean",xbin));
	TVectorD *vecDv2err_Proderr = (TVectorD*)fProderr->Get(Form("D_%d/sigmavmeanmean",xbin));
	TVectorD *vecDavgeta_Proderr = (TVectorD*)fProderr->Get(Form("D_%d/avgavgeta",xbin));
	
	//TVectorD *vecDv2_Prod = (TVectorD*)fProd->Get(Form("D_%d/vmean",xbin));
	//TVectorD *vecDv2err_Prod = (TVectorD*)fProd->Get(Form("D_%d/deltavmean",xbin));
	//TVectorD *vecDavgeta_Prod = (TVectorD*)fProd->Get(Form("D_%d/avgeta",xbin));

	double *avgeta_Proderr = vecDavgeta_Proderr->GetMatrixArray();
	double *v2_Proderr = vecDv2_Proderr->GetMatrixArray();
	double *v2err_Proderr = vecDv2err_Proderr->GetMatrixArray();

	//double *avgeta_Prod = vecDavgeta_Prod->GetMatrixArray();
	//double *v2_Prod = vecDv2_Prod->GetMatrixArray();
	//double *v2err_Prod = vecDv2err_Prod->GetMatrixArray();
	int neta = vecDavgeta_Proderr->GetNrows();
	
	c1->cd(i+1);
	//if(i!=ntotbin-1)
	//TGraphErrors *grProd=new TGraphErrors(neta,avgeta_Prod,v2_Prod,0,v2err_Prod);
	TGraphErrors *grProd=new TGraphErrors(neta,avgeta_Proderr,v2_Proderr,0,v2err_Proderr);
	TGraphErrors *gr24=new TGraphErrors(neta24,eta,v24[i],0,v24err[i]);
	TGraphErrors *gr26=new TGraphErrors(neta24,eta,v26[i],0,v26err[i]);
	TGraphErrors *gr28=new TGraphErrors(neta24,eta,v28[i],0,v28err[i]);
	gr24->SetMarkerSize(1.4);
	gr24->SetMarkerColor(1);
	gr24->SetMarkerStyle(20);
	gr24->SetLineColor(1);
	gr26->SetMarkerSize(1.4);
	gr26->SetMarkerColor(4);
	gr26->SetMarkerStyle(34);
	gr26->SetLineColor(4);
	gr28->SetMarkerSize(1.4);
	gr28->SetMarkerColor(2);
	gr28->SetMarkerStyle(33);
	gr28->SetLineColor(2);
	grProd->SetMarkerSize(1.5);
	grProd->SetMarkerStyle(20);
	grProd->SetMarkerColor(6);
	grProd->SetLineColor(6);
	hFrame->Draw();
	gr24->Draw("Psame");
	gr26->Draw("Psame");
	gr28->Draw("Psame");
	grProd->Draw("Psame");
	TLegend *tl = new TLegend(0.2,0.70,0.4,0.95);
	tl->SetFillColor(0);
	tl->SetBorderSize(0);
	tl->SetTextSize(0.055);
	tl->AddEntry(grProd,"v_{2}{LYZ}","lp");
	tl->AddEntry(gr24,"v_{2}{4} cumulant","lp");
	tl->AddEntry(gr26,"v_{2}{6} cumulant","lp");
	tl->AddEntry(gr28,"v_{2}{8} cumulant","lp");
            TLatex *tlx0 = new TLatex(0.2,0.85,Form("CMS pPb #sqrt{s_{NN}} = 5.02TeV"));
	tlx0->SetNDC();
	tlx0->SetTextSize(0.065);
	if(i==0)
	tlx0->Draw("same");
	if(i==0) 
		TLatex *tlx2 = new TLatex(0.6,0.2,Form("%d<N_{trk}^{offline}<%d",trkpointmin[i],trkpointmax[i]));
	else
		TLatex *tlx2 = new TLatex(0.5,0.2,Form("%d<N_{trk}^{offline}<%d",trkpointmin[i],trkpointmax[i]));
	if(i==1) tl->Draw("same");
	tlx2->SetNDC();
	tlx2->SetTextSize(0.055);
	tlx2->Draw("same");
	//fProd->Close();
        //TLatex *tlx1 = new TLatex(0.12,0.25,Form("%.1f<p_{T}<%.1f (GeV/c)",0.3,6.0));
	//tlx1->SetNDC();
	//tlx1->SetTextSize(0.045);
        }
	//tlx1->Draw("same");
	c1->Print("v2vseta_4p_comp.png");
	c1->Print("v2vseta_4p_comp.pdf");
}
void TracktoSegX_2015all_sameYrange()
{
//=========Macro generated from canvas: TracktoSegX/TracktoSegX
//=========  (Fri Aug  5 08:13:37 2016) by ROOT version6.06/01
   TCanvas *TracktoSegX = new TCanvas("TracktoSegX", "TracktoSegX",0,0,500,500);
   gStyle->SetOptStat(0);
   TracktoSegX->SetHighLightColor(2);
   TracktoSegX->Range(-50,-2.848556,50,2.626708);
   TracktoSegX->SetFillColor(0);
   TracktoSegX->SetBorderMode(0);
   TracktoSegX->SetBorderSize(2);
   TracktoSegX->SetLogy();
   TracktoSegX->SetFrameBorderMode(0);
   TracktoSegX->SetFrameBorderMode(0);
   
   TH1D *TracktoSegX_1__97 = new TH1D("TracktoSegX_1__97","TracktoSegX",100,-40,40);
   TracktoSegX_1__97->SetBinContent(0,375.4342);
   TracktoSegX_1__97->SetBinContent(12,0.001237011);
   TracktoSegX_1__97->SetBinContent(15,0.001237011);
   TracktoSegX_1__97->SetBinContent(16,0.002474023);
   TracktoSegX_1__97->SetBinContent(18,0.001237011);
   TracktoSegX_1__97->SetBinContent(19,0.0105146);
   TracktoSegX_1__97->SetBinContent(20,0.006185057);
   TracktoSegX_1__97->SetBinContent(21,0.01608115);
   TracktoSegX_1__97->SetBinContent(22,0.02968827);
   TracktoSegX_1__97->SetBinContent(23,0.03958436);
   TracktoSegX_1__97->SetBinContent(24,0.0222662);
   TracktoSegX_1__97->SetBinContent(25,0.05319149);
   TracktoSegX_1__97->SetBinContent(26,0.05813953);
   TracktoSegX_1__97->SetBinContent(27,0.08164275);
   TracktoSegX_1__97->SetBinContent(28,0.1292677);
   TracktoSegX_1__97->SetBinContent(29,0.1373083);
   TracktoSegX_1__97->SetBinContent(30,0.1688521);
   TracktoSegX_1__97->SetBinContent(31,0.1929738);
   TracktoSegX_1__97->SetBinContent(32,0.2554429);
   TracktoSegX_1__97->SetBinContent(33,0.3284265);
   TracktoSegX_1__97->SetBinContent(34,0.3698664);
   TracktoSegX_1__97->SetBinContent(35,0.3958436);
   TracktoSegX_1__97->SetBinContent(36,0.494186);
   TracktoSegX_1__97->SetBinContent(37,0.4997526);
   TracktoSegX_1__97->SetBinContent(38,0.5745918);
   TracktoSegX_1__97->SetBinContent(39,0.5838694);
   TracktoSegX_1__97->SetBinContent(40,0.7119);
   TracktoSegX_1__97->SetBinContent(41,0.8040574);
   TracktoSegX_1__97->SetBinContent(42,0.8640524);
   TracktoSegX_1__97->SetBinContent(43,0.8832261);
   TracktoSegX_1__97->SetBinContent(44,1.021153);
   TracktoSegX_1__97->SetBinContent(45,1.113929);
   TracktoSegX_1__97->SetBinContent(46,1.229589);
   TracktoSegX_1__97->SetBinContent(47,1.442355);
   TracktoSegX_1__97->SetBinContent(48,1.804181);
   TracktoSegX_1__97->SetBinContent(49,3.077684);
   TracktoSegX_1__97->SetBinContent(50,32.86739);
   TracktoSegX_1__97->SetBinContent(51,32.61009);
   TracktoSegX_1__97->SetBinContent(52,2.986764);
   TracktoSegX_1__97->SetBinContent(53,1.827684);
   TracktoSegX_1__97->SetBinContent(54,1.49431);
   TracktoSegX_1__97->SetBinContent(55,1.259278);
   TracktoSegX_1__97->SetBinContent(56,1.081148);
   TracktoSegX_1__97->SetBinContent(57,1.019297);
   TracktoSegX_1__97->SetBinContent(58,0.8819891);
   TracktoSegX_1__97->SetBinContent(59,0.8257051);
   TracktoSegX_1__97->SetBinContent(60,0.7174666);
   TracktoSegX_1__97->SetBinContent(61,0.6729342);
   TracktoSegX_1__97->SetBinContent(62,0.650668);
   TracktoSegX_1__97->SetBinContent(63,0.5523256);
   TracktoSegX_1__97->SetBinContent(64,0.5411925);
   TracktoSegX_1__97->SetBinContent(65,0.3983177);
   TracktoSegX_1__97->SetBinContent(66,0.4063582);
   TracktoSegX_1__97->SetBinContent(67,0.329045);
   TracktoSegX_1__97->SetBinContent(68,0.2845126);
   TracktoSegX_1__97->SetBinContent(69,0.2467838);
   TracktoSegX_1__97->SetBinContent(70,0.2523503);
   TracktoSegX_1__97->SetBinContent(71,0.1571004);
   TracktoSegX_1__97->SetBinContent(72,0.1261752);
   TracktoSegX_1__97->SetBinContent(73,0.103909);
   TracktoSegX_1__97->SetBinContent(74,0.07422068);
   TracktoSegX_1__97->SetBinContent(75,0.05999505);
   TracktoSegX_1__97->SetBinContent(76,0.03834735);
   TracktoSegX_1__97->SetBinContent(77,0.0321623);
   TracktoSegX_1__97->SetBinContent(78,0.02350322);
   TracktoSegX_1__97->SetBinContent(79,0.02102919);
   TracktoSegX_1__97->SetBinContent(80,0.01731816);
   TracktoSegX_1__97->SetBinContent(81,0.007422068);
   TracktoSegX_1__97->SetBinContent(82,0.007422068);
   TracktoSegX_1__97->SetBinContent(83,0.007422068);
   TracktoSegX_1__97->SetBinContent(84,0.003711034);
   TracktoSegX_1__97->SetBinContent(85,0.004948046);
   TracktoSegX_1__97->SetBinContent(86,0.001237011);
   TracktoSegX_1__97->SetBinContent(87,0.002474023);
   TracktoSegX_1__97->SetMinimum(0.005);
   TracktoSegX_1__97->SetMaximum(120);
   TracktoSegX_1__97->SetEntries(768682);
   TracktoSegX_1__97->SetStats(0);

   Int_t ci;      // for color index setting
   TColor *color; // for color definition with alpha
   ci = TColor::GetColor("#ff00ff");
   TracktoSegX_1__97->SetLineColor(ci);

   ci = TColor::GetColor("#ff00ff");
   TracktoSegX_1__97->SetMarkerColor(ci);
   TracktoSegX_1__97->GetXaxis()->SetTitle("cm");
   TracktoSegX_1__97->GetYaxis()->SetTitle("scaled number of entries");
   TracktoSegX_1__97->Draw("H");
   
   TLegend *leg = new TLegend(0.5,0.7,0.9,0.9,NULL,"brNDC");
   leg->SetBorderSize(1);
   leg->SetTextFont(62);
   leg->SetTextSize(0.02);
   leg->SetLineColor(1);
   leg->SetLineStyle(1);
   leg->SetLineWidth(1);
   leg->SetFillColor(0);
   leg->SetFillStyle(1001);
   TLegendEntry *entry=leg->AddEntry("TracktoSegX_1","ME11A: mean:-0.0cm;RMS:4.5cm","l");

   ci = TColor::GetColor("#ff00ff");
   entry->SetLineColor(ci);
   entry->SetLineStyle(1);
   entry->SetLineWidth(1);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(62);
   entry=leg->AddEntry("TracktoSegX_2","ME11B: mean:0.0cm;RMS:4.7cm","l");

   ci = TColor::GetColor("#ff9999");
   entry->SetLineColor(ci);
   entry->SetLineStyle(1);
   entry->SetLineWidth(1);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(62);
   entry=leg->AddEntry("TracktoSegX_3","ME12+13: mean:-0.0cm;RMS:3.5cm","l");
   entry->SetLineColor(1);
   entry->SetLineStyle(1);
   entry->SetLineWidth(1);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(62);
   entry=leg->AddEntry("TracktoSegX_4","ME2: mean:-0.0cm;RMS:3.8cm","l");

   ci = TColor::GetColor("#ff0000");
   entry->SetLineColor(ci);
   entry->SetLineStyle(1);
   entry->SetLineWidth(1);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(62);
   entry=leg->AddEntry("TracktoSegX_5","ME3: mean:0.0cm;RMS:2.8cm","l");

   ci = TColor::GetColor("#00ff00");
   entry->SetLineColor(ci);
   entry->SetLineStyle(1);
   entry->SetLineWidth(1);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(62);
   entry=leg->AddEntry("TracktoSegX_6","ME4: mean:-0.0cm;RMS:2.4cm","l");

   ci = TColor::GetColor("#0000ff");
   entry->SetLineColor(ci);
   entry->SetLineStyle(1);
   entry->SetLineWidth(1);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(62);
   leg->Draw();
   
   TH1D *TracktoSegX_2__98 = new TH1D("TracktoSegX_2__98","TracktoSegX",100,-40,40);
   TracktoSegX_2__98->SetBinContent(0,259.1199);
   TracktoSegX_2__98->SetBinContent(4,0.0005124775);
   TracktoSegX_2__98->SetBinContent(5,0.001024955);
   TracktoSegX_2__98->SetBinContent(6,0.001537433);
   TracktoSegX_2__98->SetBinContent(7,0.00204991);
   TracktoSegX_2__98->SetBinContent(8,0.002562388);
   TracktoSegX_2__98->SetBinContent(9,0.003843582);
   TracktoSegX_2__98->SetBinContent(10,0.003587343);
   TracktoSegX_2__98->SetBinContent(11,0.006662208);
   TracktoSegX_2__98->SetBinContent(12,0.01127451);
   TracktoSegX_2__98->SetBinContent(13,0.01281194);
   TracktoSegX_2__98->SetBinContent(14,0.01793671);
   TracktoSegX_2__98->SetBinContent(15,0.01896167);
   TracktoSegX_2__98->SetBinContent(16,0.02383021);
   TracktoSegX_2__98->SetBinContent(17,0.0297237);
   TracktoSegX_2__98->SetBinContent(18,0.03382352);
   TracktoSegX_2__98->SetBinContent(19,0.04048573);
   TracktoSegX_2__98->SetBinContent(20,0.04663546);
   TracktoSegX_2__98->SetBinContent(21,0.05150399);
   TracktoSegX_2__98->SetBinContent(22,0.05406638);
   TracktoSegX_2__98->SetBinContent(23,0.06867199);
   TracktoSegX_2__98->SetBinContent(24,0.09480835);
   TracktoSegX_2__98->SetBinContent(25,0.09942064);
   TracktoSegX_2__98->SetBinContent(26,0.1086452);
   TracktoSegX_2__98->SetBinContent(27,0.1314505);
   TracktoSegX_2__98->SetBinContent(28,0.1450311);
   TracktoSegX_2__98->SetBinContent(29,0.1563057);
   TracktoSegX_2__98->SetBinContent(30,0.1883355);
   TracktoSegX_2__98->SetBinContent(31,0.1965351);
   TracktoSegX_2__98->SetBinContent(32,0.1924353);
   TracktoSegX_2__98->SetBinContent(33,0.216778);
   TracktoSegX_2__98->SetBinContent(34,0.2395833);
   TracktoSegX_2__98->SetBinContent(35,0.2705881);
   TracktoSegX_2__98->SetBinContent(36,0.2711006);
   TracktoSegX_2__98->SetBinContent(37,0.2977495);
   TracktoSegX_2__98->SetBinContent(38,0.3202985);
   TracktoSegX_2__98->SetBinContent(39,0.3223484);
   TracktoSegX_2__98->SetBinContent(40,0.3574531);
   TracktoSegX_2__98->SetBinContent(41,0.3817958);
   TracktoSegX_2__98->SetBinContent(42,0.4087008);
   TracktoSegX_2__98->SetBinContent(43,0.4412432);
   TracktoSegX_2__98->SetBinContent(44,0.5106839);
   TracktoSegX_2__98->SetBinContent(45,0.5993425);
   TracktoSegX_2__98->SetBinContent(46,0.7343803);
   TracktoSegX_2__98->SetBinContent(47,0.9708887);
   TracktoSegX_2__98->SetBinContent(48,1.494897);
   TracktoSegX_2__98->SetBinContent(49,3.267044);
   TracktoSegX_2__98->SetBinContent(50,37.33783);
   TracktoSegX_2__98->SetBinContent(51,36.97833);
   TracktoSegX_2__98->SetBinContent(52,3.26192);
   TracktoSegX_2__98->SetBinContent(53,1.436987);
   TracktoSegX_2__98->SetBinContent(54,0.9283531);
   TracktoSegX_2__98->SetBinContent(55,0.7395051);
   TracktoSegX_2__98->SetBinContent(56,0.5714125);
   TracktoSegX_2__98->SetBinContent(57,0.5099152);
   TracktoSegX_2__98->SetBinContent(58,0.4555925);
   TracktoSegX_2__98->SetBinContent(59,0.4151068);
   TracktoSegX_2__98->SetBinContent(60,0.3835894);
   TracktoSegX_2__98->SetBinContent(61,0.3664214);
   TracktoSegX_2__98->SetBinContent(62,0.3364415);
   TracktoSegX_2__98->SetBinContent(63,0.2885249);
   TracktoSegX_2__98->SetBinContent(64,0.3154299);
   TracktoSegX_2__98->SetBinContent(65,0.2769941);
   TracktoSegX_2__98->SetBinContent(66,0.2685382);
   TracktoSegX_2__98->SetBinContent(67,0.2621323);
   TracktoSegX_2__98->SetBinContent(68,0.2265151);
   TracktoSegX_2__98->SetBinContent(69,0.2298462);
   TracktoSegX_2__98->SetBinContent(70,0.1893605);
   TracktoSegX_2__98->SetBinContent(71,0.1616867);
   TracktoSegX_2__98->SetBinContent(72,0.1775735);
   TracktoSegX_2__98->SetBinContent(73,0.1460561);
   TracktoSegX_2__98->SetBinContent(74,0.1224821);
   TracktoSegX_2__98->SetBinContent(75,0.1260695);
   TracktoSegX_2__98->SetBinContent(76,0.09147724);
   TracktoSegX_2__98->SetBinContent(77,0.09275844);
   TracktoSegX_2__98->SetBinContent(78,0.0799465);
   TracktoSegX_2__98->SetBinContent(79,0.06098483);
   TracktoSegX_2__98->SetBinContent(80,0.06175354);
   TracktoSegX_2__98->SetBinContent(81,0.06098483);
   TracktoSegX_2__98->SetBinContent(82,0.03536095);
   TracktoSegX_2__98->SetBinContent(83,0.02562388);
   TracktoSegX_2__98->SetBinContent(84,0.02459892);
   TracktoSegX_2__98->SetBinContent(85,0.02101158);
   TracktoSegX_2__98->SetBinContent(86,0.0204991);
   TracktoSegX_2__98->SetBinContent(87,0.01229946);
   TracktoSegX_2__98->SetBinContent(88,0.01383689);
   TracktoSegX_2__98->SetBinContent(89,0.01076203);
   TracktoSegX_2__98->SetBinContent(90,0.006149731);
   TracktoSegX_2__98->SetBinContent(91,0.006149731);
   TracktoSegX_2__98->SetBinContent(92,0.005637253);
   TracktoSegX_2__98->SetBinContent(93,0.001537433);
   TracktoSegX_2__98->SetBinContent(94,0.00204991);
   TracktoSegX_2__98->SetBinContent(95,0.00204991);
   TracktoSegX_2__98->SetBinContent(96,0.001024955);
   TracktoSegX_2__98->SetBinContent(97,0.001024955);
   TracktoSegX_2__98->SetBinContent(98,0.0005124775);
   TracktoSegX_2__98->SetEntries(1401505);
   TracktoSegX_2__98->SetStats(0);

   ci = TColor::GetColor("#ff9999");
   TracktoSegX_2__98->SetLineColor(ci);

   ci = TColor::GetColor("#ff9999");
   TracktoSegX_2__98->SetMarkerColor(ci);
   TracktoSegX_2__98->GetXaxis()->SetTitle("cm");
   TracktoSegX_2__98->GetYaxis()->SetTitle("scaled number of entries");
   TracktoSegX_2__98->Draw("H,same");
   
   leg = new TLegend(0.5,0.7,0.9,0.9,NULL,"brNDC");
   leg->SetBorderSize(1);
   leg->SetTextFont(62);
   leg->SetTextSize(0.02);
   leg->SetLineColor(1);
   leg->SetLineStyle(1);
   leg->SetLineWidth(1);
   leg->SetFillColor(0);
   leg->SetFillStyle(1001);
   entry=leg->AddEntry("TracktoSegX_1","ME11A: mean:-0.0cm;RMS:4.5cm","l");

   ci = TColor::GetColor("#ff00ff");
   entry->SetLineColor(ci);
   entry->SetLineStyle(1);
   entry->SetLineWidth(1);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(62);
   entry=leg->AddEntry("TracktoSegX_2","ME11B: mean:0.0cm;RMS:4.7cm","l");

   ci = TColor::GetColor("#ff9999");
   entry->SetLineColor(ci);
   entry->SetLineStyle(1);
   entry->SetLineWidth(1);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(62);
   entry=leg->AddEntry("TracktoSegX_3","ME12+13: mean:-0.0cm;RMS:3.5cm","l");
   entry->SetLineColor(1);
   entry->SetLineStyle(1);
   entry->SetLineWidth(1);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(62);
   entry=leg->AddEntry("TracktoSegX_4","ME2: mean:-0.0cm;RMS:3.8cm","l");

   ci = TColor::GetColor("#ff0000");
   entry->SetLineColor(ci);
   entry->SetLineStyle(1);
   entry->SetLineWidth(1);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(62);
   entry=leg->AddEntry("TracktoSegX_5","ME3: mean:0.0cm;RMS:2.8cm","l");

   ci = TColor::GetColor("#00ff00");
   entry->SetLineColor(ci);
   entry->SetLineStyle(1);
   entry->SetLineWidth(1);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(62);
   entry=leg->AddEntry("TracktoSegX_6","ME4: mean:-0.0cm;RMS:2.4cm","l");

   ci = TColor::GetColor("#0000ff");
   entry->SetLineColor(ci);
   entry->SetLineStyle(1);
   entry->SetLineWidth(1);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(62);
   leg->Draw();
   
   TH1D *TracktoSegX_3__99 = new TH1D("TracktoSegX_3__99","TracktoSegX",100,-40,40);
   TracktoSegX_3__99->SetBinContent(0,87.29437);
   TracktoSegX_3__99->SetBinContent(1,0.006549083);
   TracktoSegX_3__99->SetBinContent(2,0.01309817);
   TracktoSegX_3__99->SetBinContent(3,0.02292179);
   TracktoSegX_3__99->SetBinContent(4,0.008186354);
   TracktoSegX_3__99->SetBinContent(5,0.006549083);
   TracktoSegX_3__99->SetBinContent(6,0.009823625);
   TracktoSegX_3__99->SetBinContent(7,0.01800998);
   TracktoSegX_3__99->SetBinContent(8,0.01555407);
   TracktoSegX_3__99->SetBinContent(9,0.01473544);
   TracktoSegX_3__99->SetBinContent(10,0.01882861);
   TracktoSegX_3__99->SetBinContent(11,0.01555407);
   TracktoSegX_3__99->SetBinContent(12,0.01719134);
   TracktoSegX_3__99->SetBinContent(13,0.01555407);
   TracktoSegX_3__99->SetBinContent(14,0.0139168);
   TracktoSegX_3__99->SetBinContent(15,0.02292179);
   TracktoSegX_3__99->SetBinContent(16,0.02210316);
   TracktoSegX_3__99->SetBinContent(17,0.02128452);
   TracktoSegX_3__99->SetBinContent(18,0.01800998);
   TracktoSegX_3__99->SetBinContent(19,0.01800998);
   TracktoSegX_3__99->SetBinContent(20,0.03438269);
   TracktoSegX_3__99->SetBinContent(21,0.02210316);
   TracktoSegX_3__99->SetBinContent(22,0.03151746);
   TracktoSegX_3__99->SetBinContent(23,0.03438269);
   TracktoSegX_3__99->SetBinContent(24,0.03151746);
   TracktoSegX_3__99->SetBinContent(25,0.0392945);
   TracktoSegX_3__99->SetBinContent(26,0.02210316);
   TracktoSegX_3__99->SetBinContent(27,0.0392945);
   TracktoSegX_3__99->SetBinContent(28,0.04175041);
   TracktoSegX_3__99->SetBinContent(29,0.0253777);
   TracktoSegX_3__99->SetBinContent(30,0.0392945);
   TracktoSegX_3__99->SetBinContent(31,0.03683859);
   TracktoSegX_3__99->SetBinContent(32,0.03847586);
   TracktoSegX_3__99->SetBinContent(33,0.04502495);
   TracktoSegX_3__99->SetBinContent(34,0.05280198);
   TracktoSegX_3__99->SetBinContent(35,0.05730448);
   TracktoSegX_3__99->SetBinContent(36,0.06057902);
   TracktoSegX_3__99->SetBinContent(37,0.05935107);
   TracktoSegX_3__99->SetBinContent(38,0.07203992);
   TracktoSegX_3__99->SetBinContent(39,0.07981695);
   TracktoSegX_3__99->SetBinContent(40,0.09496171);
   TracktoSegX_3__99->SetBinContent(41,0.1015108);
   TracktoSegX_3__99->SetBinContent(42,0.1530848);
   TracktoSegX_3__99->SetBinContent(43,0.217757);
   TracktoSegX_3__99->SetBinContent(44,0.3307287);
   TracktoSegX_3__99->SetBinContent(45,0.6188884);
   TracktoSegX_3__99->SetBinContent(46,1.039258);
   TracktoSegX_3__99->SetBinContent(47,2.144415);
   TracktoSegX_3__99->SetBinContent(48,4.776738);
   TracktoSegX_3__99->SetBinContent(49,12.08347);
   TracktoSegX_3__99->SetBinContent(50,27.23887);
   TracktoSegX_3__99->SetBinContent(51,27.20489);
   TracktoSegX_3__99->SetBinContent(52,12.24515);
   TracktoSegX_3__99->SetBinContent(53,4.901989);
   TracktoSegX_3__99->SetBinContent(54,2.116991);
   TracktoSegX_3__99->SetBinContent(55,0.9835905);
   TracktoSegX_3__99->SetBinContent(56,0.5615839);
   TracktoSegX_3__99->SetBinContent(57,0.3331846);
   TracktoSegX_3__99->SetBinContent(58,0.2050682);
   TracktoSegX_3__99->SetBinContent(59,0.1690482);
   TracktoSegX_3__99->SetBinContent(60,0.1268885);
   TracktoSegX_3__99->SetBinContent(61,0.09086853);
   TracktoSegX_3__99->SetBinContent(62,0.08186354);
   TracktoSegX_3__99->SetBinContent(63,0.05976039);
   TracktoSegX_3__99->SetBinContent(64,0.05607653);
   TracktoSegX_3__99->SetBinContent(65,0.06385356);
   TracktoSegX_3__99->SetBinContent(66,0.04829949);
   TracktoSegX_3__99->SetBinContent(67,0.04666222);
   TracktoSegX_3__99->SetBinContent(68,0.05566721);
   TracktoSegX_3__99->SetBinContent(69,0.04093177);
   TracktoSegX_3__99->SetBinContent(70,0.03274542);
   TracktoSegX_3__99->SetBinContent(71,0.02947087);
   TracktoSegX_3__99->SetBinContent(72,0.03765723);
   TracktoSegX_3__99->SetBinContent(73,0.03028951);
   TracktoSegX_3__99->SetBinContent(74,0.02578702);
   TracktoSegX_3__99->SetBinContent(75,0.02947087);
   TracktoSegX_3__99->SetBinContent(76,0.02374043);
   TracktoSegX_3__99->SetBinContent(77,0.02660565);
   TracktoSegX_3__99->SetBinContent(78,0.02742429);
   TracktoSegX_3__99->SetBinContent(79,0.02865224);
   TracktoSegX_3__99->SetBinContent(80,0.02374043);
   TracktoSegX_3__99->SetBinContent(81,0.02455906);
   TracktoSegX_3__99->SetBinContent(82,0.02455906);
   TracktoSegX_3__99->SetBinContent(83,0.02455906);
   TracktoSegX_3__99->SetBinContent(84,0.03028951);
   TracktoSegX_3__99->SetBinContent(85,0.0278336);
   TracktoSegX_3__99->SetBinContent(86,0.01473544);
   TracktoSegX_3__99->SetBinContent(87,0.01432612);
   TracktoSegX_3__99->SetBinContent(88,0.01719134);
   TracktoSegX_3__99->SetBinContent(89,0.01637271);
   TracktoSegX_3__99->SetBinContent(90,0.01473544);
   TracktoSegX_3__99->SetBinContent(91,0.0114609);
   TracktoSegX_3__99->SetBinContent(92,0.02046589);
   TracktoSegX_3__99->SetBinContent(93,0.01309817);
   TracktoSegX_3__99->SetBinContent(94,0.0114609);
   TracktoSegX_3__99->SetBinContent(95,0.0114609);
   TracktoSegX_3__99->SetBinContent(96,0.01227953);
   TracktoSegX_3__99->SetBinContent(97,0.01064226);
   TracktoSegX_3__99->SetBinContent(98,0.009823625);
   TracktoSegX_3__99->SetBinContent(99,0.01227953);
   TracktoSegX_3__99->SetBinContent(100,0.008186354);
   TracktoSegX_3__99->SetBinContent(101,0.1338469);
   TracktoSegX_3__99->SetEntries(457904);
   TracktoSegX_3__99->SetStats(0);
   TracktoSegX_3__99->GetXaxis()->SetTitle("cm");
   TracktoSegX_3__99->GetYaxis()->SetTitle("scaled number of entries");
   TracktoSegX_3__99->Draw("H,same");
   
   leg = new TLegend(0.5,0.7,0.9,0.9,NULL,"brNDC");
   leg->SetBorderSize(1);
   leg->SetTextFont(62);
   leg->SetTextSize(0.02);
   leg->SetLineColor(1);
   leg->SetLineStyle(1);
   leg->SetLineWidth(1);
   leg->SetFillColor(0);
   leg->SetFillStyle(1001);
   entry=leg->AddEntry("TracktoSegX_1","ME11A: mean:-0.0cm;RMS:4.5cm","l");

   ci = TColor::GetColor("#ff00ff");
   entry->SetLineColor(ci);
   entry->SetLineStyle(1);
   entry->SetLineWidth(1);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(62);
   entry=leg->AddEntry("TracktoSegX_2","ME11B: mean:0.0cm;RMS:4.7cm","l");

   ci = TColor::GetColor("#ff9999");
   entry->SetLineColor(ci);
   entry->SetLineStyle(1);
   entry->SetLineWidth(1);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(62);
   entry=leg->AddEntry("TracktoSegX_3","ME12+13: mean:-0.0cm;RMS:3.5cm","l");
   entry->SetLineColor(1);
   entry->SetLineStyle(1);
   entry->SetLineWidth(1);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(62);
   entry=leg->AddEntry("TracktoSegX_4","ME2: mean:-0.0cm;RMS:3.8cm","l");

   ci = TColor::GetColor("#ff0000");
   entry->SetLineColor(ci);
   entry->SetLineStyle(1);
   entry->SetLineWidth(1);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(62);
   entry=leg->AddEntry("TracktoSegX_5","ME3: mean:0.0cm;RMS:2.8cm","l");

   ci = TColor::GetColor("#00ff00");
   entry->SetLineColor(ci);
   entry->SetLineStyle(1);
   entry->SetLineWidth(1);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(62);
   entry=leg->AddEntry("TracktoSegX_6","ME4: mean:-0.0cm;RMS:2.4cm","l");

   ci = TColor::GetColor("#0000ff");
   entry->SetLineColor(ci);
   entry->SetLineStyle(1);
   entry->SetLineWidth(1);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(62);
   leg->Draw();
   
   TH1D *TracktoSegX_4__100 = new TH1D("TracktoSegX_4__100","TracktoSegX",100,-40,40);
   TracktoSegX_4__100->SetBinContent(0,206.7981);
   TracktoSegX_4__100->SetBinContent(1,0.01644545);
   TracktoSegX_4__100->SetBinContent(2,0.021105);
   TracktoSegX_4__100->SetBinContent(3,0.02439409);
   TracktoSegX_4__100->SetBinContent(4,0.01795295);
   TracktoSegX_4__100->SetBinContent(5,0.02055682);
   TracktoSegX_4__100->SetBinContent(6,0.02439409);
   TracktoSegX_4__100->SetBinContent(7,0.01836409);
   TracktoSegX_4__100->SetBinContent(8,0.01863818);
   TracktoSegX_4__100->SetBinContent(9,0.02069386);
   TracktoSegX_4__100->SetBinContent(10,0.02247545);
   TracktoSegX_4__100->SetBinContent(11,0.02507932);
   TracktoSegX_4__100->SetBinContent(12,0.02576454);
   TracktoSegX_4__100->SetBinContent(13,0.02247545);
   TracktoSegX_4__100->SetBinContent(14,0.01918636);
   TracktoSegX_4__100->SetBinContent(15,0.02165318);
   TracktoSegX_4__100->SetBinContent(16,0.02165318);
   TracktoSegX_4__100->SetBinContent(17,0.02754613);
   TracktoSegX_4__100->SetBinContent(18,0.02384591);
   TracktoSegX_4__100->SetBinContent(19,0.02686091);
   TracktoSegX_4__100->SetBinContent(20,0.02466818);
   TracktoSegX_4__100->SetBinContent(21,0.02439409);
   TracktoSegX_4__100->SetBinContent(22,0.02740909);
   TracktoSegX_4__100->SetBinContent(23,0.03124636);
   TracktoSegX_4__100->SetBinContent(24,0.02823136);
   TracktoSegX_4__100->SetBinContent(25,0.03124636);
   TracktoSegX_4__100->SetBinContent(26,0.02576454);
   TracktoSegX_4__100->SetBinContent(27,0.02987591);
   TracktoSegX_4__100->SetBinContent(28,0.02891659);
   TracktoSegX_4__100->SetBinContent(29,0.03645409);
   TracktoSegX_4__100->SetBinContent(30,0.03823568);
   TracktoSegX_4__100->SetBinContent(31,0.03371318);
   TracktoSegX_4__100->SetBinContent(32,0.03563181);
   TracktoSegX_4__100->SetBinContent(33,0.03672818);
   TracktoSegX_4__100->SetBinContent(34,0.03960613);
   TracktoSegX_4__100->SetBinContent(35,0.04714363);
   TracktoSegX_4__100->SetBinContent(36,0.05125499);
   TracktoSegX_4__100->SetBinContent(37,0.05344772);
   TracktoSegX_4__100->SetBinContent(38,0.06071113);
   TracktoSegX_4__100->SetBinContent(39,0.0766084);
   TracktoSegX_4__100->SetBinContent(40,0.07647135);
   TracktoSegX_4__100->SetBinContent(41,0.1047027);
   TracktoSegX_4__100->SetBinContent(42,0.1488313);
   TracktoSegX_4__100->SetBinContent(43,0.208035);
   TracktoSegX_4__100->SetBinContent(44,0.3062966);
   TracktoSegX_4__100->SetBinContent(45,0.494597);
   TracktoSegX_4__100->SetBinContent(46,0.8903842);
   TracktoSegX_4__100->SetBinContent(47,1.721017);
   TracktoSegX_4__100->SetBinContent(48,3.799996);
   TracktoSegX_4__100->SetBinContent(49,10.21386);
   TracktoSegX_4__100->SetBinContent(50,31.05148);
   TracktoSegX_4__100->SetBinContent(51,30.66679);
   TracktoSegX_4__100->SetBinContent(52,10.2155);
   TracktoSegX_4__100->SetBinContent(53,3.816167);
   TracktoSegX_4__100->SetBinContent(54,1.748974);
   TracktoSegX_4__100->SetBinContent(55,0.919986);
   TracktoSegX_4__100->SetBinContent(56,0.4989824);
   TracktoSegX_4__100->SetBinContent(57,0.2987591);
   TracktoSegX_4__100->SetBinContent(58,0.1892597);
   TracktoSegX_4__100->SetBinContent(59,0.1403345);
   TracktoSegX_4__100->SetBinContent(60,0.1081289);
   TracktoSegX_4__100->SetBinContent(61,0.08688681);
   TracktoSegX_4__100->SetBinContent(62,0.07277113);
   TracktoSegX_4__100->SetBinContent(63,0.05892954);
   TracktoSegX_4__100->SetBinContent(64,0.05317363);
   TracktoSegX_4__100->SetBinContent(65,0.04426568);
   TracktoSegX_4__100->SetBinContent(66,0.04399159);
   TracktoSegX_4__100->SetBinContent(67,0.03686522);
   TracktoSegX_4__100->SetBinContent(68,0.04056545);
   TracktoSegX_4__100->SetBinContent(69,0.03357613);
   TracktoSegX_4__100->SetBinContent(70,0.0316575);
   TracktoSegX_4__100->SetBinContent(71,0.02946477);
   TracktoSegX_4__100->SetBinContent(72,0.03398727);
   TracktoSegX_4__100->SetBinContent(73,0.02631272);
   TracktoSegX_4__100->SetBinContent(74,0.0328909);
   TracktoSegX_4__100->SetBinContent(75,0.02631272);
   TracktoSegX_4__100->SetBinContent(76,0.0328909);
   TracktoSegX_4__100->SetBinContent(77,0.02768318);
   TracktoSegX_4__100->SetBinContent(78,0.02631272);
   TracktoSegX_4__100->SetBinContent(79,0.02466818);
   TracktoSegX_4__100->SetBinContent(80,0.02220136);
   TracktoSegX_4__100->SetBinContent(81,0.02398295);
   TracktoSegX_4__100->SetBinContent(82,0.02658681);
   TracktoSegX_4__100->SetBinContent(83,0.02521636);
   TracktoSegX_4__100->SetBinContent(84,0.02247545);
   TracktoSegX_4__100->SetBinContent(85,0.02494227);
   TracktoSegX_4__100->SetBinContent(86,0.02165318);
   TracktoSegX_4__100->SetBinContent(87,0.02192727);
   TracktoSegX_4__100->SetBinContent(88,0.01726773);
   TracktoSegX_4__100->SetBinContent(89,0.02494227);
   TracktoSegX_4__100->SetBinContent(90,0.02192727);
   TracktoSegX_4__100->SetBinContent(91,0.01987159);
   TracktoSegX_4__100->SetBinContent(92,0.01987159);
   TracktoSegX_4__100->SetBinContent(93,0.02028272);
   TracktoSegX_4__100->SetBinContent(94,0.01630841);
   TracktoSegX_4__100->SetBinContent(95,0.02192727);
   TracktoSegX_4__100->SetBinContent(96,0.01480091);
   TracktoSegX_4__100->SetBinContent(97,0.01863818);
   TracktoSegX_4__100->SetBinContent(98,0.02165318);
   TracktoSegX_4__100->SetBinContent(99,0.01534909);
   TracktoSegX_4__100->SetBinContent(100,0.01603432);
   TracktoSegX_4__100->SetBinContent(101,0.4718474);
   TracktoSegX_4__100->SetEntries(2242103);
   TracktoSegX_4__100->SetStats(0);

   ci = TColor::GetColor("#ff0000");
   TracktoSegX_4__100->SetLineColor(ci);

   ci = TColor::GetColor("#ff0000");
   TracktoSegX_4__100->SetMarkerColor(ci);
   TracktoSegX_4__100->GetXaxis()->SetTitle("cm");
   TracktoSegX_4__100->GetYaxis()->SetTitle("scaled number of entries");
   TracktoSegX_4__100->Draw("H,same");
   
   leg = new TLegend(0.5,0.7,0.9,0.9,NULL,"brNDC");
   leg->SetBorderSize(1);
   leg->SetTextFont(62);
   leg->SetTextSize(0.02);
   leg->SetLineColor(1);
   leg->SetLineStyle(1);
   leg->SetLineWidth(1);
   leg->SetFillColor(0);
   leg->SetFillStyle(1001);
   entry=leg->AddEntry("TracktoSegX_1","ME11A: mean:-0.0cm;RMS:4.5cm","l");

   ci = TColor::GetColor("#ff00ff");
   entry->SetLineColor(ci);
   entry->SetLineStyle(1);
   entry->SetLineWidth(1);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(62);
   entry=leg->AddEntry("TracktoSegX_2","ME11B: mean:0.0cm;RMS:4.7cm","l");

   ci = TColor::GetColor("#ff9999");
   entry->SetLineColor(ci);
   entry->SetLineStyle(1);
   entry->SetLineWidth(1);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(62);
   entry=leg->AddEntry("TracktoSegX_3","ME12+13: mean:-0.0cm;RMS:3.5cm","l");
   entry->SetLineColor(1);
   entry->SetLineStyle(1);
   entry->SetLineWidth(1);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(62);
   entry=leg->AddEntry("TracktoSegX_4","ME2: mean:-0.0cm;RMS:3.8cm","l");

   ci = TColor::GetColor("#ff0000");
   entry->SetLineColor(ci);
   entry->SetLineStyle(1);
   entry->SetLineWidth(1);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(62);
   entry=leg->AddEntry("TracktoSegX_5","ME3: mean:0.0cm;RMS:2.8cm","l");

   ci = TColor::GetColor("#00ff00");
   entry->SetLineColor(ci);
   entry->SetLineStyle(1);
   entry->SetLineWidth(1);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(62);
   entry=leg->AddEntry("TracktoSegX_6","ME4: mean:-0.0cm;RMS:2.4cm","l");

   ci = TColor::GetColor("#0000ff");
   entry->SetLineColor(ci);
   entry->SetLineStyle(1);
   entry->SetLineWidth(1);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(62);
   leg->Draw();
   
   TH1D *TracktoSegX_5__101 = new TH1D("TracktoSegX_5__101","TracktoSegX",100,-40,40);
   TracktoSegX_5__101->SetBinContent(0,158.14);
   TracktoSegX_5__101->SetBinContent(1,0.008312923);
   TracktoSegX_5__101->SetBinContent(2,0.008312923);
   TracktoSegX_5__101->SetBinContent(3,0.007081379);
   TracktoSegX_5__101->SetBinContent(4,0.008005037);
   TracktoSegX_5__101->SetBinContent(5,0.01016024);
   TracktoSegX_5__101->SetBinContent(6,0.007697151);
   TracktoSegX_5__101->SetBinContent(7,0.01046813);
   TracktoSegX_5__101->SetBinContent(8,0.008928695);
   TracktoSegX_5__101->SetBinContent(9,0.008312923);
   TracktoSegX_5__101->SetBinContent(10,0.008928695);
   TracktoSegX_5__101->SetBinContent(11,0.009544467);
   TracktoSegX_5__101->SetBinContent(12,0.005541949);
   TracktoSegX_5__101->SetBinContent(13,0.009852353);
   TracktoSegX_5__101->SetBinContent(14,0.009544467);
   TracktoSegX_5__101->SetBinContent(15,0.007851094);
   TracktoSegX_5__101->SetBinContent(16,0.009236581);
   TracktoSegX_5__101->SetBinContent(17,0.007081379);
   TracktoSegX_5__101->SetBinContent(18,0.01077601);
   TracktoSegX_5__101->SetBinContent(19,0.008620809);
   TracktoSegX_5__101->SetBinContent(20,0.0100063);
   TracktoSegX_5__101->SetBinContent(21,0.01139178);
   TracktoSegX_5__101->SetBinContent(22,0.009852353);
   TracktoSegX_5__101->SetBinContent(23,0.01570219);
   TracktoSegX_5__101->SetBinContent(24,0.0110839);
   TracktoSegX_5__101->SetBinContent(25,0.01462459);
   TracktoSegX_5__101->SetBinContent(26,0.01570219);
   TracktoSegX_5__101->SetBinContent(27,0.009852353);
   TracktoSegX_5__101->SetBinContent(28,0.0175495);
   TracktoSegX_5__101->SetBinContent(29,0.01385487);
   TracktoSegX_5__101->SetBinContent(30,0.01447064);
   TracktoSegX_5__101->SetBinContent(31,0.01693373);
   TracktoSegX_5__101->SetBinContent(32,0.01601007);
   TracktoSegX_5__101->SetBinContent(33,0.0175495);
   TracktoSegX_5__101->SetBinContent(34,0.02678609);
   TracktoSegX_5__101->SetBinContent(35,0.02463088);
   TracktoSegX_5__101->SetBinContent(36,0.02555454);
   TracktoSegX_5__101->SetBinContent(37,0.03032677);
   TracktoSegX_5__101->SetBinContent(38,0.04064096);
   TracktoSegX_5__101->SetBinContent(39,0.05603526);
   TracktoSegX_5__101->SetBinContent(40,0.05896018);
   TracktoSegX_5__101->SetBinContent(41,0.08959484);
   TracktoSegX_5__101->SetBinContent(42,0.1319292);
   TracktoSegX_5__101->SetBinContent(43,0.1904275);
   TracktoSegX_5__101->SetBinContent(44,0.3146595);
   TracktoSegX_5__101->SetBinContent(45,0.5404939);
   TracktoSegX_5__101->SetBinContent(46,1.014023);
   TracktoSegX_5__101->SetBinContent(47,2.059758);
   TracktoSegX_5__101->SetBinContent(48,4.638611);
   TracktoSegX_5__101->SetBinContent(49,11.94228);
   TracktoSegX_5__101->SetBinContent(50,28.39679);
   TracktoSegX_5__101->SetBinContent(51,28.52657);
   TracktoSegX_5__101->SetBinContent(52,11.97584);
   TracktoSegX_5__101->SetBinContent(53,4.541473);
   TracktoSegX_5__101->SetBinContent(54,2.031432);
   TracktoSegX_5__101->SetBinContent(55,1.039731);
   TracktoSegX_5__101->SetBinContent(56,0.5401861);
   TracktoSegX_5__101->SetBinContent(57,0.3011125);
   TracktoSegX_5__101->SetBinContent(58,0.1990483);
   TracktoSegX_5__101->SetBinContent(59,0.1333147);
   TracktoSegX_5__101->SetBinContent(60,0.1006787);
   TracktoSegX_5__101->SetBinContent(61,0.07173745);
   TracktoSegX_5__101->SetBinContent(62,0.04926177);
   TracktoSegX_5__101->SetBinContent(63,0.05003148);
   TracktoSegX_5__101->SetBinContent(64,0.03355958);
   TracktoSegX_5__101->SetBinContent(65,0.03263592);
   TracktoSegX_5__101->SetBinContent(66,0.02309145);
   TracktoSegX_5__101->SetBinContent(67,0.02463088);
   TracktoSegX_5__101->SetBinContent(68,0.024323);
   TracktoSegX_5__101->SetBinContent(69,0.01200756);
   TracktoSegX_5__101->SetBinContent(70,0.01785739);
   TracktoSegX_5__101->SetBinContent(71,0.01724162);
   TracktoSegX_5__101->SetBinContent(72,0.01631796);
   TracktoSegX_5__101->SetBinContent(73,0.01370093);
   TracktoSegX_5__101->SetBinContent(74,0.01570219);
   TracktoSegX_5__101->SetBinContent(75,0.01293121);
   TracktoSegX_5__101->SetBinContent(76,0.01570219);
   TracktoSegX_5__101->SetBinContent(77,0.01200756);
   TracktoSegX_5__101->SetBinContent(78,0.01354699);
   TracktoSegX_5__101->SetBinContent(79,0.008620809);
   TracktoSegX_5__101->SetBinContent(80,0.01231544);
   TracktoSegX_5__101->SetBinContent(81,0.01169967);
   TracktoSegX_5__101->SetBinContent(82,0.01077601);
   TracktoSegX_5__101->SetBinContent(83,0.01062207);
   TracktoSegX_5__101->SetBinContent(84,0.01477853);
   TracktoSegX_5__101->SetBinContent(85,0.009544467);
   TracktoSegX_5__101->SetBinContent(86,0.009544467);
   TracktoSegX_5__101->SetBinContent(87,0.009544467);
   TracktoSegX_5__101->SetBinContent(88,0.01139178);
   TracktoSegX_5__101->SetBinContent(89,0.01016024);
   TracktoSegX_5__101->SetBinContent(90,0.008312923);
   TracktoSegX_5__101->SetBinContent(91,0.01200756);
   TracktoSegX_5__101->SetBinContent(92,0.01231544);
   TracktoSegX_5__101->SetBinContent(93,0.008620809);
   TracktoSegX_5__101->SetBinContent(94,0.008928695);
   TracktoSegX_5__101->SetBinContent(95,0.006465607);
   TracktoSegX_5__101->SetBinContent(96,0.008774752);
   TracktoSegX_5__101->SetBinContent(97,0.006773493);
   TracktoSegX_5__101->SetBinContent(98,0.007081379);
   TracktoSegX_5__101->SetBinContent(99,0.007389265);
   TracktoSegX_5__101->SetBinContent(100,0.008312923);
   TracktoSegX_5__101->SetBinContent(101,0.1988944);
   TracktoSegX_5__101->SetEntries(1678146);
   TracktoSegX_5__101->SetStats(0);

   ci = TColor::GetColor("#00ff00");
   TracktoSegX_5__101->SetLineColor(ci);

   ci = TColor::GetColor("#00ff00");
   TracktoSegX_5__101->SetMarkerColor(ci);
   TracktoSegX_5__101->GetXaxis()->SetTitle("cm");
   TracktoSegX_5__101->GetYaxis()->SetTitle("scaled number of entries");
   TracktoSegX_5__101->Draw("H,same");
   
   leg = new TLegend(0.5,0.7,0.9,0.9,NULL,"brNDC");
   leg->SetBorderSize(1);
   leg->SetTextFont(62);
   leg->SetTextSize(0.02);
   leg->SetLineColor(1);
   leg->SetLineStyle(1);
   leg->SetLineWidth(1);
   leg->SetFillColor(0);
   leg->SetFillStyle(1001);
   entry=leg->AddEntry("TracktoSegX_1","ME11A: mean:-0.0cm;RMS:4.5cm","l");

   ci = TColor::GetColor("#ff00ff");
   entry->SetLineColor(ci);
   entry->SetLineStyle(1);
   entry->SetLineWidth(1);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(62);
   entry=leg->AddEntry("TracktoSegX_2","ME11B: mean:0.0cm;RMS:4.7cm","l");

   ci = TColor::GetColor("#ff9999");
   entry->SetLineColor(ci);
   entry->SetLineStyle(1);
   entry->SetLineWidth(1);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(62);
   entry=leg->AddEntry("TracktoSegX_3","ME12+13: mean:-0.0cm;RMS:3.5cm","l");
   entry->SetLineColor(1);
   entry->SetLineStyle(1);
   entry->SetLineWidth(1);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(62);
   entry=leg->AddEntry("TracktoSegX_4","ME2: mean:-0.0cm;RMS:3.8cm","l");

   ci = TColor::GetColor("#ff0000");
   entry->SetLineColor(ci);
   entry->SetLineStyle(1);
   entry->SetLineWidth(1);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(62);
   entry=leg->AddEntry("TracktoSegX_5","ME3: mean:0.0cm;RMS:2.8cm","l");

   ci = TColor::GetColor("#00ff00");
   entry->SetLineColor(ci);
   entry->SetLineStyle(1);
   entry->SetLineWidth(1);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(62);
   entry=leg->AddEntry("TracktoSegX_6","ME4: mean:-0.0cm;RMS:2.4cm","l");

   ci = TColor::GetColor("#0000ff");
   entry->SetLineColor(ci);
   entry->SetLineStyle(1);
   entry->SetLineWidth(1);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(62);
   leg->Draw();
   
   TH1D *TracktoSegX_6__102 = new TH1D("TracktoSegX_6__102","TracktoSegX",100,-40,40);
   TracktoSegX_6__102->SetBinContent(0,132.0754);
   TracktoSegX_6__102->SetBinContent(1,0.002446693);
   TracktoSegX_6__102->SetBinContent(2,0.003844803);
   TracktoSegX_6__102->SetBinContent(3,0.006291495);
   TracktoSegX_6__102->SetBinContent(4,0.006291495);
   TracktoSegX_6__102->SetBinContent(5,0.00559244);
   TracktoSegX_6__102->SetBinContent(6,0.006291495);
   TracktoSegX_6__102->SetBinContent(7,0.006990551);
   TracktoSegX_6__102->SetBinContent(8,0.00279622);
   TracktoSegX_6__102->SetBinContent(9,0.00559244);
   TracktoSegX_6__102->SetBinContent(10,0.003844803);
   TracktoSegX_6__102->SetBinContent(11,0.007340078);
   TracktoSegX_6__102->SetBinContent(12,0.007165314);
   TracktoSegX_6__102->SetBinContent(13,0.005242913);
   TracktoSegX_6__102->SetBinContent(14,0.00419433);
   TracktoSegX_6__102->SetBinContent(15,0.00559244);
   TracktoSegX_6__102->SetBinContent(16,0.006641023);
   TracktoSegX_6__102->SetBinContent(17,0.004543858);
   TracktoSegX_6__102->SetBinContent(18,0.004543858);
   TracktoSegX_6__102->SetBinContent(19,0.006291495);
   TracktoSegX_6__102->SetBinContent(20,0.008388661);
   TracktoSegX_6__102->SetBinContent(21,0.006291495);
   TracktoSegX_6__102->SetBinContent(22,0.008388661);
   TracktoSegX_6__102->SetBinContent(23,0.01048583);
   TracktoSegX_6__102->SetBinContent(24,0.007340078);
   TracktoSegX_6__102->SetBinContent(25,0.009437243);
   TracktoSegX_6__102->SetBinContent(26,0.01258299);
   TracktoSegX_6__102->SetBinContent(27,0.009087716);
   TracktoSegX_6__102->SetBinContent(28,0.009087716);
   TracktoSegX_6__102->SetBinContent(29,0.008039133);
   TracktoSegX_6__102->SetBinContent(30,0.01083535);
   TracktoSegX_6__102->SetBinContent(31,0.01258299);
   TracktoSegX_6__102->SetBinContent(32,0.01747638);
   TracktoSegX_6__102->SetBinContent(33,0.01957354);
   TracktoSegX_6__102->SetBinContent(34,0.01642779);
   TracktoSegX_6__102->SetBinContent(35,0.01747638);
   TracktoSegX_6__102->SetBinContent(36,0.01992307);
   TracktoSegX_6__102->SetBinContent(37,0.02901078);
   TracktoSegX_6__102->SetBinContent(38,0.03250606);
   TracktoSegX_6__102->SetBinContent(39,0.03827326);
   TracktoSegX_6__102->SetBinContent(40,0.05959444);
   TracktoSegX_6__102->SetBinContent(41,0.08685759);
   TracktoSegX_6__102->SetBinContent(42,0.1153441);
   TracktoSegX_6__102->SetBinContent(43,0.2154837);
   TracktoSegX_6__102->SetBinContent(44,0.3350221);
   TracktoSegX_6__102->SetBinContent(45,0.6326448);
   TracktoSegX_6__102->SetBinContent(46,1.145402);
   TracktoSegX_6__102->SetBinContent(47,2.402652);
   TracktoSegX_6__102->SetBinContent(48,5.45228);
   TracktoSegX_6__102->SetBinContent(49,12.95646);
   TracktoSegX_6__102->SetBinContent(50,26.20111);
   TracktoSegX_6__102->SetBinContent(51,26.48021);
   TracktoSegX_6__102->SetBinContent(52,12.97551);
   TracktoSegX_6__102->SetBinContent(53,5.350393);
   TracktoSegX_6__102->SetBinContent(54,2.323659);
   TracktoSegX_6__102->SetBinContent(55,1.102585);
   TracktoSegX_6__102->SetBinContent(56,0.5847596);
   TracktoSegX_6__102->SetBinContent(57,0.3282063);
   TracktoSegX_6__102->SetBinContent(58,0.1943373);
   TracktoSegX_6__102->SetBinContent(59,0.1286261);
   TracktoSegX_6__102->SetBinContent(60,0.08458566);
   TracktoSegX_6__102->SetBinContent(61,0.0622159);
   TracktoSegX_6__102->SetBinContent(62,0.03844803);
   TracktoSegX_6__102->SetBinContent(63,0.03495275);
   TracktoSegX_6__102->SetBinContent(64,0.02184547);
   TracktoSegX_6__102->SetBinContent(65,0.02306882);
   TracktoSegX_6__102->SetBinContent(66,0.01642779);
   TracktoSegX_6__102->SetBinContent(67,0.01433063);
   TracktoSegX_6__102->SetBinContent(68,0.0178259);
   TracktoSegX_6__102->SetBinContent(69,0.01817543);
   TracktoSegX_6__102->SetBinContent(70,0.01188394);
   TracktoSegX_6__102->SetBinContent(71,0.01048583);
   TracktoSegX_6__102->SetBinContent(72,0.0101363);
   TracktoSegX_6__102->SetBinContent(73,0.01083535);
   TracktoSegX_6__102->SetBinContent(74,0.01083535);
   TracktoSegX_6__102->SetBinContent(75,0.008039133);
   TracktoSegX_6__102->SetBinContent(76,0.006116732);
   TracktoSegX_6__102->SetBinContent(77,0.0101363);
   TracktoSegX_6__102->SetBinContent(78,0.008039133);
   TracktoSegX_6__102->SetBinContent(79,0.006641023);
   TracktoSegX_6__102->SetBinContent(80,0.00559244);
   TracktoSegX_6__102->SetBinContent(81,0.00559244);
   TracktoSegX_6__102->SetBinContent(82,0.006291495);
   TracktoSegX_6__102->SetBinContent(83,0.006291495);
   TracktoSegX_6__102->SetBinContent(84,0.004893385);
   TracktoSegX_6__102->SetBinContent(85,0.003145748);
   TracktoSegX_6__102->SetBinContent(86,0.00419433);
   TracktoSegX_6__102->SetBinContent(87,0.005242913);
   TracktoSegX_6__102->SetBinContent(88,0.005242913);
   TracktoSegX_6__102->SetBinContent(89,0.004543858);
   TracktoSegX_6__102->SetBinContent(90,0.00559244);
   TracktoSegX_6__102->SetBinContent(91,0.004543858);
   TracktoSegX_6__102->SetBinContent(92,0.003495275);
   TracktoSegX_6__102->SetBinContent(93,0.006466259);
   TracktoSegX_6__102->SetBinContent(94,0.002446693);
   TracktoSegX_6__102->SetBinContent(95,0.002446693);
   TracktoSegX_6__102->SetBinContent(96,0.00559244);
   TracktoSegX_6__102->SetBinContent(97,0.00419433);
   TracktoSegX_6__102->SetBinContent(98,0.00419433);
   TracktoSegX_6__102->SetBinContent(99,0.003495275);
   TracktoSegX_6__102->SetBinContent(100,0.00559244);
   TracktoSegX_6__102->SetBinContent(101,0.09804247);
   TracktoSegX_6__102->SetEntries(1328499);
   TracktoSegX_6__102->SetStats(0);

   ci = TColor::GetColor("#0000ff");
   TracktoSegX_6__102->SetLineColor(ci);

   ci = TColor::GetColor("#0000ff");
   TracktoSegX_6__102->SetMarkerColor(ci);
   TracktoSegX_6__102->GetXaxis()->SetTitle("cm");
   TracktoSegX_6__102->GetYaxis()->SetTitle("scaled number of entries");
   TracktoSegX_6__102->Draw("H,same");
   
   leg = new TLegend(0.5,0.7,0.9,0.9,NULL,"brNDC");
   leg->SetBorderSize(1);
   leg->SetTextFont(62);
   leg->SetTextSize(0.02);
   leg->SetLineColor(1);
   leg->SetLineStyle(1);
   leg->SetLineWidth(1);
   leg->SetFillColor(0);
   leg->SetFillStyle(1001);
   entry=leg->AddEntry("TracktoSegX_1","ME11A: mean:-0.0cm;RMS:4.5cm","l");

   ci = TColor::GetColor("#ff00ff");
   entry->SetLineColor(ci);
   entry->SetLineStyle(1);
   entry->SetLineWidth(1);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(62);
   entry=leg->AddEntry("TracktoSegX_2","ME11B: mean:0.0cm;RMS:4.7cm","l");

   ci = TColor::GetColor("#ff9999");
   entry->SetLineColor(ci);
   entry->SetLineStyle(1);
   entry->SetLineWidth(1);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(62);
   entry=leg->AddEntry("TracktoSegX_3","ME12+13: mean:-0.0cm;RMS:3.5cm","l");
   entry->SetLineColor(1);
   entry->SetLineStyle(1);
   entry->SetLineWidth(1);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(62);
   entry=leg->AddEntry("TracktoSegX_4","ME2: mean:-0.0cm;RMS:3.8cm","l");

   ci = TColor::GetColor("#ff0000");
   entry->SetLineColor(ci);
   entry->SetLineStyle(1);
   entry->SetLineWidth(1);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(62);
   entry=leg->AddEntry("TracktoSegX_5","ME3: mean:0.0cm;RMS:2.8cm","l");

   ci = TColor::GetColor("#00ff00");
   entry->SetLineColor(ci);
   entry->SetLineStyle(1);
   entry->SetLineWidth(1);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(62);
   entry=leg->AddEntry("TracktoSegX_6","ME4: mean:-0.0cm;RMS:2.4cm","l");

   ci = TColor::GetColor("#0000ff");
   entry->SetLineColor(ci);
   entry->SetLineStyle(1);
   entry->SetLineWidth(1);
   entry->SetMarkerColor(1);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(62);
   leg->Draw();
   
   TPaveText *pt = new TPaveText(0.01,0.9390678,0.3021774,0.995,"blNDC");
   pt->SetName("title");
   pt->SetBorderSize(1);
   pt->SetFillColor(0);
   TText *AText = pt->AddText("TracktoSegX");
   pt->Draw();
   TracktoSegX->Modified();
   TracktoSegX->cd();
   TracktoSegX->SetSelected(TracktoSegX);
}
Example #22
0
void plot2D(string type = "HPS",  float WP = 0.3){

  
  TCanvas *c1 = new TCanvas("c1","Canvas",10,30,650,600);
  c1->SetGrid(0,0);
  c1->SetFillStyle(4000);
  c1->SetFillColor(10);
  c1->SetTicky();
  c1->SetObjectStat(0);

  TLegend* leg = new TLegend(0.4,0.6,0.89,0.89,NULL,"brNDC");
  leg->SetFillStyle(4000);
  leg->SetBorderSize(0);
  //leg->SetFillColor(10);
  leg->SetTextSize(0.03);

  TFile* f_Zee     = new TFile("../testNewWriteFromPAT_Zee.root");
  TFile* f_Ztautau = new TFile("../testNewWriteFromPAT_Ztautau.root");

  f_Zee->cd();
  TTree* tree_Zee     = (TTree*) gDirectory->Get("etoTauMargLoose90/fitter_tree"); 
  f_Ztautau->cd();
  TTree* tree_Ztautau = (TTree*) gDirectory->Get("tauFakeRateAnalyzerHPS/tree"); 

  TH2F* h2 = new TH2F("h2","",220,0,1.1,220,0,1.1);
  h2->SetAxisRange(0.16,0.30,"X");
  h2->SetAxisRange(0.99,1.00,"Y");

  float ZeeAll     = (float)tree_Zee->GetEntries("mcTrue");
  float ZtautauAll = (float)tree_Ztautau->GetEntries("");


  float vxF1D[45];
  float vyF1D[45];

  float vxF2D_HoP[61];
  float vyF2D_HoP[61];
  float vxF2D_EoP[61];
  float vyF2D_EoP[61];
  float vxF2D_HoPEoP[961];
  float vyF2D_HoPEoP[961];
  float vxF2D_EMF[61];
  float vyF2D_EMF[61];
  
  std::cout << "MVA" << std::endl;
  for(int i = 0; i<=44; i++){
    float cut = 0.025*i;
    float ZeeCut = (float) tree_Zee->GetEntries(Form("electronPreIDOutput<=%f &&  mcTrue",-0.1+cut));
    float ZtautauCut = (float) tree_Ztautau->GetEntries(Form("leadPFChargedHadrMva<=%f",-0.1+cut));
    vxF1D[i]=ZeeCut/ZeeAll;
    vyF1D[i]=ZtautauCut/ZtautauAll;
  }

  std::cout << "HoP" << std::endl;
  // HoP WP = -0.1
  for(int i = 0; i<=60; i++){
    float cut = 0.02*i;
    float ZeeCut = (float) tree_Zee->GetEntries(Form("(electronPreIDOutput<=%f || (electronPreIDOutput>%f && hcalEnergy/leadPFChargedHadrCandTrackP>=%f) )  && mcTrue",WP, WP, cut));
    float ZtautauCut = (float) tree_Ztautau->GetEntries(Form("leadPFChargedHadrMva<=%f || (leadPFChargedHadrMva>%f && leadPFChargedHadrHcalEnergy/leadPFChargedHadrTrackP>=%f)",WP, WP,cut));
    vxF2D_HoP[i]=ZeeCut/ZeeAll;
    vyF2D_HoP[i]=ZtautauCut/ZtautauAll;
  }
  std::cout << "EoP" << std::endl;
  // EoP WP = -0.1
  for(int i = 0; i<=60; i++){
    float cut = 0.02*i;
    float ZeeCut = (float) tree_Zee->GetEntries(Form("(electronPreIDOutput<=%f || (electronPreIDOutput>%f && ecalEnergy/leadPFChargedHadrCandTrackP<=%f) )  && mcTrue",WP, WP, cut));
    float ZtautauCut = (float) tree_Ztautau->GetEntries(Form("leadPFChargedHadrMva<=%f || (leadPFChargedHadrMva>%f && leadPFChargedHadrEcalEnergy/leadPFChargedHadrTrackP<=%f)",WP, WP,cut));
    vxF2D_EoP[i]=ZeeCut/ZeeAll;
    vyF2D_EoP[i]=ZtautauCut/ZtautauAll;
  }
  std::cout << "HoPEoP" << std::endl;
  // HoPEoP WP = -0.1
  for(int i = 0; i<=30; i++){
    float cuti = 0.04*i;
    for(int j = 0; j<=30; j++){
      float cutj = 0.04*j;
      float ZeeCut = (float) tree_Zee->GetEntries(Form("(electronPreIDOutput<=%f || (electronPreIDOutput>%f && (hcalEnergy/leadPFChargedHadrCandTrackP>=%f || ecalEnergy/leadPFChargedHadrCandTrackP<=%f)) )  && mcTrue",WP, WP, cuti, cutj));
      float ZtautauCut = (float) tree_Ztautau->GetEntries(Form("leadPFChargedHadrMva<=%f || (leadPFChargedHadrMva>%f && (leadPFChargedHadrHcalEnergy/leadPFChargedHadrTrackP>=%f || leadPFChargedHadrEcalEnergy/leadPFChargedHadrTrackP<=%f))",WP, WP,cuti,cutj));
      vxF2D_HoPEoP[i*31+j]=ZeeCut/ZeeAll;
      vyF2D_HoPEoP[i*31+j]=ZtautauCut/ZtautauAll;
    }
  }
  std::cout << "EMF" << std::endl;
  // EMF WP = -0.1
  for(int i = 0; i<=60; i++){
    float cut = 0.02*i;
    float ZeeCut = (float) tree_Zee->GetEntries(Form("(electronPreIDOutput<=%f || (electronPreIDOutput>%f && hcalEnergy/(ecalEnergy+hcalEnergy)>%f) )  && mcTrue",WP, WP, cut));
    float ZtautauCut = (float) tree_Ztautau->GetEntries(Form("leadPFChargedHadrMva<=%f || (leadPFChargedHadrMva>%f && leadPFChargedHadrHcalEnergy/(leadPFChargedHadrEcalEnergy+leadPFChargedHadrHcalEnergy)>=%f)",WP, WP,cut));
    vxF2D_EMF[i]=ZeeCut/ZeeAll;
    vyF2D_EMF[i]=ZtautauCut/ZtautauAll;
  }

  h2->SetMarkerStyle(20);
  h2->SetMarkerSize(1.0);
  h2->SetXTitle("electrons fake-rate");
  h2->SetYTitle("tau-jet efficiency");
  h2->Draw();

  TVectorF vx1D(45,vxF1D);
  TVectorF vy1D(45,vyF1D);
  TGraph* graph1D = new TGraph(vx1D,vy1D);

  TVectorF vx2D_EoP(61,vxF2D_EoP);
  TVectorF vy2D_EoP(61,vyF2D_EoP);
  TGraph* graph2D_EoP = new TGraph(vx2D_EoP,vy2D_EoP);
  TVectorF vx2D_HoP(61,vxF2D_HoP);
  TVectorF vy2D_HoP(61,vyF2D_HoP);
  TGraph* graph2D_HoP = new TGraph(vx2D_HoP,vy2D_HoP);
  TVectorF vx2D_HoPEoP(961,vxF2D_HoPEoP);
  TVectorF vy2D_HoPEoP(961,vyF2D_HoPEoP);
  TGraph* graph2D_HoPEoP = new TGraph(vx2D_HoPEoP,vy2D_HoPEoP);
  TVectorF vx2D_EMF(61,vxF2D_EMF);
  TVectorF vy2D_EMF(61,vyF2D_EMF);
  TGraph* graph2D_EMF = new TGraph(vx2D_EMF,vy2D_EMF);

  graph1D->SetMarkerStyle(21);
  graph1D->SetMarkerSize(1.0);
  graph1D->SetMarkerColor(kBlue);
  graph1D->Draw("P");

  graph2D_EoP->SetMarkerStyle(kFullCircle);
  graph2D_EoP->SetMarkerSize(1.0);
  graph2D_EoP->SetMarkerColor(kGreen);
  graph2D_EoP->Draw("P");
  graph2D_HoP->SetMarkerStyle(kFullSquare);
  graph2D_HoP->SetMarkerSize(1.0);
  graph2D_HoP->SetMarkerColor(kRed);
  graph2D_HoP->Draw("P");
  graph2D_HoPEoP->SetMarkerStyle(kFullTriangleUp);
  graph2D_HoPEoP->SetMarkerSize(1.0);
  graph2D_HoPEoP->SetMarkerColor(5);
  graph2D_HoPEoP->Draw("P");
  graph2D_EMF->SetMarkerStyle(kOpenCircle);
  graph2D_EMF->SetMarkerSize(1.0);
  graph2D_EMF->SetMarkerColor(kBlack);
  graph2D_EMF->Draw("P");

  leg->SetHeader((type+" passing tau-ID and loose iso").c_str());
  leg->AddEntry(graph1D,"(#epsilon_{e},#epsilon_{#tau}) for mva<X, -0.1<X<1.0","P");
  leg->AddEntry(graph2D_HoP,Form("(#epsilon_{e},#epsilon_{#tau}) for mva<%.2f || (mva>%.2f && H/p>X), 0<X<1.2",WP,WP),"P");
  leg->AddEntry(graph2D_EoP,Form("(#epsilon_{e},#epsilon_{#tau}) for mva<%.2f || (mva>%.2f && E/p<X), 0<X<1.2 ",WP,WP),"P");
  leg->AddEntry(graph2D_HoPEoP,Form("(#epsilon_{e},#epsilon_{#tau}) for mva<%.2f || (mva>-%.2f && (H/p>X||E/p<Y)), 0<X,Y<1.2",WP,WP),"P");
  leg->AddEntry(graph2D_EMF,Form("(#epsilon_{e},#epsilon_{#tau}) for mva<%.2f || (mva>%.2f && H/(E+H)>X), 0<X<1.2 ",WP,WP),"P");
  leg->Draw();

}
Example #23
0
void MakePlotFakeDistMC(){
  
  TString path_ttbar = "/home/jalmond/Analysis/LQanalyzer/data/output/ElectronFakes//MC/FakeRateCalculator_El_SKttbar_5_3_14.root";
  
  TString path_qcd= "/home/jalmond/Analysis/LQanalyzer/data/output/ElectronFakes/FakeRateCalculator_El_SKQCD_5_3_14.root";
  
  TString path_wjet = "/home/jalmond/Analysis/LQanalyzer/data/output/ElectronFakes/MC/FakeRateCalculator_El_SKWjets_5_3_14.root";

  

  setTDRStyle();
  gStyle->SetPalette(1);
  
  TFile * fttbar = new TFile(path_ttbar);
  TFile * fqcd = new TFile(path_qcd);
  TFile * fwjet = new TFile(path_wjet);
  
  vector<TString> list_of_regions;
  list_of_regions.push_back("SingleElFake");
  list_of_regions.push_back("DoubleElFake");
 
  
  vector<TString> list_of_names;
  list_of_names.push_back("HT");
  list_of_names.push_back("eemass");
  list_of_names.push_back("MET");
  list_of_names.push_back("Njets");
  list_of_names.push_back("Nbjets");
  list_of_names.push_back("leadElectrondPhi");
  list_of_names.push_back("ElectronRelIso");


  vector<TString> xaxis_label;
  xaxis_label.push_back("H_{T} GeV");
  xaxis_label.push_back("m(ee) GeV");
  xaxis_label.push_back("MET GeV");
  xaxis_label.push_back("N(jets)");
  xaxis_label.push_back("N(bjets)");
  xaxis_label.push_back("#Delta#phi (ee)");
  xaxis_label.push_back("Iso_{PF} / p_{T}")

  vector<TString> yaxis_label;
  yaxis_label.push_back("Entries");
  yaxis_label.push_back("Entries");
  yaxis_label.push_back("Entries");
  yaxis_label.push_back("Entries");
  yaxis_label.push_back("Entries");
  yaxis_label.push_back("Entries");
  yaxis_label.push_back("Entries");
  
 
  for(unsigned int j = 0; j < list_of_regions.size(); j++){
    for(unsigned int i = 0; i < list_of_names.size(); i++){
      
      
      TCanvas* c1 = new TCanvas((("Plot")+ list_of_regions.at(j )+ "/" + list_of_names.at(i)).Data(), "Plot", 1600, 1200);
      
      cout << "Getting " << ("h_"+list_of_regions.at(j ) + "/"+  list_of_names.at(i) + "_" + list_of_regions.at(j ) ) << endl;
      TH1F* h_ttbar= (TH1F*)fttbar->Get(((list_of_regions.at(j ) + "/h_"+  list_of_names.at(i) + "_" + list_of_regions.at(j ) ).Data()));
      
      
      TH1F* h_qcd= (TH1F*)fqcd->Get(((list_of_regions.at(j ) + "/h_"+  list_of_names.at(i) + "_" + list_of_regions.at(j ) ).Data()));

      
      TH1F* h_wjet= (TH1F*)fwjet->Get(((list_of_regions.at(j ) + "/h_"+  list_of_names.at(i) + "_" + list_of_regions.at(j ) ).Data()));


      cout << h_qcd << endl;
      bool usew = (h_wjet);
      bool usetop = (h_ttbar);
      bool useqcd = (h_qcd);
      
      if(h_qcd){
	h_qcd->SetLineColor(kRed);
	h_qcd->SetFillColor(kRed);
	h_qcd->SetLineWidth(2.);
	h_qcd->SetFillStyle(3003);
      }
      if(usetop){
	h_ttbar->SetLineColor(kCyan);
	h_ttbar->SetFillColor(kCyan);
	h_ttbar->SetLineWidth(2.);
	h_ttbar->SetFillStyle(3004);
      }
      if(usew){
	h_wjet->SetLineColor(kOrange);
	h_wjet->SetFillColor(kOrange);
	h_wjet->SetFillStyle(3007);
	h_wjet->SetLineWidth(2.);
      }
      int nrebin = 1;
      if(list_of_names.at(i).Contains("HT")) nrebin= 1;
      if(list_of_names.at(i).Contains("MET")) nrebin= 2;
      if(list_of_names.at(i).Contains("eemass")) nrebin= 4;
      if(useqcd)h_qcd->Rebin(nrebin);
      if(usetop){
	h_ttbar->Rebin(nrebin);
      }
      if(usew){
	h_wjet->Rebin(nrebin);
      }
      
      if(useqcd){
	h_qcd->GetYaxis()->SetTitle(yaxis_label.at(i));
	h_qcd->GetXaxis()->SetTitle(xaxis_label.at(i));
	
	h_qcd->GetYaxis()->SetRangeUser(0.,  h_qcd->GetMaximum()* 1.1);
	h_qcd->Draw("hist");
	if(usetop)h_ttbar->Draw("histsame");
	if(usew)h_wjet->Draw("histsame");

      }
      else{
	if(usetop){
	  h_ttbar->GetYaxis()->SetTitle(yaxis_label.at(i));
	  h_ttbar->GetXaxis()->SetTitle(xaxis_label.at(i));
	  
	  float max =  h_ttbar->GetMaximum()* 1.1;
	  if(h_wjet->GetMaximum()* 1.1   > max) max = h_wjet->GetMaximum()* 1.1 ;
	  h_ttbar->GetYaxis()->SetRangeUser(0.,  max);
	  h_ttbar->Draw("hist");
	  if(usew)h_wjet->Draw("histsame");

	}
      }

      TLegend* legendH = new TLegend(0.7, 0.75, 0.9, 0.9);
      legendH->SetFillColor(kWhite);
      legendH->SetTextSize(0.03);
      legendH->SetTextFont(42);
      if(useqcd)legendH->AddEntry(h_qcd, "QCD", "f");
      if(usetop)legendH->AddEntry(h_ttbar, "t#bar{t}", "f");
      if(usew)legendH->AddEntry(h_wjet, "W+jet", "f");
      legendH->Draw();
            
      CMS_lumi( c1, 2, 11 );
      c1->Update();
      c1->RedrawAxis();
      
      c1->SaveAs(("/home/jalmond/WebPlots/PreApproval/Fakes/MCFakeDist_all_" + list_of_regions.at(j ) + "_" + list_of_names.at(i) + ".pdf").Data());
    }
  }

}
Example #24
0
void plotMVALeadVsMVAChargROC(){

  TCanvas *c1 = new TCanvas("c1","Canvas",10,30,650,600);
  c1->SetGrid(0,0);
  c1->SetFillStyle(4000);
  c1->SetFillColor(10);
  c1->SetTicky();
  c1->SetObjectStat(0);

  TLegend* leg = new TLegend(0.4,0.6,0.89,0.89,NULL,"brNDC");
  leg->SetFillStyle(4000);
  leg->SetBorderSize(0);
  //leg->SetFillColor(10);
  leg->SetTextSize(0.03);

  TFile* f_Zee     = new TFile("../testNewWriteFromPAT_Zee.root");
  TFile* f_Ztautau = new TFile("../testNewWriteFromPAT_Ztautau.root");

  f_Zee->cd();
  TTree* tree_Zee     = (TTree*) gDirectory->Get("etoTauSCMarg90/fitter_tree"); 
  f_Ztautau->cd();
  TTree* tree_Ztautau = (TTree*) gDirectory->Get("tauFakeRateAnalyzerSHC/tree"); 

  TH2F* h2 = new TH2F("h2","",220,0,1.1,220,0,1.1);

  float vxF_L[45];
  float vyF_L[45];
  float vxF_C[45];
  float vyF_C[45];

  float ZeeAll     = (float)tree_Zee->GetEntries("mcTrue");
  float ZtautauAll = (float)tree_Ztautau->GetEntries("");

  for(int i = 0; i<=44; i++){
    float cut = 0.025*i;
    float ZeeCut = (float) tree_Zee->GetEntries(Form("electronPreIDOutput<=%f &&  mcTrue",-0.1+cut));
    float ZtautauCut = (float) tree_Ztautau->GetEntries(Form("leadPFChargedHadrMva<=%f",-0.1+cut));
    vxF_C[i]=ZeeCut/ZeeAll;
    vyF_C[i]=ZtautauCut/ZtautauAll;
  }
  for(int i = 0; i<=44; i++){
    float cut = 0.025*i;
    float ZeeCut = (float) tree_Zee->GetEntries(Form("electronPreIDOutputLeadPFCand<=%f &&  mcTrue",-0.1+cut));
    float ZtautauCut = (float) tree_Ztautau->GetEntries(Form("leadPFCandMva<=%f",-0.1+cut));
    vxF_L[i]=ZeeCut/ZeeAll;
    vyF_L[i]=ZtautauCut/ZtautauAll;
  }

  h2->SetXTitle("electrons fake-rate");
  h2->SetYTitle("tau-jet efficiency");
  h2->SetAxisRange(0,1.0,"X");
  h2->SetAxisRange(0.95,1.02,"Y");
  h2->Draw();

  TVectorF vx_L(45,vxF_L);
  TVectorF vy_L(45,vyF_L);
  TGraph* graph_L = new TGraph(vx_L,vy_L);
  TVectorF vx_C(45,vxF_C);
  TVectorF vy_C(45,vyF_C);
  TGraph* graph_C = new TGraph(vx_C,vy_C);
  graph_C->SetMarkerStyle(kFullCircle);
  graph_C->SetMarkerSize(1.0);
  graph_C->SetMarkerColor(kRed);
  graph_C->Draw("P");
  graph_L->SetMarkerStyle(kFullSquare);
  graph_L->SetMarkerSize(1.0);
  graph_L->SetMarkerColor(kBlue);
  graph_L->Draw("P");

  leg->SetHeader("PF-Shrinking Cone passing tau-ID and loose iso");
  leg->AddEntry(graph_C,"discr by mva_e_pi of LeadChargHadr","P");
  leg->AddEntry(graph_L,"discr by mva_e_pi of LeadPFCand","P");
  leg->Draw();

}
Example #25
0
void PlotKFactor() {

  TFile *EffFile = new TFile("JetVetoEfficiencySystematics.root", "UPDATE");

  TCanvas *cv = 0;
  cv = new TCanvas("cv","cv", 800,600);
  TLegend *tmpLegend = new TLegend(0.23,0.55,0.43,0.70);   
  tmpLegend->SetTextSize(0.03);
  tmpLegend->SetBorderSize(1);


  TH1D* PowhegKFactor160 = (TH1D*)EffFile->Get("kFactorHiggsPt_ggHww160_PowhegToNNLL");
  TH1D* MCAtNLOKFactor160 = (TH1D*)EffFile->Get("kFactorHiggsPt_ggHww160_MCAtNLOToNNLL");
  tmpLegend->Clear();
  tmpLegend->AddEntry(PowhegKFactor160, "Powheg", "LP");   
  tmpLegend->AddEntry(MCAtNLOKFactor160, "MC@NLO", "LP");   


  MCAtNLOKFactor160->SetLineColor(kBlack);
  MCAtNLOKFactor160->Draw("hist");
  MCAtNLOKFactor160->GetYaxis()->SetTitleOffset(1.2);
  MCAtNLOKFactor160->GetYaxis()->SetTitle("KFactor");
  MCAtNLOKFactor160->GetXaxis()->SetTitleOffset(1.05);
  MCAtNLOKFactor160->GetYaxis()->SetRangeUser(0.3,3.2);

  PowhegKFactor160->SetLineColor(kRed);
  PowhegKFactor160->Draw("hist,same");
  tmpLegend->Draw();
  cv->SaveAs("KFactorPowhegVsMCAtNLO.gif");




//   TH1D* KFactor160 = (TH1D*)EffFile->Get("kFactorHiggsPt_ggHww160_PowhegToNNLL");
//   TH1D* KFactor200 = (TH1D*)EffFile->Get("kFactorHiggsPt_ggHww200_PowhegToNNLL");
//   TH1D* KFactor250 = (TH1D*)EffFile->Get("kFactorHiggsPt_ggHww250_PowhegToNNLL");

//   TCanvas *cv = new TCanvas("cv","cv", 800,600);

//   TLegend *tmpLegend = new TLegend(0.73,0.55,0.93,0.70);   
//   tmpLegend->SetTextSize(0.03);
//   tmpLegend->SetBorderSize(1);
//   tmpLegend->AddEntry(KFactor160, "m_{H} = 160", "LP");   
//   tmpLegend->AddEntry(KFactor200, "m_{H} = 200", "LP");   
//   tmpLegend->AddEntry(KFactor250, "m_{H} = 250", "LP");   

//   KFactor160->SetLineColor(kBlack);
//   KFactor160->Draw("hist");
//   KFactor160->GetYaxis()->SetTitleOffset(1.2);
//   KFactor160->GetYaxis()->SetTitle("KFactor");
//   KFactor160->GetXaxis()->SetTitleOffset(1.05);
//   KFactor200->SetLineColor(kRed);
//   KFactor200->Draw("hist,same");
//   KFactor250->SetLineColor(kBlue);
//   KFactor250->Draw("hist,same");
//   tmpLegend->Draw();
//   cv->SaveAs("KFactorVsMass.gif");


 
}
Example #26
0
void plotSHCvsHPS(const string pion_ = "ch"){

  TCanvas *c1 = new TCanvas("c1","Canvas",10,30,650,600);
  c1->SetGrid(0,0);
  c1->SetFillStyle(4000);
  c1->SetFillColor(10);
  c1->SetTicky();
  c1->SetObjectStat(0);
  c1->SetLogx(1);

  TLegend* leg = new TLegend(0.36,0.15,0.80,0.5,NULL,"brNDC");
  leg->SetFillStyle(4000);
  leg->SetBorderSize(0);
  leg->SetFillColor(0);
  leg->SetTextSize(0.03);

  TFile* f_Zee     = new TFile("/data_CMS/cms/lbianchini/35pb/testNewWriteFromPAT_DYToEE-PYTHIA-TAUEFF.root");
  TFile* f_Ztautau = new TFile("/data_CMS/cms/lbianchini/35pb/testNewWriteFromPAT_DYToTauTau-PYTHIA-TAUEFF.root");


  f_Zee->cd();
  TTree* tree_Zee_SHC     = (TTree*) gDirectory->Get("tauFakeRateAnalyzerSHC/tree"); 
  TTree* tree_Zee_HPS     = (TTree*) gDirectory->Get("tauFakeRateAnalyzerHPS/tree"); 
  f_Ztautau->cd();
  TTree* tree_Ztautau_SHC = (TTree*) gDirectory->Get("tauFakeRateAnalyzerSHC/tree"); 
  TTree* tree_Ztautau_HPS = (TTree*) gDirectory->Get("tauFakeRateAnalyzerHPS/tree"); 

  TH2F* h2 = new TH2F("h2","",220,0,1.1,220,0,1.1);

  float vxF_L[45];
  float vyF_L[45];
  float vxF_C[45];
  float vyF_C[45];

  float ZeeAll_SHC     = (float)tree_Zee_SHC->GetEntries("leadPFChargedHadrTrackPt>3");
  float ZtautauAll_SHC = (float)tree_Ztautau_SHC->GetEntries("leadPFChargedHadrTrackPt>3");
  float ZeeAll_HPS     = (float)tree_Zee_HPS->GetEntries("leadPFChargedHadrTrackPt>3");
  float ZtautauAll_HPS = (float)tree_Ztautau_HPS->GetEntries("leadPFChargedHadrTrackPt>3");

  string pion = pion_.find("ch")!=string::npos ? "leadPFChargedHadrMva" : "leadPFCandMva"; 

  for(int i = 0; i<=44; i++){
    float cut = 0.025*i;
    float ZeeCut = (float)     tree_Zee_SHC->GetEntries(Form("%s<=%f && leadPFChargedHadrTrackPt>3",pion.c_str(),-0.1+cut));
    float ZtautauCut = (float) tree_Ztautau_SHC->GetEntries(Form("%s<=%f  && leadPFChargedHadrTrackPt>3",pion.c_str(),-0.1+cut));
    vxF_C[i]=ZeeCut/ZeeAll_SHC;
    vyF_C[i]=ZtautauCut/ZtautauAll_SHC;
  }
  for(int i = 0; i<=44; i++){
    float cut = 0.025*i;
    float ZeeCut = (float) tree_Zee_HPS->GetEntries(Form("%s<=%f && leadPFChargedHadrTrackPt>3",pion.c_str(),-0.1+cut));
    float ZtautauCut = (float) tree_Ztautau_HPS->GetEntries(Form("%s<=%f && leadPFChargedHadrTrackPt>3",pion.c_str(),-0.1+cut));
    vxF_L[i]=ZeeCut/ZeeAll_HPS;
    vyF_L[i]=ZtautauCut/ZtautauAll_HPS;
  }

  h2->SetXTitle("e#rightarrow#tau_{had} fake-rate");
  h2->SetYTitle("#tau_{had} efficiency");
  h2->SetAxisRange(0.02,1.0,"X");
  h2->SetAxisRange(0.95,1.01,"Y");
  h2->Draw();

  TVectorF vx_L(45,vxF_L);
  TVectorF vy_L(45,vyF_L);
  TGraph* graph_L = new TGraph(vx_L,vy_L);
  TVectorF vx_C(45,vxF_C);
  TVectorF vy_C(45,vyF_C);
  TGraph* graph_C = new TGraph(vx_C,vy_C);
  graph_C->SetMarkerStyle(kOpenSquare);
  graph_C->SetMarkerSize(1.2);
  graph_C->SetMarkerColor(kBlue);
  graph_C->Draw("P");
  graph_L->SetMarkerStyle(kOpenCircle);
  graph_L->SetMarkerSize(1.2);
  graph_L->SetMarkerColor(kRed);
  graph_L->Draw("P");

  string xi = pion_.find("ch")!=string::npos ? "#xi^{lch}" : "#xi^{lh}" ;
  leg->SetHeader(("Simulation: discriminator by "+xi).c_str());
  leg->AddEntry(graph_L,"#splitline{HPS #tau_{had}-candidates}{passing tau-ID and loose isolation}","P");
  leg->AddEntry(graph_C,"#splitline{Shrinking Cone #tau_{had}-candidates}{passing tau-ID and loose isolation}","P");
  leg->Draw();

}
void makePlot(double canvasSizeX, double canvasSizeY,
	      TH1* histogramTTH, 
	      TH1* histogramData, 
	      TH1* histogramTT,
	      TH1* histogramTTV,
	      TH1* histogramEWK,
	      TH1* histogramRares,
	      TH1* histogramBgrSum,
	      TH1* histogramBgrUncertainty,		
	      const std::string& xAxisTitle, double xAxisOffset,
	      bool useLogScale, double yMin, double yMax, const std::string& yAxisTitle, double yAxisOffset,
	      const std::string& outputFileName)
{
  TH1* histogramTTH_density = 0;
  if ( histogramTTH ) {
    if ( histogramData ) checkCompatibleBinning(histogramTTH, histogramData);
    histogramTTH_density = divideHistogramByBinWidth(histogramTTH);
  }
  TH1* histogramData_density = 0;
  if ( histogramData ) {
    histogramData_density = divideHistogramByBinWidth(histogramData);      
  }
  TH1* histogramTT_density = 0;
  if ( histogramTT ) {
    if ( histogramData ) checkCompatibleBinning(histogramTT, histogramData);
    histogramTT_density = divideHistogramByBinWidth(histogramTT);
  } 
  TH1* histogramTTV_density = 0;
  if ( histogramTTV ) {
    if ( histogramData ) checkCompatibleBinning(histogramTTV, histogramData);
    histogramTTV_density = divideHistogramByBinWidth(histogramTTV);
  }    
  TH1* histogramEWK_density = 0;
  if ( histogramEWK ) {
    if ( histogramData ) checkCompatibleBinning(histogramEWK, histogramData);
    histogramEWK_density = divideHistogramByBinWidth(histogramEWK);
  }
  TH1* histogramRares_density = 0;
  if ( histogramRares ) {
    if ( histogramData ) checkCompatibleBinning(histogramRares, histogramData);
    histogramRares_density = divideHistogramByBinWidth(histogramRares);
  }    
  TH1* histogramBgrSum_density = 0;
  if ( histogramBgrSum ) {
    if ( histogramData ) checkCompatibleBinning(histogramBgrSum, histogramData);
    histogramBgrSum_density = divideHistogramByBinWidth(histogramBgrSum); 
  }
  TH1* histogramBgrUncertainty_density = 0;
  if ( histogramBgrUncertainty ) {
    if ( histogramData ) checkCompatibleBinning(histogramBgrUncertainty, histogramData);
    histogramBgrUncertainty_density = divideHistogramByBinWidth(histogramBgrUncertainty);
  }
  
  TCanvas* canvas = new TCanvas("canvas", "", canvasSizeX, canvasSizeY);
  canvas->SetFillColor(10);
  canvas->SetFillStyle(4000);
  canvas->SetFillColor(10);
  canvas->SetTicky();
  canvas->SetBorderSize(2);  
  canvas->SetLeftMargin(0.12);
  canvas->SetBottomMargin(0.12);
  
  TPad* topPad = new TPad("topPad", "topPad", 0.00, 0.35, 1.00, 1.00);
  topPad->SetFillColor(10);
  topPad->SetTopMargin(0.065);
  topPad->SetLeftMargin(0.15);
  topPad->SetBottomMargin(0.03);
  topPad->SetRightMargin(0.05);
  topPad->SetLogy(useLogScale);
  
  TPad* bottomPad = new TPad("bottomPad", "bottomPad", 0.00, 0.00, 1.00, 0.35);
  bottomPad->SetFillColor(10);
  bottomPad->SetTopMargin(0.02);
  bottomPad->SetLeftMargin(0.15);
  bottomPad->SetBottomMargin(0.31);
  bottomPad->SetRightMargin(0.05);
  bottomPad->SetLogy(false);
  
  canvas->cd();
  topPad->Draw();
  topPad->cd();
  
  TAxis* xAxis_top = histogramData_density->GetXaxis();
  xAxis_top->SetTitle(xAxisTitle.data());
  xAxis_top->SetTitleOffset(xAxisOffset);
  xAxis_top->SetLabelColor(10);
  xAxis_top->SetTitleColor(10);
    
  TAxis* yAxis_top = histogramData_density->GetYaxis();
  yAxis_top->SetTitle(yAxisTitle.data());
  yAxis_top->SetTitleOffset(yAxisOffset);
  yAxis_top->SetTitleSize(0.085);
  yAxis_top->SetLabelSize(0.05);
  yAxis_top->SetTickLength(0.04);  
  
  TLegend* legend = new TLegend(0.66, 0.45, 0.94, 0.92, NULL, "brNDC");
  legend->SetFillStyle(0);
  legend->SetBorderSize(0);
  legend->SetFillColor(10);
  legend->SetTextSize(0.055);
  
  histogramData_density->SetTitle("");
  histogramData_density->SetStats(false);
  histogramData_density->SetMaximum(yMax);
  histogramData_density->SetMinimum(yMin);
  histogramData_density->SetMarkerStyle(20);
  histogramData_density->SetMarkerSize(2);
  histogramData_density->SetMarkerColor(kBlack);
  histogramData_density->SetLineColor(kBlack);
  legend->AddEntry(histogramData_density, "Observed", "p");    
  
  histogramData_density->Draw("ep");
  
  legend->AddEntry(histogramTTH_density, "t#bar{t}H", "l");

  histogramTT_density->SetTitle("");
  histogramTT_density->SetStats(false);
  histogramTT_density->SetMaximum(yMax);
  histogramTT_density->SetMinimum(yMin);
  histogramTT_density->SetFillColor(kMagenta - 10); 
  legend->AddEntry(histogramTT_density, "t#bar{t}+jets", "f");

  histogramTTV_density->SetFillColor(kOrange - 4);
  legend->AddEntry(histogramTTV_density, "t#bar{t}+V", "f");

  histogramEWK_density->SetFillColor(kRed + 2); 
  legend->AddEntry(histogramEWK_density, "EWK", "f");

  histogramRares_density->SetFillColor(kBlue - 8); 
  legend->AddEntry(histogramRares_density, "Rares", "f");

  THStack* histogramStack_density = new THStack("stack", "");
  histogramStack_density->Add(histogramRares_density);
  histogramStack_density->Add(histogramEWK_density);
  histogramStack_density->Add(histogramTTV_density);
  histogramStack_density->Add(histogramTT_density);
  histogramStack_density->Draw("histsame");
  
  histogramBgrUncertainty_density->SetFillColor(kBlack);
  histogramBgrUncertainty_density->SetFillStyle(3344);    
  histogramBgrUncertainty_density->Draw("e2same");
  legend->AddEntry(histogramBgrUncertainty_density, "Uncertainty", "f");

  histogramTTH_density->SetLineWidth(2);
  histogramTTH_density->SetLineStyle(1);
  histogramTTH_density->SetLineColor(kBlue);
  histogramTTH_density->Draw("histsame");
  
  histogramData_density->Draw("epsame");
  histogramData_density->Draw("axissame");
  
  legend->Draw();
  
  addLabel_CMS_luminosity(0.2050, 0.9225, 0.6850);
  
  canvas->cd();
  bottomPad->Draw();
  bottomPad->cd();
  
  TH1* histogramRatio = (TH1*)histogramData->Clone("histogramRatio");
  histogramRatio->Reset();
  if ( !histogramRatio->GetSumw2N() ) histogramRatio->Sumw2();
  checkCompatibleBinning(histogramRatio, histogramBgrSum);
  histogramRatio->Divide(histogramData, histogramBgrSum);
  int numBins_bottom = histogramRatio->GetNbinsX();
  for ( int iBin = 1; iBin <= numBins_bottom; ++iBin ) {
    double binContent = histogramRatio->GetBinContent(iBin);
    if ( histogramData && histogramData->GetBinContent(iBin) >= 0. ) histogramRatio->SetBinContent(iBin, binContent - 1.0);
    else histogramRatio->SetBinContent(iBin, -10.);
  }
  histogramRatio->SetTitle("");
  histogramRatio->SetStats(false);
  histogramRatio->SetMinimum(-0.50);
  histogramRatio->SetMaximum(+0.50);
  histogramRatio->SetMarkerStyle(histogramData_density->GetMarkerStyle());
  histogramRatio->SetMarkerSize(histogramData_density->GetMarkerSize());
  histogramRatio->SetMarkerColor(histogramData_density->GetMarkerColor());
  histogramRatio->SetLineColor(histogramData_density->GetLineColor());
  histogramRatio->Draw("ep");
  
  TAxis* xAxis_bottom = histogramRatio->GetXaxis();
  xAxis_bottom->SetTitle(xAxis_top->GetTitle());
  xAxis_bottom->SetLabelColor(1);
  xAxis_bottom->SetTitleColor(1);
  xAxis_bottom->SetTitleOffset(1.20);
  xAxis_bottom->SetTitleSize(0.13);
  xAxis_bottom->SetLabelOffset(0.02);
  xAxis_bottom->SetLabelSize(0.10);
  xAxis_bottom->SetTickLength(0.055);
  
  TAxis* yAxis_bottom = histogramRatio->GetYaxis();
  yAxis_bottom->SetTitle("#frac{Data - Simulation}{Simulation}");
  yAxis_bottom->SetTitleOffset(0.80);
  yAxis_bottom->SetNdivisions(505);
  yAxis_bottom->CenterTitle();
  yAxis_bottom->SetTitleSize(0.09);
  yAxis_bottom->SetLabelSize(0.10);
  yAxis_bottom->SetTickLength(0.04);  
  
  TH1* histogramRatioUncertainty = (TH1*)histogramBgrUncertainty->Clone("histogramRatioUncertainty");
  if ( !histogramRatioUncertainty->GetSumw2N() ) histogramRatioUncertainty->Sumw2();
  checkCompatibleBinning(histogramRatioUncertainty, histogramBgrUncertainty);
  histogramRatioUncertainty->Divide(histogramBgrSum);
  int numBins = histogramRatioUncertainty->GetNbinsX();
  for ( int iBin = 1; iBin <= numBins; ++iBin ) {
    double binContent = histogramRatioUncertainty->GetBinContent(iBin);
    histogramRatioUncertainty->SetBinContent(iBin, binContent - 1.0);
  }
  histogramRatioUncertainty->SetFillColor(histogramBgrUncertainty_density->GetFillColor());
  //histogramRatioUncertainty->SetFillStyle(histogramBgrUncertainty_density->GetFillStyle());    
  histogramRatioUncertainty->SetFillStyle(3644);    
  
  TF1* line = new TF1("line","0", xAxis_bottom->GetXmin(), xAxis_bottom->GetXmax());
  line->SetLineStyle(3);
  line->SetLineWidth(1);
  line->SetLineColor(kBlack);
  line->Draw("same");
  
  histogramRatioUncertainty->Draw("e2same");
  
  histogramRatio->Draw("epsame");
  
  canvas->Update();
  size_t idx = outputFileName.find(".");
  std::string outputFileName_plot(outputFileName, 0, idx);
  if ( useLogScale ) outputFileName_plot.append("_log");
  else outputFileName_plot.append("_linear");
  if ( idx != std::string::npos ) canvas->Print(std::string(outputFileName_plot).append(std::string(outputFileName, idx)).data());
  canvas->Print(std::string(outputFileName_plot).append(".png").data());
  canvas->Print(std::string(outputFileName_plot).append(".pdf").data());
  canvas->Print(std::string(outputFileName_plot).append(".root").data());
  
  delete histogramTTH_density;
  delete histogramData_density;
  delete histogramTT_density;
  delete histogramTTV_density;
  delete histogramEWK_density;
  delete histogramRares_density;
  delete histogramBgrSum_density;
  //delete histogramBgrUncertainty_density;
  delete histogramStack_density;
  delete legend;
  delete topPad;
  delete histogramRatio;
  delete histogramRatioUncertainty;
  delete line;
  delete bottomPad;    
  delete canvas;
}
Example #28
0
void plotDiffCuts(){

  TCanvas *c1 = new TCanvas("c1","Canvas",10,30,650,600);
  c1->SetGrid(0,0);
  c1->SetFillStyle(4000);
  c1->SetFillColor(10);
  c1->SetTicky();
  c1->SetObjectStat(0);

  TLegend* leg = new TLegend(0.4,0.6,0.89,0.89,NULL,"brNDC");
  leg->SetFillStyle(4000);
  leg->SetBorderSize(0);
  //leg->SetFillColor(10);
  leg->SetTextSize(0.03);

  TFile* f_Zee     = new TFile("../testNewWriteFromPAT_Zee_debug.root");
  TFile* f_Ztautau = new TFile("../testNewWriteFromPAT_Ztautau_debug.root");

  f_Zee->cd();
  TTree* tree_Zee_SHC     = (TTree*) gDirectory->Get("tauFakeRateAnalyzerSHC/tree"); 
  TTree* tree_Zee_HPS     = (TTree*) gDirectory->Get("tauFakeRateAnalyzerHPS/tree"); 
  f_Ztautau->cd();
  TTree* tree_Ztautau_SHC = (TTree*) gDirectory->Get("tauFakeRateAnalyzerSHC/tree"); 
  TTree* tree_Ztautau_HPS = (TTree*) gDirectory->Get("tauFakeRateAnalyzerHPS/tree"); 

  TH2F* h2 = new TH2F("h2","",220,0,1.1,220,0,1.1);

  float vxF_L[45];
  float vyF_L[45];
  float vxF_C[45];
  float vyF_C[45];

  float ZeeAll_SHC     = (float)tree_Zee_SHC->GetEntries("");
  float ZtautauAll_SHC = (float)tree_Ztautau_SHC->GetEntries("");
  float ZeeAll_HPS     = (float)tree_Zee_HPS->GetEntries("");
  float ZtautauAll_HPS = (float)tree_Ztautau_HPS->GetEntries("");

  for(int i = 0; i<=44; i++){
    float cut = 0.005*i;
    float ZeeCut = (float)     tree_Zee_HPS->GetEntries(Form("leadPFChargedHadrMva<=-0.1 && fbrem/leadPFChargedHadrTrackP<%f",cut));
    float ZtautauCut = (float) tree_Ztautau_HPS->GetEntries(Form("leadPFChargedHadrMva<=-0.1 && fbrem/leadPFChargedHadrTrackP<%f",cut));
    cout << Form("leadPFChargedHadrMva<=-0.1 && fbrem/leadPFChargedHadrTrackP<%f",cut) << endl;
    cout << ZeeCut/ZeeAll_HPS <<" ---- "<<ZtautauCut/ZtautauAll_HPS  << endl;
    vxF_C[i]=ZeeCut/ZeeAll_HPS;
    vyF_C[i]=ZtautauCut/ZtautauAll_HPS;
  }
  for(int i = 0; i<=44; i++){
    float cut = 0.005*i;
    float ZeeCut = (float) tree_Zee_HPS->GetEntries(Form("leadPFChargedHadrMva<=%f",cut));
    float ZtautauCut = (float) tree_Ztautau_HPS->GetEntries(Form("leadPFChargedHadrMva<=%f",cut));
    vxF_L[i]=ZeeCut/ZeeAll_HPS;
    vyF_L[i]=ZtautauCut/ZtautauAll_HPS;
  }

  h2->SetXTitle("electrons fake-rate");
  h2->SetYTitle("tau-jet efficiency");
  h2->SetAxisRange(0,1.0,"X");
  h2->SetAxisRange(0.70,1.02,"Y");
  h2->Draw();

  TVectorF vx_L(45,vxF_L);
  TVectorF vy_L(45,vyF_L);
  TGraph* graph_L = new TGraph(vx_L,vy_L);
  TVectorF vx_C(45,vxF_C);
  TVectorF vy_C(45,vyF_C);
  TGraph* graph_C = new TGraph(vx_C,vy_C);
  graph_C->SetMarkerStyle(kFullCircle);
  graph_C->SetMarkerSize(1.0);
  graph_C->SetMarkerColor(kRed);
  graph_C->Draw("P");
  graph_L->SetMarkerStyle(kFullSquare);
  graph_L->SetMarkerSize(1.0);
  graph_L->SetMarkerColor(kBlue);
  graph_L->Draw("P");

  leg->SetHeader("HPS, passing tau-ID and loose iso");
  leg->AddEntry(graph_C,"HPC: discr by mva_e_pi and fbrem<10%","P");
  leg->AddEntry(graph_L,"HPS: discr by mva_e_pi","P");
  leg->Draw();

}
Example #29
0
void compareThreeVersions(TimeInfoAllSteps TIAS_1,TimeInfoAllSteps TIAS_2,TimeInfoAllSteps TIAS_3,TString file_postfix) {

    gStyle->SetOptStat(0);

    TPaveText* labelcms  = new TPaveText(0.20,0.79,0.54,0.92,"NDCBR");
    labelcms->SetTextAlign(12);
    labelcms->SetTextSize(0.04);
    labelcms->SetFillColor(kWhite);
    labelcms->AddText("CMS Preliminary Simulation");
    //labelcms->AddText("CMS Preliminary");
    //labelcms->AddText("Simulation");
    labelcms->AddText("#sqrt{s} = 8 TeV, t#bar{t}+PU");
    labelcms->SetBorderSize(0);
    labelcms->SetTextFont(42);
    labelcms->SetLineWidth(2);

    TH1F *htime_iter_1 = new TH1F("time_iter_1"+file_postfix,"time_iter_1",8,0,8);
    timingTestPerIter(TIAS_1,htime_iter_1);
    htime_iter_1->SetLineStyle(TIAS_1.style());
    htime_iter_1->SetLineColor(TIAS_1.color());
    TH1F *htime_iter_2 = new TH1F("time_iter_2"+file_postfix,"time_iter_2",8,0,8);
    timingTestPerIter(TIAS_2,htime_iter_2);
    htime_iter_2->SetLineStyle(TIAS_2.style());
    htime_iter_2->SetLineColor(TIAS_2.color());
    TH1F *htime_iter_3 = new TH1F("time_iter_3"+file_postfix,"time_iter_3",8,0,8);
    timingTestPerIter(TIAS_3,htime_iter_3);
    htime_iter_3->SetLineStyle(TIAS_3.style());
    htime_iter_3->SetLineColor(TIAS_3.color());
    float iter_Iter0PU20 = htime_iter_1->GetBinContent(1);
    htime_iter_1->Scale(1./iter_Iter0PU20);
    htime_iter_2->Scale(1./iter_Iter0PU20);
    htime_iter_3->Scale(1./iter_Iter0PU20);
    htime_iter_1->GetYaxis()->SetRangeUser(0,1.1*TMath::Max(htime_iter_1->GetBinContent(htime_iter_1->GetMaximumBin()),TMath::Max(htime_iter_2->GetBinContent(htime_iter_2->GetMaximumBin()),htime_iter_3->GetBinContent(htime_iter_3->GetMaximumBin()))));
    TLegend* leg = new TLegend(0.2,0.59,0.45,0.79);
    leg->SetNColumns(1);
    leg->SetFillColor(kWhite);
    leg->SetLineColor(kWhite);
    leg->SetBorderSize(0);
    leg->SetTextSize(0.04);
    leg->SetTextFont(42);
    leg->AddEntry(htime_iter_1,TIAS_1.legend(),"L");
    leg->AddEntry(htime_iter_2,TIAS_2.legend(),"L");
    leg->AddEntry(htime_iter_3,TIAS_3.legend(),"L");
    htime_iter_1->GetYaxis()->SetTitleOffset(1.2);
    htime_iter_1->GetXaxis()->SetRangeUser(0,7);
    htime_iter_1->GetYaxis()->SetTitle("time [1/iter0@<PU>=20]");
    htime_iter_1->GetYaxis()->SetTitleSize(0.04);
    htime_iter_1->GetXaxis()->SetTitleSize(0.04);
    htime_iter_1->GetYaxis()->SetLabelSize(0.04);
    TCanvas c0;
    c0.SetTicks(1,1);
    htime_iter_1->Draw("H");
    htime_iter_2->Draw("H,same");
    htime_iter_3->Draw("H,same");
    leg->Draw();
    labelcms->Draw();
    c0.SetGridy();
    c0.SaveAs("timingNew_iter_"+file_postfix+".png");

    TH1F *htime_step_1 = new TH1F("time_step_1"+file_postfix,"time_step_1",5,0,5);
    timingTestPerStep(TIAS_1,htime_step_1);
    htime_step_1->SetLineStyle(TIAS_1.style());
    htime_step_1->SetLineColor(TIAS_1.color());
    htime_step_1->GetYaxis()->SetTitle("time [1/building@<PU>=20]");
    TH1F *htime_step_2 = new TH1F("time_step_2"+file_postfix,"time_step_2",5,0,5);
    timingTestPerStep(TIAS_2,htime_step_2);
    htime_step_2->SetLineStyle(TIAS_2.style());
    htime_step_2->SetLineColor(TIAS_2.color());
    TH1F *htime_step_3 = new TH1F("time_step_3"+file_postfix,"time_step_3",5,0,5);
    timingTestPerStep(TIAS_3,htime_step_3);
    htime_step_3->SetLineStyle(TIAS_3.style());
    htime_step_3->SetLineColor(TIAS_3.color());
    float step_BuildPU20 = htime_step_1->GetBinContent(3);
    htime_step_1->Scale(1./step_BuildPU20);
    htime_step_2->Scale(1./step_BuildPU20);
    htime_step_3->Scale(1./step_BuildPU20);
    htime_step_1->GetYaxis()->SetTitleOffset(1.2);
    htime_step_1->GetXaxis()->SetRangeUser(0,7);
    htime_step_1->GetYaxis()->SetTitleSize(0.04);
    htime_step_1->GetXaxis()->SetTitleSize(0.04);
    htime_step_1->GetYaxis()->SetLabelSize(0.04);
    TCanvas c1;
    c1.SetTicks(1,1);
    //htime_step_1->Scale(1./htime_step_1->Integral());
    //htime_step_2->Scale(1./htime_step_2->Integral());
    //htime_step_3->Scale(1./htime_step_3->Integral());
    htime_step_1->GetYaxis()->SetRangeUser(0,1.1*TMath::Max(htime_step_1->GetBinContent(htime_step_1->GetMaximumBin()),TMath::Max(htime_step_2->GetBinContent(htime_step_2->GetMaximumBin()),htime_step_3->GetBinContent(htime_step_3->GetMaximumBin()))));
    htime_step_1->GetXaxis()->SetRangeUser(1,5);
    htime_step_1->Draw("H");
    htime_step_2->Draw("H,same");
    htime_step_3->Draw("H,same");
    leg->SetX1NDC(0.60);
    leg->SetX2NDC(0.85);
    labelcms->SetX1NDC(0.60);
    labelcms->SetX2NDC(0.94);
    leg->Draw();
    labelcms->Draw();
    c1.SetGridy();
    c1.SaveAs("timingNew_step_"+file_postfix+".png");

    TH1F *htime_track_1 = (TH1F*) htime_iter_1->Clone("time_track_1"+file_postfix);
    htime_track_1->Reset();
    makeTimePerTrackPlot(htime_track_1,htime_iter_1,TIAS_1.mtvfile());
    TH1F *htime_track_2 = (TH1F*) htime_iter_2->Clone("time_track_2"+file_postfix);
    htime_track_2->Reset();
    makeTimePerTrackPlot(htime_track_2,htime_iter_2,TIAS_2.mtvfile());
    TH1F *htime_track_3 = (TH1F*) htime_iter_3->Clone("time_track_3"+file_postfix);
    htime_track_3->Reset();
    makeTimePerTrackPlot(htime_track_3,htime_iter_3,TIAS_3.mtvfile());
    float track_Iter0PU20 = htime_track_1->GetBinContent(1);
    htime_track_1->Scale(1./track_Iter0PU20);
    htime_track_2->Scale(1./track_Iter0PU20);
    htime_track_3->Scale(1./track_Iter0PU20);
    htime_track_1->GetYaxis()->SetRangeUser(0,1.1*TMath::Max(htime_track_1->GetBinContent(htime_track_1->GetMaximumBin()),TMath::Max(htime_track_2->GetBinContent(htime_track_2->GetMaximumBin()),htime_track_3->GetBinContent(htime_track_3->GetMaximumBin()))));
    TCanvas c2;
    c2.SetTicks(1,1);
    htime_track_1->GetYaxis()->SetTitleOffset(1.2);
    htime_track_1->GetXaxis()->SetRangeUser(0,7);
    htime_track_1->GetYaxis()->SetTitle("time/track [1/iter0@<PU>=20]");
    htime_track_1->GetYaxis()->SetTitleSize(0.04);
    htime_track_1->GetXaxis()->SetTitleSize(0.04);
    htime_track_1->GetYaxis()->SetLabelSize(0.04);
    htime_track_1->Draw("H");
    htime_track_2->Draw("H,same");
    htime_track_3->Draw("H,same");
    leg->SetX1NDC(0.2);
    leg->SetX2NDC(0.45);
    labelcms->SetX1NDC(0.2);
    labelcms->SetX2NDC(0.54);
    leg->Draw();
    labelcms->Draw();
    c2.SetGridy();
    c2.SaveAs("timingNew_track_"+file_postfix+".png");

}
void canvasRAAPbPb_0_100()
{
//=========Macro generated from canvas: canvasRAA/canvasRAA
//=========  (Mon Nov 21 04:10:29 2016) by ROOT version6.02/10
   TCanvas *canvasRAA = new TCanvas("canvasRAA", "canvasRAA",0,0,600,600);
   gStyle->SetOptStat(0);
   gStyle->SetOptTitle(0);
   canvasRAA->SetHighLightColor(2);
   canvasRAA->Range(0.5519499,-0.2310559,1.777118,1.69441);
   canvasRAA->SetFillColor(0);
   canvasRAA->SetBorderMode(0);
   canvasRAA->SetBorderSize(2);
   canvasRAA->SetLogx();
   canvasRAA->SetLeftMargin(0.12);
   canvasRAA->SetRightMargin(0.03);
   canvasRAA->SetTopMargin(0.075);
   canvasRAA->SetBottomMargin(0.12);
   canvasRAA->SetFrameBorderMode(0);
   canvasRAA->SetFrameBorderMode(0);
   
   TH2F *hemptyEff1 = new TH2F("hemptyEff1","",50,5,55,10,0,1.55);
   hemptyEff1->SetMinimum(0);
   hemptyEff1->SetMaximum(2);
   hemptyEff1->SetStats(0);

   Int_t ci;      // for color index setting
   TColor *color; // for color definition with alpha
   ci = TColor::GetColor("#000099");
   hemptyEff1->SetLineColor(ci);
   hemptyEff1->SetMarkerStyle(20);
   hemptyEff1->GetXaxis()->SetTitle("p_{T} (GeV/c)");
   hemptyEff1->GetXaxis()->CenterTitle(true);
   hemptyEff1->GetXaxis()->SetLabelFont(42);
   hemptyEff1->GetXaxis()->SetTitleSize(0.05);
   hemptyEff1->GetXaxis()->SetTitleFont(42);
   hemptyEff1->GetYaxis()->SetTitle("R_{AA}");
   hemptyEff1->GetYaxis()->CenterTitle(true);
   hemptyEff1->GetYaxis()->SetLabelFont(42);
   hemptyEff1->GetYaxis()->SetTitleSize(0.05);
   hemptyEff1->GetYaxis()->SetTitleOffset(1.1);
   hemptyEff1->GetYaxis()->SetTitleFont(42);
   hemptyEff1->GetZaxis()->SetLabelFont(42);
   hemptyEff1->GetZaxis()->SetLabelSize(0.035);
   hemptyEff1->GetZaxis()->SetTitleSize(0.035);
   hemptyEff1->GetZaxis()->SetTitleFont(42);
   hemptyEff1->Draw("");
   TLine *line = new TLine(5,1,55,1);
   line->SetLineStyle(2);
   line->SetLineWidth(2);
   line->Draw();
   TBox *box = new TBox(5,0.8492652,5.35,1.150735);
   box->SetFillColor(16);
   box->SetLineColor(16);
   box->Draw();
   TLatex *   tex = new TLatex(0.38,0.595,"Centrality 0-100%");
tex->SetNDC();
   tex->SetTextFont(42);
   tex->SetLineWidth(2);
   tex->Draw();
      tex = new TLatex(0.13,0.936,"25.8 pb^{-1} (5.02 TeV pp) + 350.68 #mub^{-1} (5.02 TeV PbPb)");
tex->SetNDC();
   tex->SetTextFont(42);
   tex->SetTextSize(0.038);
   tex->SetLineWidth(2);
   tex->Draw();
      tex = new TLatex(0.15,0.9,"CMS");
tex->SetNDC();
   tex->SetTextAlign(13);
   tex->SetTextSize(0.06);
   tex->SetLineWidth(2);
   tex->Draw();
      tex = new TLatex(0.15,0.84,"Preliminary");
tex->SetNDC();
   tex->SetTextAlign(13);
   tex->SetTextFont(52);
   tex->SetLineWidth(2);
   tex->Draw();
      tex = new TLatex(0.23,0.7,"T_{AA} and lumi.");
tex->SetNDC();
   tex->SetTextFont(42);
   tex->SetTextSize(0.04);
   tex->SetLineWidth(2);
   tex->Draw();
      tex = new TLatex(0.23,0.65,"uncertainty");
tex->SetNDC();
   tex->SetTextFont(42);
   tex->SetTextSize(0.04);
   tex->SetLineWidth(2);
   tex->Draw();
   
   Double_t gNuclearModification_fx3001[5] = {
   8.5,
   12.5,
   17.5,
   25,
   40};
   Double_t gNuclearModification_fy3001[5] = {
   0.2588925,
   0.3541164,
   0.4248931,
   0.6428491,
   0.3291394};
   Double_t gNuclearModification_felx3001[5] = {
   1.5,
   2.5,
   2.5,
   5,
   10};
   Double_t gNuclearModification_fely3001[5] = {
   0.06471243,
   0.08566381,
   0.1025233,
   0.1541752,
   0.07884685};
   Double_t gNuclearModification_fehx3001[5] = {
   1.5,
   2.5,
   2.5,
   5,
   10};
   Double_t gNuclearModification_fehy3001[5] = {
   0.06471243,
   0.08566381,
   0.1025233,
   0.1541752,
   0.07884685};
   TGraphAsymmErrors *grae = new TGraphAsymmErrors(5,gNuclearModification_fx3001,gNuclearModification_fy3001,gNuclearModification_felx3001,gNuclearModification_fehx3001,gNuclearModification_fely3001,gNuclearModification_fehy3001);
   grae->SetName("gNuclearModification");
   grae->SetTitle("Graph");

   ci = TColor::GetColor("#0099ff");
   grae->SetFillColor(ci);
   grae->SetFillStyle(3001);

   ci = TColor::GetColor("#0099ff");
   grae->SetLineColor(ci);

   ci = TColor::GetColor("#330066");
   grae->SetMarkerColor(ci);
   grae->SetMarkerStyle(21);
   
   TH1F *Graph_gNuclearModification3001 = new TH1F("Graph_gNuclearModification3001","Graph",100,2.7,54.3);
   Graph_gNuclearModification3001->SetMinimum(0.1338956);
   Graph_gNuclearModification3001->SetMaximum(0.8573087);
   Graph_gNuclearModification3001->SetDirectory(0);
   Graph_gNuclearModification3001->SetStats(0);

   ci = TColor::GetColor("#000099");
   Graph_gNuclearModification3001->SetLineColor(ci);
   Graph_gNuclearModification3001->SetMarkerStyle(20);
   Graph_gNuclearModification3001->GetXaxis()->SetLabelFont(42);
   Graph_gNuclearModification3001->GetXaxis()->SetLabelSize(0.035);
   Graph_gNuclearModification3001->GetXaxis()->SetTitleSize(0.035);
   Graph_gNuclearModification3001->GetXaxis()->SetTitleFont(42);
   Graph_gNuclearModification3001->GetYaxis()->SetLabelFont(42);
   Graph_gNuclearModification3001->GetYaxis()->SetLabelSize(0.035);
   Graph_gNuclearModification3001->GetYaxis()->SetTitleSize(0.035);
   Graph_gNuclearModification3001->GetYaxis()->SetTitleFont(42);
   Graph_gNuclearModification3001->GetZaxis()->SetLabelFont(42);
   Graph_gNuclearModification3001->GetZaxis()->SetLabelSize(0.035);
   Graph_gNuclearModification3001->GetZaxis()->SetTitleSize(0.035);
   Graph_gNuclearModification3001->GetZaxis()->SetTitleFont(42);
   grae->SetHistogram(Graph_gNuclearModification3001);
   
   grae->Draw("5");
   Double_t xAxis1[6] = {7, 10, 15, 20, 30, 50}; 
   
   TH1D *hNuclearModification2 = new TH1D("hNuclearModification2","",5, xAxis1);
   hNuclearModification2->SetBinContent(1,0.2588925);
   hNuclearModification2->SetBinContent(2,0.3541164);
   hNuclearModification2->SetBinContent(3,0.4248931);
   hNuclearModification2->SetBinContent(4,0.6428491);
   hNuclearModification2->SetBinContent(5,0.3291394);
   hNuclearModification2->SetBinError(1,0.1738922);
   hNuclearModification2->SetBinError(2,0.08216078);
   hNuclearModification2->SetBinError(3,0.09029037);
   hNuclearModification2->SetBinError(4,0.1168973);
   hNuclearModification2->SetBinError(5,0.1254217);
   hNuclearModification2->SetEntries(54.19682);

   ci = TColor::GetColor("#330066");
   hNuclearModification2->SetLineColor(ci);
   hNuclearModification2->SetLineWidth(3);

   ci = TColor::GetColor("#330066");
   hNuclearModification2->SetMarkerColor(ci);
   hNuclearModification2->SetMarkerStyle(21);
   hNuclearModification2->SetMarkerSize(1.2);
   hNuclearModification2->GetXaxis()->SetTitle("D^{0} p_{T} (GeV/c)");
   hNuclearModification2->GetXaxis()->SetLabelFont(42);
   hNuclearModification2->GetXaxis()->SetLabelSize(0.035);
   hNuclearModification2->GetXaxis()->SetTitleSize(0.035);
   hNuclearModification2->GetXaxis()->SetTitleFont(42);
   hNuclearModification2->GetYaxis()->SetTitle("Uncorrected dN(D^{0})/dp_{T}");
   hNuclearModification2->GetYaxis()->SetLabelFont(42);
   hNuclearModification2->GetYaxis()->SetLabelSize(0.035);
   hNuclearModification2->GetYaxis()->SetTitleSize(0.035);
   hNuclearModification2->GetYaxis()->SetTitleFont(42);
   hNuclearModification2->GetZaxis()->SetLabelFont(42);
   hNuclearModification2->GetZaxis()->SetLabelSize(0.035);
   hNuclearModification2->GetZaxis()->SetTitleSize(0.035);
   hNuclearModification2->GetZaxis()->SetTitleFont(42);
   hNuclearModification2->Draw("same");
   
   TLegend *leg = new TLegend(0.6036242,0.7474695,0.942953,0.8457592,NULL,"brNDC");
   leg->SetBorderSize(0);
   leg->SetTextSize(0.04);
   leg->SetLineColor(0);
   leg->SetLineStyle(1);
   leg->SetLineWidth(1);
   leg->SetFillColor(0);
   leg->SetFillStyle(1001);
   TLegendEntry *entry=leg->AddEntry("gNuclearModification","B^{+} |y| < 1.0","pf");

   ci = TColor::GetColor("#0099ff");
   entry->SetFillColor(ci);
   entry->SetFillStyle(3001);

   ci = TColor::GetColor("#0099ff");
   entry->SetLineColor(ci);
   entry->SetLineStyle(1);
   entry->SetLineWidth(1);

   ci = TColor::GetColor("#330066");
   entry->SetMarkerColor(ci);
   entry->SetMarkerStyle(21);
   entry->SetMarkerSize(1);
   entry->SetTextFont(42);
   entry->SetTextSize(0.038);
   leg->Draw();
   
   TH2F *hemptyEff_copy3 = new TH2F("hemptyEff_copy3","",50,5,55,10,0,1.55);
   hemptyEff_copy3->SetMinimum(0);
   hemptyEff_copy3->SetMaximum(2);
   hemptyEff_copy3->SetDirectory(0);
   hemptyEff_copy3->SetStats(0);

   ci = TColor::GetColor("#000099");
   hemptyEff_copy3->SetLineColor(ci);
   hemptyEff_copy3->SetMarkerStyle(20);
   hemptyEff_copy3->GetXaxis()->SetTitle("p_{T} (GeV/c)");
   hemptyEff_copy3->GetXaxis()->CenterTitle(true);
   hemptyEff_copy3->GetXaxis()->SetLabelFont(42);
   hemptyEff_copy3->GetXaxis()->SetTitleSize(0.05);
   hemptyEff_copy3->GetXaxis()->SetTitleFont(42);
   hemptyEff_copy3->GetYaxis()->SetTitle("R_{AA}");
   hemptyEff_copy3->GetYaxis()->CenterTitle(true);
   hemptyEff_copy3->GetYaxis()->SetLabelFont(42);
   hemptyEff_copy3->GetYaxis()->SetTitleSize(0.05);
   hemptyEff_copy3->GetYaxis()->SetTitleOffset(1.1);
   hemptyEff_copy3->GetYaxis()->SetTitleFont(42);
   hemptyEff_copy3->GetZaxis()->SetLabelFont(42);
   hemptyEff_copy3->GetZaxis()->SetLabelSize(0.035);
   hemptyEff_copy3->GetZaxis()->SetTitleSize(0.035);
   hemptyEff_copy3->GetZaxis()->SetTitleFont(42);
   hemptyEff_copy3->Draw("sameaxis");
   canvasRAA->Modified();
   canvasRAA->cd();
   canvasRAA->SetSelected(canvasRAA);
}