//------------------------------------------------------------------------------ // DrawTLegend //------------------------------------------------------------------------------ TLegend* DrawTLegend(Float_t x1, Float_t y1, TH1* hist, TString label, TString option, Float_t tsize, Float_t xoffset, Float_t yoffset) { TLegend* legend = new TLegend(x1, y1, x1 + xoffset, y1 + yoffset); legend->SetBorderSize( 0); legend->SetFillColor ( 0); legend->SetTextAlign ( 12); legend->SetTextFont ( 42); legend->SetTextSize (tsize); legend->AddEntry(hist, label.Data(), option.Data()); legend->Draw(); return legend; }
void DrawTree::setLegend(float xmin, float ymin, float xsize, float ysize,char* header) { _legend = new TLegend(xmin,ymin,xmin+xsize,ymin+ysize); _legend->SetTextAlign(12); _legend->SetTextColor(1); _legend->SetTextSize(0.03); _legend->SetFillStyle(0); _legend->SetFillColor(0); _legend->SetBorderSize(0); _legend->SetHeader(header); }
void BasePlot::DrawLegend(Float_t x1, Float_t y1, TH1F* hist, TString label, TString option) { TLegend* legend = new TLegend(x1, y1, x1 + _xoffset, y1 + _yoffset); legend->SetBorderSize( 0); legend->SetFillColor ( 0); legend->SetTextAlign ( 12); legend->SetTextFont (_labelFont); legend->SetTextSize (_legendTextSize); legend->AddEntry(hist, label.Data(), option.Data()); legend->Draw(); }
void make_1D_Plot(T *hist, configuration *myconfig){ TCanvas *c1 = new TCanvas("c1","C1",10,10,1280,960); gPad->SetTopMargin(0.08); gPad->SetRightMargin(0.04); gPad->SetLeftMargin(0.12); gPad->SetBottomMargin(0.14); gPad->SetTickx(); gPad->SetTicky(); //gPad->SetLogy(); //hist->GetYaxis()->SetTitleOffset(0.8); hist->SetLineWidth(2); if(static_cast<TString>(hist->GetName()).Contains("_IP")){ hist->SetLineColor(kBlack); hist->SetMarkerColor(kBlack); } else hist->SetLineColor(kBlue+2); hist->GetXaxis()->SetLabelSize(0.05); hist->GetYaxis()->SetLabelSize(0.05); hist->GetXaxis()->SetTitleSize(0.05); hist->GetYaxis()->SetTitleSize(0.05); hist->GetYaxis()->SetRangeUser(0,1.2*hist->GetMaximum()); if(static_cast<TString>(hist->GetName()).Contains("_IP"))hist->Draw("e1p"); else hist->Draw("hist"); TPaveText *blank_box = new TPaveText(1.001-gPad->GetRightMargin(),gPad->GetBottomMargin(),1.0,gPad->GetBottomMargin()+0.05,"BRNDC"); blank_box->SetBorderSize(0);blank_box->SetFillColor(kWhite);blank_box->SetTextAlign(12);blank_box->SetFillStyle(1001); blank_box->AddText(" "); blank_box->Draw(); hist->Draw("axis same"); if(static_cast<TString>(hist->GetName()).Contains("_IP")){ TLegend *leg; leg = new TLegend(0.5,0.12+gPad->GetBottomMargin(),0.97-gPad->GetRightMargin(),0.17+gPad->GetBottomMargin()); leg->SetBorderSize(0);leg->SetFillColor(kWhite);leg->SetFillStyle(1001);leg->SetTextAlign(12);leg->SetTextSize(0.05);leg->SetTextFont(42); temp = "#Xi_{c}^{+}+n negative Tracks"; if(myconfig->get_particle().Contains("Xic0"))temp = "#Xi_{c}^{0} + n positive Tracks"; if(myconfig->get_particle().Contains("Omega"))temp = "#Omega_{c}^{0} + n positive Tracks^{+}"; leg->AddEntry(hist,temp,"lp"); leg->Draw(); } temp = myconfig->get_dumpdir()+"/Plots/"; if(!gSystem->OpenDirectory(temp))gSystem->mkdir(temp); temp += static_cast<TString>(hist->GetName()) + "_" + myconfig->get_current_cs() + ".pdf"; if(!myconfig->is_debug()) c1->SaveAs(temp); delete c1; return; }
TLegend *GetLegendBaselines(TGraphAsymmErrors *gpp,Int_t identifier){ TLegend * legend = new TLegend(0.27,0.39,0.55,0.47);//pad 0 // TLegend * legend = new TLegend(0.40,0.45,0.85,0.55);//pad 1 // TLegend * legend = new TLegend(0.40,0.6,0.85,0.67); // TLegend * legend = new TLegend(0.40,0.64,0.85,0.72); // TLegend * legend = new TLegend(0.011/gPad->GetWNDC()+gPad->GetLeftMargin(),0.22/gPad->GetHNDC()+gPad->GetBottomMargin(),0.27/gPad->GetWNDC()+gPad->GetLeftMargin(),0.28/gPad->GetHNDC()+gPad->GetBottomMargin()); legend->SetFillColor(0); legend->SetFillStyle(0); legend->SetBorderSize(0); legend->SetTextFont(43); legend->SetTextAlign(12); // legend->SetTextSize(0.055/(gPad->GetHNDC())*scaleHeightPads); legend->SetTextSize(22*innerPadHeight/referencePadHeight*resizeTextFactor);// settings for font 42: 0.07/(gPad->GetHNDC())*scaleHeight legend->AddEntry(gpp,"baseline-subtraction uncertainty","f"); legend->SetName(Form("LegendBaselineUncPPandpPb_%d",identifier)); return legend; }
void Plots::Legend(TString histoname1,TString histoname2,TString histoname3, TString histoname4, TH1F *histo1, TH1F *histo2, TH1F *histo3, TH1F *histo4) { TLegend *leg = new TLegend(0.45,0.88,1.,1.0); leg->SetTextAlign(32); leg->SetTextColor(1); leg->SetTextSize(0.020); char label[128]; sprintf(label,"perfect alignment; mean = %1.3f, RMS = %1.3f",convert(histo1->GetMean()),convert(histo1->GetRMS())); leg->AddEntry(histoname1, label, "l"); sprintf(label,"SurveyLASCosmics alignment; mean = %1.3f, RMS = %1.3f",convert(histo2->GetMean()),convert(histo2->GetRMS())); leg->AddEntry(histoname2, label, "l"); sprintf(label,"10 pb-1 alignment; mean = %1.3f, RMS = %1.3f",convert(histo3->GetMean()),convert(histo3->GetRMS())); leg->AddEntry(histoname3, label, "l"); sprintf(label,"100 pb-1 alignment; mean = %1.3f, RMS = %1.3f",convert(histo4->GetMean()),convert(histo4->GetRMS())); leg->AddEntry(histoname4, label, "l"); leg->Draw(); }
//------------------------------------------------------------------------------ // DrawLegend //------------------------------------------------------------------------------ void DrawLegend(Float_t x1, Float_t y1, TH1F* hist, TString label, TString option) { TLegend* legend = new TLegend(x1, y1, x1 + 0.22, y1 + 0.05); legend->SetBorderSize( 0); legend->SetFillColor ( 0); legend->SetTextAlign ( 12); legend->SetTextFont ( 42); legend->SetTextSize (0.045); legend->AddEntry (hist, label.Data(), option.Data()); // legend->AddEntry (hist, label.Data()); legend->Draw(); }
void plot(){ TFile* f1 = TFile::Open("prunedmass_cv.root"); TFile* f2 = TFile::Open("prunedmass_up.root"); TFile* f3 = TFile::Open("prunedmass_down.root"); TH1F* cv = (TH1F*)f1->Get("AK8jetPrunedMass"); TH1F* up = (TH1F*)f2->Get("AK8jetPrunedMass"); TH1F* down = (TH1F*)f3->Get("AK8jetPrunedMass"); TLegend* l = new TLegend(0.6645729,0.701049,0.8743719,0.8706294,"","NDC"); l->SetLineWidth(2); l->SetBorderSize(0); l->SetFillColor(0); l->SetFillStyle(0); l->SetTextFont(42); l->SetTextSize(0.035); l->SetTextAlign(12); cv->SetLineColor(kRed); cv->SetLineWidth(2); up->SetLineColor(kBlack); up->SetFillColor(kBlack); up->SetFillStyle(3018); down->SetLineColor(kBlue); down->SetFillColor(kBlue); l->AddEntry(cv,"central value","L"); l->AddEntry(up,"scale up","F"); l->AddEntry(down,"scale down","F"); down->Draw("HIST"); cv->Draw("HISTsame"); up->Draw("HISTsame"); l->Draw(); }
void DarkSusy_mH_125_mGammaD_2000_cT_10_LHE_gammaD_Sorted_cT_XY_lab() { //=========Macro generated from canvas: cnv/cnv //========= (Sun May 24 15:17:52 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(-10.625,-0.01611139,51.875,0.1078224); 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_gammaD_1_cT_XY_lab_dummy65 = new TH1F("h_gammaD_1_cT_XY_lab_dummy65","h_gammaD_1_cT_XY_lab_dummy",5,0,50); h_gammaD_1_cT_XY_lab_dummy65->SetMaximum(0.09914702); h_gammaD_1_cT_XY_lab_dummy65->SetLineStyle(0); h_gammaD_1_cT_XY_lab_dummy65->SetMarkerStyle(20); h_gammaD_1_cT_XY_lab_dummy65->GetXaxis()->SetTitle("L_{XY} of #gamma_{D} [mm]"); h_gammaD_1_cT_XY_lab_dummy65->GetXaxis()->SetLabelFont(42); h_gammaD_1_cT_XY_lab_dummy65->GetXaxis()->SetLabelOffset(0.007); h_gammaD_1_cT_XY_lab_dummy65->GetXaxis()->SetTitleSize(0.06); h_gammaD_1_cT_XY_lab_dummy65->GetXaxis()->SetTitleOffset(0.95); h_gammaD_1_cT_XY_lab_dummy65->GetXaxis()->SetTitleFont(42); h_gammaD_1_cT_XY_lab_dummy65->GetYaxis()->SetTitle("Normalized Fraction of events / 10.0 mm"); h_gammaD_1_cT_XY_lab_dummy65->GetYaxis()->SetLabelFont(42); h_gammaD_1_cT_XY_lab_dummy65->GetYaxis()->SetLabelOffset(0.007); h_gammaD_1_cT_XY_lab_dummy65->GetYaxis()->SetTitleSize(0.05); h_gammaD_1_cT_XY_lab_dummy65->GetYaxis()->SetTitleOffset(1.3); h_gammaD_1_cT_XY_lab_dummy65->GetYaxis()->SetTitleFont(42); h_gammaD_1_cT_XY_lab_dummy65->GetZaxis()->SetLabelFont(42); h_gammaD_1_cT_XY_lab_dummy65->GetZaxis()->SetLabelOffset(0.007); h_gammaD_1_cT_XY_lab_dummy65->GetZaxis()->SetTitleSize(0.06); h_gammaD_1_cT_XY_lab_dummy65->GetZaxis()->SetTitleFont(42); h_gammaD_1_cT_XY_lab_dummy65->Draw(""); TH1F *h_gammaD_1_cT_XY_lab66 = new TH1F("h_gammaD_1_cT_XY_lab66","h_gammaD_1_cT_XY_lab",5,0,50); h_gammaD_1_cT_XY_lab66->SetBinContent(1,0.04698479); h_gammaD_1_cT_XY_lab66->SetBinContent(2,0.02564764); h_gammaD_1_cT_XY_lab66->SetBinContent(3,0.01450027); h_gammaD_1_cT_XY_lab66->SetBinContent(4,0.008138182); h_gammaD_1_cT_XY_lab66->SetBinContent(5,0.004729106); h_gammaD_1_cT_XY_lab66->SetBinContent(6,0.006992016); h_gammaD_1_cT_XY_lab66->SetEntries(79999); Int_t ci; // for color index setting TColor *color; // for color definition with alpha ci = TColor::GetColor("#0000ff"); h_gammaD_1_cT_XY_lab66->SetLineColor(ci); h_gammaD_1_cT_XY_lab66->SetLineWidth(2); h_gammaD_1_cT_XY_lab66->SetMarkerStyle(20); h_gammaD_1_cT_XY_lab66->GetXaxis()->SetLabelFont(42); h_gammaD_1_cT_XY_lab66->GetXaxis()->SetLabelOffset(0.007); h_gammaD_1_cT_XY_lab66->GetXaxis()->SetTitleSize(0.06); h_gammaD_1_cT_XY_lab66->GetXaxis()->SetTitleOffset(0.95); h_gammaD_1_cT_XY_lab66->GetXaxis()->SetTitleFont(42); h_gammaD_1_cT_XY_lab66->GetYaxis()->SetLabelFont(42); h_gammaD_1_cT_XY_lab66->GetYaxis()->SetLabelOffset(0.007); h_gammaD_1_cT_XY_lab66->GetYaxis()->SetTitleSize(0.06); h_gammaD_1_cT_XY_lab66->GetYaxis()->SetTitleOffset(1.3); h_gammaD_1_cT_XY_lab66->GetYaxis()->SetTitleFont(42); h_gammaD_1_cT_XY_lab66->GetZaxis()->SetLabelFont(42); h_gammaD_1_cT_XY_lab66->GetZaxis()->SetLabelOffset(0.007); h_gammaD_1_cT_XY_lab66->GetZaxis()->SetTitleSize(0.06); h_gammaD_1_cT_XY_lab66->GetZaxis()->SetTitleFont(42); h_gammaD_1_cT_XY_lab66->Draw("same"); TH1F *h_gammaD_2_cT_XY_lab67 = new TH1F("h_gammaD_2_cT_XY_lab67","h_gammaD_2_cT_XY_lab",5,0,50); h_gammaD_2_cT_XY_lab67->SetBinContent(1,0.05508168); h_gammaD_2_cT_XY_lab67->SetBinContent(2,0.02481173); h_gammaD_2_cT_XY_lab67->SetBinContent(3,0.01176736); h_gammaD_2_cT_XY_lab67->SetBinContent(4,0.00563072); h_gammaD_2_cT_XY_lab67->SetBinContent(5,0.002708513); h_gammaD_2_cT_XY_lab67->SetBinContent(6,0.002983999); h_gammaD_2_cT_XY_lab67->SetEntries(79999); ci = TColor::GetColor("#ff0000"); h_gammaD_2_cT_XY_lab67->SetLineColor(ci); h_gammaD_2_cT_XY_lab67->SetLineWidth(2); h_gammaD_2_cT_XY_lab67->SetMarkerStyle(20); h_gammaD_2_cT_XY_lab67->GetXaxis()->SetLabelFont(42); h_gammaD_2_cT_XY_lab67->GetXaxis()->SetLabelOffset(0.007); h_gammaD_2_cT_XY_lab67->GetXaxis()->SetTitleSize(0.06); h_gammaD_2_cT_XY_lab67->GetXaxis()->SetTitleOffset(0.95); h_gammaD_2_cT_XY_lab67->GetXaxis()->SetTitleFont(42); h_gammaD_2_cT_XY_lab67->GetYaxis()->SetLabelFont(42); h_gammaD_2_cT_XY_lab67->GetYaxis()->SetLabelOffset(0.007); h_gammaD_2_cT_XY_lab67->GetYaxis()->SetTitleSize(0.06); h_gammaD_2_cT_XY_lab67->GetYaxis()->SetTitleOffset(1.3); h_gammaD_2_cT_XY_lab67->GetYaxis()->SetTitleFont(42); h_gammaD_2_cT_XY_lab67->GetZaxis()->SetLabelFont(42); h_gammaD_2_cT_XY_lab67->GetZaxis()->SetLabelOffset(0.007); h_gammaD_2_cT_XY_lab67->GetZaxis()->SetTitleSize(0.06); h_gammaD_2_cT_XY_lab67->GetZaxis()->SetTitleFont(42); h_gammaD_2_cT_XY_lab67->Draw("same"); 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_gammaD_1_cT_XY_lab","1st dark photon (leading p_{T})","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_gammaD_2_cT_XY_lab","2nd dark photon","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}} = 10 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); }
void DarkSusy_mH_125_mGammaD_2000_cT_10_LHE_gammaD_Sorted_cT_Z_lab() { //=========Macro generated from canvas: cnv/cnv //========= (Sun May 24 15:17:53 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(-10.625,-0.01342717,51.875,0.08985876); 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_gammaD_1_cT_Z_lab_dummy68 = new TH1F("h_gammaD_1_cT_Z_lab_dummy68","h_gammaD_1_cT_Z_lab_dummy",5,0,50); h_gammaD_1_cT_Z_lab_dummy68->SetMaximum(0.08262875); h_gammaD_1_cT_Z_lab_dummy68->SetLineStyle(0); h_gammaD_1_cT_Z_lab_dummy68->SetMarkerStyle(20); h_gammaD_1_cT_Z_lab_dummy68->GetXaxis()->SetTitle("L_{Z} of #gamma_{D} [mm]"); h_gammaD_1_cT_Z_lab_dummy68->GetXaxis()->SetLabelFont(42); h_gammaD_1_cT_Z_lab_dummy68->GetXaxis()->SetLabelOffset(0.007); h_gammaD_1_cT_Z_lab_dummy68->GetXaxis()->SetTitleSize(0.06); h_gammaD_1_cT_Z_lab_dummy68->GetXaxis()->SetTitleOffset(0.95); h_gammaD_1_cT_Z_lab_dummy68->GetXaxis()->SetTitleFont(42); h_gammaD_1_cT_Z_lab_dummy68->GetYaxis()->SetTitle("Normalized Fraction of events / 10.0 mm"); h_gammaD_1_cT_Z_lab_dummy68->GetYaxis()->SetLabelFont(42); h_gammaD_1_cT_Z_lab_dummy68->GetYaxis()->SetLabelOffset(0.007); h_gammaD_1_cT_Z_lab_dummy68->GetYaxis()->SetTitleSize(0.05); h_gammaD_1_cT_Z_lab_dummy68->GetYaxis()->SetTitleOffset(1.3); h_gammaD_1_cT_Z_lab_dummy68->GetYaxis()->SetTitleFont(42); h_gammaD_1_cT_Z_lab_dummy68->GetZaxis()->SetLabelFont(42); h_gammaD_1_cT_Z_lab_dummy68->GetZaxis()->SetLabelOffset(0.007); h_gammaD_1_cT_Z_lab_dummy68->GetZaxis()->SetTitleSize(0.06); h_gammaD_1_cT_Z_lab_dummy68->GetZaxis()->SetTitleFont(42); h_gammaD_1_cT_Z_lab_dummy68->Draw(""); TH1F *h_gammaD_1_cT_Z_lab69 = new TH1F("h_gammaD_1_cT_Z_lab69","h_gammaD_1_cT_Z_lab",5,0,50); h_gammaD_1_cT_Z_lab69->SetBinContent(1,0.04371162); h_gammaD_1_cT_Z_lab69->SetBinContent(2,0.02445529); h_gammaD_1_cT_Z_lab69->SetBinContent(3,0.01502482); h_gammaD_1_cT_Z_lab69->SetBinContent(4,0.01002103); h_gammaD_1_cT_Z_lab69->SetBinContent(5,0.006787247); h_gammaD_1_cT_Z_lab69->SetBinContent(6,0.03459914); h_gammaD_1_cT_Z_lab69->SetEntries(79999); Int_t ci; // for color index setting TColor *color; // for color definition with alpha ci = TColor::GetColor("#0000ff"); h_gammaD_1_cT_Z_lab69->SetLineColor(ci); h_gammaD_1_cT_Z_lab69->SetLineWidth(2); h_gammaD_1_cT_Z_lab69->SetMarkerStyle(20); h_gammaD_1_cT_Z_lab69->GetXaxis()->SetLabelFont(42); h_gammaD_1_cT_Z_lab69->GetXaxis()->SetLabelOffset(0.007); h_gammaD_1_cT_Z_lab69->GetXaxis()->SetTitleSize(0.06); h_gammaD_1_cT_Z_lab69->GetXaxis()->SetTitleOffset(0.95); h_gammaD_1_cT_Z_lab69->GetXaxis()->SetTitleFont(42); h_gammaD_1_cT_Z_lab69->GetYaxis()->SetLabelFont(42); h_gammaD_1_cT_Z_lab69->GetYaxis()->SetLabelOffset(0.007); h_gammaD_1_cT_Z_lab69->GetYaxis()->SetTitleSize(0.06); h_gammaD_1_cT_Z_lab69->GetYaxis()->SetTitleOffset(1.3); h_gammaD_1_cT_Z_lab69->GetYaxis()->SetTitleFont(42); h_gammaD_1_cT_Z_lab69->GetZaxis()->SetLabelFont(42); h_gammaD_1_cT_Z_lab69->GetZaxis()->SetLabelOffset(0.007); h_gammaD_1_cT_Z_lab69->GetZaxis()->SetTitleSize(0.06); h_gammaD_1_cT_Z_lab69->GetZaxis()->SetTitleFont(42); h_gammaD_1_cT_Z_lab69->Draw("same"); TH1F *h_gammaD_2_cT_Z_lab70 = new TH1F("h_gammaD_2_cT_Z_lab70","h_gammaD_2_cT_Z_lab",5,0,50); h_gammaD_2_cT_Z_lab70->SetBinContent(1,0.04590486); h_gammaD_2_cT_Z_lab70->SetBinContent(2,0.02475454); h_gammaD_2_cT_Z_lab70->SetBinContent(3,0.01457528); h_gammaD_2_cT_Z_lab70->SetBinContent(4,0.008818965); h_gammaD_2_cT_Z_lab70->SetBinContent(5,0.005946348); h_gammaD_2_cT_Z_lab70->SetBinContent(6,0.02668493); h_gammaD_2_cT_Z_lab70->SetEntries(79999); ci = TColor::GetColor("#ff0000"); h_gammaD_2_cT_Z_lab70->SetLineColor(ci); h_gammaD_2_cT_Z_lab70->SetLineWidth(2); h_gammaD_2_cT_Z_lab70->SetMarkerStyle(20); h_gammaD_2_cT_Z_lab70->GetXaxis()->SetLabelFont(42); h_gammaD_2_cT_Z_lab70->GetXaxis()->SetLabelOffset(0.007); h_gammaD_2_cT_Z_lab70->GetXaxis()->SetTitleSize(0.06); h_gammaD_2_cT_Z_lab70->GetXaxis()->SetTitleOffset(0.95); h_gammaD_2_cT_Z_lab70->GetXaxis()->SetTitleFont(42); h_gammaD_2_cT_Z_lab70->GetYaxis()->SetLabelFont(42); h_gammaD_2_cT_Z_lab70->GetYaxis()->SetLabelOffset(0.007); h_gammaD_2_cT_Z_lab70->GetYaxis()->SetTitleSize(0.06); h_gammaD_2_cT_Z_lab70->GetYaxis()->SetTitleOffset(1.3); h_gammaD_2_cT_Z_lab70->GetYaxis()->SetTitleFont(42); h_gammaD_2_cT_Z_lab70->GetZaxis()->SetLabelFont(42); h_gammaD_2_cT_Z_lab70->GetZaxis()->SetLabelOffset(0.007); h_gammaD_2_cT_Z_lab70->GetZaxis()->SetTitleSize(0.06); h_gammaD_2_cT_Z_lab70->GetZaxis()->SetTitleFont(42); h_gammaD_2_cT_Z_lab70->Draw("same"); 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_gammaD_1_cT_Z_lab","1st dark photon (leading p_{T})","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_gammaD_2_cT_Z_lab","2nd dark photon","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}} = 10 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); }
void DarkSusy_mH_125_mGammaD_2000_cT_0_LHE_gammaD_M() { //=========Macro generated from canvas: cnv/cnv //========= (Sun May 24 15:19:47 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(-1.526695,-0.2275,1.571513,1.5225); cnv->SetFillColor(0); cnv->SetBorderMode(0); cnv->SetBorderSize(2); cnv->SetLogx(); 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_gammaD_1_M_dummy86 = new TH1F("h_gammaD_1_M_dummy86","h_gammaD_1_M_dummy",303,0.1,30.1); h_gammaD_1_M_dummy86->SetMaximum(1.4); h_gammaD_1_M_dummy86->SetLineStyle(0); h_gammaD_1_M_dummy86->SetMarkerStyle(20); h_gammaD_1_M_dummy86->GetXaxis()->SetTitle("Mass of #gamma_{D} [GeV]"); h_gammaD_1_M_dummy86->GetXaxis()->SetLabelFont(42); h_gammaD_1_M_dummy86->GetXaxis()->SetLabelOffset(0.007); h_gammaD_1_M_dummy86->GetXaxis()->SetTitleSize(0.06); h_gammaD_1_M_dummy86->GetXaxis()->SetTitleOffset(0.95); h_gammaD_1_M_dummy86->GetXaxis()->SetTitleFont(42); h_gammaD_1_M_dummy86->GetYaxis()->SetTitle("Fraction of events / 0.1 GeV"); h_gammaD_1_M_dummy86->GetYaxis()->SetLabelFont(42); h_gammaD_1_M_dummy86->GetYaxis()->SetLabelOffset(0.007); h_gammaD_1_M_dummy86->GetYaxis()->SetTitleSize(0.06); h_gammaD_1_M_dummy86->GetYaxis()->SetTitleOffset(1.35); h_gammaD_1_M_dummy86->GetYaxis()->SetTitleFont(42); h_gammaD_1_M_dummy86->GetZaxis()->SetLabelFont(42); h_gammaD_1_M_dummy86->GetZaxis()->SetLabelOffset(0.007); h_gammaD_1_M_dummy86->GetZaxis()->SetTitleSize(0.06); h_gammaD_1_M_dummy86->GetZaxis()->SetTitleFont(42); h_gammaD_1_M_dummy86->Draw(""); TH1F *h_gammaD_1_M87 = new TH1F("h_gammaD_1_M87","h_gammaD_1_M",303,0.1,30.1); h_gammaD_1_M87->SetBinContent(201,1); h_gammaD_1_M87->SetBinError(201,0.002500016); h_gammaD_1_M87->SetEntries(159998); h_gammaD_1_M87->SetDirectory(0); Int_t ci; // for color index setting TColor *color; // for color definition with alpha ci = TColor::GetColor("#0000ff"); h_gammaD_1_M87->SetLineColor(ci); h_gammaD_1_M87->SetLineWidth(2); h_gammaD_1_M87->SetMarkerStyle(20); h_gammaD_1_M87->GetXaxis()->SetLabelFont(42); h_gammaD_1_M87->GetXaxis()->SetLabelOffset(0.007); h_gammaD_1_M87->GetXaxis()->SetTitleSize(0.06); h_gammaD_1_M87->GetXaxis()->SetTitleOffset(0.95); h_gammaD_1_M87->GetXaxis()->SetTitleFont(42); h_gammaD_1_M87->GetYaxis()->SetLabelFont(42); h_gammaD_1_M87->GetYaxis()->SetLabelOffset(0.007); h_gammaD_1_M87->GetYaxis()->SetTitleSize(0.06); h_gammaD_1_M87->GetYaxis()->SetTitleOffset(1.3); h_gammaD_1_M87->GetYaxis()->SetTitleFont(42); h_gammaD_1_M87->GetZaxis()->SetLabelFont(42); h_gammaD_1_M87->GetZaxis()->SetLabelOffset(0.007); h_gammaD_1_M87->GetZaxis()->SetTitleSize(0.06); h_gammaD_1_M87->GetZaxis()->SetTitleFont(42); h_gammaD_1_M87->Draw("SAMEHIST"); TLegend *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); TLegendEntry *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); }
void DarkSusy_mH_125_mGammaD_2000_cT_1000_LHE_dimuon_m1_vs_m2() { //=========Macro generated from canvas: cnv/cnv //========= (Sun May 24 15:19:04 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(-10.36674,-7.877387,51.86701,54.35636); 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); TH2F *h_m1_vs_m2113 = new TH2F("h_m1_vs_m2113","h_m1_vs_m2",500,0.213,50,100,0.213,50); h_m1_vs_m2113->SetBinContent(20279,79998); h_m1_vs_m2113->SetBinContent(20280,1); h_m1_vs_m2113->SetEntries(79999); h_m1_vs_m2113->SetLineStyle(0); h_m1_vs_m2113->SetMarkerStyle(20); h_m1_vs_m2113->GetXaxis()->SetTitle("m_{2#mu#mu} [GeV]"); h_m1_vs_m2113->GetXaxis()->SetLabelFont(42); h_m1_vs_m2113->GetXaxis()->SetLabelOffset(0.007); h_m1_vs_m2113->GetXaxis()->SetTitleSize(0.06); h_m1_vs_m2113->GetXaxis()->SetTitleOffset(0.95); h_m1_vs_m2113->GetXaxis()->SetTitleFont(42); h_m1_vs_m2113->GetYaxis()->SetTitle("m_{1#mu#mu} [GeV]"); h_m1_vs_m2113->GetYaxis()->SetLabelFont(42); h_m1_vs_m2113->GetYaxis()->SetLabelOffset(0.007); h_m1_vs_m2113->GetYaxis()->SetTitleSize(0.06); h_m1_vs_m2113->GetYaxis()->SetTitleOffset(1.3); h_m1_vs_m2113->GetYaxis()->SetTitleFont(42); h_m1_vs_m2113->GetZaxis()->SetLabelFont(42); h_m1_vs_m2113->GetZaxis()->SetLabelOffset(0.007); h_m1_vs_m2113->GetZaxis()->SetTitleSize(0.06); h_m1_vs_m2113->GetZaxis()->SetTitleFont(42); h_m1_vs_m2113->Draw(""); TLegend *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); TLegendEntry *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}} = 1000 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); }
void drawOneComparison(vector<TH1F*> histos, vector<TString> descr, TString xaxislabel, const char *filename, TPaveText *t=0) { if(histos.size()!=descr.size()) { cout << "description not complete!" << endl; return; } vector<int> colors; colors.push_back(kRed+1); colors.push_back(kAzure-6); colors.push_back(kTeal+3); colors.push_back(kBlue+3); gStyle->SetOptStat(0); gStyle->SetOptFit(0); TCanvas *c1 = new TCanvas("c1", "c1", 600, 600); c1->SetGridx(); c1->SetGridy(); TLegend* legend = new TLegend(0.20, 0.20, 0.43, 0.36); legend->SetBorderSize( 0); legend->SetFillColor ( 0); legend->SetTextAlign ( 12); legend->SetTextFont ( 42); legend->SetTextSize (0.05); for(int i=0;i<(int)histos.size();++i) { histos[i]->SetMinimum(0.5); histos[i]->SetMaximum(1.1); histos[i]->SetMarkerSize(2); histos[i]->SetMarkerStyle(20); histos[i]->SetMarkerColor(colors[i]); histos[i]->SetLineColor(colors[i]); histos[i]->SetTitle(""); if(TString(histos[i]->GetName()).Contains("PU")) { histos[i]->SetMaximum(1.1); histos[i]->Fit("pol1","","same",1,35); histos[i]->GetFunction("pol1")->SetLineColor(colors[i]); } histos[i]->GetXaxis()->SetTitle(xaxislabel); histos[i]->GetYaxis()->SetTitle("efficiency"); histos[i]->GetYaxis()->SetTitleOffset(1.5); legend->AddEntry(histos[i],descr[i]); if(i==0) { histos[i]->Draw("pe1"); for(int bin=1;bin<=histos[i]->GetNbinsX();bin++) { //cout << "bin i = " << bin << ": " << histos[i]->GetBinContent(bin) << " +/- " << histos[i]->GetBinError(bin) << endl; // cout << "m35_fakeRate[" << bin << "] = " << histos[i]->GetBinContent(bin) << ";" << endl; } for(int bin=1;bin<=histos[i]->GetNbinsX();bin++) { // cout << "m35_fakeRate_err[" << bin << "] = " << histos[i]->GetBinError(bin) << ";" << endl; } } else histos[i]->Draw("same pe1"); } legend->Draw(); if(t) t->Draw(); TString basename(filename); c1->SaveAs(basename+TString(".png")); c1->SaveAs(basename+TString(".pdf")); }
void PlotRakeBunch( const TString &sim, Int_t time, Int_t index = 0, const TString &options="") { #ifdef __CINT__ gSystem->Load("libplasma.so"); #endif PlasmaGlob::Initialize(); TString opt = options; // Palettes! gROOT->Macro("PlasmaPalettes.C"); if(opt.Contains("grid")) { gStyle->SetPadGridX(1); gStyle->SetPadGridY(1); } gStyle->SetLabelFont(42,"xyz"); gStyle->SetTextFont(62); // Load PData PData *pData = PData::Get(sim.Data()); pData->LoadFileNames(time); if(!pData->IsInit()) return; Bool_t CYL = kFALSE; if(sim.Contains("cyl")) CYL = kTRUE; Bool_t ThreeD = kFALSE; if(sim.Contains("3D")) ThreeD = kTRUE; // Some plasma constants Double_t n0 = pData->GetPlasmaDensity(); Double_t kp = pData->GetPlasmaK(); Double_t skindepth = 1.; if(kp!=0.0) skindepth = 1/kp; Double_t E0 = pData->GetPlasmaE0(); // Time in OU Float_t Time = pData->GetRealTime(); // z start of the plasma in normalized units. Float_t zStartPlasma = pData->GetPlasmaStart()*kp; // z start of the beam in normalized units. Float_t zStartBeam = pData->GetBeamStart()*kp; opt += "comovcenter"; // Centering time and z position: Double_t shiftz = pData->Shift(opt); TString sshiftz = Form("(x1-%f)",shiftz); if(opt.Contains("center")) { Time -= zStartPlasma; if(opt.Contains("comov")) // Centers on the head of the beam. Time += zStartBeam; } // Spatial coordinates intervals: Float_t x1Min = -4.3; Float_t x1Max = -3.9; Float_t x2Min = -0.5; Float_t x2Max = 0.5; Float_t x3Min = -0.5; Float_t x3Max = 0.5; // Momentum coordinates intervals: Float_t p1Min = 6500.01; Float_t p1Max = 10099.99; Float_t p2Min = -20.0; Float_t p2Max = 20.0; Float_t p3Min = -20.0; Float_t p3Max = 20.0; // Bining, intervals, labels, etc. Int_t xNbin = 200; Int_t yNbin = 200; if(sim.Contains("DR")) { xNbin = 200; yNbin = 200; // p1Min = 2200.01; // p1Max = 3399.99; // p1Min = 3500.01; // p1Max = 4999.99; p1Min = 1800.01; p1Max = 3999.99; // x1Min = -4.0; // x1Max = -3.2; x1Min = 8637.0; x1Max = 8639.0; x2Min = -0.5; x2Max = 0.5; x3Min = -0.5; x3Max = 0.5; } else if(sim.Contains("flash") && sim.Contains(".G.") ) { x1Min = -6.3; x1Max = -5.0; //p1Min = 0.001; p1Min = 650.001; p1Max = 1499.99; } else if(sim.Contains("facet_v23kA.G.A")) { x1Min = -7.8; x1Max = -7.1; x2Min = -1.0; x2Max = 1.0; x3Min = -1.0; x3Max = 1.0; // t=150 p1Min = 1100.001; p1Max = 1999.99; } else if(sim.Contains("facet_v23kA.G")) { x1Min = -7.8; x1Max = -7.0; x2Min = -1.0; x2Max = 1.0; x3Min = -1.0; x3Max = 1.0; // t=60 p1Min = 350.01; p1Max = 799.99; // t = 100 // p1Min = 700.01; // p1Max = 1399.99; // t=105 //p1Min = 800.001; //p1Max = 1399.99; // t=183 // p1Min = 1500.001; // p1Max = 2499.99; // t=235 // p1Min = 2000.01; // p1Max = 3499.99; // t=310 // p1Min = 2800.01; // p1Max = 4799.99; } // Get phasespace histos Int_t Nspecies = pData->NSpecies(); if(index>Nspecies-1) { return; } if(!pData->GetRawFileName(index)) { return; } TH1F *hX1 = NULL; TH1F *hP1 = NULL; TH2F *hP1X1 = NULL; TH2F *hP2X2 = NULL; cout << Form("\n1. Getting data... ") << endl; char cutString[512]; sprintf(cutString,"TMath::Abs(q)*(%s > %.1f && %s < %.1f && x2 > %.1f && x2 < %.1f && x3 > %.1f && x3 < %.1f)",sshiftz.Data(),x1Min,sshiftz.Data(),x1Max,x2Min,x2Max,x3Min,x3Max); TCut Cut = cutString; cout << Form(" (applied cut: \n %s)",cutString) << endl; TTree *tree = pData->GetTreeRaw(pData->GetRawFileName(index)->c_str(),opt); char hName[24]; char dCommand[128]; cout << Form("\n2. Dumping 1D histograms.. ") << endl; sprintf(hName,"hX1"); hX1 = (TH1F*) gROOT->FindObject(hName); if(hX1) delete hX1; hX1 = new TH1F(hName,"",xNbin,x1Min,x1Max); sprintf(dCommand,"%s>>%s",sshiftz.Data(),hName); cout << Form(" - x1. ") << endl; tree->Draw(dCommand,Cut,"goff"); sprintf(hName,"hP1"); hP1 = (TH1F*) gROOT->FindObject(hName); if(hP1) delete hP1; hP1 = new TH1F(hName,"",yNbin,p1Min,p1Max); sprintf(dCommand,"p1>>%s",hName); cout << Form(" - p1. ") << endl; tree->Draw(dCommand,Cut,"goff"); cout << Form("\n3. Dumping 2D histograms.. ") << endl; sprintf(hName,"hP1X1"); hP1X1 = (TH2F*) gROOT->FindObject(hName); if(hP1X1) delete hP1X1; hP1X1 = new TH2F(hName,"",xNbin,x1Min,x1Max,yNbin,p1Min,p1Max); sprintf(dCommand,"p1:%s>>%s",sshiftz.Data(),hName); cout << Form(" - p1 vs. x1 ") << endl; tree->Draw(dCommand,Cut,"goff"); sprintf(hName,"hP2X2"); hP2X2 = (TH2F*) gROOT->FindObject(hName); if(hP2X2) delete hP2X2; hP2X2 = new TH2F(hName,"",xNbin,x2Min,x2Max,yNbin,p2Min,p2Max); sprintf(dCommand,"p2:x2>>%s",hName); cout << Form(" - p2 vs. x2 ") << endl; tree->Draw(dCommand,Cut,"goff"); hX1->GetXaxis()->CenterTitle(); hX1->GetYaxis()->CenterTitle(); hX1->GetZaxis()->CenterTitle(); hP1X1->GetXaxis()->CenterTitle(); hP1X1->GetYaxis()->CenterTitle(); hP1X1->GetZaxis()->CenterTitle(); hP2X2->GetXaxis()->CenterTitle(); hP2X2->GetYaxis()->CenterTitle(); hP2X2->GetZaxis()->CenterTitle(); // Integrated long. emittance: cout << Form("\n4. Calculating integrated quantities.. ") << endl; Double_t xmean = 0.0; Double_t ymean = 0.0; Double_t x2mean = 0.0; Double_t y2mean = 0.0; Double_t xymean = 0.0; Double_t Ntotal = 0.0; for(Int_t i=1;i<=xNbin;i++) { Double_t x = hP1X1->GetXaxis()->GetBinCenter(i); // if(x<xmin || x>xmax) continue; for(Int_t j=1;j<=yNbin;j++) { Double_t y = hP1X1->GetYaxis()->GetBinCenter(j); // if(y<ymin || y>ymax) continue; Double_t value = TMath::Abs(hP1X1->GetBinContent(i,j)); xmean += x*value; ymean += y*value; x2mean += x*x*value; y2mean += y*y*value; xymean += x*y*value; Ntotal += value; } } xmean /= Ntotal; ymean /= Ntotal; x2mean /= Ntotal; y2mean /= Ntotal; xymean /= Ntotal; Double_t xrms2 = x2mean - xmean*xmean; Double_t yrms2 = y2mean - ymean*ymean; Double_t xrms = TMath::Sqrt(xrms2); Double_t yrms = TMath::Sqrt(yrms2); Double_t xyrms2 = xymean - xmean*ymean; Double_t emittance = TMath::Sqrt(xrms2*yrms2 - xyrms2*xyrms2); // cout << " xrms = " << xrms << endl; // Sliced emittance: // -------------------------------------------------------------------------- cout << Form("\n5. Slicing ") << endl; // Bining for sliced quantities: // const Int_t SNbin = 7; // Float_t sBinLim[SNbin+1] = {-4.16,-4.14,-4.12,-4.10,-4.08,-4.06,-4.04,-4.02}; // const Int_t SNbin = 7; // Float_t sBinLim[SNbin+1] = {-4.20,-4.17,-4.14,-4.12,-4.10,-4.08,-4.06,-4.00}; // const Int_t SNbin = 8; // Float_t sBinLim[SNbin+1] = {-3.93,-3.87,-3.81,-3.75,-3.69,-3.63,-3.57,-3.51,-3.45}; Int_t SNbin = 7; Float_t nsigma = 2; Float_t x1BinMin = -4.16; Float_t x1BinMax = -4.02; if(sim.Contains("DR")) { SNbin = 150; nsigma = 1.4; } else if(sim.Contains("facet_v23kA.G.A")) { SNbin = 46; nsigma = 1; x1BinMin = -7.55; x1BinMax = -7.25; } else if(sim.Contains("facet_v23kA.G")) { SNbin = 10; nsigma = 1; x1BinMin = -7.55; x1BinMax = -7.15; } Float_t *sBinLim = new Float_t[SNbin+1]; if(opt.Contains("rms")) { sBinLim[0] = xmean - nsigma*xrms; sBinLim[SNbin] = xmean + nsigma*xrms; } else { sBinLim[0] = x1BinMin; sBinLim[SNbin] = x1BinMax; } Float_t slbinSize = (sBinLim[SNbin] - sBinLim[0])/SNbin; for(Int_t i=1;i<SNbin;i++) { sBinLim[i] = sBinLim[i-1] + slbinSize; } TH1F **hP1sl = new TH1F*[SNbin]; TH2F **hP2X2sl = new TH2F*[SNbin]; cout << Form("\n - Dumping in %i bins ",SNbin) << endl; for(Int_t k=0;k<SNbin;k++) { cout<< Form("k = %i : (x1 > %f && x1 < %f)",k,sBinLim[k],sBinLim[k+1]) << endl; sprintf(hName,"hP2X2sl_%2i",k); hP2X2sl[k] = (TH2F*) gROOT->FindObject(hName); if(hP2X2sl[k]) delete hP2X2sl[k]; hP2X2sl[k] = new TH2F(hName,"",xNbin,x2Min,x2Max,yNbin,p2Min,p2Max); char zCutString[128]; sprintf(zCutString,"(%s > %f && %s < %f)",sshiftz.Data(),sBinLim[k],sshiftz.Data(),sBinLim[k+1]); TCut zCut = zCutString; tree->Project(hName,"p2:x2",Cut + zCut); sprintf(hName,"hP1sl_%2i",k); hP1sl[k] = (TH1F*) gROOT->FindObject(hName); if(hP1sl[k]) delete hP1sl[k]; hP1sl[k] = new TH1F(hName,"",yNbin,p1Min,p1Max); tree->Project(hName,"p1",Cut + zCut); } cout << Form("\n6. Calculating sliced quantities.. ") << endl; TGraph *gemit = NULL; TGraph *gYrms = NULL; TGraph *gErms = NULL; TGraph *gErmsB = NULL; Double_t * sxmean = new Double_t[SNbin]; Double_t * symean = new Double_t[SNbin]; Double_t * sx2mean = new Double_t[SNbin]; Double_t * sy2mean = new Double_t[SNbin]; Double_t * sxymean = new Double_t[SNbin]; Double_t * sNtotal = new Double_t[SNbin]; Double_t * sxrms2 = new Double_t[SNbin]; Double_t * syrms2 = new Double_t[SNbin]; Double_t * sxrms = new Double_t[SNbin]; Double_t * syrms = new Double_t[SNbin]; Double_t * sxyrms2 = new Double_t[SNbin]; Double_t * xbin = new Double_t[SNbin]; Double_t * semittance = new Double_t[SNbin]; Double_t * sNEtotal = new Double_t[SNbin]; Double_t * sEmean = new Double_t[SNbin]; Double_t * sE2mean = new Double_t[SNbin]; Double_t * sErms = new Double_t[SNbin]; for(Int_t k=0;k<SNbin;k++) { sxmean[k] = symean[k] = sx2mean[k] = sy2mean[k] = sxymean[k] = sNtotal[k] = sxrms2[k] = syrms2[k] = sxrms[k] = syrms[k] = sxyrms2[k] = xbin[k] = semittance[k] = 0.0; sNEtotal[k] = sEmean[k] = sE2mean[k] = sErms[k] = 0.0; xbin[k] = (sBinLim[k] + sBinLim[k+1])/2.; for(Int_t i=1;i<=xNbin;i++) { Double_t x = hP2X2sl[k]->GetXaxis()->GetBinCenter(i); // if(x<xmin || x>xmax) continue; for(Int_t j=1;j<=yNbin;j++) { Double_t y = hP2X2sl[k]->GetYaxis()->GetBinCenter(j); // if(y<ymin || y>ymax) continue; Double_t value = TMath::Abs(hP2X2sl[k]->GetBinContent(i,j)); sxmean[k] += x*value; symean[k] += y*value; sx2mean[k] += x*x*value; sy2mean[k] += y*y*value; sxymean[k] += x*y*value; sNtotal[k] += value; } } for(Int_t i=1;i<=yNbin;i++) { Double_t y = hP1sl[k]->GetXaxis()->GetBinCenter(i); Double_t value = TMath::Abs(hP1sl[k]->GetBinContent(i)); sEmean[k] += y*value; sE2mean[k] += y*y*value; sNEtotal[k] += value; } sxmean[k] /= sNtotal[k]; symean[k] /= sNtotal[k]; sx2mean[k] /= sNtotal[k]; sy2mean[k] /= sNtotal[k]; sxymean[k] /= sNtotal[k]; sxrms2[k] = sx2mean[k] - sxmean[k]*sxmean[k]; syrms2[k] = sy2mean[k] - symean[k]*symean[k]; sxrms[k] = TMath::Sqrt(sxrms2[k]); syrms[k] = TMath::Sqrt(syrms2[k]); sxyrms2[k] = sxymean[k] - sxmean[k]*symean[k]; semittance[k] = TMath::Sqrt(sxrms2[k]*syrms2[k] - sxyrms2[k]*sxyrms2[k]); sEmean[k] /= sNEtotal[k]; sE2mean[k] /= sNEtotal[k]; sErms[k] = TMath::Sqrt(sE2mean[k] - sEmean[k]*sEmean[k]); cout << " Bunch properties: " << endl; cout << Form(" xMean = %7.3f yMean = %7.3f",sxmean[k],symean[k]) << endl; cout << Form(" xRms = %7.3f yRms = %7.3f",sxrms[k],syrms[k]) << endl; cout << Form(" Emittance = %7.3f",semittance[k]) << endl; cout << Form(" Emean = %7.3f Erms = %7.3f",sEmean[k],sErms[k]) << endl; } // Charge Double_t dx1 = pData->GetDX(0); Double_t dx2 = pData->GetDX(1); Double_t dx3 = pData->GetDX(2); hX1->Scale(dx1*dx2*dx3); Double_t Charge = hX1->Integral(); // Charge *= dx1*dx2*dx3; if(opt.Contains("units")) { Double_t dV = skindepth * skindepth * skindepth; Charge *= n0 * dV * (PConst::ElectronCharge/PUnits::picocoulomb); cout << Form(" Integrated charge (RAW) of specie %3i = %8f pC",index,Charge) << endl; } else { cout << Form(" Integrated charge (RAW) of specie %3i = %8.4f n0 * kp^-3",index,Charge) << endl; } // Chaning to user units: // -------------------------- if(opt.Contains("units") && n0) { Int_t NbinsX = hP1X1->GetNbinsX(); Double_t xMin = skindepth * hP1X1->GetXaxis()->GetXmin() / PUnits::um; Double_t xMax = skindepth * hP1X1->GetXaxis()->GetXmax() / PUnits::um; Int_t NbinsY = hP1X1->GetNbinsY(); Double_t yMin = hP1X1->GetYaxis()->GetXmin() * pData->GetBeamMass() / PUnits::GeV; Double_t yMax = hP1X1->GetYaxis()->GetXmax() * pData->GetBeamMass() / PUnits::GeV; hP1X1->SetBins(NbinsX,xMin,xMax,NbinsY,yMin,yMax); // Converting electron density Double_t dVb = skindepth * skindepth * skindepth; Double_t dX = (xMax-xMin)/NbinsX; Double_t dE = (yMax-yMin)/NbinsY; for(Int_t j=0;j<hP1X1->GetNbinsX();j++) { for(Int_t k=0;k<hP1X1->GetNbinsY();k++) { Double_t binValue = fabs(hP1X1->GetBinContent(j,k) * dx1 * dx2 * dx3 * dVb * n0 * (PConst::ElectronCharge/PUnits::picocoulomb)); //cout << Form(" value = %f",binValue) << endl; hP1X1->SetBinContent(j,k,binValue); } } if(opt.Contains("comov")) hP1X1->GetXaxis()->SetTitle("#zeta [#mum]"); else hP1X1->GetXaxis()->SetTitle("z [#mum]"); hP1X1->GetYaxis()->SetTitle("p_{z} [GeV/c]"); hP1X1->GetZaxis()->SetTitle("dQ/d#zetadp_{z} [pC]"); hP1->SetBins(NbinsY,yMin,yMax); hP1->GetYaxis()->SetTitle("p_{z} [GeV/c]"); hX1->SetBins(NbinsX,xMin,xMax); Double_t binSize = (xMax - xMin)/NbinsX; Double_t dV = skindepth * skindepth * skindepth; Double_t lightspeed = PConst::c_light / (PUnits::um/PUnits::femtosecond); cout << Form("Speed of light = %f",lightspeed) << endl; hX1->Scale(TMath::Abs(n0 * dV * (PConst::ElectronCharge/PUnits::picocoulomb) * (lightspeed/binSize))); // hX1->Scale(TMath::Abs((PUnits::um/skindepth)*(PConst::ElectronCharge/PUnits::picocoulomb)*PConst::c_light)); // hX1->GetYaxis()->SetTitle("I[kA]"); hX1->GetYaxis()->SetTitle(""); if(opt.Contains("comov")) hX1->GetXaxis()->SetTitle("#zeta [#mum]"); else hX1->GetXaxis()->SetTitle("z [#mum]"); xmean *= skindepth / PUnits::um; xrms *= skindepth / PUnits::um; ymean *= pData->GetBeamMass() / PUnits::GeV; yrms *= pData->GetBeamMass() / PUnits::GeV; emittance *= (skindepth / PUnits::um); for(Int_t k=0;k<SNbin;k++) { xbin[k] *= skindepth / PUnits::um; sxmean[k] *= skindepth / PUnits::um; sxrms[k] *= skindepth / PUnits::um; symean[k] *= pData->GetBeamMass() / PUnits::MeV; syrms[k] *= pData->GetBeamMass() / PUnits::MeV; semittance[k] *= (skindepth / PUnits::um); sEmean[k] *= pData->GetBeamMass() / PUnits::GeV; sErms[k] *= 100 * pData->GetBeamMass() / PUnits::GeV / ymean; //sEmean[k]; // sErms[k] *= pData->GetBeamMass() / PUnits::GeV; } } // Create the graph with the emittances: gemit = new TGraph(SNbin,xbin,semittance); gYrms = new TGraph(SNbin,xbin,sxrms); gErms = new TGraph(SNbin,xbin,sErms); // Profile energy for p1 vs x1: TString pname = hP1X1->GetName(); pname += "_pfx"; TProfile *hP1X1prof = (TProfile*) gROOT->FindObject(pname.Data()); if(hP1X1prof) { delete hP1X1prof; hP1X1prof = NULL; } hP1X1prof = hP1X1->ProfileX("_pfx",1,-1,"s"); // get the errors from the profile: Int_t NP1X1Bins = hP1X1prof->GetNbinsX(); Double_t *x1bins = new Double_t[NP1X1Bins]; Double_t *eRms = new Double_t[NP1X1Bins]; for(Int_t i=1;i<=hP1X1prof->GetNbinsX();i++) { x1bins[i] = hP1X1prof->GetBinCenter(i); eRms[i] = 100 * hP1X1prof->GetBinError(i) / hP1X1prof->GetBinContent(i); } gErmsB = new TGraph(NP1X1Bins,x1bins,eRms); // Vertical Energy histogram: // -------------------------------------------------------------------------------- TGraph *gP1left = NULL; if(hP1) { Double_t *yarray = new Double_t[yNbin]; Double_t *xarray = new Double_t[yNbin]; // This is for the right side: // Double_t xMax = x1Min + (x1Max-x1Min) * 0.9; // Double_t xMin = x1Max; // And this for left: Double_t xMin = hX1->GetXaxis()->GetXmin(); Double_t xMax = hX1->GetXaxis()->GetXmin() + (hX1->GetXaxis()->GetXmax() -hX1->GetXaxis()->GetXmin()) * 0.2; Double_t EneMax = hP1->GetMaximum(); // cout << Form(" EneMax = %f ", EneMax) << endl; for(Int_t j=0; j<yNbin; j++) { yarray[j] = hP1->GetBinCenter(j+1); xarray[j] = ((xMax-xMin)/EneMax)*hP1->GetBinContent(j+1) + xMin; // cout << Form(" x = %f y = %f ", xarray[j],yarray[j]) << endl; } gP1left = new TGraph(yNbin,xarray,yarray); gP1left->SetLineColor(PlasmaGlob::elecLine); gP1left->SetLineWidth(2); gP1left->SetFillStyle(1001); gP1left->SetFillColor(PlasmaGlob::elecFill); } // Plotting // ----------------------------------------------- // Canvas setup // Create the canvas and the pads before the Frame loop // Resolution: Int_t sizex = 800; Int_t sizey = 600; if(opt.Contains("hres")) { Int_t sizex = 1600; Int_t sizey = 1200; } TCanvas *C = new TCanvas("C1","Evolution of Injection",sizex,sizey); C->cd(); // Set palette: PPalette * pPalette = (PPalette*) gROOT->FindObject("electron"); pPalette->cd(); // Float_t Max = hP1X1->GetMaximum(); // Float_t Min = hP1X1->GetMinimum(); // hP1X1->GetZaxis()->SetRangeUser(Min,Max); // Text objects TPaveText *textTime = new TPaveText(0.55,0.8,0.82,0.9,"NDC"); PlasmaGlob::SetPaveTextStyle(textTime,32); textTime->SetTextColor(kGray+2); char ctext[128]; if(opt.Contains("units") && pData->GetPlasmaDensity()) sprintf(ctext,"z = %5.1f mm", Time * skindepth / PUnits::mm); else sprintf(ctext,"t = %5.1f #omega_{p}^{-1}",Time); textTime->AddText(ctext); TPaveText *textDen = new TPaveText(0.15,0.85,0.48,0.9,"NDC"); PlasmaGlob::SetPaveTextStyle(textDen,12); textDen->SetTextColor(kOrange+10); if(opt.Contains("units") && pData->GetPlasmaDensity()) sprintf(ctext,"n_{0} = %5.2f x 10^{17} / cc", n0 / (1e17/PUnits::cm3)); else if(pData->GetBeamDensity() && pData->GetPlasmaDensity()) sprintf(ctext,"n_{b}/n_{0} = %5.2f", pData->GetBeamDensity()/n0); textDen->AddText(ctext); TPaveText *textWav = new TPaveText(0.15,0.2,0.48,0.25,"NDC"); PlasmaGlob::SetPaveTextStyle(textWav,12); textWav->SetTextColor(kGray+2); sprintf(ctext,"#lambda_{p} = %5.2f #mum", pData->GetPlasmaWaveLength() / PUnits::um); textWav->AddText(ctext); TPaveText *textCharge = new TPaveText(0.15,0.25,0.48,0.3,"NDC"); PlasmaGlob::SetPaveTextStyle(textCharge,12); textCharge->SetTextColor(kGray+2); if(opt.Contains("units") && pData->GetPlasmaDensity()) sprintf(ctext,"Charge = %5.2f pC", Charge); else sprintf(ctext,"Charge = %5.2f n0#timeskp^{-3}", Charge); textCharge->AddText(ctext); TPaveText *textMom = new TPaveText(0.55,0.03,0.82,0.13,"NDC"); PlasmaGlob::SetPaveTextStyle(textMom,32); textMom->SetTextColor(kGray+3); textMom->SetTextFont(62); if(opt.Contains("units") && pData->GetPlasmaDensity()) sprintf(ctext,"#LTp_{z}#GT = %5.2f GeV/c", ymean); else sprintf(ctext,"Mom = %5.2f mc", ymean); textMom->AddText(ctext); TPaveText *textInfo = new TPaveText(0.55,0.52,0.82,0.75,"NDC"); PlasmaGlob::SetPaveTextStyle(textInfo,32); textInfo->SetTextColor(kGray+2); textInfo->SetTextFont(42); sprintf(ctext,"Charge = %5.2f pC",Charge); textInfo->AddText(ctext); sprintf(ctext,"#LT#zeta#GT_{rms} = %5.2f #mum",xrms); textInfo->AddText(ctext); sprintf(ctext,"#LTp_{z}#GT_{rms} = %5.2f GeV/c",yrms); textInfo->AddText(ctext); // sprintf(ctext,"#epsilon_{N} = %5.2f #mum",emittance); // textInfo->AddText(ctext); // Setup Pad layout: const Int_t NFrames = 2; TPad **pad = new TPad*[NFrames]; TH1F *hFrame[NFrames]; Double_t lMargin = 0.15; Double_t rMargin = 0.18; Double_t bMargin = 0.15; Double_t tMargin = 0.04; Double_t vSpacing = 0.00; Double_t hStep = (1.-lMargin-rMargin); Double_t vStep = (1.- bMargin - tMargin - (NFrames-1) * vSpacing) / NFrames; Float_t vposd = 0.0; Float_t vposu = 0.0; Float_t vmard = 0.0; Float_t vmaru = 0.0; Float_t vfactor = 0.0; Float_t hposl = 0.0; Float_t hposr = 1.0; Float_t hmarl = lMargin; Float_t hmarr = rMargin; Float_t hfactor = 1.0; // Actual Plotting! // ------------------------------------------------------------ for(Int_t k=0;k<NFrames;k++) { // PLOTTING! if(k==0) { vposd = 0.0; vposu = bMargin + vStep; vfactor = vposu-vposd; vmard = bMargin / vfactor; vmaru = 0.0; } else if(k == NFrames-1) { vposd = vposu + vSpacing; vposu = vposd + vStep + tMargin; vfactor = vposu-vposd; vmard = 0.0; vmaru = tMargin / (vposu-vposd); } else { vposd = vposu + vSpacing; vposu = vposd + vStep; vfactor = vposu-vposd; vmard = 0.0; vmaru = 0.0; } hfactor = hposl-hposr; char name[16]; sprintf(name,"pad_%i",k); pad[k] = new TPad(name,"",hposl,vposd,hposr,vposu); // // cout << Form("%f %f %f %f",hposl,vposd,hposr,vposu) << endl; // // cout << Form("%f %f %f %f",hmarl,vmard,hmarr,vmaru) << endl; pad[k]->SetLeftMargin(hmarl); pad[k]->SetRightMargin(hmarr); pad[k]->SetBottomMargin(vmard); pad[k]->SetTopMargin(vmaru); pad[k]->SetFrameLineWidth(3); sprintf(name,"hFrame_%i",k); hFrame[k] = (TH1F*) gROOT->FindObject(name); if(hFrame[k]) delete hFrame[k]; hFrame[k] = (TH1F*) hX1->Clone(name); hFrame[k]->Reset(); hFrame[k]->GetXaxis()->CenterTitle(); hFrame[k]->GetYaxis()->CenterTitle(); hFrame[k]->GetZaxis()->CenterTitle(); hFrame[k]->SetLabelFont(42,"xyz"); hFrame[k]->SetTitleFont(42,"xyz"); hFrame[k]->SetNdivisions(505,"xyz"); hFrame[k]->SetTickLength(0.04,"xyz"); hFrame[k]->SetTickLength(0.04*vfactor,"y"); hFrame[k]->GetYaxis()->SetLabelSize(0.04/vfactor); hFrame[k]->GetYaxis()->SetLabelOffset(0.02); hFrame[k]->GetYaxis()->SetTitleSize(0.05/vfactor); hFrame[k]->GetYaxis()->SetTitleOffset(1.2*vfactor); if(k==0) { hFrame[k]->GetXaxis()->SetLabelSize(0.08); hFrame[k]->GetXaxis()->SetLabelOffset(0.02); hFrame[k]->GetXaxis()->SetTitleSize(0.12); hFrame[k]->GetXaxis()->SetTitleOffset(1.0); } else { hFrame[k]->GetXaxis()->SetLabelSize(0.0); hFrame[k]->GetXaxis()->SetTitleSize(0.0); } } // Ranges!! Double_t yMin = 999.9; Double_t yMax = -999.9; for(Int_t k=0;k<SNbin;k++) { if(semittance[k]<yMin) yMin = semittance[k]; if(semittance[k]>yMax) yMax = semittance[k]; if(sErms[k]<yMin) yMin = sErms[k]; if(sErms[k]>yMax) yMax = sErms[k]; } for(Int_t k=1;k<=xNbin;k++) { Double_t value = hX1->GetBinContent(k); if(value<yMin) yMin = value; if(value>yMax) yMax = value; } C->cd(); pad[1]->Draw(); pad[1]->cd(); if(opt.Contains("logz")) { gPad->SetLogz(1); } else { gPad->SetLogz(0); } hFrame[1]->GetYaxis()->SetRangeUser(hP1X1->GetYaxis()->GetXmin(),hP1X1->GetYaxis()->GetXmax()); if(opt.Contains("units")) hFrame[1]->GetYaxis()->SetTitle("p_{z} [GeV/c]"); hFrame[1]->Draw(); gP1left->SetLineWidth(2); gP1left->Draw("F"); gP1left->Draw("L"); TLine lZmean(xmean,hP1X1->GetYaxis()->GetXmin(),xmean,hP1X1->GetYaxis()->GetXmax()); lZmean.SetLineColor(kGray+2); lZmean.SetLineStyle(2); lZmean.Draw(); TLine lPmean(hP1X1->GetXaxis()->GetXmin(),ymean,hP1X1->GetXaxis()->GetXmax(),ymean); lPmean.SetLineColor(kGray+2); lPmean.SetLineStyle(2); lPmean.Draw(); hP1X1->GetYaxis()->SetNdivisions(503); hP1X1->GetZaxis()->SetNdivisions(503); hP1X1->GetZaxis()->SetRangeUser(0.001*hP1X1->GetMaximum(),hP1X1->GetMaximum()); hP1X1->GetZaxis()->SetLabelSize(0.05); hP1X1->GetZaxis()->SetTitleSize(0.04); hP1X1->GetZaxis()->SetTitleFont(42); hP1X1->Draw("colzsame"); // hP1X1->SetContour(20); // hP1X1->Draw("contzsame"); // hP1X1prof->SetMarkerStyle(1); // hP1X1prof->SetLineWidth(2); // hP1X1prof->Draw("zsame"); //hP1->Draw("C"); gPad->Update(); TPaletteAxis *palette = (TPaletteAxis*)hP1X1->GetListOfFunctions()->FindObject("palette"); if(palette) { Float_t y1 = gPad->GetBottomMargin(); Float_t y2 = 1 - gPad->GetTopMargin(); Float_t x1 = 1 - gPad->GetRightMargin(); palette->SetY2NDC(y2 - 0.04); palette->SetY1NDC(y1 + 0.04); palette->SetX1NDC(x1 + 0.01); palette->SetX2NDC(x1 + 0.04); palette->SetLabelFont(42); palette->SetLabelSize(0.08); //palette->SetLabelOffset(0.005/vfactor); palette->SetTitleSize(0.10); // palette->SetTitleOffset(9999.0*vfactor); palette->SetTitleOffset(0.6); palette->SetBorderSize(2); palette->SetLineColor(1); } textTime->Draw(); textInfo->Draw(); // textCharge->Draw(); textMom->Draw(); gPad->RedrawAxis(); // Bottom plot ----------------------------------------- C->cd(); pad[0]->Draw(); pad[0]->cd(); hFrame[0]->GetYaxis()->SetRangeUser(0.0,1.1*yMax); hFrame[0]->Draw(); hX1->SetLineWidth(2); hX1->SetFillStyle(1001); hX1->SetFillColor(PlasmaGlob::elecFill); // hX1->SetLineColor(kBlue); hX1->Draw("FL same"); //hX1->Draw("C"); TLine lZmean2(xmean,0.0,xmean,1.1*yMax); lZmean2.SetLineColor(kGray+2); lZmean2.SetLineStyle(2); lZmean2.Draw(); Int_t markerSize = 1.2; Int_t lineWidth = 2.0; gYrms->SetMarkerStyle(20); gYrms->SetLineStyle(1); gYrms->SetMarkerColor(kGray+1); gYrms->SetMarkerSize(markerSize); gYrms->SetLineColor(kGray+1); gYrms->SetLineWidth(lineWidth); gYrms->Draw("PL"); // hP2X2sl[0]->Draw("colz"); gemit->SetMarkerStyle(20); // gemit->SetMarkerColor(kMagenta-2); gemit->SetMarkerColor(kGray+2); gemit->SetMarkerSize(markerSize); gemit->SetLineWidth(lineWidth); gemit->SetLineColor(kGray+2); gemit->Draw("PL"); gErms->SetMarkerStyle(20); gErms->SetMarkerSize(markerSize); gErms->SetMarkerColor(kOrange+10); gErms->SetLineColor(kOrange+10); gErms->SetLineWidth(lineWidth); gErms->Draw("PL"); TLegend *Leg; if(!sim.Contains("DR")) Leg=new TLegend(0.55,0.60,1 - gPad->GetRightMargin() - 0.02,0.95); else Leg=new TLegend(gPad->GetLeftMargin() + 0.02, 1.0-gPad->GetTopMargin()-0.20, gPad->GetLeftMargin() + 0.30, 1.0-gPad->GetTopMargin()-0.02); PlasmaGlob::SetPaveStyle(Leg); Leg->SetTextAlign(12); Leg->SetTextColor(kGray+3); Leg->SetTextFont(42); Leg->SetLineColor(1); Leg->SetBorderSize(0); Leg->SetFillColor(0); Leg->SetFillStyle(1001); Leg->SetFillStyle(0); // Hollow Leg->AddEntry(hX1 ,"Current [kA]","L"); // Leg->AddEntry(gErms,"Energy spread (GeV)","PL"); Leg->AddEntry(gErms,"Energy spread [%]","PL"); Leg->AddEntry(gemit,"Emittance [#mum]","PL"); Leg->AddEntry(gYrms,"Bunch width [#mum]","PL"); Leg->Draw(); gPad->RedrawAxis(); gPad->Update(); // Print to file -------------------------------------- C->cd(); // Print to a file // Output file TString fOutName = Form("./%s/Plots/RakeBunch/RakeBunch",sim.Data()); fOutName += Form("-%s_%i",sim.Data(),time); PlasmaGlob::imgconv(C,fOutName,opt); // --------------------------------------------------------- }
void DarkSusy_mH_125_mGammaD_2000_cT_100_LHE_gammaD_Phi() { //=========Macro generated from canvas: cnv/cnv //========= (Sun May 24 15:18:26 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.00509322,4.3,0.03408539); 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_gammaD_1_Phi_dummy80 = new TH1F("h_gammaD_1_Phi_dummy80","h_gammaD_1_Phi_dummy",80,-4,4); h_gammaD_1_Phi_dummy80->SetMaximum(0.03134289); h_gammaD_1_Phi_dummy80->SetLineStyle(0); h_gammaD_1_Phi_dummy80->SetMarkerStyle(20); h_gammaD_1_Phi_dummy80->GetXaxis()->SetTitle("#phi of #gamma_{D} [rad]"); h_gammaD_1_Phi_dummy80->GetXaxis()->SetLabelFont(42); h_gammaD_1_Phi_dummy80->GetXaxis()->SetLabelOffset(0.007); h_gammaD_1_Phi_dummy80->GetXaxis()->SetTitleSize(0.06); h_gammaD_1_Phi_dummy80->GetXaxis()->SetTitleOffset(0.95); h_gammaD_1_Phi_dummy80->GetXaxis()->SetTitleFont(42); h_gammaD_1_Phi_dummy80->GetYaxis()->SetTitle("Fraction of events / 0.1 rad"); h_gammaD_1_Phi_dummy80->GetYaxis()->SetLabelFont(42); h_gammaD_1_Phi_dummy80->GetYaxis()->SetLabelOffset(0.007); h_gammaD_1_Phi_dummy80->GetYaxis()->SetTitleSize(0.06); h_gammaD_1_Phi_dummy80->GetYaxis()->SetTitleOffset(1.35); h_gammaD_1_Phi_dummy80->GetYaxis()->SetTitleFont(42); h_gammaD_1_Phi_dummy80->GetZaxis()->SetLabelFont(42); h_gammaD_1_Phi_dummy80->GetZaxis()->SetLabelOffset(0.007); h_gammaD_1_Phi_dummy80->GetZaxis()->SetTitleSize(0.06); h_gammaD_1_Phi_dummy80->GetZaxis()->SetTitleFont(42); h_gammaD_1_Phi_dummy80->Draw(""); TH1F *h_gammaD_1_Phi81 = new TH1F("h_gammaD_1_Phi81","h_gammaD_1_Phi",80,-4,4); h_gammaD_1_Phi81->SetBinContent(9,0.006925086); h_gammaD_1_Phi81->SetBinContent(10,0.01741272); h_gammaD_1_Phi81->SetBinContent(11,0.01686271); h_gammaD_1_Phi81->SetBinContent(12,0.0160377); h_gammaD_1_Phi81->SetBinContent(13,0.01707521); h_gammaD_1_Phi81->SetBinContent(14,0.01660021); h_gammaD_1_Phi81->SetBinContent(15,0.01686271); h_gammaD_1_Phi81->SetBinContent(16,0.0161002); h_gammaD_1_Phi81->SetBinContent(17,0.0160127); h_gammaD_1_Phi81->SetBinContent(18,0.01698771); h_gammaD_1_Phi81->SetBinContent(19,0.0159127); h_gammaD_1_Phi81->SetBinContent(20,0.0160377); h_gammaD_1_Phi81->SetBinContent(21,0.0160252); h_gammaD_1_Phi81->SetBinContent(22,0.0162752); h_gammaD_1_Phi81->SetBinContent(23,0.0158877); h_gammaD_1_Phi81->SetBinContent(24,0.0161627); h_gammaD_1_Phi81->SetBinContent(25,0.01555019); h_gammaD_1_Phi81->SetBinContent(26,0.0159502); h_gammaD_1_Phi81->SetBinContent(27,0.0161252); h_gammaD_1_Phi81->SetBinContent(28,0.0158502); h_gammaD_1_Phi81->SetBinContent(29,0.01641271); h_gammaD_1_Phi81->SetBinContent(30,0.0161877); h_gammaD_1_Phi81->SetBinContent(31,0.01667521); h_gammaD_1_Phi81->SetBinContent(32,0.0156127); h_gammaD_1_Phi81->SetBinContent(33,0.01521269); h_gammaD_1_Phi81->SetBinContent(34,0.0158377); h_gammaD_1_Phi81->SetBinContent(35,0.0156252); h_gammaD_1_Phi81->SetBinContent(36,0.0157127); h_gammaD_1_Phi81->SetBinContent(37,0.01526269); h_gammaD_1_Phi81->SetBinContent(38,0.0162752); h_gammaD_1_Phi81->SetBinContent(39,0.01507519); h_gammaD_1_Phi81->SetBinContent(40,0.0158002); h_gammaD_1_Phi81->SetBinContent(41,0.01682521); h_gammaD_1_Phi81->SetBinContent(42,0.01663771); h_gammaD_1_Phi81->SetBinContent(43,0.0160752); h_gammaD_1_Phi81->SetBinContent(44,0.01547519); h_gammaD_1_Phi81->SetBinContent(45,0.01653771); h_gammaD_1_Phi81->SetBinContent(46,0.0163377); h_gammaD_1_Phi81->SetBinContent(47,0.0157627); h_gammaD_1_Phi81->SetBinContent(48,0.0159002); h_gammaD_1_Phi81->SetBinContent(49,0.01653771); h_gammaD_1_Phi81->SetBinContent(50,0.0157002); h_gammaD_1_Phi81->SetBinContent(51,0.0160877); h_gammaD_1_Phi81->SetBinContent(52,0.0157377); h_gammaD_1_Phi81->SetBinContent(53,0.01538769); h_gammaD_1_Phi81->SetBinContent(54,0.0163627); h_gammaD_1_Phi81->SetBinContent(55,0.01515019); h_gammaD_1_Phi81->SetBinContent(56,0.0163377); h_gammaD_1_Phi81->SetBinContent(57,0.01542519); h_gammaD_1_Phi81->SetBinContent(58,0.01475018); h_gammaD_1_Phi81->SetBinContent(59,0.01462518); h_gammaD_1_Phi81->SetBinContent(60,0.01502519); h_gammaD_1_Phi81->SetBinContent(61,0.0156252); h_gammaD_1_Phi81->SetBinContent(62,0.01498769); h_gammaD_1_Phi81->SetBinContent(63,0.01530019); h_gammaD_1_Phi81->SetBinContent(64,0.0157377); h_gammaD_1_Phi81->SetBinContent(65,0.01555019); h_gammaD_1_Phi81->SetBinContent(66,0.0157002); h_gammaD_1_Phi81->SetBinContent(67,0.01483769); h_gammaD_1_Phi81->SetBinContent(68,0.0156127); h_gammaD_1_Phi81->SetBinContent(69,0.01525019); h_gammaD_1_Phi81->SetBinContent(70,0.0159002); h_gammaD_1_Phi81->SetBinContent(71,0.0158502); h_gammaD_1_Phi81->SetBinContent(72,0.006625083); h_gammaD_1_Phi81->SetBinError(9,0.0002942187); h_gammaD_1_Phi81->SetBinError(10,0.0004665423); h_gammaD_1_Phi81->SetBinError(11,0.0004591149); h_gammaD_1_Phi81->SetBinError(12,0.000447743); h_gammaD_1_Phi81->SetBinError(13,0.0004619987); h_gammaD_1_Phi81->SetBinError(14,0.0004555274); h_gammaD_1_Phi81->SetBinError(15,0.0004591149); h_gammaD_1_Phi81->SetBinError(16,0.0004486146); h_gammaD_1_Phi81->SetBinError(17,0.0004473938); h_gammaD_1_Phi81->SetBinError(18,0.0004608135); h_gammaD_1_Phi81->SetBinError(19,0.0004459946); h_gammaD_1_Phi81->SetBinError(20,0.000447743); h_gammaD_1_Phi81->SetBinError(21,0.0004475684); h_gammaD_1_Phi81->SetBinError(22,0.0004510461); h_gammaD_1_Phi81->SetBinError(23,0.0004456442); h_gammaD_1_Phi81->SetBinError(24,0.0004494845); h_gammaD_1_Phi81->SetBinError(25,0.0004408853); h_gammaD_1_Phi81->SetBinError(26,0.0004465199); h_gammaD_1_Phi81->SetBinError(27,0.0004489627); h_gammaD_1_Phi81->SetBinError(28,0.0004451179); h_gammaD_1_Phi81->SetBinError(29,0.0004529474); h_gammaD_1_Phi81->SetBinError(30,0.000449832); h_gammaD_1_Phi81->SetBinError(31,0.0004565553); h_gammaD_1_Phi81->SetBinError(32,0.0004417704); h_gammaD_1_Phi81->SetBinError(33,0.0004360745); h_gammaD_1_Phi81->SetBinError(34,0.0004449424); h_gammaD_1_Phi81->SetBinError(35,0.0004419473); h_gammaD_1_Phi81->SetBinError(36,0.000443183); h_gammaD_1_Phi81->SetBinError(37,0.0004367906); h_gammaD_1_Phi81->SetBinError(38,0.0004510461); h_gammaD_1_Phi81->SetBinError(39,0.0004340993); h_gammaD_1_Phi81->SetBinError(40,0.0004444153); h_gammaD_1_Phi81->SetBinError(41,0.0004586041); h_gammaD_1_Phi81->SetBinError(42,0.0004560416); h_gammaD_1_Phi81->SetBinError(43,0.0004482661); h_gammaD_1_Phi81->SetBinError(44,0.0004398208); h_gammaD_1_Phi81->SetBinError(45,0.000454669); h_gammaD_1_Phi81->SetBinError(46,0.0004519113); h_gammaD_1_Phi81->SetBinError(47,0.0004438876); h_gammaD_1_Phi81->SetBinError(48,0.0004458194); h_gammaD_1_Phi81->SetBinError(49,0.000454669); h_gammaD_1_Phi81->SetBinError(50,0.0004430067); h_gammaD_1_Phi81->SetBinError(51,0.0004484404); h_gammaD_1_Phi81->SetBinError(52,0.0004435354); h_gammaD_1_Phi81->SetBinError(53,0.0004385756); h_gammaD_1_Phi81->SetBinError(54,0.000452257); h_gammaD_1_Phi81->SetBinError(55,0.0004351778); h_gammaD_1_Phi81->SetBinError(56,0.0004519113); h_gammaD_1_Phi81->SetBinError(57,0.0004391097); h_gammaD_1_Phi81->SetBinError(58,0.0004293945); h_gammaD_1_Phi81->SetBinError(59,0.0004275711); h_gammaD_1_Phi81->SetBinError(60,0.0004333788); h_gammaD_1_Phi81->SetBinError(61,0.0004419473); h_gammaD_1_Phi81->SetBinError(62,0.0004328377); h_gammaD_1_Phi81->SetBinError(63,0.0004373269); h_gammaD_1_Phi81->SetBinError(64,0.0004435354); h_gammaD_1_Phi81->SetBinError(65,0.0004408853); h_gammaD_1_Phi81->SetBinError(66,0.0004430067); h_gammaD_1_Phi81->SetBinError(67,0.0004306662); h_gammaD_1_Phi81->SetBinError(68,0.0004417704); h_gammaD_1_Phi81->SetBinError(69,0.0004366117); h_gammaD_1_Phi81->SetBinError(70,0.0004458194); h_gammaD_1_Phi81->SetBinError(71,0.0004451179); h_gammaD_1_Phi81->SetBinError(72,0.0002877752); h_gammaD_1_Phi81->SetEntries(79999); h_gammaD_1_Phi81->SetDirectory(0); Int_t ci; // for color index setting TColor *color; // for color definition with alpha ci = TColor::GetColor("#0000ff"); h_gammaD_1_Phi81->SetLineColor(ci); h_gammaD_1_Phi81->SetLineWidth(2); h_gammaD_1_Phi81->SetMarkerStyle(20); h_gammaD_1_Phi81->GetXaxis()->SetLabelFont(42); h_gammaD_1_Phi81->GetXaxis()->SetLabelOffset(0.007); h_gammaD_1_Phi81->GetXaxis()->SetTitleSize(0.06); h_gammaD_1_Phi81->GetXaxis()->SetTitleOffset(0.95); h_gammaD_1_Phi81->GetXaxis()->SetTitleFont(42); h_gammaD_1_Phi81->GetYaxis()->SetLabelFont(42); h_gammaD_1_Phi81->GetYaxis()->SetLabelOffset(0.007); h_gammaD_1_Phi81->GetYaxis()->SetTitleSize(0.06); h_gammaD_1_Phi81->GetYaxis()->SetTitleOffset(1.3); h_gammaD_1_Phi81->GetYaxis()->SetTitleFont(42); h_gammaD_1_Phi81->GetZaxis()->SetLabelFont(42); h_gammaD_1_Phi81->GetZaxis()->SetLabelOffset(0.007); h_gammaD_1_Phi81->GetZaxis()->SetTitleSize(0.06); h_gammaD_1_Phi81->GetZaxis()->SetTitleFont(42); h_gammaD_1_Phi81->Draw("SAMEHIST"); TH1F *h_gammaD_2_Phi82 = new TH1F("h_gammaD_2_Phi82","h_gammaD_2_Phi",80,-4,4); h_gammaD_2_Phi82->SetBinContent(9,0.007087589); h_gammaD_2_Phi82->SetBinContent(10,0.0164002); h_gammaD_2_Phi82->SetBinContent(11,0.01767522); h_gammaD_2_Phi82->SetBinContent(12,0.01652521); h_gammaD_2_Phi82->SetBinContent(13,0.01690021); h_gammaD_2_Phi82->SetBinContent(14,0.01672521); h_gammaD_2_Phi82->SetBinContent(15,0.0164002); h_gammaD_2_Phi82->SetBinContent(16,0.01701271); h_gammaD_2_Phi82->SetBinContent(17,0.0163627); h_gammaD_2_Phi82->SetBinContent(18,0.01655021); h_gammaD_2_Phi82->SetBinContent(19,0.01680021); h_gammaD_2_Phi82->SetBinContent(20,0.0163627); h_gammaD_2_Phi82->SetBinContent(21,0.0163377); h_gammaD_2_Phi82->SetBinContent(22,0.0160252); h_gammaD_2_Phi82->SetBinContent(23,0.01531269); h_gammaD_2_Phi82->SetBinContent(24,0.0157502); h_gammaD_2_Phi82->SetBinContent(25,0.01515019); h_gammaD_2_Phi82->SetBinContent(26,0.0160752); h_gammaD_2_Phi82->SetBinContent(27,0.0160252); h_gammaD_2_Phi82->SetBinContent(28,0.0158627); h_gammaD_2_Phi82->SetBinContent(29,0.01528769); h_gammaD_2_Phi82->SetBinContent(30,0.01555019); h_gammaD_2_Phi82->SetBinContent(31,0.0156377); h_gammaD_2_Phi82->SetBinContent(32,0.01513769); h_gammaD_2_Phi82->SetBinContent(33,0.0162502); h_gammaD_2_Phi82->SetBinContent(34,0.01548769); h_gammaD_2_Phi82->SetBinContent(35,0.0157252); h_gammaD_2_Phi82->SetBinContent(36,0.01558769); h_gammaD_2_Phi82->SetBinContent(37,0.01522519); h_gammaD_2_Phi82->SetBinContent(38,0.0158377); h_gammaD_2_Phi82->SetBinContent(39,0.01533769); h_gammaD_2_Phi82->SetBinContent(40,0.0158377); h_gammaD_2_Phi82->SetBinContent(41,0.0162627); h_gammaD_2_Phi82->SetBinContent(42,0.01557519); h_gammaD_2_Phi82->SetBinContent(43,0.01702521); h_gammaD_2_Phi82->SetBinContent(44,0.0159127); h_gammaD_2_Phi82->SetBinContent(45,0.0159627); h_gammaD_2_Phi82->SetBinContent(46,0.0159377); h_gammaD_2_Phi82->SetBinContent(47,0.01535019); h_gammaD_2_Phi82->SetBinContent(48,0.0161877); h_gammaD_2_Phi82->SetBinContent(49,0.01671271); h_gammaD_2_Phi82->SetBinContent(50,0.01546269); h_gammaD_2_Phi82->SetBinContent(51,0.0159002); h_gammaD_2_Phi82->SetBinContent(52,0.01558769); h_gammaD_2_Phi82->SetBinContent(53,0.01558769); h_gammaD_2_Phi82->SetBinContent(54,0.01505019); h_gammaD_2_Phi82->SetBinContent(55,0.0159627); h_gammaD_2_Phi82->SetBinContent(56,0.01482519); h_gammaD_2_Phi82->SetBinContent(57,0.01551269); h_gammaD_2_Phi82->SetBinContent(58,0.0159252); h_gammaD_2_Phi82->SetBinContent(59,0.01558769); h_gammaD_2_Phi82->SetBinContent(60,0.01545019); h_gammaD_2_Phi82->SetBinContent(61,0.01461268); h_gammaD_2_Phi82->SetBinContent(62,0.01506269); h_gammaD_2_Phi82->SetBinContent(63,0.0159502); h_gammaD_2_Phi82->SetBinContent(64,0.01476268); h_gammaD_2_Phi82->SetBinContent(65,0.01542519); h_gammaD_2_Phi82->SetBinContent(66,0.01673771); h_gammaD_2_Phi82->SetBinContent(67,0.0161002); h_gammaD_2_Phi82->SetBinContent(68,0.0156377); h_gammaD_2_Phi82->SetBinContent(69,0.01558769); h_gammaD_2_Phi82->SetBinContent(70,0.01535019); h_gammaD_2_Phi82->SetBinContent(71,0.01777522); h_gammaD_2_Phi82->SetBinContent(72,0.006975087); h_gammaD_2_Phi82->SetBinError(9,0.0002976507); h_gammaD_2_Phi82->SetBinError(10,0.0004527749); h_gammaD_2_Phi82->SetBinError(11,0.0004700458); h_gammaD_2_Phi82->SetBinError(12,0.0004544972); h_gammaD_2_Phi82->SetBinError(13,0.0004596252); h_gammaD_2_Phi82->SetBinError(14,0.0004572392); h_gammaD_2_Phi82->SetBinError(15,0.0004527749); h_gammaD_2_Phi82->SetBinError(16,0.0004611524); h_gammaD_2_Phi82->SetBinError(17,0.000452257); h_gammaD_2_Phi82->SetBinError(18,0.0004548408); h_gammaD_2_Phi82->SetBinError(19,0.0004582633); h_gammaD_2_Phi82->SetBinError(20,0.000452257); h_gammaD_2_Phi82->SetBinError(21,0.0004519113); h_gammaD_2_Phi82->SetBinError(22,0.0004475684); h_gammaD_2_Phi82->SetBinError(23,0.0004375055); h_gammaD_2_Phi82->SetBinError(24,0.0004437115); h_gammaD_2_Phi82->SetBinError(25,0.0004351778); h_gammaD_2_Phi82->SetBinError(26,0.0004482661); h_gammaD_2_Phi82->SetBinError(27,0.0004475684); h_gammaD_2_Phi82->SetBinError(28,0.0004452934); h_gammaD_2_Phi82->SetBinError(29,0.0004371482); h_gammaD_2_Phi82->SetBinError(30,0.0004408853); h_gammaD_2_Phi82->SetBinError(31,0.000442124); h_gammaD_2_Phi82->SetBinError(32,0.0004349983); h_gammaD_2_Phi82->SetBinError(33,0.0004506995); h_gammaD_2_Phi82->SetBinError(34,0.0004399984); h_gammaD_2_Phi82->SetBinError(35,0.0004433592); h_gammaD_2_Phi82->SetBinError(36,0.0004414166); h_gammaD_2_Phi82->SetBinError(37,0.0004362537); h_gammaD_2_Phi82->SetBinError(38,0.0004449424); h_gammaD_2_Phi82->SetBinError(39,0.0004378625); h_gammaD_2_Phi82->SetBinError(40,0.0004449424); h_gammaD_2_Phi82->SetBinError(41,0.0004508729); h_gammaD_2_Phi82->SetBinError(42,0.0004412396); h_gammaD_2_Phi82->SetBinError(43,0.0004613218); h_gammaD_2_Phi82->SetBinError(44,0.0004459946); h_gammaD_2_Phi82->SetBinError(45,0.0004466948); h_gammaD_2_Phi82->SetBinError(46,0.0004463449); h_gammaD_2_Phi82->SetBinError(47,0.0004380409); h_gammaD_2_Phi82->SetBinError(48,0.000449832); h_gammaD_2_Phi82->SetBinError(49,0.0004570683); h_gammaD_2_Phi82->SetBinError(50,0.0004396431); h_gammaD_2_Phi82->SetBinError(51,0.0004458194); h_gammaD_2_Phi82->SetBinError(52,0.0004414166); h_gammaD_2_Phi82->SetBinError(53,0.0004414166); h_gammaD_2_Phi82->SetBinError(54,0.0004337392); h_gammaD_2_Phi82->SetBinError(55,0.0004466948); h_gammaD_2_Phi82->SetBinError(56,0.0004304848); h_gammaD_2_Phi82->SetBinError(57,0.0004403534); h_gammaD_2_Phi82->SetBinError(58,0.0004461698); h_gammaD_2_Phi82->SetBinError(59,0.0004414166); h_gammaD_2_Phi82->SetBinError(60,0.0004394654); h_gammaD_2_Phi82->SetBinError(61,0.0004273884); h_gammaD_2_Phi82->SetBinError(62,0.0004339193); h_gammaD_2_Phi82->SetBinError(63,0.0004465199); h_gammaD_2_Phi82->SetBinError(64,0.0004295764); h_gammaD_2_Phi82->SetBinError(65,0.0004391097); h_gammaD_2_Phi82->SetBinError(66,0.0004574101); h_gammaD_2_Phi82->SetBinError(67,0.0004486146); h_gammaD_2_Phi82->SetBinError(68,0.000442124); h_gammaD_2_Phi82->SetBinError(69,0.0004414166); h_gammaD_2_Phi82->SetBinError(70,0.0004380409); h_gammaD_2_Phi82->SetBinError(71,0.0004713736); h_gammaD_2_Phi82->SetBinError(72,0.000295279); h_gammaD_2_Phi82->SetEntries(79999); h_gammaD_2_Phi82->SetDirectory(0); ci = TColor::GetColor("#ff0000"); h_gammaD_2_Phi82->SetLineColor(ci); h_gammaD_2_Phi82->SetLineWidth(2); h_gammaD_2_Phi82->SetMarkerStyle(20); h_gammaD_2_Phi82->GetXaxis()->SetLabelFont(42); h_gammaD_2_Phi82->GetXaxis()->SetLabelOffset(0.007); h_gammaD_2_Phi82->GetXaxis()->SetTitleSize(0.06); h_gammaD_2_Phi82->GetXaxis()->SetTitleOffset(0.95); h_gammaD_2_Phi82->GetXaxis()->SetTitleFont(42); h_gammaD_2_Phi82->GetYaxis()->SetLabelFont(42); h_gammaD_2_Phi82->GetYaxis()->SetLabelOffset(0.007); h_gammaD_2_Phi82->GetYaxis()->SetTitleSize(0.06); h_gammaD_2_Phi82->GetYaxis()->SetTitleOffset(1.3); h_gammaD_2_Phi82->GetYaxis()->SetTitleFont(42); h_gammaD_2_Phi82->GetZaxis()->SetLabelFont(42); h_gammaD_2_Phi82->GetZaxis()->SetLabelOffset(0.007); h_gammaD_2_Phi82->GetZaxis()->SetTitleSize(0.06); h_gammaD_2_Phi82->GetZaxis()->SetTitleFont(42); h_gammaD_2_Phi82->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_gammaD_1_Phi","1st dark photon (leading p_{T})","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_gammaD_2_Phi","2nd dark photon","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}} = 100 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); }
void fitSignalShapeW(int massBin,int id, int channels,int categ, int sample, /* float lumi, bool doSfLepton, */double rangeLow, double rangeHigh, double bwSigma, double fitValues[9], double fitErrors[9], double covQual[1]){ // ------ root settings --------- gROOT->Reset(); gROOT->SetStyle("Plain"); gStyle->SetPadGridX(kFALSE); gStyle->SetPadGridY(kFALSE); //gStyle->SetOptStat("kKsSiourRmMen"); gStyle->SetOptStat("iourme"); //gStyle->SetOptStat("rme"); //gStyle->SetOptStat(""); gStyle->SetOptFit(11); gStyle->SetPadLeftMargin(0.14); gStyle->SetPadRightMargin(0.06); // ------------------------------ ROOT::Math::MinimizerOptions::SetDefaultTolerance( 1.E-7); stringstream FileName; //Insert the file here if(sample==1) FileName <<"root://lxcms03//data3/Higgs/150915/ZH125/ZZ4lAnalysis.root" ; else if(sample==2) FileName << "root://lxcms03//data3/Higgs/150915/WplusH125/ZZ4lAnalysis.root"; else if(sample==3) FileName << "root://lxcms03//data3/Higgs/150915/WminusH125/ZZ4lAnalysis.root"; else if(sample==4) FileName << "root://lxcms03//data3/Higgs/150915/ttH125/ZZ4lAnalysis.root"; else { cout << "Wrong sample." << endl; return; } cout << "Using " << FileName.str() << endl; TFile* ggFile = TFile::Open(FileName.str().c_str()); TTree* ggTree = (TTree*) ggFile->Get("ZZTree/candTree"); float m4l; Short_t z1flav, z2flav; float weight; Short_t nExtraLeptons; float ZZPt; Short_t nJets; Short_t nBTaggedJets; std::vector<float> * jetpt = 0; std::vector<float> * jeteta = 0; std::vector<float> * jetphi = 0; std::vector<float> * jetmass = 0; float jet30pt[10]; float jet30eta[10]; float jet30phi[10]; float jet30mass[10]; float Fisher; int nentries = ggTree->GetEntries(); //--- ggTree part ggTree->SetBranchAddress("ZZMass",&m4l); ggTree->SetBranchAddress("Z1Flav",&z1flav); ggTree->SetBranchAddress("Z2Flav",&z2flav); ggTree->SetBranchAddress("genHEPMCweight",&weight); ggTree->SetBranchAddress("nExtraLep",&nExtraLeptons); ggTree->SetBranchAddress("nCleanedJets",&nJets); ggTree->SetBranchAddress("nCleanedJetsPt30BTagged",&nBTaggedJets); ggTree->SetBranchAddress("DiJetFisher",&Fisher); ggTree->SetBranchAddress("JetPt",&jetpt); ggTree->SetBranchAddress("JetEta",&jeteta); ggTree->SetBranchAddress("JetPhi",&jetphi); ggTree->SetBranchAddress("JetMass",&jetmass); ggTree->SetBranchAddress("ZZPt",&ZZPt); //--- rooFit part double xMin,xMax,xInit; xInit = (double) massBin; xMin = rangeLow; xMax = rangeHigh ; cout << "Fit range: [" << xMin << " , " << xMax << "]. Init value = " << xInit << endl; TH1F *hmass = new TH1F("hmass","hmass",200,xMin,xMax); //--------- RooRealVar x("mass","m_{4l}",xInit,xMin,xMax,"GeV"); RooRealVar w("myW","myW",1.0,0.,1000.); RooArgSet ntupleVarSet(x,w); RooDataSet dataset("mass4l","mass4l",ntupleVarSet,WeightVar("myW")); for(int k=0; k<nentries; k++){ ggTree->GetEvent(k); int njet30 = 0; for (unsigned int ijet = 0; ijet < jetpt->size(); ijet++) { if ( (*jetpt)[ijet] > 30. ) { jet30pt[njet30] = (*jetpt)[ijet]; jet30eta[njet30] = (*jeteta)[ijet]; jet30phi[njet30] = (*jetphi)[ijet]; jet30mass[njet30] = (*jetmass)[ijet]; njet30++; } } int Cat = category(nExtraLeptons, ZZPt, m4l, njet30, nBTaggedJets, jet30pt, jet30eta, jet30phi,jet30mass, Fisher); if (categ >= 0 && categ != Cat ) continue; if(channels==0 && z1flav*z2flav != 28561) continue; if(channels==1 && z1flav*z2flav != 14641) continue; if (weight <= 0 ) cout << "Warning! Negative weight events" << endl; if(channels==2 && z1flav*z2flav != 20449) continue; ntupleVarSet.setRealValue("mass",m4l); ntupleVarSet.setRealValue("myW",weight); if(x.getVal()>xMin && x.getVal()<xMax) dataset.add(ntupleVarSet, weight); hmass->Fill(m4l); } //--------- cout << "dataset n entries: " << dataset.sumEntries() << endl; TCanvas *c1 = new TCanvas("c1","c1",725,725); c1->cd(); TPad *pad1 = new TPad("pad1","This is pad1",0.05,0.35,0.95,0.97); pad1->Draw(); TPad *pad2 = new TPad("pad2","This is pad2",0.05,0.02,0.95,0.35); pad2->Draw(); //--- double CrystalBall RooRealVar mean("bias","mean of gaussian",0,-5.,5.) ; RooRealVar sigma("sigma","width of gaussian",1.5,0.,30.); RooRealVar a1("a1","a1",1.46,0.5,5.); RooRealVar n1("n1","n1",1.92,0.,10.); RooRealVar a2("a2","a2",1.46,1.,10.); RooRealVar n2("n2","n2",20,1.,50.); RooDoubleCB DCBall("DCBall","Double Crystal ball",x,mean,sigma,a1,n1,a2,n2); if (channels== 1) mean.setVal(-1.); //--- Breit-Wigner float bwSigmaMax,bwSigmaMin; if(massBin<400) bwSigmaMin=bwSigmaMax=bwSigma; else { bwSigmaMin=bwSigma-20.; bwSigmaMax=bwSigma+20.; } RooRealVar mean3("mean3","mean3",xInit) ; RooRealVar sigma3("sigma3","width3",bwSigma,bwSigmaMin,bwSigmaMax); RooRealVar scale3("scale3","scale3 ",1.); RooRelBWUFParam bw("bw","bw",x,mean3,scale3); //Chebyshev-Polynomial RooRealVar A1("A1","A1",-1,-3,3.); RooRealVar A2("A2","A2",0.5,-3.,3.); RooChebychev BkgPDF("BkgPDF","BkgPDF",x ,RooArgList(A1,A2)); //Fraction RooRealVar frac("frac","Fraction for PDF",0.5,0.,1.); x.setBins(10000,"fft"); RooFFTConvPdf model("model","model",x,bw,DCBall); RooAddPdf totPDF("totPDF","Total PDF ",RooArgList(model,BkgPDF),RooArgList(frac)); RooArgSet* params = totPDF.getParameters(x); if(sample!=1 && categ!=0 && id!=125){ if(channels==0 ){params->readFromFile("Ch0_Cat0_paraT.txt");}// Read the Parameter for the Resonance + Bkg(ChebyChev) if(channels==1 ){params->readFromFile("Ch1_Cat0_paraT.txt");}// Read the Parameter for the Resonance + Bkg(ChebyChev) if(channels==2 ){params->readFromFile("Ch2_Cat0_paraT.txt");}// Read the Parameter for the Resonance + Bkg(ChebyChev) } RooFitResult *fitres = (RooFitResult*)totPDF.fitTo(dataset,SumW2Error(1),Range(xMin,xMax),Strategy(2),NumCPU(8),Save(true)); if (sample==1 && categ==0 && id==125){ mean.setConstant(kTRUE); sigma.setConstant(kTRUE); a1.setConstant(kTRUE); n1.setConstant(kTRUE); a2.setConstant(kTRUE); n2.setConstant(kTRUE); mean3.setConstant(kTRUE); sigma3.setConstant(kTRUE); scale3.setConstant(kTRUE); A1.setConstant(kTRUE); A2.setConstant(kTRUE); frac.setConstant(kTRUE); if(channels==0 ){ params->readFromFile("Ch0_Cat0_para.txt"); // Read the Parameter for the Resonance as ggH sample params->writeToFile("Ch0_Cat0_paraT.txt");} // Writing the Parameter for Full PDF including the Chebyshev-Polynomial if(channels==1 ) {params->readFromFile("Ch1_Cat0_para.txt"); // Read the Parameter for the Resonance as in ggH sample params->writeToFile("Ch1_Cat0_paraT.txt");}// Writing the Parameter for Full PDF including the Chebyshev-Polynomial if(channels==2 ){ params->readFromFile("Ch2_Cat0_para.txt"); // Read the Parameter for the Resonance as ggH sample params->writeToFile("Ch2_Cat0_paraT.txt");}// Writing the Parameter for Full PDF including the Chebyshev-Polynomial } stringstream frameTitle; if(channels==0){frameTitle << "4#mu, m_{H} = "; } if(channels==1){frameTitle << "4e, m_{H} = ";} if(channels==2){frameTitle << "2e2#mu, m_{H} = ";} frameTitle << massBin << " GeV"; stringstream nameFileRoot; nameFileRoot << "fitM" << massBin << ".root"; TFile *fileplot = TFile::Open(nameFileRoot.str().c_str(), "recreate"); RooPlot* xframe = x.frame() ; xframe->SetTitle(""); xframe->SetName("m4lplot"); dataset.plotOn(xframe,DataError(RooAbsData::SumW2), MarkerStyle(kOpenCircle), MarkerSize(1.1) ); int col; if(channels==0) col=kOrange+7; if(channels==1) col=kAzure+2; if(channels==2) col=kGreen+3; totPDF.plotOn(xframe,LineColor(col)); RooHist* hpull = xframe->pullHist(); RooPlot* frame3 = x.frame(Title("Pull Distribution")) ; frame3->addPlotable(hpull,"P"); // cosmetics TLegend *legend = new TLegend(0.20,0.45,0.45,0.60,NULL,"brNDC"); legend->SetBorderSize(0); legend->SetFillColor(0); legend->SetTextAlign(12); legend->SetTextFont (42); legend->SetTextSize (0.03); TH1F *dummyPoints = new TH1F("dummyP","dummyP",1,0,1); TH1F *dummyLine = new TH1F("dummyL","dummyL",1,0,1); dummyPoints->SetMarkerStyle(kOpenCircle); dummyPoints->SetMarkerSize(1.1); dummyLine->SetLineColor(col); legend->AddEntry(dummyPoints, "Simulation", "pe"); legend->AddEntry(dummyLine, "Parametric Model", "l"); TPaveText *text = new TPaveText(0.15,0.90,0.77,0.98,"brNDC"); text->AddText("CMS Simulation"); text->SetBorderSize(0); text->SetFillStyle(0); text->SetTextAlign(12); text->SetTextFont(42); text->SetTextSize(0.03); TPaveText *titlet = new TPaveText(0.15,0.80,0.60,0.85,"brNDC"); titlet->AddText(frameTitle.str().c_str()); titlet->SetBorderSize(0); titlet->SetFillStyle(0); titlet->SetTextAlign(12); titlet->SetTextFont(132); titlet->SetTextSize(0.045); TPaveText *sigmat = new TPaveText(0.15,0.65,0.77,0.78,"brNDC"); stringstream sigmaval0, sigmaval1, sigmaval2; sigmaval0 << fixed; sigmaval0 << setprecision(1); sigmaval0 << "m_{dCB} = " << mean.getVal() + massBin << " GeV"; sigmaval1 << fixed; sigmaval1 << setprecision(1); sigmaval1 << "#sigma_{dCB} = " << sigma.getVal() << " GeV"; sigmaval2 << fixed; sigmaval2 << setprecision(1); sigmaval2 << "RMS_{eff} = " << effSigma(hmass) << " GeV"; sigmat->AddText(sigmaval1.str().c_str()); sigmat->AddText(sigmaval2.str().c_str()); sigmat->SetBorderSize(0); sigmat->SetFillStyle(0); sigmat->SetTextAlign(12); sigmat->SetTextFont(132); sigmat->SetTextSize(0.04); xframe->GetYaxis()->SetTitleOffset(1.5); cout << "EFF RMS = " << effSigma(hmass) << " RMS = " << hmass->GetRMS() << endl; pad1->cd(); stringstream nameFile, nameFileC, nameFilePng; nameFile << "fitM" << massBin << "_channel" << channels<< "_category"<< categ << ".pdf"; nameFileC << "fitM" << massBin << "_channel" << channels << "_category"<< categ << ".C"; nameFilePng << "fitM" << massBin << "_channel" << channels << "_category"<< categ << ".png"; xframe->Draw(); gPad->Update(); legend->Draw(); text->Draw(); sigmat->Draw(); titlet->Draw(); pad2->cd() ; frame3->Draw() ; frame3->SetMinimum(-3); frame3->SetMaximum(3); TLine *line1 = new TLine(105,0,140,0); line1->SetLineColor(kRed); line1->Draw(); c1->Print(nameFile.str().c_str()); c1->SaveAs(nameFileC.str().c_str()); c1->SaveAs(nameFilePng.str().c_str()); fileplot->cd(); xframe->Write(); sigmat->Write(); hmass->Write(); fileplot->Close(); if(fitValues!=0){ fitValues[0] = a1.getVal(); fitValues[1] = a2.getVal(); fitValues[2] = mean.getVal(); fitValues[3] = mean3.getVal(); fitValues[4] = n1.getVal(); fitValues[5] = n2.getVal(); fitValues[6] = sigma.getVal(); fitValues[7] = A1.getVal(); fitValues[8] = A2.getVal(); } if(fitErrors!=0){ fitErrors[0] = a1.getError(); fitErrors[1] = a2.getError(); fitErrors[2] = mean.getError(); fitErrors[3] = mean3.getError(); fitErrors[4] = n1.getError(); fitErrors[5] = n2.getError(); fitErrors[6] = sigma.getError(); fitErrors[7] = A1.getError(); fitErrors[8] = A2.getError(); } covQual[0] = fitres->covQual(); }
void plotScanByDim(int channel) { gStyle->SetOptStat(0); gStyle->SetOptFit(1111); TStyle *mystyle = RooHZZStyle("ZZ"); mystyle->cd(); string channelstr; if (channel==0) channelstr = "4mu"; if (channel==1) channelstr = "4e"; if (channel==2) channelstr = "2e2mu"; stringstream file1D,file2D,file3D; file1D << "higgsCombineSCAN1D" << channelstr << "Fast.MultiDimFit.mH125.8.root"; file2D << "higgsCombineSCAN2D" << channelstr << "Fast.MultiDimFit.mH125.8.root"; file3D << "higgsCombineSCAN3D" << channelstr << "Fast.MultiDimFit.mH125.8.root"; TFile *fit1D = TFile::Open(file1D.str().c_str()); TTree *tree1D = (TTree*)fit1D->Get("limit"); TFile *fit2D = TFile::Open(file2D.str().c_str()); TTree *tree2D = (TTree*)fit2D->Get("limit"); TFile *fit3D = TFile::Open(file3D.str().c_str()); TTree *tree3D = (TTree*)fit3D->Get("limit"); TGraph *g1D = new TGraph(); TGraph *g2D = new TGraph(); TGraph *g3D = new TGraph(); vector<TTree*> trees; trees.push_back(tree1D); trees.push_back(tree2D); trees.push_back(tree3D); vector<TGraph*> graphs; graphs.push_back(g1D); graphs.push_back(g2D); graphs.push_back(g3D); for(int dim=0; dim<(int)trees.size(); ++dim) { cout << "Analyzing scan for n. dim. fit = " << dim << endl; float MH; float deltaNLL; trees[dim]->SetBranchAddress("MH", &MH); trees[dim]->SetBranchAddress("deltaNLL", &deltaNLL); graphs[dim]->SetLineWidth(2); for(int i=1; i<(int)trees[dim]->GetEntries();++i) { trees[dim]->GetEntry(i); graphs[dim]->SetPoint(i-1,MH,2*deltaNLL); } } graphs[0]->SetLineColor(kRed); graphs[1]->SetLineColor(kGreen+2); graphs[2]->SetLineColor(kBlue); TCanvas *c1 = new TCanvas("c1","",750,750); graphs[0]->GetXaxis()->SetRangeUser(122,130); graphs[0]->GetYaxis()->SetRangeUser(0,10); graphs[0]->GetXaxis()->SetTitle("m_{X} (GeV)"); graphs[0]->GetYaxis()->SetTitle("-2 #Delta lnL"); graphs[0]->Draw("al"); for(int i=1;i<3;++i) graphs[i]->Draw("l"); // draw the legend TLegend *legend = new TLegend(0.75,0.65,0.90,0.90,NULL,"brNDC"); legend->SetBorderSize( 0); legend->SetFillColor ( 0); legend->SetTextAlign ( 12); legend->SetTextFont ( 42); legend->SetTextSize (0.05); legend->AddEntry(graphs[0], "1D fit","l"); legend->AddEntry(graphs[1], "2D fit","l"); legend->AddEntry(graphs[2], "3D fit","l"); legend->Draw(); TLine *line1 = new TLine(122,1,130,1); line1->SetLineColor(kRed); line1->SetLineWidth(3.0); line1->Draw(); TLine *line2 = new TLine(122,4,130,4); line2->SetLineColor(kRed); line2->SetLineWidth(1.5); line2->Draw(); TLatex *CP = CMSPreliminary(); CP->Draw(); TPaveText *comment; if(channel==0) comment = text("H #rightarrow ZZ #rightarrow 4#mu",0.20,0.90,0.40,0.90); if(channel==1) comment = text("H #rightarrow ZZ #rightarrow 4e",0.20,0.90,0.40,0.90); if(channel==2) comment = text("H #rightarrow ZZ #rightarrow 2e2#mu",0.20,0.90,0.40,0.90); comment->Draw(); stringstream outnamepdf; outnamepdf << "scanmass_bydim_" << channelstr << ".pdf"; c1->SaveAs(outnamepdf.str().c_str()); stringstream outnamepng; outnamepng << "scanmass_bydim_" << channelstr << ".png"; c1->SaveAs(outnamepng.str().c_str()); }
void plotScanByChannel(int ndim) { gStyle->SetOptStat(0); gStyle->SetOptFit(1111); TStyle *mystyle = RooHZZStyle("ZZ"); mystyle->cd(); stringstream file4mu,file4e,file2e2mu,filecomb; file4mu << "higgsCombineSCAN" << ndim << "D4muFast.MultiDimFit.mH125.8.root"; file4e << "higgsCombineSCAN" << ndim << "D4eFast.MultiDimFit.mH125.8.root"; file2e2mu << "higgsCombineSCAN" << ndim << "D2e2muFast.MultiDimFit.mH125.8.root"; filecomb << "higgsCombineSCAN" << ndim << "DcombFast.MultiDimFit.mH125.8.root"; TFile *fit4mu = TFile::Open(file4mu.str().c_str()); TTree *tree4mu = (TTree*)fit4mu->Get("limit"); TFile *fit4e = TFile::Open(file4e.str().c_str()); TTree *tree4e = (TTree*)fit4e->Get("limit"); TFile *fit2e2mu = TFile::Open(file2e2mu.str().c_str()); TTree *tree2e2mu = (TTree*)fit2e2mu->Get("limit"); TFile *fitcomb = TFile::Open(filecomb.str().c_str()); TTree *treecomb = (TTree*)fitcomb->Get("limit"); TGraph *g4mu = new TGraph(); TGraph *g4e = new TGraph(); TGraph *g2e2mu = new TGraph(); TGraph *gcomb = new TGraph(); vector<TTree*> trees; trees.push_back(tree4mu); trees.push_back(tree4e); trees.push_back(tree2e2mu); trees.push_back(treecomb); vector<TGraph*> graphs; graphs.push_back(g4mu); graphs.push_back(g4e); graphs.push_back(g2e2mu); graphs.push_back(gcomb); for(int cha=0; cha<(int)trees.size(); ++cha) { cout << "Analyzing scan for channel = " << cha << endl; float MH; float deltaNLL; trees[cha]->SetBranchAddress("MH", &MH); trees[cha]->SetBranchAddress("deltaNLL", &deltaNLL); if(cha<3) graphs[cha]->SetLineWidth(2); else graphs[cha]->SetLineWidth(4); for(int i=1; i<(int)trees[cha]->GetEntries();++i) { trees[cha]->GetEntry(i); graphs[cha]->SetPoint(i-1,MH,2*deltaNLL); } } graphs[0]->SetLineColor(kRed); graphs[1]->SetLineColor(kGreen+2); graphs[2]->SetLineColor(kBlue); graphs[3]->SetLineColor(kBlack); TCanvas *c1 = new TCanvas("c1","",750,750); graphs[0]->GetXaxis()->SetRangeUser(122,130); graphs[0]->GetYaxis()->SetRangeUser(0,10); graphs[0]->GetXaxis()->SetTitle("m_{X} (GeV)"); graphs[0]->GetYaxis()->SetTitle("-2 #Delta lnL"); graphs[0]->Draw("al"); for(int i=1;i<4;++i) graphs[i]->Draw("l"); // draw the legend TLegend *legend = new TLegend(0.55,0.65,0.85,0.90,NULL,"brNDC"); legend->SetBorderSize( 0); legend->SetFillColor ( 0); legend->SetTextAlign ( 12); legend->SetTextFont ( 42); legend->SetTextSize (0.05); legend->AddEntry(graphs[3], "Combined","l"); legend->AddEntry(graphs[1], "H #rightarrow ZZ #rightarrow 4e ","l"); legend->AddEntry(graphs[0], "H #rightarrow ZZ #rightarrow 4#mu ","l"); legend->AddEntry(graphs[2], "H #rightarrow ZZ #rightarrow 2e2#mu ","l"); legend->Draw(); TLine *line1 = new TLine(122,1,130,1); line1->SetLineColor(kRed); line1->SetLineWidth(3.0); line1->Draw(); TLine *line2 = new TLine(122,4,130,4); line2->SetLineColor(kRed); line2->SetLineWidth(1.5); line2->Draw(); TLatex *CP = CMSPreliminary(); CP->Draw(); TPaveText *comment; if(ndim==1) comment = text("H #rightarrow ZZ, 1D",0.20,0.90,0.40,0.90); if(ndim==2) comment = text("H #rightarrow ZZ, 2D",0.20,0.90,0.40,0.90); if(ndim==3) comment = text("H #rightarrow ZZ, 3D",0.20,0.90,0.40,0.90); comment->Draw(); stringstream outnamepdf; outnamepdf << "scanmass_bychannel_" << ndim << "D.pdf"; c1->SaveAs(outnamepdf.str().c_str()); stringstream outnamepng; outnamepng << "scanmass_bychannel_" << ndim << "D.png"; c1->SaveAs(outnamepng.str().c_str()); }
void finalizeMassToys() { // data fits (uppere) // float dm1h=0.572; gROOT->SetStyle("Plain"); gStyle->SetOptStat(0); gStyle->SetOptFit(1111); TFile *fit1D = TFile::Open("histos1D.root"); TH1F *pull1D = (TH1F*)fit1D->Get("pullh"); TH1F *errh1D = (TH1F*)fit1D->Get("errh"); TFile *fit2D = TFile::Open("histos2D.root"); TH1F *pull2D = (TH1F*)fit2D->Get("pullh"); TH1F *errh2D = (TH1F*)fit2D->Get("errh"); TFile *fit3D = TFile::Open("histos3D.root"); TH1F *pull3D = (TH1F*)fit3D->Get("pullh"); TH1F *errh3D = (TH1F*)fit3D->Get("errh"); float m1=errh1D->GetMean(); float m2=errh2D->GetMean(); float m3=errh3D->GetMean(); float me1=errh1D->GetMeanError(); float me2=errh2D->GetMeanError(); float me3=errh3D->GetMeanError(); stringstream m1s,m2s,m3s; m1s.precision(2); m2s.precision(2); m3s.precision(2); m1s << std::fixed << "m_{4l}. Mean = " << m1 << " #pm " << me1; m2s << std::fixed << "m_{4l}, #sigma_{m}. Mean = " << m2 << " #pm " << me2; m3s << std::fixed << "m_{4l}, #sigma_{m}, KD. Mean = " << m3 << " #pm " << me3; std::vector<TH1F*> pulls,errs; pulls.push_back(pull1D); pulls.push_back(pull2D); pulls.push_back(pull3D); errs.push_back(errh1D); errs.push_back(errh2D); errs.push_back(errh3D); TPaveText *text = new TPaveText(0.50,0.50,0.85,0.60,"brNDC"); text->AddText(m1s.str().c_str()); text->AddText(m2s.str().c_str()); text->AddText(m3s.str().c_str()); text->SetBorderSize(0); text->SetFillStyle(0); text->SetTextAlign(12); text->SetTextFont(42); text->SetTextSize(0.03); // draw the legend TLegend *legend = new TLegend(0.50,0.65,0.85,0.85,NULL,"brNDC"); legend->SetBorderSize( 0); legend->SetFillColor ( 0); legend->SetTextAlign ( 12); legend->SetTextFont ( 42); legend->SetTextSize (0.05); legend->AddEntry(errh1D, "m_{4l}","l"); legend->AddEntry(errh2D, "m_{4l},#sigma_{m}","l"); legend->AddEntry(errh3D, "m_{4l},#sigma_{m},KD","l"); TCanvas *c1 = new TCanvas("c1","",750,750); errs[0]->SetMaximum(3000); for(int i=0;i<3;++i) { errs[i]->SetLineColor(i+1); if(i==0) errs[i]->Draw(); else { errs[i]->Scale(errs[0]->Integral()/errs[i]->Integral()); errs[i]->Draw("same"); } } legend->Draw(); text->Draw(); c1->SaveAs("errors.png"); for(int i=0;i<3;++i) { pulls[i]->Draw(); pulls[i]->Fit("gaus"); stringstream pullc; pullc << "pull_" << i+1 << "D.png"; c1->SaveAs(pullc.str().c_str()); } }
void make_overlay_Plot(TH1D *SS_hist, TH1D *OS_hist, configuration *myconfig){ TCanvas *c1 = new TCanvas("c1","C1",10,10,1280,960); gPad->SetTopMargin(0.08); gPad->SetRightMargin(0.04); gPad->SetLeftMargin(0.12); gPad->SetBottomMargin(0.14); gPad->SetTickx(); gPad->SetTicky(); //gPad->SetLogy(); //hist->GetYaxis()->SetTitleOffset(0.8); double ymax = TMath::Max(SS_hist->GetMaximum(),OS_hist->GetMaximum()); //SS_hist->SetLineWidth(2); SS_hist->SetLineColor(kOrange+1); //OS_hist->SetLineWidth(2); OS_hist->SetLineColor(kBlue+2); OS_hist->GetXaxis()->SetLabelSize(0.05); OS_hist->GetYaxis()->SetLabelSize(0.05); OS_hist->GetXaxis()->SetTitleSize(0.05); OS_hist->GetYaxis()->SetTitleSize(0.05); OS_hist->GetYaxis()->SetRangeUser(0,1.2*ymax); //SS_hist->SetFillColorAlpha(kOrange+1, 0.35); //SS_hist->SetFillColor(kOrange+1); OS_hist->Draw("hist"); SS_hist->Draw("histsame"); TPaveText *blank_box = new TPaveText(1.001-gPad->GetRightMargin(),gPad->GetBottomMargin(),1.0,gPad->GetBottomMargin()+0.05,"BRNDC"); blank_box->SetBorderSize(0);blank_box->SetFillColor(kWhite);blank_box->SetTextAlign(12);blank_box->SetFillStyle(1001); blank_box->AddText(" "); blank_box->Draw(); OS_hist->Draw("axis same"); if(myconfig->get_particle().Contains("Xic") && static_cast<TString>(OS_hist->GetName()).Contains("pi")){ c1->Update(); double Xic_2645_mass = 2646; double Xic_2790_mass = 2790 - 107.5;//107.5 : Xic' - Xic mass diffrrence double LQCD_Xicc_mass = 3610; TArrow Xic_arrows; Xic_arrows.SetAngle(40); Xic_arrows.SetLineWidth(2); Xic_arrows.DrawArrow(Xic_2645_mass,0.85*gPad->GetUymax(),Xic_2645_mass,0.88*gPad->GetUymax(),0.03,"<|"); Xic_arrows.DrawArrow(Xic_2790_mass,0.6*gPad->GetUymax(),Xic_2790_mass,0.7*gPad->GetUymax(),0.03,"<|"); Xic_arrows.DrawArrow(LQCD_Xicc_mass,0.10*gPad->GetUymax(),LQCD_Xicc_mass,0.2*gPad->GetUymax(),0.03,"<|"); TLatex Xic_labels;Xic_labels.SetTextAlign(12);Xic_labels.SetTextFont(42);Xic_labels.SetTextSize(0.05); Xic_labels.DrawLatex(Xic_2645_mass-10,0.93*gPad->GetUymax(),"#Xi_{c}(2645)"); Xic_labels.DrawLatex(Xic_2790_mass-10,0.75*gPad->GetUymax(),"#Xi_{c}(2790)#rightarrow#Xi_{c}'#pi"); Xic_labels.SetTextAlign(22); Xic_labels.DrawLatex(LQCD_Xicc_mass,0.25*gPad->GetUymax(),"LQCD #Xi_{cc}"); } if(myconfig->get_particle().CompareTo("Xic") == 0 && static_cast<TString>(OS_hist->GetName()).Contains("K")){ c1->Update(); double Marco_1_QVal = 40.0; double Marco_2_QVal = 90.0; double Marco_3_QVal = 105.0; double Marco_4_QVal = 128.0; double Marco_5_QVal = 160.0; double peak1_mass = Marco_1_QVal + 2469 + 494; double peak2_mass = Marco_2_QVal + 2469 + 494; double peak3_mass = Marco_3_QVal + 2469 + 494; double peak4_mass = Marco_4_QVal + 2469 + 494; double peak5_mass = Marco_5_QVal + 2469 + 494; TArrow OmegacStar_arrows; OmegacStar_arrows.SetAngle(40); OmegacStar_arrows.SetLineWidth(2); OmegacStar_arrows.DrawArrow(peak1_mass,0.85*gPad->GetUymax(),peak1_mass,0.88*gPad->GetUymax(),0.03,"<|"); OmegacStar_arrows.DrawArrow(peak2_mass,0.85*gPad->GetUymax(),peak2_mass,0.88*gPad->GetUymax(),0.03,"<|"); OmegacStar_arrows.DrawArrow(peak3_mass,0.85*gPad->GetUymax(),peak3_mass,0.88*gPad->GetUymax(),0.03,"<|"); OmegacStar_arrows.DrawArrow(peak4_mass,0.85*gPad->GetUymax(),peak4_mass,0.88*gPad->GetUymax(),0.03,"<|"); OmegacStar_arrows.DrawArrow(peak5_mass,0.85*gPad->GetUymax(),peak5_mass,0.88*gPad->GetUymax(),0.03,"<|"); TLatex OmegacStar_labels;OmegacStar_labels.SetTextAlign(21);OmegacStar_labels.SetTextFont(42);OmegacStar_labels.SetTextSize(0.05); OmegacStar_labels.DrawLatex(peak1_mass,0.90*gPad->GetUymax(),"1"); OmegacStar_labels.DrawLatex(peak2_mass,0.90*gPad->GetUymax(),"2"); OmegacStar_labels.DrawLatex(peak3_mass,0.90*gPad->GetUymax(),"3"); OmegacStar_labels.DrawLatex(peak4_mass,0.90*gPad->GetUymax(),"4"); OmegacStar_labels.DrawLatex(peak5_mass,0.90*gPad->GetUymax(),"5"); } TLegend *leg; if(static_cast<TString>(SS_hist->GetName()).Contains("SB"))leg = new TLegend(gPad->GetLeftMargin()+0.06,0.82-gPad->GetTopMargin(),0.40-gPad->GetLeftMargin(),0.97-gPad->GetTopMargin()); else leg = new TLegend(0.6,0.82-gPad->GetTopMargin(),0.97-gPad->GetRightMargin(),0.97-gPad->GetTopMargin()); leg->SetBorderSize(0);leg->SetFillColor(kWhite);leg->SetFillStyle(1001);leg->SetTextAlign(12);leg->SetTextSize(0.05);leg->SetTextFont(42); if(static_cast<TString>(OS_hist->GetName()).Contains("IPfail"))leg->SetHeader("Multiple candidates"); if(static_cast<TString>(OS_hist->GetName()).Contains("pi")){ temp = "#Xi_{c}^{#pm}#pi^{#mp} + c.c."; if(myconfig->get_particle().Contains("Xic0"))temp = "#Xi_{c}^{0}#pi^{#mp} + c.c."; if(myconfig->get_particle().Contains("Omega"))temp = "#Omega_{c}^{0}#pi^{#mp} + c.c."; } else if(static_cast<TString>(OS_hist->GetName()).Contains("K")){ temp = "#Xi_{c}^{#pm}K^{#mp} + c.c."; if(myconfig->get_particle().Contains("Xic0"))temp = "#Xi_{c}^{0}K^{#mp} + c.c."; if(myconfig->get_particle().Contains("Omega"))temp = "#Omega_{c}^{0}K^{#mp} + c.c."; } else{ temp = "from #Xi_{c}^{#pm} signal"; if(myconfig->get_particle().Contains("Xic0"))temp = "from #Xi_{c}^{0} signal"; if(myconfig->get_particle().Contains("Omega"))temp = "from #Omega_{c}^{0} signal"; } leg->AddEntry(OS_hist,temp,"l"); if(static_cast<TString>(OS_hist->GetName()).Contains("pi")){ temp = "#Xi_{c}^{#pm}#pi^{#pm} + c.c."; if(myconfig->get_particle().Contains("Xic0"))temp = "#Xi_{c}^{0}#pi^{#pm} + c.c."; if(myconfig->get_particle().Contains("Omega"))temp = "#Omega_{c}^{0}#pi^{#pm} + c.c."; } else if(static_cast<TString>(OS_hist->GetName()).Contains("K")){ temp = "#Xi_{c}^{#pm}K^{#pm} + c.c."; if(myconfig->get_particle().Contains("Xic0"))temp = "#Xi_{c}^{0}K^{#pm} + c.c."; if(myconfig->get_particle().Contains("Omega"))temp = "#Omega_{c}^{0}K^{#pm} + c.c."; } else temp = "from sidebands"; leg->AddEntry(SS_hist,temp,"l"); leg->Draw(); temp = myconfig->get_dumpdir()+"/Plots/"; if(!gSystem->OpenDirectory(temp))gSystem->mkdir(temp); temp += static_cast<TString>(OS_hist->GetName()) + "_" + myconfig->get_current_cs() + ".pdf"; if(!myconfig->is_debug()) c1->SaveAs(temp); delete c1; return; }
void plotNLLMassToys(long injmass){ TString filenamesb=TString("nllsb_")+injmass; TString filenameb=TString("nllb_")+injmass; TH1F * H[8]; TH1F * HDiff[8]; TH1F * HDiffFine[8]; TH1F * HSigma[8]; TF1* GScanToy[500]; for(Int_t m=0;m<8;m++){ H[m]=new TH1F(TString("H")+(long)(110+5*m),TString("mass=")+(long)(110+5*m),50,-200,-25); HDiff[m]=new TH1F(TString("HDiff")+(long)(110+5*m),TString("mass=")+(long)(110+5*m),20,0.0,8); HDiffFine[m]=new TH1F(TString("HDiffFine")+(long)(110+5*m),TString("mass=")+(long)(110+5*m),1000,0.0,8); HSigma[m]=new TH1F(TString("HSigma")+(long)(110+5*m),TString("mass=")+(long)(110+5*m),50,10,10); } TH1F HMass("HMass","",8,110-2.5,150-2.5); TH1F HPull("HPull","",11,-5.5,5.5); TH1F HSigmaLow("HSigmaLow","",8,0,30); HSigmaLow.GetXaxis()->SetTitle("#sigma_{low}"); TH1F HSigmaHigh("HSigmaHigh","",8,0,30); HSigmaHigh.GetXaxis()->SetTitle("#sigma_{high}"); TH2F HSigma2D("HSigma2D","",8,0,20,8,0,20); HSigma2D.GetYaxis()->SetTitle("#sigma_{high}"); HSigma2D.GetXaxis()->SetTitle("#sigma_{low}"); TH2F HBestFitvsSigmaHigh("HBestFitvsSigmaHigh","",8,110-2.5,145+2.5,8,110-2.5,145+2.5); HBestFitvsSigmaHigh.GetYaxis()->SetTitle("#sigma_{high}"); HBestFitvsSigmaHigh.GetXaxis()->SetTitle("m_{bestfit}"); TH1F HSigmaFull("HSigmaFull","",20,0,50); HSigmaFull.GetXaxis()->SetTitle("#sigma_{low}+#sigma_{high}"); ifstream file; file.open((filenamesb+".txt").Data()); ifstream fileb; fileb.open((filenameb+".txt").Data()); bool GoodToy[500]; int n; float nll[8]; float nllb[8]; int ngood=0; while(!file.eof()){ file>>n>>nll[0]>>nll[1]>>nll[2]>>nll[3]>>nll[4]>>nll[5]>>nll[6]>>nll[7]; fileb>>n>>nllb[0]>>nllb[1]>>nllb[2]>>nllb[3]>>nllb[4]>>nllb[5]>>nllb[6]>>nllb[7]; //cout<<n<<nll[0]<<nll[1]<<nll[2]<<nll[3]<<nll[4]<<nll[5]<<nll[6]<<nll[7]<<endl; GoodToy[n]=1; for(Int_t m=0;m<8;m++) if(nll[m]==0.) GoodToy[n]=0; if(!GoodToy[n])continue; float minnll=100.; int minm=0; float minmass=0.; for(Int_t m=0;m<8;m++) if(minnll>nll[m]){ minnll = nll[m]; minm = m; } minmass=110+minm*5; for(Int_t m=0;m<8;m++){ H[m]->Fill(nll[m]); HDiff[m]->Fill(nll[m]-minnll); HDiffFine[m]->Fill(nll[m]-minnll); } //////scan of each toy GScanToy[n]=new TF1(TString("GScanToy")+(long)(110+5*m),"(110<=x&&x<115)*([0]+([1]-[0])*(x-110)/5) + (115<=x&&x<120)*([1]+([2]-[1])*(x-115)/5) + (120<=x&&x<125)*([2]+([3]-[2])*(x-120)/5) + (125<=x&&x<130)*([3]+([4]-[3])*(x-125)/5) + (130<=x&&x<135)*([4]+([5]-[4])*(x-130)/5) + (135<=x&&x<140)*([5]+([6]-[5])*(x-135)/5) + (140<=x&&x<145)*([6]+([7]-[6])*(x-140)/5)",110,145); for(Int_t m=0;m<8;m++){ GScanToy[n]->SetParameter(m,(nll[m]-minnll)); } //for this toy find the uncertainty float x1sigmalow=0; float x1sigmahigh=0; float y1sigmalow=1000; float y1sigmahigh=1000; for(Int_t m=0;m<1000;m++){ float xlow=110+m*(145-110)/1000.; float xhigh=145+m*(110-145)/1000.; float ylow=GScanToy[n]->Eval(xlow); float yhigh=GScanToy[n]->Eval(xhigh); if(ylow<y1sigmalow && xlow<110+minm*5 && ylow>0.5){ y1sigmalow=ylow; x1sigmalow=xlow; } if(yhigh<y1sigmahigh && xhigh>110+minm*5 && yhigh>0.5){ y1sigmahigh=yhigh; x1sigmahigh=xhigh; } } //cout<<110+minm*5<<" "<<x1sigmalow<<" "<<x1sigmahigh<<endl; float sigmamass=0.; if( x1sigmalow !=0 && x1sigmahigh ==0)sigmamass = minmass - x1sigmalow; if( x1sigmahigh!=0 && x1sigmalow ==0)sigmamass = x1sigmahigh - minmass; if( x1sigmalow !=0 && x1sigmahigh !=0)sigmamass = ((minmass - x1sigmalow) + (x1sigmahigh - minmass))/2.; if(sigmamass!=0.)HPull.Fill((minmass-injmass)/sigmamass); if( x1sigmalow !=0 ) { HSigmaLow.Fill(minmass-x1sigmalow); } if( x1sigmahigh !=0 ) { HSigmaHigh.Fill(x1sigmahigh-minmass); HBestFitvsSigmaHigh.Fill(minmass,x1sigmahigh); } if( x1sigmalow !=0 && x1sigmahigh !=0 ) { HSigma2D.Fill(minmass-x1sigmalow,x1sigmahigh-minmass); HSigmaFull.Fill(x1sigmahigh-x1sigmalow); } /////Find best fit mass HMass.Fill(110 + minm*5); ngood++; } file.close(); fileb.close(); cout<<"Number of good toys = "<<ngood<<endl; float MinNLL=1000; for(Int_t m=0;m<8;m++) if(MinNLL>H[m]->GetMean()) MinNLL=H[m]->GetMean(); file.open((filenamesb+".txt").Data()); fileb.open((filenameb+".txt").Data()); while(!file.eof()){ file>>n>>nll[0]>>nll[1]>>nll[2]>>nll[3]>>nll[4]>>nll[5]>>nll[6]>>nll[7]; if(!GoodToy[n])continue; for(Int_t m=0;m<8;m++) HSigma[m]->Fill(nll[m]-MinNLL); } file.close(); fileb.close(); TCanvas C("C","",600,600); C.Print(filenamesb+".ps["); //fill what is effectively the asimov dataset TGraph GScan; float minnll=100.; for(Int_t m=0;m<8;m++) if(minnll>H[m]->GetMean()) minnll=H[m]->GetMean(); const double quantiles[5]={0.05,0.16,0.5,0.84,0.95}; const double xq[8][5]; TLine QLine; QLine.SetLineColor(2); /////////////////// for(Int_t m=0;m<8;m++){ HDiffFine[m]->GetQuantiles(5,xq[m],quantiles); C.Clear(); //HSigma[m]->Draw("pe"); //H[m]->Draw("pe"); //HDiff[m]->Draw("hist"); HDiffFine[m]->Draw("hist"); for(Int_t q=0;q<5;q++){ QLine.DrawLine(xq[m][q],0,xq[m][q],HDiffFine[m]->GetMaximum()); } C.Print(filenamesb+".ps"); if(m==7)C.Print(filenamesb+"_DNLLDistribution.png"); GScan.SetPoint(m,110+m*5,H[m]->GetMean()-minnll); } TGraph* HBands[5]; for(Int_t q=0;q<5;q++){ HBands[q]=new TGraph(); HBands[q]->SetPoint(0,110,0); for(Int_t m=0;m<8;m++){ HBands[q]->SetPoint(m+1,110+m*5,xq[m][q]); } HBands[q]->SetPoint(9,145,0); } HBands[0]->SetFillColor(kYellow); HBands[0]->SetLineColor(kYellow); HBands[0]->SetLineWidth(0); HBands[1]->SetFillColor(kYellow); HBands[1]->SetLineColor(kYellow); HBands[1]->SetLineWidth(0); HBands[2]->SetFillColor(0); HBands[2]->SetLineColor(kBlue); HBands[3]->SetFillColor(kGreen); HBands[3]->SetLineColor(kGreen); HBands[4]->SetFillColor(kYellow); HBands[4]->SetLineColor(kYellow); /////////////////////Likelihood scan TH1F HScanFrame("HScanFrame","",1,110,145); HScanFrame.GetYaxis()->SetRangeUser(0,4); //HScanFrame.GetYaxis()->SetTitle("#scale[1]{#Delta} -ln(#font[132]{L})"); HScanFrame.GetYaxis()->SetTitle("#scale[1]{#Delta}( -ln L )"); HScanFrame.GetXaxis()->SetTitle("#bf{m_{H} [GeV]}"); TLine line; line.SetLineColor(2); C.Clear(); HScanFrame.Draw(); for(Int_t q=4;q>=0;q--){ if(q!=2) HBands[q]->Draw("Fsame"); } GScan.SetLineColor(kBlue); GScan.Draw("lsame"); TFile FData("likelihood-mass-scan.root","READ"); TGraph*DataInput=(TGraph*)FData.Get("b+_All_final_1nd/mass_scan"); float mindata=100.; float minmassdata=0.; for(Int_t m=0;m<8;m++){ double x; double y; DataInput->GetPoint(m*5,x,y); if(mindata>y){ mindata=y; minmassdata=110+m*5; } } TGraph GData; for(Int_t m=0;m<8;m++){ double x; double y; DataInput->GetPoint(m*5,x,y); GData.SetPoint(m,x,y-mindata); } GData.Draw("plsame"); //DataInput->Draw("plsame"); //GScanToy[0]->Draw("lsame"); C.RedrawAxis(); line.DrawLine(110,0.5,145,0.5); line.DrawLine(110,1.92,145,1.92); float datasigmahigh=8.55; float datasigmalow=5.85; TLine verticalline; verticalline.SetLineStyle(2); verticalline.DrawLine(minmassdata-datasigmalow,0,minmassdata-datasigmalow,0.5); verticalline.DrawLine(minmassdata+datasigmahigh,0,minmassdata+datasigmahigh,0.5); TLegend legend; legend.SetFillStyle(0); legend.SetFillColor(0); legend.SetBorderSize(0); legend.AddEntry(&GData,"observed","LP"); legend.AddEntry(&GScan,"H(125 GeV) expected","L"); legend.AddEntry(HBands[3],"#pm 1#sigma expected","F"); legend.AddEntry(HBands[4],"#pm 2#sigma expected","F"); legend.SetX1NDC(0.37); legend.SetX2NDC(0.85); legend.SetY1NDC(0.67); legend.SetY2NDC(0.88); legend.SetTextSize(.04); legend.SetTextAlign(12); legend.Draw(); TLatex text; text.SetTextColor(2); text.SetTextSize(0.04); text.DrawLatex(142,0.5+0.05,"1#sigma"); text.DrawLatex(142,1.92+0.05,"2#sigma"); //CMSPrelim("CMS Preliminary, H#rightarrow#tau#tau, L = 24.3 fb^{-1}"); //#sqrt{s} = 7 - 8 TeV , L = 24.3 fb^{-1} //CMSPrelim("CMS Prelim., H#rightarrow#tau#tau, #sqrt{s} = 7 - 8 TeV, L = 24.3 fb^{-1}"); //CMSPrelim(""); //CMSPrelim("CMS Preliminary, #sqrt{s}=7 TeV, L=4.9 fb^{-1}, #sqrt{s}=8 TeV, L=19.3 fb^{-1}, H#rightarrow#tau#tau"); CMSPrelim(); C.Print(filenamesb+".ps"); C.Print(filenamesb+"_DNLL.png"); C.Print(filenamesb+"_DNLL.pdf"); //////////////////////Pull distribution TH1F HMassFrame("HMassFrame","",1,100,155); HMassFrame.GetYaxis()->SetRangeUser(0,HMass.GetMaximum()*1.3); HMassFrame.GetYaxis()->SetTitle("# of toys"); HMassFrame.GetXaxis()->SetTitle("m_{H} [GeV]"); cout<<" Fit with 3 gaussians "<<endl; TF1 Gaus("Gaus","[0]*exp(-0.5*(x-[1])**2/([2]*[2])) + [3]*exp(-0.5*(x-[5])**2/([2]*[2])) + [4]*exp(-0.5*(x-[6])**2/([2]*[2]))",110,145); Gaus.SetParLimits(0,0,10000); Gaus.SetParLimits(1,110,145); Gaus.SetParLimits(2,1,20); Gaus.SetParLimits(3,0,10000); Gaus.SetParLimits(4,0,10000); Gaus.FixParameter(5,110-(injmass-110)); Gaus.FixParameter(6,145+(145-injmass)); C.Clear(); HMass.Fit(&Gaus); char title[100]; sprintf(title,"Mean = %.1f +- %.1f Sigma = %.1f +- %.1f",Gaus.GetParameter(1),Gaus.GetParError(1),Gaus.GetParameter(2),Gaus.GetParError(2)); HMassFrame.SetTitle(title); HMassFrame.Draw("hist"); HMass.Draw("histpesame"); Gaus.SetLineColor(4); Gaus.Draw("lsame"); TF1 GausSig("GausSig","[0]*exp(-0.5*(x-[1])**2/([2]*[2]))",90,160); GausSig.SetParameter(0,Gaus.GetParameter(0)); GausSig.SetParameter(1,Gaus.GetParameter(1)); GausSig.SetParameter(2,Gaus.GetParameter(2)); GausSig.SetLineColor(2); GausSig.Draw("lsame"); C.Print(filenamesb+".ps"); C.Print(filenamesb+"_MassUnc.png"); C.Print(filenamesb+"_MassUnc.pdf"); cout<<" Fit with 1 gaussian "<<endl; C.Clear(); TF1 GausCore("GausCore","[0]*exp(-0.5*(x-[1])**2/([2]*[2]))",110,145); GausCore.SetParLimits(0,0.1,10000); GausCore.SetParLimits(1,injmass-5.0,injmass+5.0); GausCore.SetParLimits(2,1,20); //HMass.Fit(&GausCore,"","",injmass-5.5,injmass+5.5); HMass.Fit(&GausCore,"","LL",injmass-10.0,injmass+10.0); sprintf(title,"Mean = %.1f +- %.1f Sigma = %.1f +- %.1f",GausCore.GetParameter(1),GausCore.GetParError(1),GausCore.GetParameter(2),GausCore.GetParError(2)); HMassFrame.SetTitle(title); HMassFrame.Draw("hist"); HMass.Draw("histpesame"); GausCore.SetLineColor(2); GausCore.Draw("lsame"); C.Print(filenamesb+".ps"); C.Print(filenamesb+"_MassUncCore.png"); C.Print(filenamesb+"_MassUncCore.pdf"); C.Clear(); cout<<"# of Pull Toys = "<<HPull.Integral()<<endl; TF1 GausPull("GausPull","[0]*exp(-0.5*(x-[1])**2/([2]*[2]))",-5,5); GausPull.SetParLimits(0,0.,1000); GausPull.SetParLimits(1,-1,1.1); GausPull.SetParLimits(2,0.2,3); GausPull.SetLineColor(4); HPull.Fit(&GausPull,"","I",-2,2); sprintf(title,"Mean = %.2f +- %.2f Sigma = %.2f +- %.2f",GausPull.GetParameter(1),GausPull.GetParError(1),GausPull.GetParameter(2),GausPull.GetParError(2)); HPull.SetTitle(title); HPull.GetXaxis()->SetTitle("( m_{best-fit} - m_{injected} )/#sigma_{m}"); HPull.GetYaxis()->SetTitle("# of toys"); HPull.Draw("pe"); GausPull.Draw("lsame"); C.Print(filenamesb+".ps"); C.Print(filenamesb+"_MassPull.png"); C.Print(filenamesb+"_MassPull.pdf"); C.Clear(); TLine sigmaline; cout<<" # of toys for 2D uncertainty plot "<<HSigma2D.Integral()<<endl; TF1 SigmaPol("SigmaPol","[0]+[1]*x",0,20); //HSigma2D.Fit(&SigmaPol); HSigma2D.Draw("colz"); //SigmaPol.Draw("lsame"); C.Print(filenamesb+".ps"); C.Print(filenamesb+"_sigma2D.png"); C.Clear(); cout<<" # of toys for sigmalow "<<HSigmaLow.Integral()<<endl; HSigmaLow.Draw(); sigmaline.DrawLine(datasigmalow,0,datasigmalow,HSigmaLow.GetMaximum()); C.Print(filenamesb+".ps"); C.Print(filenamesb+"_sigmaLow.png"); C.Clear(); cout<<" # of toys for sigmahigh "<<HSigmaHigh.Integral()<<endl; HSigmaHigh.Draw(); sigmaline.DrawLine(datasigmahigh,0,datasigmahigh,HSigmaHigh.GetMaximum()); C.Print(filenamesb+".ps"); C.Print(filenamesb+"_sigmaHigh.png"); C.Clear(); cout<<" # of toys for sigmafull "<<HSigmaFull.Integral()<<endl; HSigmaFull.Draw(); sigmaline.DrawLine(datasigmalow+datasigmahigh,0,datasigmalow+datasigmahigh,HSigmaFull.GetMaximum()); C.Print(filenamesb+".ps"); C.Print(filenamesb+"_sigmafull.png"); C.Clear(); TF1 SigmaBFitvsSigma("SigmaBFitvsSigma","[0]+[1]*x",0,20); //HBestFitvsSigmaHigh.Fit(&SigmaBFitvsSigma); HBestFitvsSigmaHigh.Draw("colz"); //SigmaBFitvsSigma.Draw("lsame"); C.Print(filenamesb+".ps"); C.Print(filenamesb+".ps]"); gROOT->ProcessLine(".q"); }
void DarkSusy_mH_125_mGammaD_2000_cT_10_LHE_gammaD_L_Z() { //=========Macro generated from canvas: cnv/cnv //========= (Sun May 24 15:17:52 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(-10.625,-0.01311612,51.875,0.08777715); 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_gammaD_cT_Z_lab_dummy57 = new TH1F("h_gammaD_cT_Z_lab_dummy57","h_gammaD_cT_Z_lab_dummy",5,0,50); h_gammaD_cT_Z_lab_dummy57->SetMaximum(0.08071462); h_gammaD_cT_Z_lab_dummy57->SetLineStyle(0); h_gammaD_cT_Z_lab_dummy57->SetMarkerStyle(20); h_gammaD_cT_Z_lab_dummy57->GetXaxis()->SetTitle("L_{Z} of #gamma_{D} [mm]"); h_gammaD_cT_Z_lab_dummy57->GetXaxis()->SetLabelFont(42); h_gammaD_cT_Z_lab_dummy57->GetXaxis()->SetLabelOffset(0.007); h_gammaD_cT_Z_lab_dummy57->GetXaxis()->SetTitleSize(0.06); h_gammaD_cT_Z_lab_dummy57->GetXaxis()->SetTitleOffset(0.95); h_gammaD_cT_Z_lab_dummy57->GetXaxis()->SetTitleFont(42); h_gammaD_cT_Z_lab_dummy57->GetYaxis()->SetTitle("Normalized Fraction of events / 10.0 mm"); h_gammaD_cT_Z_lab_dummy57->GetYaxis()->SetLabelFont(42); h_gammaD_cT_Z_lab_dummy57->GetYaxis()->SetLabelOffset(0.007); h_gammaD_cT_Z_lab_dummy57->GetYaxis()->SetTitleSize(0.05); h_gammaD_cT_Z_lab_dummy57->GetYaxis()->SetTitleOffset(1.3); h_gammaD_cT_Z_lab_dummy57->GetYaxis()->SetTitleFont(42); h_gammaD_cT_Z_lab_dummy57->GetZaxis()->SetLabelFont(42); h_gammaD_cT_Z_lab_dummy57->GetZaxis()->SetLabelOffset(0.007); h_gammaD_cT_Z_lab_dummy57->GetZaxis()->SetTitleSize(0.06); h_gammaD_cT_Z_lab_dummy57->GetZaxis()->SetTitleFont(42); h_gammaD_cT_Z_lab_dummy57->Draw(""); TH1F *h_gammaD_cT_Z_lab58 = new TH1F("h_gammaD_cT_Z_lab58","h_gammaD_cT_Z_lab",5,0,50); h_gammaD_cT_Z_lab58->SetBinContent(1,0.04484145); h_gammaD_cT_Z_lab58->SetBinContent(2,0.02460945); h_gammaD_cT_Z_lab58->SetBinContent(3,0.01479324); h_gammaD_cT_Z_lab58->SetBinContent(4,0.009401793); h_gammaD_cT_Z_lab58->SetBinContent(5,0.006354062); h_gammaD_cT_Z_lab58->SetBinContent(6,0.03052218); h_gammaD_cT_Z_lab58->SetEntries(159998); Int_t ci; // for color index setting TColor *color; // for color definition with alpha ci = TColor::GetColor("#0000ff"); h_gammaD_cT_Z_lab58->SetLineColor(ci); h_gammaD_cT_Z_lab58->SetLineWidth(2); h_gammaD_cT_Z_lab58->SetMarkerStyle(20); h_gammaD_cT_Z_lab58->GetXaxis()->SetTitle("L_{z} of #gamma_{D} [mm]"); h_gammaD_cT_Z_lab58->GetXaxis()->SetLabelFont(42); h_gammaD_cT_Z_lab58->GetXaxis()->SetLabelOffset(0.007); h_gammaD_cT_Z_lab58->GetXaxis()->SetTitleSize(0.06); h_gammaD_cT_Z_lab58->GetXaxis()->SetTitleOffset(0.95); h_gammaD_cT_Z_lab58->GetXaxis()->SetTitleFont(42); h_gammaD_cT_Z_lab58->GetYaxis()->SetTitle("Events"); h_gammaD_cT_Z_lab58->GetYaxis()->SetLabelFont(42); h_gammaD_cT_Z_lab58->GetYaxis()->SetLabelOffset(0.007); h_gammaD_cT_Z_lab58->GetYaxis()->SetTitleSize(0.06); h_gammaD_cT_Z_lab58->GetYaxis()->SetTitleOffset(1.5); h_gammaD_cT_Z_lab58->GetYaxis()->SetTitleFont(42); h_gammaD_cT_Z_lab58->GetZaxis()->SetLabelFont(42); h_gammaD_cT_Z_lab58->GetZaxis()->SetLabelOffset(0.007); h_gammaD_cT_Z_lab58->GetZaxis()->SetTitleSize(0.06); h_gammaD_cT_Z_lab58->GetZaxis()->SetTitleFont(42); h_gammaD_cT_Z_lab58->Draw("same"); TLegend *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); TLegendEntry *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}} = 10 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); }
void DarkSusy_mH_125_mGammaD_2000_cT_10_LHE_dimuon_p() { //=========Macro generated from canvas: cnv/cnv //========= (Sun May 24 15:17:57 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(-21.25,-0.006229087,103.75,0.04168697); 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_dimuon_1_p_dummy132 = new TH1F("h_dimuon_1_p_dummy132","h_dimuon_1_p_dummy",100,0,100); h_dimuon_1_p_dummy132->SetMaximum(0.03833284); h_dimuon_1_p_dummy132->SetLineStyle(0); h_dimuon_1_p_dummy132->SetMarkerStyle(20); h_dimuon_1_p_dummy132->GetXaxis()->SetTitle("p of #mu#mu [GeV]"); h_dimuon_1_p_dummy132->GetXaxis()->SetLabelFont(42); h_dimuon_1_p_dummy132->GetXaxis()->SetLabelOffset(0.007); h_dimuon_1_p_dummy132->GetXaxis()->SetTitleSize(0.06); h_dimuon_1_p_dummy132->GetXaxis()->SetTitleOffset(0.95); h_dimuon_1_p_dummy132->GetXaxis()->SetTitleFont(42); h_dimuon_1_p_dummy132->GetYaxis()->SetTitle("Fraction of events / 1 GeV"); h_dimuon_1_p_dummy132->GetYaxis()->SetLabelFont(42); h_dimuon_1_p_dummy132->GetYaxis()->SetLabelOffset(0.007); h_dimuon_1_p_dummy132->GetYaxis()->SetTitleSize(0.06); h_dimuon_1_p_dummy132->GetYaxis()->SetTitleOffset(1.35); h_dimuon_1_p_dummy132->GetYaxis()->SetTitleFont(42); h_dimuon_1_p_dummy132->GetZaxis()->SetLabelFont(42); h_dimuon_1_p_dummy132->GetZaxis()->SetLabelOffset(0.007); h_dimuon_1_p_dummy132->GetZaxis()->SetTitleSize(0.06); h_dimuon_1_p_dummy132->GetZaxis()->SetTitleFont(42); h_dimuon_1_p_dummy132->Draw(""); TH1F *h_dimuon_1_p133 = new TH1F("h_dimuon_1_p133","h_dimuon_1_p",101,0,101); h_dimuon_1_p133->SetBinContent(4,3.64385e-05); h_dimuon_1_p133->SetBinContent(5,0.000145754); h_dimuon_1_p133->SetBinContent(6,0.0002004118); h_dimuon_1_p133->SetBinContent(7,0.0004008235); h_dimuon_1_p133->SetBinContent(8,0.0006012353); h_dimuon_1_p133->SetBinContent(9,0.0009656203); h_dimuon_1_p133->SetBinContent(10,0.001657952); h_dimuon_1_p133->SetBinContent(11,0.001967679); h_dimuon_1_p133->SetBinContent(12,0.002477818); h_dimuon_1_p133->SetBinContent(13,0.003206588); h_dimuon_1_p133->SetBinContent(14,0.00413577); h_dimuon_1_p133->SetBinContent(15,0.004700567); h_dimuon_1_p133->SetBinContent(16,0.005283582); h_dimuon_1_p133->SetBinContent(17,0.006832219); h_dimuon_1_p133->SetBinContent(18,0.007816059); h_dimuon_1_p133->SetBinContent(19,0.008052909); h_dimuon_1_p133->SetBinContent(20,0.009437571); h_dimuon_1_p133->SetBinContent(21,0.01118662); h_dimuon_1_p133->SetBinContent(22,0.01244375); h_dimuon_1_p133->SetBinContent(23,0.01186073); h_dimuon_1_p133->SetBinContent(24,0.01373732); h_dimuon_1_p133->SetBinContent(25,0.01473937); h_dimuon_1_p133->SetBinContent(26,0.01512198); h_dimuon_1_p133->SetBinContent(27,0.01619691); h_dimuon_1_p133->SetBinContent(28,0.01687103); h_dimuon_1_p133->SetBinContent(29,0.01738117); h_dimuon_1_p133->SetBinContent(30,0.01690746); h_dimuon_1_p133->SetBinContent(31,0.01783665); h_dimuon_1_p133->SetBinContent(32,0.01896624); h_dimuon_1_p133->SetBinContent(33,0.01947638); h_dimuon_1_p133->SetBinContent(34,0.02062419); h_dimuon_1_p133->SetBinContent(35,0.01967679); h_dimuon_1_p133->SetBinContent(36,0.0210068); h_dimuon_1_p133->SetBinContent(37,0.02217283); h_dimuon_1_p133->SetBinContent(38,0.02055131); h_dimuon_1_p133->SetBinContent(39,0.0208246); h_dimuon_1_p133->SetBinContent(40,0.02208173); h_dimuon_1_p133->SetBinContent(41,0.02321132); h_dimuon_1_p133->SetBinContent(42,0.02208173); h_dimuon_1_p133->SetBinContent(43,0.02133474); h_dimuon_1_p133->SetBinContent(44,0.02189954); h_dimuon_1_p133->SetBinContent(45,0.02020515); h_dimuon_1_p133->SetBinContent(46,0.01984076); h_dimuon_1_p133->SetBinContent(47,0.01860186); h_dimuon_1_p133->SetBinContent(48,0.01734473); h_dimuon_1_p133->SetBinContent(49,0.01747226); h_dimuon_1_p133->SetBinContent(50,0.01475759); h_dimuon_1_p133->SetBinContent(51,0.01444787); h_dimuon_1_p133->SetBinContent(52,0.01415636); h_dimuon_1_p133->SetBinContent(53,0.01381019); h_dimuon_1_p133->SetBinContent(54,0.0126806); h_dimuon_1_p133->SetBinContent(55,0.01191539); h_dimuon_1_p133->SetBinContent(56,0.01129594); h_dimuon_1_p133->SetBinContent(57,0.01191539); h_dimuon_1_p133->SetBinContent(58,0.011551); h_dimuon_1_p133->SetBinContent(59,0.01036675); h_dimuon_1_p133->SetBinContent(60,0.0110773); h_dimuon_1_p133->SetBinContent(61,0.01056716); h_dimuon_1_p133->SetBinContent(62,0.009947711); h_dimuon_1_p133->SetBinContent(63,0.009893053); h_dimuon_1_p133->SetBinContent(64,0.009018529); h_dimuon_1_p133->SetBinContent(65,0.008144005); h_dimuon_1_p133->SetBinContent(66,0.008799898); h_dimuon_1_p133->SetBinContent(67,0.00849017); h_dimuon_1_p133->SetBinContent(68,0.008216882); h_dimuon_1_p133->SetBinContent(69,0.008526609); h_dimuon_1_p133->SetBinContent(70,0.008799898); h_dimuon_1_p133->SetBinContent(71,0.008581267); h_dimuon_1_p133->SetBinContent(72,0.008089347); h_dimuon_1_p133->SetBinContent(73,0.007360577); h_dimuon_1_p133->SetBinContent(74,0.007196604); h_dimuon_1_p133->SetBinContent(75,0.007233042); h_dimuon_1_p133->SetBinContent(76,0.007160165); h_dimuon_1_p133->SetBinContent(77,0.00703263); h_dimuon_1_p133->SetBinContent(78,0.006704684); h_dimuon_1_p133->SetBinContent(79,0.006686465); h_dimuon_1_p133->SetBinContent(80,0.007160165); h_dimuon_1_p133->SetBinContent(81,0.00632208); h_dimuon_1_p133->SetBinContent(82,0.006121668); h_dimuon_1_p133->SetBinContent(83,0.005957695); h_dimuon_1_p133->SetBinContent(84,0.006522492); h_dimuon_1_p133->SetBinContent(85,0.006048791); h_dimuon_1_p133->SetBinContent(86,0.005283582); h_dimuon_1_p133->SetBinContent(87,0.006358518); h_dimuon_1_p133->SetBinContent(88,0.005739064); h_dimuon_1_p133->SetBinContent(89,0.005538652); h_dimuon_1_p133->SetBinContent(90,0.005283582); h_dimuon_1_p133->SetBinContent(91,0.005083171); h_dimuon_1_p133->SetBinContent(92,0.005629749); h_dimuon_1_p133->SetBinContent(93,0.005411117); h_dimuon_1_p133->SetBinContent(94,0.004828101); h_dimuon_1_p133->SetBinContent(95,0.004791663); h_dimuon_1_p133->SetBinContent(96,0.005083171); h_dimuon_1_p133->SetBinContent(97,0.004700567); h_dimuon_1_p133->SetBinContent(98,0.004573032); h_dimuon_1_p133->SetBinContent(99,0.004900978); h_dimuon_1_p133->SetBinContent(100,0.004664128); h_dimuon_1_p133->SetBinError(4,3.64385e-05); h_dimuon_1_p133->SetBinError(5,0.000145754); h_dimuon_1_p133->SetBinError(6,0.0002004118); h_dimuon_1_p133->SetBinError(7,0.0004008235); h_dimuon_1_p133->SetBinError(8,0.0006012353); h_dimuon_1_p133->SetBinError(9,0.0009656203); h_dimuon_1_p133->SetBinError(10,0.001657952); h_dimuon_1_p133->SetBinError(11,0.001967679); h_dimuon_1_p133->SetBinError(12,0.002477818); h_dimuon_1_p133->SetBinError(13,0.003206588); h_dimuon_1_p133->SetBinError(14,0.00413577); h_dimuon_1_p133->SetBinError(15,0.004700567); h_dimuon_1_p133->SetBinError(16,0.005283583); h_dimuon_1_p133->SetBinError(17,0.006832219); h_dimuon_1_p133->SetBinError(18,0.007816058); h_dimuon_1_p133->SetBinError(19,0.008052909); h_dimuon_1_p133->SetBinError(20,0.009437572); h_dimuon_1_p133->SetBinError(21,0.01118662); h_dimuon_1_p133->SetBinError(22,0.01244375); h_dimuon_1_p133->SetBinError(23,0.01186073); h_dimuon_1_p133->SetBinError(24,0.01373731); h_dimuon_1_p133->SetBinError(25,0.01473937); h_dimuon_1_p133->SetBinError(26,0.01512198); h_dimuon_1_p133->SetBinError(27,0.01619691); h_dimuon_1_p133->SetBinError(28,0.01687103); h_dimuon_1_p133->SetBinError(29,0.01738116); h_dimuon_1_p133->SetBinError(30,0.01690746); h_dimuon_1_p133->SetBinError(31,0.01783665); h_dimuon_1_p133->SetBinError(32,0.01896624); h_dimuon_1_p133->SetBinError(33,0.01947638); h_dimuon_1_p133->SetBinError(34,0.02062419); h_dimuon_1_p133->SetBinError(35,0.01967679); h_dimuon_1_p133->SetBinError(36,0.0210068); h_dimuon_1_p133->SetBinError(37,0.02217283); h_dimuon_1_p133->SetBinError(38,0.02055131); h_dimuon_1_p133->SetBinError(39,0.0208246); h_dimuon_1_p133->SetBinError(40,0.02208173); h_dimuon_1_p133->SetBinError(41,0.02321133); h_dimuon_1_p133->SetBinError(42,0.02208173); h_dimuon_1_p133->SetBinError(43,0.02133474); h_dimuon_1_p133->SetBinError(44,0.02189954); h_dimuon_1_p133->SetBinError(45,0.02020515); h_dimuon_1_p133->SetBinError(46,0.01984076); h_dimuon_1_p133->SetBinError(47,0.01860185); h_dimuon_1_p133->SetBinError(48,0.01734473); h_dimuon_1_p133->SetBinError(49,0.01747226); h_dimuon_1_p133->SetBinError(50,0.01475759); h_dimuon_1_p133->SetBinError(51,0.01444787); h_dimuon_1_p133->SetBinError(52,0.01415636); h_dimuon_1_p133->SetBinError(53,0.01381019); h_dimuon_1_p133->SetBinError(54,0.0126806); h_dimuon_1_p133->SetBinError(55,0.01191539); h_dimuon_1_p133->SetBinError(56,0.01129594); h_dimuon_1_p133->SetBinError(57,0.01191539); h_dimuon_1_p133->SetBinError(58,0.011551); h_dimuon_1_p133->SetBinError(59,0.01036675); h_dimuon_1_p133->SetBinError(60,0.0110773); h_dimuon_1_p133->SetBinError(61,0.01056717); h_dimuon_1_p133->SetBinError(62,0.009947711); h_dimuon_1_p133->SetBinError(63,0.009893053); h_dimuon_1_p133->SetBinError(64,0.009018529); h_dimuon_1_p133->SetBinError(65,0.008144005); h_dimuon_1_p133->SetBinError(66,0.008799898); h_dimuon_1_p133->SetBinError(67,0.008490171); h_dimuon_1_p133->SetBinError(68,0.008216882); h_dimuon_1_p133->SetBinError(69,0.008526609); h_dimuon_1_p133->SetBinError(70,0.008799898); h_dimuon_1_p133->SetBinError(71,0.008581267); h_dimuon_1_p133->SetBinError(72,0.008089347); h_dimuon_1_p133->SetBinError(73,0.007360577); h_dimuon_1_p133->SetBinError(74,0.007196604); h_dimuon_1_p133->SetBinError(75,0.007233042); h_dimuon_1_p133->SetBinError(76,0.007160165); h_dimuon_1_p133->SetBinError(77,0.007032631); h_dimuon_1_p133->SetBinError(78,0.006704684); h_dimuon_1_p133->SetBinError(79,0.006686465); h_dimuon_1_p133->SetBinError(80,0.007160165); h_dimuon_1_p133->SetBinError(81,0.00632208); h_dimuon_1_p133->SetBinError(82,0.006121668); h_dimuon_1_p133->SetBinError(83,0.005957695); h_dimuon_1_p133->SetBinError(84,0.006522492); h_dimuon_1_p133->SetBinError(85,0.006048791); h_dimuon_1_p133->SetBinError(86,0.005283583); h_dimuon_1_p133->SetBinError(87,0.006358518); h_dimuon_1_p133->SetBinError(88,0.005739064); h_dimuon_1_p133->SetBinError(89,0.005538652); h_dimuon_1_p133->SetBinError(90,0.005283583); h_dimuon_1_p133->SetBinError(91,0.005083171); h_dimuon_1_p133->SetBinError(92,0.005629748); h_dimuon_1_p133->SetBinError(93,0.005411117); h_dimuon_1_p133->SetBinError(94,0.004828101); h_dimuon_1_p133->SetBinError(95,0.004791663); h_dimuon_1_p133->SetBinError(96,0.005083171); h_dimuon_1_p133->SetBinError(97,0.004700567); h_dimuon_1_p133->SetBinError(98,0.004573032); h_dimuon_1_p133->SetBinError(99,0.004900978); h_dimuon_1_p133->SetBinError(100,0.004664128); h_dimuon_1_p133->SetEntries(79999); h_dimuon_1_p133->SetDirectory(0); Int_t ci; // for color index setting TColor *color; // for color definition with alpha ci = TColor::GetColor("#0000ff"); h_dimuon_1_p133->SetLineColor(ci); h_dimuon_1_p133->SetLineWidth(2); h_dimuon_1_p133->SetMarkerStyle(20); h_dimuon_1_p133->GetXaxis()->SetLabelFont(42); h_dimuon_1_p133->GetXaxis()->SetLabelOffset(0.007); h_dimuon_1_p133->GetXaxis()->SetTitleSize(0.06); h_dimuon_1_p133->GetXaxis()->SetTitleOffset(0.95); h_dimuon_1_p133->GetXaxis()->SetTitleFont(42); h_dimuon_1_p133->GetYaxis()->SetLabelFont(42); h_dimuon_1_p133->GetYaxis()->SetLabelOffset(0.007); h_dimuon_1_p133->GetYaxis()->SetTitleSize(0.06); h_dimuon_1_p133->GetYaxis()->SetTitleOffset(1.3); h_dimuon_1_p133->GetYaxis()->SetTitleFont(42); h_dimuon_1_p133->GetZaxis()->SetLabelFont(42); h_dimuon_1_p133->GetZaxis()->SetLabelOffset(0.007); h_dimuon_1_p133->GetZaxis()->SetTitleSize(0.06); h_dimuon_1_p133->GetZaxis()->SetTitleFont(42); h_dimuon_1_p133->Draw("SAME"); TH1F *h_dimuon_2_p134 = new TH1F("h_dimuon_2_p134","h_dimuon_2_p",101,0,101); h_dimuon_2_p134->SetBinContent(2,0.0003750449); h_dimuon_2_p134->SetBinContent(3,0.001027297); h_dimuon_2_p134->SetBinContent(4,0.001989368); h_dimuon_2_p134->SetBinContent(5,0.003880899); h_dimuon_2_p134->SetBinContent(6,0.006131168); h_dimuon_2_p134->SetBinContent(7,0.00722369); h_dimuon_2_p134->SetBinContent(8,0.009522878); h_dimuon_2_p134->SetBinContent(9,0.01079477); h_dimuon_2_p134->SetBinContent(10,0.01260477); h_dimuon_2_p134->SetBinContent(11,0.01457783); h_dimuon_2_p134->SetBinContent(12,0.01599648); h_dimuon_2_p134->SetBinContent(13,0.01635522); h_dimuon_2_p134->SetBinContent(14,0.0176108); h_dimuon_2_p134->SetBinContent(15,0.0181326); h_dimuon_2_p134->SetBinContent(16,0.02015458); h_dimuon_2_p134->SetBinContent(17,0.01997522); h_dimuon_2_p134->SetBinContent(18,0.02052963); h_dimuon_2_p134->SetBinContent(19,0.02088837); h_dimuon_2_p134->SetBinContent(20,0.02114927); h_dimuon_2_p134->SetBinContent(21,0.0209862); h_dimuon_2_p134->SetBinContent(22,0.02000783); h_dimuon_2_p134->SetBinContent(23,0.02113296); h_dimuon_2_p134->SetBinContent(24,0.02124711); h_dimuon_2_p134->SetBinContent(25,0.01973062); h_dimuon_2_p134->SetBinContent(26,0.02129602); h_dimuon_2_p134->SetBinContent(27,0.02036657); h_dimuon_2_p134->SetBinContent(28,0.02074161); h_dimuon_2_p134->SetBinContent(29,0.01943711); h_dimuon_2_p134->SetBinContent(30,0.01912729); h_dimuon_2_p134->SetBinContent(31,0.01840981); h_dimuon_2_p134->SetBinContent(32,0.0183772); h_dimuon_2_p134->SetBinContent(33,0.01686071); h_dimuon_2_p134->SetBinContent(34,0.01700747); h_dimuon_2_p134->SetBinContent(35,0.01575188); h_dimuon_2_p134->SetBinContent(36,0.01643675); h_dimuon_2_p134->SetBinContent(37,0.01560513); h_dimuon_2_p134->SetBinContent(38,0.0137136); h_dimuon_2_p134->SetBinContent(39,0.01433324); h_dimuon_2_p134->SetBinContent(40,0.01338747); h_dimuon_2_p134->SetBinContent(41,0.01330594); h_dimuon_2_p134->SetBinContent(42,0.01342008); h_dimuon_2_p134->SetBinContent(43,0.01271891); h_dimuon_2_p134->SetBinContent(44,0.01134918); h_dimuon_2_p134->SetBinContent(45,0.01182207); h_dimuon_2_p134->SetBinContent(46,0.01095783); h_dimuon_2_p134->SetBinContent(47,0.01085999); h_dimuon_2_p134->SetBinContent(48,0.00986531); h_dimuon_2_p134->SetBinContent(49,0.009441346); h_dimuon_2_p134->SetBinContent(50,0.009669635); h_dimuon_2_p134->SetBinContent(51,0.009849004); h_dimuon_2_p134->SetBinContent(52,0.009310896); h_dimuon_2_p134->SetBinContent(53,0.008462968); h_dimuon_2_p134->SetBinContent(54,0.008756482); h_dimuon_2_p134->SetBinContent(55,0.008707562); h_dimuon_2_p134->SetBinContent(56,0.00867495); h_dimuon_2_p134->SetBinContent(57,0.007696572); h_dimuon_2_p134->SetBinContent(58,0.007859635); h_dimuon_2_p134->SetBinContent(59,0.007435672); h_dimuon_2_p134->SetBinContent(60,0.007598734); h_dimuon_2_p134->SetBinContent(61,0.007419365); h_dimuon_2_p134->SetBinContent(62,0.007239996); h_dimuon_2_p134->SetBinContent(63,0.006799726); h_dimuon_2_p134->SetBinContent(64,0.007011708); h_dimuon_2_p134->SetBinContent(65,0.006636663); h_dimuon_2_p134->SetBinContent(66,0.006277924); h_dimuon_2_p134->SetBinContent(67,0.006799726); h_dimuon_2_p134->SetBinContent(68,0.006359456); h_dimuon_2_p134->SetBinContent(69,0.006245312); h_dimuon_2_p134->SetBinContent(70,0.005788736); h_dimuon_2_p134->SetBinContent(71,0.00603333); h_dimuon_2_p134->SetBinContent(72,0.00502234); h_dimuon_2_p134->SetBinContent(73,0.005886573); h_dimuon_2_p134->SetBinContent(74,0.005446303); h_dimuon_2_p134->SetBinContent(75,0.005038646); h_dimuon_2_p134->SetBinContent(76,0.004842971); h_dimuon_2_p134->SetBinContent(77,0.004908196); h_dimuon_2_p134->SetBinContent(78,0.004614682); h_dimuon_2_p134->SetBinContent(79,0.005120177); h_dimuon_2_p134->SetBinContent(80,0.004598376); h_dimuon_2_p134->SetBinContent(81,0.004565763); h_dimuon_2_p134->SetBinContent(82,0.004598376); h_dimuon_2_p134->SetBinContent(83,0.004304863); h_dimuon_2_p134->SetBinContent(84,0.004533151); h_dimuon_2_p134->SetBinContent(85,0.004728826); h_dimuon_2_p134->SetBinContent(86,0.004076574); h_dimuon_2_p134->SetBinContent(87,0.004109187); h_dimuon_2_p134->SetBinContent(88,0.004255943); h_dimuon_2_p134->SetBinContent(89,0.003995043); h_dimuon_2_p134->SetBinContent(90,0.003815674); h_dimuon_2_p134->SetBinContent(91,0.004174412); h_dimuon_2_p134->SetBinContent(92,0.004467926); h_dimuon_2_p134->SetBinContent(93,0.003929818); h_dimuon_2_p134->SetBinContent(94,0.003701529); h_dimuon_2_p134->SetBinContent(95,0.004174412); h_dimuon_2_p134->SetBinContent(96,0.003766755); h_dimuon_2_p134->SetBinContent(97,0.003473241); h_dimuon_2_p134->SetBinContent(98,0.003717836); h_dimuon_2_p134->SetBinContent(99,0.003636304); h_dimuon_2_p134->SetBinContent(100,0.003244953); h_dimuon_2_p134->SetBinError(2,0.0003750448); h_dimuon_2_p134->SetBinError(3,0.001027297); h_dimuon_2_p134->SetBinError(4,0.001989368); h_dimuon_2_p134->SetBinError(5,0.003880899); h_dimuon_2_p134->SetBinError(6,0.006131168); h_dimuon_2_p134->SetBinError(7,0.00722369); h_dimuon_2_p134->SetBinError(8,0.009522878); h_dimuon_2_p134->SetBinError(9,0.01079477); h_dimuon_2_p134->SetBinError(10,0.01260477); h_dimuon_2_p134->SetBinError(11,0.01457783); h_dimuon_2_p134->SetBinError(12,0.01599648); h_dimuon_2_p134->SetBinError(13,0.01635522); h_dimuon_2_p134->SetBinError(14,0.0176108); h_dimuon_2_p134->SetBinError(15,0.0181326); h_dimuon_2_p134->SetBinError(16,0.02015458); h_dimuon_2_p134->SetBinError(17,0.01997521); h_dimuon_2_p134->SetBinError(18,0.02052963); h_dimuon_2_p134->SetBinError(19,0.02088837); h_dimuon_2_p134->SetBinError(20,0.02114927); h_dimuon_2_p134->SetBinError(21,0.0209862); h_dimuon_2_p134->SetBinError(22,0.02000783); h_dimuon_2_p134->SetBinError(23,0.02113296); h_dimuon_2_p134->SetBinError(24,0.02124711); h_dimuon_2_p134->SetBinError(25,0.01973062); h_dimuon_2_p134->SetBinError(26,0.02129602); h_dimuon_2_p134->SetBinError(27,0.02036657); h_dimuon_2_p134->SetBinError(28,0.02074161); h_dimuon_2_p134->SetBinError(29,0.01943711); h_dimuon_2_p134->SetBinError(30,0.01912729); h_dimuon_2_p134->SetBinError(31,0.01840981); h_dimuon_2_p134->SetBinError(32,0.0183772); h_dimuon_2_p134->SetBinError(33,0.01686071); h_dimuon_2_p134->SetBinError(34,0.01700747); h_dimuon_2_p134->SetBinError(35,0.01575188); h_dimuon_2_p134->SetBinError(36,0.01643675); h_dimuon_2_p134->SetBinError(37,0.01560513); h_dimuon_2_p134->SetBinError(38,0.0137136); h_dimuon_2_p134->SetBinError(39,0.01433324); h_dimuon_2_p134->SetBinError(40,0.01338747); h_dimuon_2_p134->SetBinError(41,0.01330594); h_dimuon_2_p134->SetBinError(42,0.01342008); h_dimuon_2_p134->SetBinError(43,0.01271891); h_dimuon_2_p134->SetBinError(44,0.01134918); h_dimuon_2_p134->SetBinError(45,0.01182207); h_dimuon_2_p134->SetBinError(46,0.01095783); h_dimuon_2_p134->SetBinError(47,0.01085999); h_dimuon_2_p134->SetBinError(48,0.00986531); h_dimuon_2_p134->SetBinError(49,0.009441346); h_dimuon_2_p134->SetBinError(50,0.009669634); h_dimuon_2_p134->SetBinError(51,0.009849004); h_dimuon_2_p134->SetBinError(52,0.009310896); h_dimuon_2_p134->SetBinError(53,0.008462968); h_dimuon_2_p134->SetBinError(54,0.008756482); h_dimuon_2_p134->SetBinError(55,0.008707563); h_dimuon_2_p134->SetBinError(56,0.00867495); h_dimuon_2_p134->SetBinError(57,0.007696572); h_dimuon_2_p134->SetBinError(58,0.007859635); h_dimuon_2_p134->SetBinError(59,0.007435672); h_dimuon_2_p134->SetBinError(60,0.007598735); h_dimuon_2_p134->SetBinError(61,0.007419365); h_dimuon_2_p134->SetBinError(62,0.007239996); h_dimuon_2_p134->SetBinError(63,0.006799726); h_dimuon_2_p134->SetBinError(64,0.007011708); h_dimuon_2_p134->SetBinError(65,0.006636663); h_dimuon_2_p134->SetBinError(66,0.006277925); h_dimuon_2_p134->SetBinError(67,0.006799726); h_dimuon_2_p134->SetBinError(68,0.006359456); h_dimuon_2_p134->SetBinError(69,0.006245312); h_dimuon_2_p134->SetBinError(70,0.005788736); h_dimuon_2_p134->SetBinError(71,0.00603333); h_dimuon_2_p134->SetBinError(72,0.00502234); h_dimuon_2_p134->SetBinError(73,0.005886573); h_dimuon_2_p134->SetBinError(74,0.005446303); h_dimuon_2_p134->SetBinError(75,0.005038646); h_dimuon_2_p134->SetBinError(76,0.00484297); h_dimuon_2_p134->SetBinError(77,0.004908196); h_dimuon_2_p134->SetBinError(78,0.004614682); h_dimuon_2_p134->SetBinError(79,0.005120177); h_dimuon_2_p134->SetBinError(80,0.004598376); h_dimuon_2_p134->SetBinError(81,0.004565763); h_dimuon_2_p134->SetBinError(82,0.004598376); h_dimuon_2_p134->SetBinError(83,0.004304863); h_dimuon_2_p134->SetBinError(84,0.004533151); h_dimuon_2_p134->SetBinError(85,0.004728826); h_dimuon_2_p134->SetBinError(86,0.004076574); h_dimuon_2_p134->SetBinError(87,0.004109187); h_dimuon_2_p134->SetBinError(88,0.004255944); h_dimuon_2_p134->SetBinError(89,0.003995043); h_dimuon_2_p134->SetBinError(90,0.003815674); h_dimuon_2_p134->SetBinError(91,0.004174412); h_dimuon_2_p134->SetBinError(92,0.004467926); h_dimuon_2_p134->SetBinError(93,0.003929818); h_dimuon_2_p134->SetBinError(94,0.00370153); h_dimuon_2_p134->SetBinError(95,0.004174412); h_dimuon_2_p134->SetBinError(96,0.003766755); h_dimuon_2_p134->SetBinError(97,0.003473241); h_dimuon_2_p134->SetBinError(98,0.003717836); h_dimuon_2_p134->SetBinError(99,0.003636304); h_dimuon_2_p134->SetBinError(100,0.003244953); h_dimuon_2_p134->SetEntries(79999); h_dimuon_2_p134->SetDirectory(0); ci = TColor::GetColor("#ff0000"); h_dimuon_2_p134->SetLineColor(ci); h_dimuon_2_p134->SetLineWidth(2); h_dimuon_2_p134->SetMarkerStyle(20); h_dimuon_2_p134->GetXaxis()->SetLabelFont(42); h_dimuon_2_p134->GetXaxis()->SetLabelOffset(0.007); h_dimuon_2_p134->GetXaxis()->SetTitleSize(0.06); h_dimuon_2_p134->GetXaxis()->SetTitleOffset(0.95); h_dimuon_2_p134->GetXaxis()->SetTitleFont(42); h_dimuon_2_p134->GetYaxis()->SetLabelFont(42); h_dimuon_2_p134->GetYaxis()->SetLabelOffset(0.007); h_dimuon_2_p134->GetYaxis()->SetTitleSize(0.06); h_dimuon_2_p134->GetYaxis()->SetTitleOffset(1.3); h_dimuon_2_p134->GetYaxis()->SetTitleFont(42); h_dimuon_2_p134->GetZaxis()->SetLabelFont(42); h_dimuon_2_p134->GetZaxis()->SetLabelOffset(0.007); h_dimuon_2_p134->GetZaxis()->SetTitleSize(0.06); h_dimuon_2_p134->GetZaxis()->SetTitleFont(42); h_dimuon_2_p134->Draw("SAME"); 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_dimuon_1_p","1st #mu#mu (leading p_{T})","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_dimuon_2_p","2nd #mu#mu","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}} = 10 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); }
void PlotPhaseVelocityFunctions( const TString &opt="") { #ifdef __CINT__ gSystem->Load("libplasma.so"); #endif PlasmaGlob::Initialize(); // Palettes! gROOT->Macro("PlasmaPalettes.C"); gStyle->SetPadTopMargin(0.06); gStyle->SetPadGridY(0); gStyle->SetPadGridX(0); gStyle->SetFrameLineWidth(2); gStyle->SetLabelSize(0.04, "xyz"); gStyle->SetTitleOffset(1.2,"y"); gStyle->SetTitleOffset(1.2,"z"); gStyle->SetNdivisions(505,"xyz"); PUnits::UnitsTable::Get(); // // SPS parameters from Pukhov, Kumar et al. PRL107,145003(2011) // Double_t n0 = 7.76e14 / PUnits::cm3; // Double_t nb = 1.5e12 / PUnits::cm3; // Double_t lambda = PFunc::PlasmaWavelength(n0); // Double_t kp = PFunc::PlasmaWavenumber(n0); // Double_t skindepth = PFunc::PlasmaSkindepth(n0); // Double_t r0 = 0.19 * PUnits::mm; // Double_t z = 2.5 * PUnits::m; // Double_t zg = -28.6 * PUnits::mm; // Double_t E = 450 * PUnits::GeV; // Double_t gamma = E / PConst::ProtonMassE ; // SPS parameters from Schroeder et al. PRL107,145002(2011) // Double_t n0 = 1.0; // Double_t nb = 0.002; // Double_t lambda = TMath::TwoPi(); // Double_t kp = 1.0; // Double_t r0 = 1.0; // Double_t z = 13105; // Double_t E = 450 * PUnits::GeV; // Double_t gamma = E / PConst::ProtonMassE ; // PITZ parameters Double_t n0 = 1.0e15 / PUnits::cm3; Double_t nb = 1.05e13 / PUnits::cm3; Double_t lambda = PFunc::PlasmaWavelength(n0); Double_t kp = PFunc::PlasmaWavenumber(n0); Double_t skindepth = PFunc::PlasmaSkindepth(n0); Double_t r0 = 34.259 * PUnits::um; Double_t z = 150. * PUnits::mm; Double_t zg = -5. * PUnits::mm; Double_t E = 25 * PUnits::MeV; Double_t gamma = (E / PConst::ElectronMassE) + 1.0; Double_t vb = TMath::Sqrt(1. - (1./(gamma*gamma))); cout << " n0 = " << n0 * PUnits::cm3 << " e/cc" << endl; cout << " Wavelength = " << PUnits::BestUnit(lambda, "Length") << endl; cout << " Skindepth = " << PUnits::BestUnit(skindepth, "Length") << endl; cout << " Wavenumber = " << kp * PUnits::mm << " mm^-1" << endl; // Normalized variables if(!opt.Contains("units")){ r0 *= kp; nb /= n0; n0 = 1.0; z *= kp; zg *= kp; } Double_t N = PFunc::Nefoldings(z,zg,r0,gamma,nb,n0); Double_t r1 = (TMath::Power(3.,1./4.)/TMath::Power(8.*TMath::Pi()*N,1./2.)) * TMath::Exp(N) ; Double_t Gamma = PFunc::PhaseGamma(z,zg,r0,gamma,nb,n0); Double_t vph = PFunc::PhaseVelocity(z,zg,r0,gamma,nb,n0); Double_t vph2 = PFunc::PhaseVelocity2(z,zg,gamma,nb,n0); cout << " gamma beam = " << gamma << endl; cout << " zeta = " << z << endl; cout << " zeta comov. = " << zg << endl; cout << " r0 = " << r0 << endl; cout << " n_b0/n_0 = " << nb/n0 << endl; cout << " nu constant = " << PFunc::Nu(r0,n0) << endl; cout << " Number e-foldings = " << N << endl; cout << " r1 = " << r1 << endl; cout << " Gamma wake = " << Gamma << endl; cout << " Wake Phase velocity = " << vph << endl; cout << " Wake Phase velocity2 = " << vph2 << endl; cout << " Beam phase velocity = " << vb << endl; const Int_t NPAR = 5; Double_t par[NPAR] = {zg,r0,gamma,nb,n0}; TF1 *fPhaseVsZ2 = new TF1("fPhaseVsZ2",PhaseVelocityVsZ2,0,z,NPAR); fPhaseVsZ2->SetParameters(par); TF1 *fPhaseVsZ = new TF1("fPhaseVsZ",PhaseVelocityVsZ,0,z,NPAR); fPhaseVsZ->SetParameters(par); Double_t par2[NPAR] = {z,r0,gamma,nb,n0}; TF1 *fPhaseVsZg2 = new TF1("fPhaseVsZg2",PhaseVelocityVsZg2,zg,0.,NPAR); fPhaseVsZg2->SetParameters(par2); TF1 *fPhaseVsZg = new TF1("fPhaseVsZg",PhaseVelocityVsZg,zg,0.,NPAR); fPhaseVsZg->SetParameters(par2); const Int_t NPAR2D = 4; Double_t par3[NPAR2D] = {r0,gamma,nb,n0}; TF2 *fPhaseVsZVsZg2 = new TF2("fPhaseVsZVsZg2",PhaseVelocityVsZVsZg2,0.,z,zg,0.,NPAR2D); fPhaseVsZVsZg2->SetParameters(par3); TF2 *fPhaseVsZVsZg = new TF2("fPhaseVsZVsZg",PhaseVelocityVsZVsZg,0.,z,zg,0.,NPAR2D); fPhaseVsZVsZg->SetParameters(par3); char ctext[64]; TPaveText *textZetag = new TPaveText(0.13,0.85,0.38,0.92,"NDC"); PlasmaGlob::SetPaveTextStyle(textZetag,12); textZetag->SetTextColor(kGray+3); if(opt.Contains("units")) sprintf(ctext,"#zeta_{0} = %6.2f mm", zg / PUnits::mm); else sprintf(ctext,"#zeta_{0} = %6.2f c/#omega_{p}", zg); textZetag->AddText(ctext); TPaveText *textZeta = new TPaveText(0.13,0.85,0.38,0.92,"NDC"); PlasmaGlob::SetPaveTextStyle(textZeta,12); textZeta->SetTextColor(kGray+3); if(opt.Contains("units")) sprintf(ctext,"z_{0} = %6.2f mm", z / PUnits::mm); else sprintf(ctext,"z_{0} = %6.2f c/#omega_{p}", z); textZeta->AddText(ctext); // Graph for de-phasing: const Int_t NP = 100; TGraph *gPhase = new TGraph(NP); TGraph *gPhase2 = new TGraph(NP); Float_t phase = zg; Float_t phase2 = zg; Float_t Dz = z / NP; for(Int_t i=0;i<NP;i++) { Float_t zp = (i+1)*Dz; Float_t v = PFunc::PhaseVelocity(zp,phase,r0,gamma,nb,n0); phase += (v - vb) * Dz; // cout << " z = " << zp << " phase = " << phase << endl; if(opt.Contains("units")) gPhase->SetPoint(i,zp,(phase-zg)*kp); else gPhase->SetPoint(i,zp,(phase-zg)); v = PFunc::PhaseVelocity2(zp,phase2,gamma,nb,n0); phase2 += (v - 1) * Dz; // cout << " z = " << zp << " phase = " << phase << endl; if(opt.Contains("units")) gPhase2->SetPoint(i,zp,(phase2-zg)*kp); else gPhase2->SetPoint(i,zp,(phase2-zg)); } TCanvas *C = new TCanvas("C","Wake phase velocity",1000,750); C->Divide(2,2); TLegend *Leg = new TLegend(0.6,0.20,0.85,0.35); PlasmaGlob::SetPaveStyle(Leg); Leg->SetTextAlign(22); Leg->SetTextColor(kGray+3); Leg->SetLineColor(1); Leg->SetBorderSize(1); Leg->SetFillColor(0); Leg->SetFillStyle(1001); //Leg-> SetNColumns(2); Leg->AddEntry(fPhaseVsZ,"PRL 107,145002","L"); Leg->AddEntry(fPhaseVsZ2,"PRL 107,145003","L"); Leg->SetTextColor(kGray+3); C->cd(1); fPhaseVsZ->GetYaxis()->SetTitle("(v_{p} - c)/c"); if(opt.Contains("units")) fPhaseVsZ->GetXaxis()->SetTitle("z [m]"); else fPhaseVsZ->GetXaxis()->SetTitle("z [c/#omega_{p}]"); fPhaseVsZ->GetYaxis()->SetRangeUser(-3e-4,0.); fPhaseVsZ->GetXaxis()->CenterTitle(); fPhaseVsZ->GetYaxis()->CenterTitle(); fPhaseVsZ->SetLineWidth(2); fPhaseVsZ->Draw("C"); fPhaseVsZ2->SetLineWidth(2); fPhaseVsZ2->SetLineStyle(2); fPhaseVsZ2->Draw("C same"); textZetag->Draw(); Leg->Draw(); C->cd(2); fPhaseVsZg->GetYaxis()->SetTitle("(v_{p} - c)/c"); if(opt.Contains("units")) fPhaseVsZg->GetXaxis()->SetTitle("#zeta [m]"); else fPhaseVsZg->GetXaxis()->SetTitle("#zeta [c/#omega_{p}]"); fPhaseVsZg->GetYaxis()->SetRangeUser(-3e-4,0.); fPhaseVsZg->GetYaxis()->SetNdivisions(505); fPhaseVsZg->GetXaxis()->CenterTitle(); fPhaseVsZg->SetLineWidth(2); fPhaseVsZg->GetYaxis()->CenterTitle(); fPhaseVsZg->Draw("C"); fPhaseVsZg2->SetLineWidth(2); fPhaseVsZg2->SetLineStyle(2); fPhaseVsZg2->Draw("C same"); textZeta->Draw(); C->cd(3); gPhase->GetYaxis()->SetTitle("#Delta#zeta [c/#omega_{p}]"); if(opt.Contains("units")) { gPhase->GetXaxis()->SetTitle("z [m]"); gPhase->GetXaxis()->SetNdivisions(510); } else gPhase->GetXaxis()->SetTitle("z [c/#omega_{p}]"); // gPhase->GetXaxis()->SetNdivisions(510); gPhase->GetXaxis()->CenterTitle(); gPhase->GetYaxis()->CenterTitle(); gPhase->GetXaxis()->SetRangeUser(0.,z); gPhase->GetYaxis()->SetNdivisions(505); gPhase->SetLineWidth(2); gPhase->Draw("AC"); gPhase2->SetLineStyle(2); gPhase2->SetLineWidth(2); gPhase2->Draw("C"); textZetag->Draw(); C->cd(4); gPad->SetLeftMargin(0.18); if(opt.Contains("units")) { fPhaseVsZVsZg->GetYaxis()->SetTitle("#zeta [m]"); } else fPhaseVsZVsZg->GetYaxis()->SetTitle("#zeta [c/#omega_{p}]"); if(opt.Contains("units")) { fPhaseVsZVsZg->GetXaxis()->SetTitle("z [m]"); } else fPhaseVsZVsZg->GetXaxis()->SetTitle("z [c/#omega_{p}]"); fPhaseVsZVsZg->GetZaxis()->SetTitle("(v_{p} - c)/c"); fPhaseVsZVsZg->GetYaxis()->SetNdivisions(505); // fPhaseVsZVsZg->GetXaxis()->SetNdivisions(510); fPhaseVsZVsZg->GetXaxis()->CenterTitle(); fPhaseVsZVsZg->GetXaxis()->SetTitleOffset(1.6); fPhaseVsZVsZg->GetYaxis()->CenterTitle(); fPhaseVsZVsZg->GetYaxis()->SetTitleOffset(2.0); fPhaseVsZVsZg->GetZaxis()->CenterTitle(); fPhaseVsZVsZg->GetZaxis()->SetTitleOffset(1.4); fPhaseVsZVsZg->Draw("surf2"); C->cd(); // Print to a file PlasmaGlob::imgconv(C,"./WakePhaseVelocity",opt); // --------------------------------------------------------- }
void DarkSusy_mH_125_mGammaD_2000_cT_1000_LHE_nD_Eta() { //=========Macro generated from canvas: cnv/cnv //========= (Sun May 24 15:18:59 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(-7.125,-0.006704923,5.375,0.04487141); 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_nD_1_Eta_dummy40 = new TH1F("h_nD_1_Eta_dummy40","h_nD_1_Eta_dummy",100,-5,5); h_nD_1_Eta_dummy40->SetMaximum(0.04126107); h_nD_1_Eta_dummy40->SetLineStyle(0); h_nD_1_Eta_dummy40->SetMarkerStyle(20); h_nD_1_Eta_dummy40->GetXaxis()->SetTitle("#eta of n_{D}"); h_nD_1_Eta_dummy40->GetXaxis()->SetLabelFont(42); h_nD_1_Eta_dummy40->GetXaxis()->SetLabelOffset(0.007); h_nD_1_Eta_dummy40->GetXaxis()->SetTitleSize(0.06); h_nD_1_Eta_dummy40->GetXaxis()->SetTitleOffset(0.95); h_nD_1_Eta_dummy40->GetXaxis()->SetTitleFont(42); h_nD_1_Eta_dummy40->GetYaxis()->SetTitle("Fraction of events / 0.1"); h_nD_1_Eta_dummy40->GetYaxis()->SetLabelFont(42); h_nD_1_Eta_dummy40->GetYaxis()->SetLabelOffset(0.007); h_nD_1_Eta_dummy40->GetYaxis()->SetTitleSize(0.06); h_nD_1_Eta_dummy40->GetYaxis()->SetTitleOffset(1.35); h_nD_1_Eta_dummy40->GetYaxis()->SetTitleFont(42); h_nD_1_Eta_dummy40->GetZaxis()->SetLabelFont(42); h_nD_1_Eta_dummy40->GetZaxis()->SetLabelOffset(0.007); h_nD_1_Eta_dummy40->GetZaxis()->SetTitleSize(0.06); h_nD_1_Eta_dummy40->GetZaxis()->SetTitleFont(42); h_nD_1_Eta_dummy40->Draw(""); TH1F *h_nD_1_Eta41 = new TH1F("h_nD_1_Eta41","h_nD_1_Eta",100,-5,5); h_nD_1_Eta41->SetBinContent(0,0.0003126407); h_nD_1_Eta41->SetBinContent(1,2.501126e-05); h_nD_1_Eta41->SetBinContent(2,7.503376e-05); h_nD_1_Eta41->SetBinContent(3,0.0001125506); h_nD_1_Eta41->SetBinContent(4,0.0001875844); h_nD_1_Eta41->SetBinContent(5,0.0003251463); h_nD_1_Eta41->SetBinContent(6,0.0002376069); h_nD_1_Eta41->SetBinContent(7,0.0003251463); h_nD_1_Eta41->SetBinContent(8,0.0006002701); h_nD_1_Eta41->SetBinContent(9,0.0006753039); h_nD_1_Eta41->SetBinContent(10,0.0007128208); h_nD_1_Eta41->SetBinContent(11,0.001012956); h_nD_1_Eta41->SetBinContent(12,0.001250563); h_nD_1_Eta41->SetBinContent(13,0.001525687); h_nD_1_Eta41->SetBinContent(14,0.002038417); h_nD_1_Eta41->SetBinContent(15,0.002588665); h_nD_1_Eta41->SetBinContent(16,0.002876294); h_nD_1_Eta41->SetBinContent(17,0.003339003); h_nD_1_Eta41->SetBinContent(18,0.00337652); h_nD_1_Eta41->SetBinContent(19,0.004477015); h_nD_1_Eta41->SetBinContent(20,0.004789656); h_nD_1_Eta41->SetBinContent(21,0.005327397); h_nD_1_Eta41->SetBinContent(22,0.006277825); h_nD_1_Eta41->SetBinContent(23,0.006928117); h_nD_1_Eta41->SetBinContent(24,0.00766595); h_nD_1_Eta41->SetBinContent(25,0.008403782); h_nD_1_Eta41->SetBinContent(26,0.00946676); h_nD_1_Eta41->SetBinContent(27,0.0104422); h_nD_1_Eta41->SetBinContent(28,0.01049222); h_nD_1_Eta41->SetBinContent(29,0.01164274); h_nD_1_Eta41->SetBinContent(30,0.01228053); h_nD_1_Eta41->SetBinContent(31,0.01398129); h_nD_1_Eta41->SetBinContent(32,0.01323095); h_nD_1_Eta41->SetBinContent(33,0.01480666); h_nD_1_Eta41->SetBinContent(34,0.01516933); h_nD_1_Eta41->SetBinContent(35,0.01584463); h_nD_1_Eta41->SetBinContent(36,0.01779551); h_nD_1_Eta41->SetBinContent(37,0.0177705); h_nD_1_Eta41->SetBinContent(38,0.01783302); h_nD_1_Eta41->SetBinContent(39,0.01923366); h_nD_1_Eta41->SetBinContent(40,0.01908359); h_nD_1_Eta41->SetBinContent(41,0.02024661); h_nD_1_Eta41->SetBinContent(42,0.0204342); h_nD_1_Eta41->SetBinContent(43,0.02080936); h_nD_1_Eta41->SetBinContent(44,0.02142214); h_nD_1_Eta41->SetBinContent(45,0.02122205); h_nD_1_Eta41->SetBinContent(46,0.0220099); h_nD_1_Eta41->SetBinContent(47,0.02263519); h_nD_1_Eta41->SetBinContent(48,0.02238507); h_nD_1_Eta41->SetBinContent(49,0.02150968); h_nD_1_Eta41->SetBinContent(50,0.02217248); h_nD_1_Eta41->SetBinContent(51,0.02292282); h_nD_1_Eta41->SetBinContent(52,0.02263519); h_nD_1_Eta41->SetBinContent(53,0.02140963); h_nD_1_Eta41->SetBinContent(54,0.02134711); h_nD_1_Eta41->SetBinContent(55,0.02228503); h_nD_1_Eta41->SetBinContent(56,0.02170977); h_nD_1_Eta41->SetBinContent(57,0.02117203); h_nD_1_Eta41->SetBinContent(58,0.01983393); h_nD_1_Eta41->SetBinContent(59,0.02105948); h_nD_1_Eta41->SetBinContent(60,0.02004652); h_nD_1_Eta41->SetBinContent(61,0.0193337); h_nD_1_Eta41->SetBinContent(62,0.01818318); h_nD_1_Eta41->SetBinContent(63,0.01834576); h_nD_1_Eta41->SetBinContent(64,0.01798309); h_nD_1_Eta41->SetBinContent(65,0.01704517); h_nD_1_Eta41->SetBinContent(66,0.0166575); h_nD_1_Eta41->SetBinContent(67,0.0160072); h_nD_1_Eta41->SetBinContent(68,0.0148817); h_nD_1_Eta41->SetBinContent(69,0.01471912); h_nD_1_Eta41->SetBinContent(70,0.01324346); h_nD_1_Eta41->SetBinContent(71,0.01286829); h_nD_1_Eta41->SetBinContent(72,0.01219299); h_nD_1_Eta41->SetBinContent(73,0.01106748); h_nD_1_Eta41->SetBinContent(74,0.01011705); h_nD_1_Eta41->SetBinContent(75,0.009616828); h_nD_1_Eta41->SetBinContent(76,0.007966084); h_nD_1_Eta41->SetBinContent(77,0.007428343); h_nD_1_Eta41->SetBinContent(78,0.00657796); h_nD_1_Eta41->SetBinContent(79,0.006678005); h_nD_1_Eta41->SetBinContent(80,0.005627532); h_nD_1_Eta41->SetBinContent(81,0.004739633); h_nD_1_Eta41->SetBinContent(82,0.004339453); h_nD_1_Eta41->SetBinContent(83,0.003839228); h_nD_1_Eta41->SetBinContent(84,0.003063879); h_nD_1_Eta41->SetBinContent(85,0.002738732); h_nD_1_Eta41->SetBinContent(86,0.002276024); h_nD_1_Eta41->SetBinContent(87,0.001663248); h_nD_1_Eta41->SetBinContent(88,0.001750788); h_nD_1_Eta41->SetBinContent(89,0.001325596); h_nD_1_Eta41->SetBinContent(90,0.0009504277); h_nD_1_Eta41->SetBinContent(91,0.0008628883); h_nD_1_Eta41->SetBinContent(92,0.0005752589); h_nD_1_Eta41->SetBinContent(93,0.0004627082); h_nD_1_Eta41->SetBinContent(94,0.0004126857); h_nD_1_Eta41->SetBinContent(95,0.0003501576); h_nD_1_Eta41->SetBinContent(96,0.0002125957); h_nD_1_Eta41->SetBinContent(97,0.0001750788); h_nD_1_Eta41->SetBinContent(98,8.75394e-05); h_nD_1_Eta41->SetBinContent(99,6.252814e-05); h_nD_1_Eta41->SetBinContent(100,7.503376e-05); h_nD_1_Eta41->SetBinContent(101,0.0001250563); h_nD_1_Eta41->SetBinError(0,6.252814e-05); h_nD_1_Eta41->SetBinError(1,1.768563e-05); h_nD_1_Eta41->SetBinError(2,3.063241e-05); h_nD_1_Eta41->SetBinError(3,3.751688e-05); h_nD_1_Eta41->SetBinError(4,4.843409e-05); h_nD_1_Eta41->SetBinError(5,6.376644e-05); h_nD_1_Eta41->SetBinError(6,5.451077e-05); h_nD_1_Eta41->SetBinError(7,6.376644e-05); h_nD_1_Eta41->SetBinError(8,8.664153e-05); h_nD_1_Eta41->SetBinError(9,9.189722e-05); h_nD_1_Eta41->SetBinError(10,9.441542e-05); h_nD_1_Eta41->SetBinError(11,0.0001125506); h_nD_1_Eta41->SetBinError(12,0.0001250563); h_nD_1_Eta41->SetBinError(13,0.0001381292); h_nD_1_Eta41->SetBinError(14,0.0001596612); h_nD_1_Eta41->SetBinError(15,0.0001799246); h_nD_1_Eta41->SetBinError(16,0.0001896572); h_nD_1_Eta41->SetBinError(17,0.0002043436); h_nD_1_Eta41->SetBinError(18,0.0002054884); h_nD_1_Eta41->SetBinError(19,0.0002366176); h_nD_1_Eta41->SetBinError(20,0.00024474); h_nD_1_Eta41->SetBinError(21,0.0002581132); h_nD_1_Eta41->SetBinError(22,0.000280193); h_nD_1_Eta41->SetBinError(23,0.0002943475); h_nD_1_Eta41->SetBinError(24,0.0003096248); h_nD_1_Eta41->SetBinError(25,0.0003241829); h_nD_1_Eta41->SetBinError(26,0.0003440752); h_nD_1_Eta41->SetBinError(27,0.0003613672); h_nD_1_Eta41->SetBinError(28,0.0003622317); h_nD_1_Eta41->SetBinError(29,0.0003815754); h_nD_1_Eta41->SetBinError(30,0.0003918873); h_nD_1_Eta41->SetBinError(31,0.0004181445); h_nD_1_Eta41->SetBinError(32,0.0004067694); h_nD_1_Eta41->SetBinError(33,0.0004303099); h_nD_1_Eta41->SetBinError(34,0.0004355479); h_nD_1_Eta41->SetBinError(35,0.0004451371); h_nD_1_Eta41->SetBinError(36,0.0004717457); h_nD_1_Eta41->SetBinError(37,0.0004714141); h_nD_1_Eta41->SetBinError(38,0.0004722427); h_nD_1_Eta41->SetBinError(39,0.0004904375); h_nD_1_Eta41->SetBinError(40,0.0004885205); h_nD_1_Eta41->SetBinError(41,0.0005031864); h_nD_1_Eta41->SetBinError(42,0.0005055121); h_nD_1_Eta41->SetBinError(43,0.0005101315); h_nD_1_Eta41->SetBinError(44,0.000517588); h_nD_1_Eta41->SetBinError(45,0.0005151651); h_nD_1_Eta41->SetBinError(46,0.0005246405); h_nD_1_Eta41->SetBinError(47,0.0005320406); h_nD_1_Eta41->SetBinError(48,0.000529093); h_nD_1_Eta41->SetBinError(49,0.0005186444); h_nD_1_Eta41->SetBinError(50,0.0005265745); h_nD_1_Eta41->SetBinError(51,0.0005354103); h_nD_1_Eta41->SetBinError(52,0.0005320406); h_nD_1_Eta41->SetBinError(53,0.0005174369); h_nD_1_Eta41->SetBinError(54,0.0005166807); h_nD_1_Eta41->SetBinError(55,0.0005279093); h_nD_1_Eta41->SetBinError(56,0.0005210511); h_nD_1_Eta41->SetBinError(57,0.0005145576); h_nD_1_Eta41->SetBinError(58,0.0004980318); h_nD_1_Eta41->SetBinError(59,0.000513188); h_nD_1_Eta41->SetBinError(60,0.0005006938); h_nD_1_Eta41->SetBinError(61,0.0004917114); h_nD_1_Eta41->SetBinError(62,0.0004768565); h_nD_1_Eta41->SetBinError(63,0.0004789835); h_nD_1_Eta41->SetBinError(64,0.0004742255); h_nD_1_Eta41->SetBinError(65,0.0004616931); h_nD_1_Eta41->SetBinError(66,0.0004564126); h_nD_1_Eta41->SetBinError(67,0.0004474149); h_nD_1_Eta41->SetBinError(68,0.0004313988); h_nD_1_Eta41->SetBinError(69,0.000429036); h_nD_1_Eta41->SetBinError(70,0.0004069616); h_nD_1_Eta41->SetBinError(71,0.0004011559); h_nD_1_Eta41->SetBinError(72,0.0003904881); h_nD_1_Eta41->SetBinError(73,0.0003720293); h_nD_1_Eta41->SetBinError(74,0.0003556966); h_nD_1_Eta41->SetBinError(75,0.0003467917); h_nD_1_Eta41->SetBinError(76,0.0003156278); h_nD_1_Eta41->SetBinError(77,0.0003047886); h_nD_1_Eta41->SetBinError(78,0.0002868127); h_nD_1_Eta41->SetBinError(79,0.0002889855); h_nD_1_Eta41->SetBinError(80,0.0002652844); h_nD_1_Eta41->SetBinError(81,0.0002434586); h_nD_1_Eta41->SetBinError(82,0.000232954); h_nD_1_Eta41->SetBinError(83,0.0002191163); h_nD_1_Eta41->SetBinError(84,0.000195744); h_nD_1_Eta41->SetBinError(85,0.0001850664); h_nD_1_Eta41->SetBinError(86,0.0001687101); h_nD_1_Eta41->SetBinError(87,0.0001442219); h_nD_1_Eta41->SetBinError(88,0.0001479686); h_nD_1_Eta41->SetBinError(89,0.0001287533); h_nD_1_Eta41->SetBinError(90,0.0001090215); h_nD_1_Eta41->SetBinError(91,0.0001038795); h_nD_1_Eta41->SetBinError(92,8.481729e-05); h_nD_1_Eta41->SetBinError(93,7.606876e-05); h_nD_1_Eta41->SetBinError(94,7.183936e-05); h_nD_1_Eta41->SetBinError(95,6.617356e-05); h_nD_1_Eta41->SetBinError(96,5.156202e-05); h_nD_1_Eta41->SetBinError(97,4.679177e-05); h_nD_1_Eta41->SetBinError(98,3.308678e-05); h_nD_1_Eta41->SetBinError(99,2.796343e-05); h_nD_1_Eta41->SetBinError(100,3.063241e-05); h_nD_1_Eta41->SetBinError(101,3.954627e-05); h_nD_1_Eta41->SetEntries(79999); h_nD_1_Eta41->SetDirectory(0); Int_t ci; // for color index setting TColor *color; // for color definition with alpha ci = TColor::GetColor("#0000ff"); h_nD_1_Eta41->SetLineColor(ci); h_nD_1_Eta41->SetLineWidth(2); h_nD_1_Eta41->SetMarkerStyle(20); h_nD_1_Eta41->GetXaxis()->SetLabelFont(42); h_nD_1_Eta41->GetXaxis()->SetLabelOffset(0.007); h_nD_1_Eta41->GetXaxis()->SetTitleSize(0.06); h_nD_1_Eta41->GetXaxis()->SetTitleOffset(0.95); h_nD_1_Eta41->GetXaxis()->SetTitleFont(42); h_nD_1_Eta41->GetYaxis()->SetLabelFont(42); h_nD_1_Eta41->GetYaxis()->SetLabelOffset(0.007); h_nD_1_Eta41->GetYaxis()->SetTitleSize(0.06); h_nD_1_Eta41->GetYaxis()->SetTitleOffset(1.3); h_nD_1_Eta41->GetYaxis()->SetTitleFont(42); h_nD_1_Eta41->GetZaxis()->SetLabelFont(42); h_nD_1_Eta41->GetZaxis()->SetLabelOffset(0.007); h_nD_1_Eta41->GetZaxis()->SetTitleSize(0.06); h_nD_1_Eta41->GetZaxis()->SetTitleFont(42); h_nD_1_Eta41->Draw("SAMEHIST"); TH1F *h_nD_2_Eta42 = new TH1F("h_nD_2_Eta42","h_nD_2_Eta",100,-5,5); h_nD_2_Eta42->SetBinContent(0,0.003041768); h_nD_2_Eta42->SetBinContent(1,0.0004524944); h_nD_2_Eta42->SetBinContent(2,0.0007038802); h_nD_2_Eta42->SetBinContent(3,0.0008924195); h_nD_2_Eta42->SetBinContent(4,0.0008170037); h_nD_2_Eta42->SetBinContent(5,0.001282067); h_nD_2_Eta42->SetBinContent(6,0.001382622); h_nD_2_Eta42->SetBinContent(7,0.001520884); h_nD_2_Eta42->SetBinContent(8,0.001897963); h_nD_2_Eta42->SetBinContent(9,0.002136779); h_nD_2_Eta42->SetBinContent(10,0.001960809); h_nD_2_Eta42->SetBinContent(11,0.002501288); h_nD_2_Eta42->SetBinContent(12,0.00263955); h_nD_2_Eta42->SetBinContent(13,0.003154891); h_nD_2_Eta42->SetBinContent(14,0.003205169); h_nD_2_Eta42->SetBinContent(15,0.004047311); h_nD_2_Eta42->SetBinContent(16,0.003858771); h_nD_2_Eta42->SetBinContent(17,0.004675775); h_nD_2_Eta42->SetBinContent(18,0.005241393); h_nD_2_Eta42->SetBinContent(19,0.005970412); h_nD_2_Eta42->SetBinContent(20,0.006096105); h_nD_2_Eta42->SetBinContent(21,0.00723991); h_nD_2_Eta42->SetBinContent(22,0.007076509); h_nD_2_Eta42->SetBinContent(23,0.007453588); h_nD_2_Eta42->SetBinContent(24,0.008685378); h_nD_2_Eta42->SetBinContent(25,0.008949333); h_nD_2_Eta42->SetBinContent(26,0.009980015); h_nD_2_Eta42->SetBinContent(27,0.009954876); h_nD_2_Eta42->SetBinContent(28,0.01126208); h_nD_2_Eta42->SetBinContent(29,0.01131236); h_nD_2_Eta42->SetBinContent(30,0.01194082); h_nD_2_Eta42->SetBinContent(31,0.01265727); h_nD_2_Eta42->SetBinContent(32,0.01349942); h_nD_2_Eta42->SetBinContent(33,0.01419073); h_nD_2_Eta42->SetBinContent(34,0.01454267); h_nD_2_Eta42->SetBinContent(35,0.0155105); h_nD_2_Eta42->SetBinContent(36,0.01563619); h_nD_2_Eta42->SetBinContent(37,0.01654118); h_nD_2_Eta42->SetBinContent(38,0.01732048); h_nD_2_Eta42->SetBinContent(39,0.01831345); h_nD_2_Eta42->SetBinContent(40,0.01809978); h_nD_2_Eta42->SetBinContent(41,0.01857741); h_nD_2_Eta42->SetBinContent(42,0.01881623); h_nD_2_Eta42->SetBinContent(43,0.01941955); h_nD_2_Eta42->SetBinContent(44,0.0191556); h_nD_2_Eta42->SetBinContent(45,0.01938184); h_nD_2_Eta42->SetBinContent(46,0.01901733); h_nD_2_Eta42->SetBinContent(47,0.02086502); h_nD_2_Eta42->SetBinContent(48,0.01940698); h_nD_2_Eta42->SetBinContent(49,0.02007315); h_nD_2_Eta42->SetBinContent(50,0.02038739); h_nD_2_Eta42->SetBinContent(51,0.02047537); h_nD_2_Eta42->SetBinContent(52,0.01944469); h_nD_2_Eta42->SetBinContent(53,0.01934413); h_nD_2_Eta42->SetBinContent(54,0.02050051); h_nD_2_Eta42->SetBinContent(55,0.01914303); h_nD_2_Eta42->SetBinContent(56,0.01950753); h_nD_2_Eta42->SetBinContent(57,0.01955781); h_nD_2_Eta42->SetBinContent(58,0.01946983); h_nD_2_Eta42->SetBinContent(59,0.01909275); h_nD_2_Eta42->SetBinContent(60,0.01799922); h_nD_2_Eta42->SetBinContent(61,0.01791123); h_nD_2_Eta42->SetBinContent(62,0.01812491); h_nD_2_Eta42->SetBinContent(63,0.0171068); h_nD_2_Eta42->SetBinContent(64,0.01593786); h_nD_2_Eta42->SetBinContent(65,0.01664174); h_nD_2_Eta42->SetBinContent(66,0.01622695); h_nD_2_Eta42->SetBinContent(67,0.01473121); h_nD_2_Eta42->SetBinContent(68,0.0139142); h_nD_2_Eta42->SetBinContent(69,0.01386392); h_nD_2_Eta42->SetBinContent(70,0.01298407); h_nD_2_Eta42->SetBinContent(71,0.01240589); h_nD_2_Eta42->SetBinContent(72,0.01197853); h_nD_2_Eta42->SetBinContent(73,0.01152604); h_nD_2_Eta42->SetBinContent(74,0.01014342); h_nD_2_Eta42->SetBinContent(75,0.010068); h_nD_2_Eta42->SetBinContent(76,0.008584823); h_nD_2_Eta42->SetBinContent(77,0.008182607); h_nD_2_Eta42->SetBinContent(78,0.008094622); h_nD_2_Eta42->SetBinContent(79,0.007252479); h_nD_2_Eta42->SetBinContent(80,0.006334921); h_nD_2_Eta42->SetBinContent(81,0.006133812); h_nD_2_Eta42->SetBinContent(82,0.005844719); h_nD_2_Eta42->SetBinContent(83,0.005228824); h_nD_2_Eta42->SetBinContent(84,0.004386682); h_nD_2_Eta42->SetBinContent(85,0.004097588); h_nD_2_Eta42->SetBinContent(86,0.003758217); h_nD_2_Eta42->SetBinContent(87,0.003733078); h_nD_2_Eta42->SetBinContent(88,0.003142322); h_nD_2_Eta42->SetBinContent(89,0.002752674); h_nD_2_Eta42->SetBinContent(90,0.002526427); h_nD_2_Eta42->SetBinContent(91,0.002099071); h_nD_2_Eta42->SetBinContent(92,0.001621438); h_nD_2_Eta42->SetBinContent(93,0.001558592); h_nD_2_Eta42->SetBinContent(94,0.001332345); h_nD_2_Eta42->SetBinContent(95,0.00140776); h_nD_2_Eta42->SetBinContent(96,0.001080959); h_nD_2_Eta42->SetBinContent(97,0.001043251); h_nD_2_Eta42->SetBinContent(98,0.0008547116); h_nD_2_Eta42->SetBinContent(99,0.0006661723); h_nD_2_Eta42->SetBinContent(100,0.0004776329); h_nD_2_Eta42->SetBinContent(101,0.002488719); h_nD_2_Eta42->SetBinError(0,0.0001955322); h_nD_2_Eta42->SetBinError(1,7.541573e-05); h_nD_2_Eta42->SetBinError(2,9.405994e-05); h_nD_2_Eta42->SetBinError(3,0.0001059107); h_nD_2_Eta42->SetBinError(4,0.0001013368); h_nD_2_Eta42->SetBinError(5,0.0001269436); h_nD_2_Eta42->SetBinError(6,0.0001318278); h_nD_2_Eta42->SetBinError(7,0.0001382622); h_nD_2_Eta42->SetBinError(8,0.000154454); h_nD_2_Eta42->SetBinError(9,0.0001638835); h_nD_2_Eta42->SetBinError(10,0.0001569904); h_nD_2_Eta42->SetBinError(11,0.0001773116); h_nD_2_Eta42->SetBinError(12,0.0001821463); h_nD_2_Eta42->SetBinError(13,0.000199135); h_nD_2_Eta42->SetBinError(14,0.0002007154); h_nD_2_Eta42->SetBinError(15,0.0002255478); h_nD_2_Eta42->SetBinError(16,0.0002202317); h_nD_2_Eta42->SetBinError(17,0.0002424277); h_nD_2_Eta42->SetBinError(18,0.0002566721); h_nD_2_Eta42->SetBinError(19,0.0002739413); h_nD_2_Eta42->SetBinError(20,0.0002768099); h_nD_2_Eta42->SetBinError(21,0.0003016629); h_nD_2_Eta42->SetBinError(22,0.0002982393); h_nD_2_Eta42->SetBinError(23,0.0003060822); h_nD_2_Eta42->SetBinError(24,0.0003304074); h_nD_2_Eta42->SetBinError(25,0.0003353904); h_nD_2_Eta42->SetBinError(26,0.0003541775); h_nD_2_Eta42->SetBinError(27,0.0003537311); h_nD_2_Eta42->SetBinError(28,0.0003762398); h_nD_2_Eta42->SetBinError(29,0.0003770786); h_nD_2_Eta42->SetBinError(30,0.0003874115); h_nD_2_Eta42->SetBinError(31,0.0003988645); h_nD_2_Eta42->SetBinError(32,0.0004119199); h_nD_2_Eta42->SetBinError(33,0.0004223356); h_nD_2_Eta42->SetBinError(34,0.0004275406); h_nD_2_Eta42->SetBinError(35,0.0004415382); h_nD_2_Eta42->SetBinError(36,0.0004433236); h_nD_2_Eta42->SetBinError(37,0.0004559725); h_nD_2_Eta42->SetBinError(38,0.0004665899); h_nD_2_Eta42->SetBinError(39,0.0004797781); h_nD_2_Eta42->SetBinError(40,0.000476971); h_nD_2_Eta42->SetBinError(41,0.0004832233); h_nD_2_Eta42->SetBinError(42,0.0004863194); h_nD_2_Eta42->SetBinError(43,0.0004940546); h_nD_2_Eta42->SetBinError(44,0.0004906854); h_nD_2_Eta42->SetBinError(45,0.0004935747); h_nD_2_Eta42->SetBinError(46,0.0004889114); h_nD_2_Eta42->SetBinError(47,0.0005121117); h_nD_2_Eta42->SetBinError(48,0.0004938947); h_nD_2_Eta42->SetBinError(49,0.0005023); h_nD_2_Eta42->SetBinError(50,0.0005062163); h_nD_2_Eta42->SetBinError(51,0.0005073074); h_nD_2_Eta42->SetBinError(52,0.0004943742); h_nD_2_Eta42->SetBinError(53,0.0004930943); h_nD_2_Eta42->SetBinError(54,0.0005076188); h_nD_2_Eta42->SetBinError(55,0.0004905244); h_nD_2_Eta42->SetBinError(56,0.0004951725); h_nD_2_Eta42->SetBinError(57,0.0004958102); h_nD_2_Eta42->SetBinError(58,0.0004946937); h_nD_2_Eta42->SetBinError(59,0.0004898798); h_nD_2_Eta42->SetBinError(60,0.0004756442); h_nD_2_Eta42->SetBinError(61,0.0004744802); h_nD_2_Eta42->SetBinError(62,0.0004773021); h_nD_2_Eta42->SetBinError(63,0.0004637028); h_nD_2_Eta42->SetBinError(64,0.0004475796); h_nD_2_Eta42->SetBinError(65,0.0004573563); h_nD_2_Eta42->SetBinError(66,0.0004516207); h_nD_2_Eta42->SetBinError(67,0.0004303031); h_nD_2_Eta42->SetBinError(68,0.0004182004); h_nD_2_Eta42->SetBinError(69,0.0004174442); h_nD_2_Eta42->SetBinError(70,0.0004039809); h_nD_2_Eta42->SetBinError(71,0.0003948837); h_nD_2_Eta42->SetBinError(72,0.0003880227); h_nD_2_Eta42->SetBinError(73,0.0003806233); h_nD_2_Eta42->SetBinError(74,0.0003570651); h_nD_2_Eta42->SetBinError(75,0.0003557353); h_nD_2_Eta42->SetBinError(76,0.0003284892); h_nD_2_Eta42->SetBinError(77,0.0003207016); h_nD_2_Eta42->SetBinError(78,0.0003189728); h_nD_2_Eta42->SetBinError(79,0.0003019247); h_nD_2_Eta42->SetBinError(80,0.0002821798); h_nD_2_Eta42->SetBinError(81,0.0002776647); h_nD_2_Eta42->SetBinError(82,0.0002710424); h_nD_2_Eta42->SetBinError(83,0.0002563642); h_nD_2_Eta42->SetBinError(84,0.0002348137); h_nD_2_Eta42->SetBinError(85,0.0002269444); h_nD_2_Eta42->SetBinError(86,0.0002173433); h_nD_2_Eta42->SetBinError(87,0.0002166152); h_nD_2_Eta42->SetBinError(88,0.0001987379); h_nD_2_Eta42->SetBinError(89,0.0001860085); h_nD_2_Eta42->SetBinError(90,0.0001782004); h_nD_2_Eta42->SetBinError(91,0.000162431); h_nD_2_Eta42->SetBinError(92,0.0001427597); h_nD_2_Eta42->SetBinError(93,0.0001399657); h_nD_2_Eta42->SetBinError(94,0.0001294087); h_nD_2_Eta42->SetBinError(95,0.0001330208); h_nD_2_Eta42->SetBinError(96,0.0001165628); h_nD_2_Eta42->SetBinError(97,0.0001145117); h_nD_2_Eta42->SetBinError(98,0.000103649); h_nD_2_Eta42->SetBinError(99,9.15058e-05); h_nD_2_Eta42->SetBinError(100,7.74823e-05); h_nD_2_Eta42->SetBinError(101,0.0001768656); h_nD_2_Eta42->SetEntries(79999); h_nD_2_Eta42->SetDirectory(0); ci = TColor::GetColor("#ff0000"); h_nD_2_Eta42->SetLineColor(ci); h_nD_2_Eta42->SetLineWidth(2); h_nD_2_Eta42->SetMarkerStyle(20); h_nD_2_Eta42->GetXaxis()->SetLabelFont(42); h_nD_2_Eta42->GetXaxis()->SetLabelOffset(0.007); h_nD_2_Eta42->GetXaxis()->SetTitleSize(0.06); h_nD_2_Eta42->GetXaxis()->SetTitleOffset(0.95); h_nD_2_Eta42->GetXaxis()->SetTitleFont(42); h_nD_2_Eta42->GetYaxis()->SetLabelFont(42); h_nD_2_Eta42->GetYaxis()->SetLabelOffset(0.007); h_nD_2_Eta42->GetYaxis()->SetTitleSize(0.06); h_nD_2_Eta42->GetYaxis()->SetTitleOffset(1.3); h_nD_2_Eta42->GetYaxis()->SetTitleFont(42); h_nD_2_Eta42->GetZaxis()->SetLabelFont(42); h_nD_2_Eta42->GetZaxis()->SetLabelOffset(0.007); h_nD_2_Eta42->GetZaxis()->SetTitleSize(0.06); h_nD_2_Eta42->GetZaxis()->SetTitleFont(42); h_nD_2_Eta42->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_nD_1_Eta","1st n_{D} (leading p_{T})","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_nD_2_Eta","2nd n_{D}","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}} = 1000 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); }
void sobWeightedPlot(TString filename,const char* dataset , const char* channel,const char* cat) { TFile F((TString("Plot_")+filename+".root").Data(),"READ"); gROOT->cd(); TH1F* data=(TH1F*)F.Get("data_obs"); TH1F* Ztt=(TH1F*)F.Get("Ztt"); TH1F* ggH=(TH1F*)F.Get("ggH"); TH1F* sig=(TH1F*)F.Get("signal"); TH1F* tt=(TH1F*)F.Get("ttbar"); TH1F* ewk=(TH1F*)F.Get("EWK"); TH1F* fakes=(TH1F*)F.Get("Fakes"); if(!sig){cout<<"No input histograms in file: "<<filename.Data()<<endl; return;} float xmininset=60; float xmaxinset=180; //float xmininset=0; float xmaxinset=340;//full range ////Format the histograms Ztt->GetYaxis()->SetRangeUser(0.,1.3*findMaxY(data,0)); Ztt->GetXaxis()->SetTitle("#bf{m_{#tau#tau} [GeV]}"); Ztt->GetYaxis()->SetTitle("#bf{S/B Weighted dN/dm_{#tau#tau} [1/GeV]}"); Ztt->SetTitleOffset(1.300, "Y"); Ztt->SetTitleOffset(1.000, "X"); Ztt->SetNdivisions(505); for(Int_t b=0;b<=sig->GetNbinsX()+1;b++){ //remove red line on top of y axis in plot if(sig->GetBinCenter(b)<xmininset||xmaxinset<sig->GetBinCenter(b)){ sig->SetBinContent(b,0); sig->SetBinError(b,0); } } sig->SetName("sig"); sig->SetFillStyle(3353);//1001=solid , 3004,3005=diagonal sig->SetFillColor(2); sig->SetLineColor(2); sig->SetLineStyle(1); sig->SetLineWidth(0.); ggH->SetBinContent(0,0);//remove red line on top of y axis in plot ggH->SetBinContent(ggH->GetNbinsX()+1,0); ggH->SetBinError(0,0); ggH->SetBinError(ggH->GetNbinsX()+1,0); ggH->SetName("ggH"); ggH->SetFillStyle(3353);//1001=solid , 3004,3005=diagonal ggH->SetFillColor(2); ggH->SetLineColor(2); ggH->SetLineStyle(1); ggH->SetLineWidth(0.); TH1F* errorBand = (TH1F*)Ztt->Clone("errorBand"); errorBand->SetMarkerSize(0); errorBand->SetFillColor(1); errorBand->SetFillStyle(3013); errorBand->SetLineWidth(1); TLegend legend; TString higgslabel="H(125 GeV)#rightarrow#tau#tau"; legend.SetFillStyle(0); legend.SetFillColor(0); legend.SetBorderSize(0); legend.AddEntry(ggH,higgslabel,"F"); legend.AddEntry(data,"observed","LP"); legend.AddEntry(Ztt,"Z#rightarrow#tau#tau","F"); legend.AddEntry(tt,"t#bar{t}","F"); legend.AddEntry(ewk,"electroweak","F"); legend.AddEntry(fakes,"QCD","F"); legend.SetX1NDC(0.63); legend.SetX2NDC(1.05); legend.SetY1NDC(0.27); legend.SetY2NDC(0.48); legend.SetTextSize(.028); legend.SetTextAlign( 12 ); //TH1F* dataDiff=diffPlot(data,Ztt,2); TH1F* dataDiff=diffPlot(data,Ztt,1); TH1F* errBand=getErrorBand(Ztt); errBand->SetFillStyle(3013);//1001=solid , 3004,3005=diagonal, 3013=hatched official for H->tau tau errBand->SetFillColor(1); errBand->SetLineStyle(1); errBand->SetLineColor(1); errBand->SetLineWidth(1); TH1F errBandFrame("errBandFrame","",(xmaxinset-xmininset)/dataDiff->GetBinWidth(1),xmininset,xmaxinset); errBandFrame.GetYaxis()->SetTitle(""); errBandFrame.GetYaxis()->SetRangeUser(-1.1*findMinY(dataDiff,0,xmininset,xmaxinset),2.0*findMaxY(dataDiff,0,xmininset,xmaxinset)); errBandFrame.GetYaxis()->SetNdivisions(5); errBandFrame.GetYaxis()->SetLabelSize(0.06); errBandFrame.GetXaxis()->SetTitle("#bf{m_{#tau#tau} [GeV]} "); errBandFrame.GetXaxis()->SetTitleColor(kBlack); errBandFrame.GetXaxis()->SetTitleSize(0.07); errBandFrame.GetXaxis()->SetTitleOffset(0.95); errBandFrame.GetXaxis()->SetLabelSize(0.06); errBandFrame.SetNdivisions(505); TLegend legendDiff; legendDiff.SetFillStyle(0); legendDiff.SetFillColor(0); legendDiff.SetBorderSize(0); legendDiff.AddEntry(sig,higgslabel,"F"); legendDiff.AddEntry(dataDiff,"Data - Background","LP"); legendDiff.AddEntry(errBand,"Bkg. Uncertainty","F"); legendDiff.SetX1NDC(0.45); legendDiff.SetX2NDC(0.88); legendDiff.SetY1NDC(0.67); legendDiff.SetY2NDC(0.88); legendDiff.SetTextSize(.045); legendDiff.SetTextAlign(12); TCanvas C(filename,"",600,600); TPad padBack("padBack","padBack",0.57,0.58,0.975,0.956);//TPad must be created after TCanvas otherwise ROOT crashes padBack.SetFillColor(0); TPad pad("diff","diff",0.45,0.5,0.9765,0.957);//TPad must be created after TCanvas otherwise ROOT crashes pad.cd(); pad.SetFillColor(0); pad.SetFillStyle(0); errBandFrame.Draw(); errBand->Draw("e2lsame"); sig->Draw("histsame"); TLine line; line.DrawLine(xmininset,0,xmaxinset,0); dataDiff->Draw("pesame"); legendDiff.Draw(); pad.RedrawAxis(); C.cd(); Ztt->Draw("hist"); ggH->Draw("histsame"); Ztt->Draw("histsame"); errorBand->Draw("e2same"); tt->Draw("histsame"); ewk->Draw("histsame"); fakes->Draw("histsame"); data->Draw("pesame"); legend.Draw(); C.RedrawAxis(); padBack.Draw();//clear the background axes pad.Draw(); CMSPrelim(dataset,channel,cat); C.Print(TString("Plot_")+filename+".eps"); C.Print(TString("Plot_")+filename+".png"); C.Print(TString("Plot_")+filename+".pdf"); delete errorBand; delete dataDiff; delete errBand; }
void DarkSusy_mH_125_mGammaD_2000_cT_10_LHE_Higgs_m() { //=========Macro generated from canvas: cnv/cnv //========= (Sun May 24 15:17:47 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(1.784236,-0.24375,2.499296,1.63125); cnv->SetFillColor(0); cnv->SetBorderMode(0); cnv->SetBorderSize(2); cnv->SetLogx(); 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_higgs_M_dummy9 = new TH1F("h_higgs_M_dummy9","h_higgs_M_dummy",220,80.5,300.5); h_higgs_M_dummy9->SetMaximum(1.5); h_higgs_M_dummy9->SetLineStyle(0); h_higgs_M_dummy9->SetMarkerStyle(20); h_higgs_M_dummy9->GetXaxis()->SetTitle("Mass of h [GeV]"); h_higgs_M_dummy9->GetXaxis()->SetMoreLogLabels(); h_higgs_M_dummy9->GetXaxis()->SetNdivisions(10); h_higgs_M_dummy9->GetXaxis()->SetLabelFont(42); h_higgs_M_dummy9->GetXaxis()->SetLabelOffset(0.007); h_higgs_M_dummy9->GetXaxis()->SetLabelSize(0.03); h_higgs_M_dummy9->GetXaxis()->SetTitleSize(0.06); h_higgs_M_dummy9->GetXaxis()->SetTitleOffset(0.95); h_higgs_M_dummy9->GetXaxis()->SetTitleFont(42); h_higgs_M_dummy9->GetYaxis()->SetTitle("Fraction of events / 1 GeV"); h_higgs_M_dummy9->GetYaxis()->SetLabelFont(42); h_higgs_M_dummy9->GetYaxis()->SetLabelOffset(0.007); h_higgs_M_dummy9->GetYaxis()->SetTitleSize(0.06); h_higgs_M_dummy9->GetYaxis()->SetTitleOffset(1.35); h_higgs_M_dummy9->GetYaxis()->SetTitleFont(42); h_higgs_M_dummy9->GetZaxis()->SetLabelFont(42); h_higgs_M_dummy9->GetZaxis()->SetLabelOffset(0.007); h_higgs_M_dummy9->GetZaxis()->SetTitleSize(0.06); h_higgs_M_dummy9->GetZaxis()->SetTitleFont(42); h_higgs_M_dummy9->Draw(""); TH1F *h_higgs_M_dummy10 = new TH1F("h_higgs_M_dummy10","h_higgs_M_dummy",220,80.5,300.5); h_higgs_M_dummy10->SetMaximum(1.5); h_higgs_M_dummy10->SetLineStyle(0); h_higgs_M_dummy10->SetMarkerStyle(20); h_higgs_M_dummy10->GetXaxis()->SetTitle("Mass of h [GeV]"); h_higgs_M_dummy10->GetXaxis()->SetMoreLogLabels(); h_higgs_M_dummy10->GetXaxis()->SetNdivisions(10); h_higgs_M_dummy10->GetXaxis()->SetLabelFont(42); h_higgs_M_dummy10->GetXaxis()->SetLabelOffset(0.007); h_higgs_M_dummy10->GetXaxis()->SetLabelSize(0.03); h_higgs_M_dummy10->GetXaxis()->SetTitleSize(0.06); h_higgs_M_dummy10->GetXaxis()->SetTitleOffset(0.95); h_higgs_M_dummy10->GetXaxis()->SetTitleFont(42); h_higgs_M_dummy10->GetYaxis()->SetTitle("Fraction of events / 1 GeV"); h_higgs_M_dummy10->GetYaxis()->SetLabelFont(42); h_higgs_M_dummy10->GetYaxis()->SetLabelOffset(0.007); h_higgs_M_dummy10->GetYaxis()->SetTitleSize(0.06); h_higgs_M_dummy10->GetYaxis()->SetTitleOffset(1.35); h_higgs_M_dummy10->GetYaxis()->SetTitleFont(42); h_higgs_M_dummy10->GetZaxis()->SetLabelFont(42); h_higgs_M_dummy10->GetZaxis()->SetLabelOffset(0.007); h_higgs_M_dummy10->GetZaxis()->SetTitleSize(0.06); h_higgs_M_dummy10->GetZaxis()->SetTitleFont(42); h_higgs_M_dummy10->Draw("same"); TH1F *h_higgs_M11 = new TH1F("h_higgs_M11","h_higgs_M",10,120.5,130.5); h_higgs_M11->SetBinContent(5,1); h_higgs_M11->SetBinError(5,0.003535556); h_higgs_M11->SetEntries(79999); h_higgs_M11->SetDirectory(0); Int_t ci; // for color index setting TColor *color; // for color definition with alpha ci = TColor::GetColor("#0000ff"); h_higgs_M11->SetLineColor(ci); h_higgs_M11->SetLineWidth(2); h_higgs_M11->SetMarkerStyle(20); h_higgs_M11->GetXaxis()->SetLabelFont(42); h_higgs_M11->GetXaxis()->SetLabelOffset(0.007); h_higgs_M11->GetXaxis()->SetTitleSize(0.06); h_higgs_M11->GetXaxis()->SetTitleOffset(0.95); h_higgs_M11->GetXaxis()->SetTitleFont(42); h_higgs_M11->GetYaxis()->SetLabelFont(42); h_higgs_M11->GetYaxis()->SetLabelOffset(0.007); h_higgs_M11->GetYaxis()->SetTitleSize(0.06); h_higgs_M11->GetYaxis()->SetTitleOffset(1.3); h_higgs_M11->GetYaxis()->SetTitleFont(42); h_higgs_M11->GetZaxis()->SetLabelFont(42); h_higgs_M11->GetZaxis()->SetLabelOffset(0.007); h_higgs_M11->GetZaxis()->SetTitleSize(0.06); h_higgs_M11->GetZaxis()->SetTitleFont(42); h_higgs_M11->Draw("SAMEHIST"); TH1F *h_higgs_M12 = new TH1F("h_higgs_M12","h_higgs_M",10,120.5,130.5); h_higgs_M12->SetBinContent(5,1); h_higgs_M12->SetBinError(5,0.003535556); h_higgs_M12->SetEntries(79999); h_higgs_M12->SetDirectory(0); ci = TColor::GetColor("#0000ff"); h_higgs_M12->SetLineColor(ci); h_higgs_M12->SetLineWidth(2); h_higgs_M12->SetMarkerStyle(20); h_higgs_M12->GetXaxis()->SetMoreLogLabels(); h_higgs_M12->GetXaxis()->SetLabelFont(42); h_higgs_M12->GetXaxis()->SetLabelOffset(0.007); h_higgs_M12->GetXaxis()->SetTitleSize(0.06); h_higgs_M12->GetXaxis()->SetTitleOffset(0.95); h_higgs_M12->GetXaxis()->SetTitleFont(42); h_higgs_M12->GetYaxis()->SetLabelFont(42); h_higgs_M12->GetYaxis()->SetLabelOffset(0.007); h_higgs_M12->GetYaxis()->SetTitleSize(0.06); h_higgs_M12->GetYaxis()->SetTitleOffset(1.3); h_higgs_M12->GetYaxis()->SetTitleFont(42); h_higgs_M12->GetZaxis()->SetLabelFont(42); h_higgs_M12->GetZaxis()->SetLabelOffset(0.007); h_higgs_M12->GetZaxis()->SetTitleSize(0.06); h_higgs_M12->GetZaxis()->SetTitleFont(42); h_higgs_M12->Draw("SAMEHIST"); TLegend *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); TLegendEntry *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}} = 10 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(); TH1F *h_higgs_M_dummy13 = new TH1F("h_higgs_M_dummy13","h_higgs_M_dummy",220,80.5,300.5); h_higgs_M_dummy13->SetMaximum(1.5); h_higgs_M_dummy13->SetLineStyle(0); h_higgs_M_dummy13->SetMarkerStyle(20); h_higgs_M_dummy13->GetXaxis()->SetTitle("Mass of h [GeV]"); h_higgs_M_dummy13->GetXaxis()->SetMoreLogLabels(); h_higgs_M_dummy13->GetXaxis()->SetNdivisions(10); h_higgs_M_dummy13->GetXaxis()->SetLabelFont(42); h_higgs_M_dummy13->GetXaxis()->SetLabelOffset(0.007); h_higgs_M_dummy13->GetXaxis()->SetLabelSize(0.03); h_higgs_M_dummy13->GetXaxis()->SetTitleSize(0.06); h_higgs_M_dummy13->GetXaxis()->SetTitleOffset(0.95); h_higgs_M_dummy13->GetXaxis()->SetTitleFont(42); h_higgs_M_dummy13->GetYaxis()->SetTitle("Fraction of events / 1 GeV"); h_higgs_M_dummy13->GetYaxis()->SetLabelFont(42); h_higgs_M_dummy13->GetYaxis()->SetLabelOffset(0.007); h_higgs_M_dummy13->GetYaxis()->SetTitleSize(0.06); h_higgs_M_dummy13->GetYaxis()->SetTitleOffset(1.35); h_higgs_M_dummy13->GetYaxis()->SetTitleFont(42); h_higgs_M_dummy13->GetZaxis()->SetLabelFont(42); h_higgs_M_dummy13->GetZaxis()->SetLabelOffset(0.007); h_higgs_M_dummy13->GetZaxis()->SetTitleSize(0.06); h_higgs_M_dummy13->GetZaxis()->SetTitleFont(42); h_higgs_M_dummy13->Draw("same"); TH1F *h_higgs_M14 = new TH1F("h_higgs_M14","h_higgs_M",10,120.5,130.5); h_higgs_M14->SetBinContent(5,1); h_higgs_M14->SetBinError(5,0.003535556); h_higgs_M14->SetEntries(79999); h_higgs_M14->SetDirectory(0); ci = TColor::GetColor("#0000ff"); h_higgs_M14->SetLineColor(ci); h_higgs_M14->SetLineWidth(2); h_higgs_M14->SetMarkerStyle(20); h_higgs_M14->GetXaxis()->SetMoreLogLabels(); h_higgs_M14->GetXaxis()->SetLabelFont(42); h_higgs_M14->GetXaxis()->SetLabelOffset(0.007); h_higgs_M14->GetXaxis()->SetTitleSize(0.06); h_higgs_M14->GetXaxis()->SetTitleOffset(0.95); h_higgs_M14->GetXaxis()->SetTitleFont(42); h_higgs_M14->GetYaxis()->SetLabelFont(42); h_higgs_M14->GetYaxis()->SetLabelOffset(0.007); h_higgs_M14->GetYaxis()->SetTitleSize(0.06); h_higgs_M14->GetYaxis()->SetTitleOffset(1.3); h_higgs_M14->GetYaxis()->SetTitleFont(42); h_higgs_M14->GetZaxis()->SetLabelFont(42); h_higgs_M14->GetZaxis()->SetLabelOffset(0.007); h_higgs_M14->GetZaxis()->SetTitleSize(0.06); h_higgs_M14->GetZaxis()->SetTitleFont(42); h_higgs_M14->Draw("SAMEHIST"); cnv->Modified(); cnv->cd(); cnv->SetSelected(cnv); }
void DarkSusy_mH_125_mGammaD_2000_cT_100_LHE_dimuon_m_fake() { //=========Macro generated from canvas: cnv/cnv //========= (Sun May 24 15:18:28 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(-26.5625,-0.008809844,129.6875,0.05895819); 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_dimuon_m_fake_dummy116 = new TH1F("h_dimuon_m_fake_dummy116","h_dimuon_m_fake_dummy",125,0,125); h_dimuon_m_fake_dummy116->SetMaximum(0.05421443); h_dimuon_m_fake_dummy116->SetLineStyle(0); h_dimuon_m_fake_dummy116->SetMarkerStyle(20); h_dimuon_m_fake_dummy116->GetXaxis()->SetTitle("Mass of Fake #mu#mu [GeV]"); h_dimuon_m_fake_dummy116->GetXaxis()->SetLabelFont(42); h_dimuon_m_fake_dummy116->GetXaxis()->SetLabelOffset(0.007); h_dimuon_m_fake_dummy116->GetXaxis()->SetTitleSize(0.06); h_dimuon_m_fake_dummy116->GetXaxis()->SetTitleOffset(0.95); h_dimuon_m_fake_dummy116->GetXaxis()->SetTitleFont(42); h_dimuon_m_fake_dummy116->GetYaxis()->SetTitle("Fraction of events / 1 GeV"); h_dimuon_m_fake_dummy116->GetYaxis()->SetNdivisions(508); h_dimuon_m_fake_dummy116->GetYaxis()->SetLabelFont(42); h_dimuon_m_fake_dummy116->GetYaxis()->SetLabelOffset(0.007); h_dimuon_m_fake_dummy116->GetYaxis()->SetTitleSize(0.06); h_dimuon_m_fake_dummy116->GetYaxis()->SetTitleOffset(1.35); h_dimuon_m_fake_dummy116->GetYaxis()->SetTitleFont(42); h_dimuon_m_fake_dummy116->GetZaxis()->SetLabelFont(42); h_dimuon_m_fake_dummy116->GetZaxis()->SetLabelOffset(0.007); h_dimuon_m_fake_dummy116->GetZaxis()->SetTitleSize(0.06); h_dimuon_m_fake_dummy116->GetZaxis()->SetTitleFont(42); h_dimuon_m_fake_dummy116->Draw(""); TH1F *h_dimuon_m_fake_0117 = new TH1F("h_dimuon_m_fake_0117","h_dimuon_m_fake_0",125,0,125); h_dimuon_m_fake_0117->SetBinContent(1,0.001193765); h_dimuon_m_fake_0117->SetBinContent(2,0.003418793); h_dimuon_m_fake_0117->SetBinContent(3,0.005868823); h_dimuon_m_fake_0117->SetBinContent(4,0.007793847); h_dimuon_m_fake_0117->SetBinContent(5,0.01025013); h_dimuon_m_fake_0117->SetBinContent(6,0.01258141); h_dimuon_m_fake_0117->SetBinContent(7,0.01408143); h_dimuon_m_fake_0117->SetBinContent(8,0.01711896); h_dimuon_m_fake_0117->SetBinContent(9,0.01928774); h_dimuon_m_fake_0117->SetBinContent(10,0.02063776); h_dimuon_m_fake_0117->SetBinContent(11,0.02268153); h_dimuon_m_fake_0117->SetBinContent(12,0.0239628); h_dimuon_m_fake_0117->SetBinContent(13,0.02550657); h_dimuon_m_fake_0117->SetBinContent(14,0.02655658); h_dimuon_m_fake_0117->SetBinContent(15,0.02669408); h_dimuon_m_fake_0117->SetBinContent(16,0.02803785); h_dimuon_m_fake_0117->SetBinContent(17,0.02936287); h_dimuon_m_fake_0117->SetBinContent(18,0.0283941); h_dimuon_m_fake_0117->SetBinContent(19,0.03011913); h_dimuon_m_fake_0117->SetBinContent(20,0.02869411); h_dimuon_m_fake_0117->SetBinContent(21,0.02987537); h_dimuon_m_fake_0117->SetBinContent(22,0.02950662); h_dimuon_m_fake_0117->SetBinContent(23,0.02854411); h_dimuon_m_fake_0117->SetBinContent(24,0.02812535); h_dimuon_m_fake_0117->SetBinContent(25,0.02756909); h_dimuon_m_fake_0117->SetBinContent(26,0.02610658); h_dimuon_m_fake_0117->SetBinContent(27,0.02502531); h_dimuon_m_fake_0117->SetBinContent(28,0.02491906); h_dimuon_m_fake_0117->SetBinContent(29,0.02488781); h_dimuon_m_fake_0117->SetBinContent(30,0.02330654); h_dimuon_m_fake_0117->SetBinContent(31,0.02198778); h_dimuon_m_fake_0117->SetBinContent(32,0.02102526); h_dimuon_m_fake_0117->SetBinContent(33,0.02067526); h_dimuon_m_fake_0117->SetBinContent(34,0.01935024); h_dimuon_m_fake_0117->SetBinContent(35,0.01845648); h_dimuon_m_fake_0117->SetBinContent(36,0.01780647); h_dimuon_m_fake_0117->SetBinContent(37,0.01737522); h_dimuon_m_fake_0117->SetBinContent(38,0.01623145); h_dimuon_m_fake_0117->SetBinContent(39,0.01498144); h_dimuon_m_fake_0117->SetBinContent(40,0.01449393); h_dimuon_m_fake_0117->SetBinContent(41,0.01330642); h_dimuon_m_fake_0117->SetBinContent(42,0.0121564); h_dimuon_m_fake_0117->SetBinContent(43,0.0116564); h_dimuon_m_fake_0117->SetBinContent(44,0.01084389); h_dimuon_m_fake_0117->SetBinContent(45,0.01028763); h_dimuon_m_fake_0117->SetBinContent(46,0.009437618); h_dimuon_m_fake_0117->SetBinContent(47,0.009125114); h_dimuon_m_fake_0117->SetBinContent(48,0.007956349); h_dimuon_m_fake_0117->SetBinContent(49,0.007906348); h_dimuon_m_fake_0117->SetBinContent(50,0.006987588); h_dimuon_m_fake_0117->SetBinContent(51,0.006300079); h_dimuon_m_fake_0117->SetBinContent(52,0.006368829); h_dimuon_m_fake_0117->SetBinContent(53,0.005443818); h_dimuon_m_fake_0117->SetBinContent(54,0.005250066); h_dimuon_m_fake_0117->SetBinContent(55,0.004668809); h_dimuon_m_fake_0117->SetBinContent(56,0.00405005); h_dimuon_m_fake_0117->SetBinContent(57,0.003818798); h_dimuon_m_fake_0117->SetBinContent(58,0.003637546); h_dimuon_m_fake_0117->SetBinContent(59,0.003443793); h_dimuon_m_fake_0117->SetBinContent(60,0.002881286); h_dimuon_m_fake_0117->SetBinContent(61,0.002731284); h_dimuon_m_fake_0117->SetBinContent(62,0.002318779); h_dimuon_m_fake_0117->SetBinContent(63,0.002193777); h_dimuon_m_fake_0117->SetBinContent(64,0.001856273); h_dimuon_m_fake_0117->SetBinContent(65,0.001675021); h_dimuon_m_fake_0117->SetBinContent(66,0.001687521); h_dimuon_m_fake_0117->SetBinContent(67,0.001306266); h_dimuon_m_fake_0117->SetBinContent(68,0.001262516); h_dimuon_m_fake_0117->SetBinContent(69,0.001168765); h_dimuon_m_fake_0117->SetBinContent(70,0.0007937599); h_dimuon_m_fake_0117->SetBinContent(71,0.0007312591); h_dimuon_m_fake_0117->SetBinContent(72,0.0005875073); h_dimuon_m_fake_0117->SetBinContent(73,0.000637508); h_dimuon_m_fake_0117->SetBinContent(74,0.0005125064); h_dimuon_m_fake_0117->SetBinContent(75,0.0004500056); h_dimuon_m_fake_0117->SetBinContent(76,0.0003250041); h_dimuon_m_fake_0117->SetBinContent(77,0.0003687546); h_dimuon_m_fake_0117->SetBinContent(78,0.0002937537); h_dimuon_m_fake_0117->SetBinContent(79,0.0002250028); h_dimuon_m_fake_0117->SetBinContent(80,0.0002000025); h_dimuon_m_fake_0117->SetBinContent(81,0.0001750022); h_dimuon_m_fake_0117->SetBinContent(82,0.0001062513); h_dimuon_m_fake_0117->SetBinContent(83,0.0001187515); h_dimuon_m_fake_0117->SetBinContent(84,6.250078e-05); h_dimuon_m_fake_0117->SetBinContent(85,5.000062e-05); h_dimuon_m_fake_0117->SetBinContent(86,6.250078e-05); h_dimuon_m_fake_0117->SetBinContent(87,1.875023e-05); h_dimuon_m_fake_0117->SetBinContent(88,1.875023e-05); h_dimuon_m_fake_0117->SetBinContent(89,6.250078e-06); h_dimuon_m_fake_0117->SetBinContent(90,1.875023e-05); h_dimuon_m_fake_0117->SetBinContent(92,1.250016e-05); h_dimuon_m_fake_0117->SetBinContent(96,6.250078e-06); h_dimuon_m_fake_0117->SetBinError(1,8.63778e-05); h_dimuon_m_fake_0117->SetBinError(2,0.000146177); h_dimuon_m_fake_0117->SetBinError(3,0.0001915218); h_dimuon_m_fake_0117->SetBinError(4,0.0002207083); h_dimuon_m_fake_0117->SetBinError(5,0.0002531089); h_dimuon_m_fake_0117->SetBinError(6,0.0002804189); h_dimuon_m_fake_0117->SetBinError(7,0.0002966648); h_dimuon_m_fake_0117->SetBinError(8,0.0003271007); h_dimuon_m_fake_0117->SetBinError(9,0.000347203); h_dimuon_m_fake_0117->SetBinError(10,0.0003591484); h_dimuon_m_fake_0117->SetBinError(11,0.0003765121); h_dimuon_m_fake_0117->SetBinError(12,0.0003870005); h_dimuon_m_fake_0117->SetBinError(13,0.0003992719); h_dimuon_m_fake_0117->SetBinError(14,0.0004074073); h_dimuon_m_fake_0117->SetBinError(15,0.0004084607); h_dimuon_m_fake_0117->SetBinError(16,0.0004186153); h_dimuon_m_fake_0117->SetBinError(17,0.0004283926); h_dimuon_m_fake_0117->SetBinError(18,0.0004212664); h_dimuon_m_fake_0117->SetBinError(19,0.0004338743); h_dimuon_m_fake_0117->SetBinError(20,0.000423486); h_dimuon_m_fake_0117->SetBinError(21,0.0004321151); h_dimuon_m_fake_0117->SetBinError(22,0.00042944); h_dimuon_m_fake_0117->SetBinError(23,0.0004223777); h_dimuon_m_fake_0117->SetBinError(24,0.000419268); h_dimuon_m_fake_0117->SetBinError(25,0.0004151012); h_dimuon_m_fake_0117->SetBinError(26,0.0004039408); h_dimuon_m_fake_0117->SetBinError(27,0.0003954872); h_dimuon_m_fake_0117->SetBinError(28,0.0003946468); h_dimuon_m_fake_0117->SetBinError(29,0.0003943992); h_dimuon_m_fake_0117->SetBinError(30,0.0003816644); h_dimuon_m_fake_0117->SetBinError(31,0.0003707092); h_dimuon_m_fake_0117->SetBinError(32,0.0003625045); h_dimuon_m_fake_0117->SetBinError(33,0.0003594746); h_dimuon_m_fake_0117->SetBinError(34,0.000347765); h_dimuon_m_fake_0117->SetBinError(35,0.0003396387); h_dimuon_m_fake_0117->SetBinError(36,0.0003336043); h_dimuon_m_fake_0117->SetBinError(37,0.0003295398); h_dimuon_m_fake_0117->SetBinError(38,0.0003185088); h_dimuon_m_fake_0117->SetBinError(39,0.0003059986); h_dimuon_m_fake_0117->SetBinError(40,0.0003009787); h_dimuon_m_fake_0117->SetBinError(41,0.0002883854); h_dimuon_m_fake_0117->SetBinError(42,0.0002756419); h_dimuon_m_fake_0117->SetBinError(43,0.0002699137); h_dimuon_m_fake_0117->SetBinError(44,0.0002603366); h_dimuon_m_fake_0117->SetBinError(45,0.0002535715); h_dimuon_m_fake_0117->SetBinError(46,0.00024287); h_dimuon_m_fake_0117->SetBinError(47,0.0002388151); h_dimuon_m_fake_0117->SetBinError(48,0.0002229973); h_dimuon_m_fake_0117->SetBinError(49,0.0002222955); h_dimuon_m_fake_0117->SetBinError(50,0.0002089808); h_dimuon_m_fake_0117->SetBinError(51,0.0001984338); h_dimuon_m_fake_0117->SetBinError(52,0.0001995136); h_dimuon_m_fake_0117->SetBinError(53,0.0001844567); h_dimuon_m_fake_0117->SetBinError(54,0.0001811445); h_dimuon_m_fake_0117->SetBinError(55,0.0001708228); h_dimuon_m_fake_0117->SetBinError(56,0.000159101); h_dimuon_m_fake_0117->SetBinError(57,0.000154492); h_dimuon_m_fake_0117->SetBinError(58,0.0001507811); h_dimuon_m_fake_0117->SetBinError(59,0.0001467105); h_dimuon_m_fake_0117->SetBinError(60,0.0001341949); h_dimuon_m_fake_0117->SetBinError(61,0.000130655); h_dimuon_m_fake_0117->SetBinError(62,0.000120385); h_dimuon_m_fake_0117->SetBinError(63,0.0001170952); h_dimuon_m_fake_0117->SetBinError(64,0.0001077119); h_dimuon_m_fake_0117->SetBinError(65,0.0001023182); h_dimuon_m_fake_0117->SetBinError(66,0.0001026993); h_dimuon_m_fake_0117->SetBinError(67,9.035633e-05); h_dimuon_m_fake_0117->SetBinError(68,8.88303e-05); h_dimuon_m_fake_0117->SetBinError(69,8.546853e-05); h_dimuon_m_fake_0117->SetBinError(70,7.04348e-05); h_dimuon_m_fake_0117->SetBinError(71,6.760493e-05); h_dimuon_m_fake_0117->SetBinError(72,6.059676e-05); h_dimuon_m_fake_0117->SetBinError(73,6.312269e-05); h_dimuon_m_fake_0117->SetBinError(74,5.659686e-05); h_dimuon_m_fake_0117->SetBinError(75,5.303367e-05); h_dimuon_m_fake_0117->SetBinError(76,4.506995e-05); h_dimuon_m_fake_0117->SetBinError(77,4.800776e-05); h_dimuon_m_fake_0117->SetBinError(78,4.284838e-05); h_dimuon_m_fake_0117->SetBinError(79,3.750047e-05); h_dimuon_m_fake_0117->SetBinError(80,3.535578e-05); h_dimuon_m_fake_0117->SetBinError(81,3.30723e-05); h_dimuon_m_fake_0117->SetBinError(82,2.576973e-05); h_dimuon_m_fake_0117->SetBinError(83,2.724346e-05); h_dimuon_m_fake_0117->SetBinError(84,1.976448e-05); h_dimuon_m_fake_0117->SetBinError(85,1.767789e-05); h_dimuon_m_fake_0117->SetBinError(86,1.976448e-05); h_dimuon_m_fake_0117->SetBinError(87,1.082545e-05); h_dimuon_m_fake_0117->SetBinError(88,1.082545e-05); h_dimuon_m_fake_0117->SetBinError(89,6.250078e-06); h_dimuon_m_fake_0117->SetBinError(90,1.082545e-05); h_dimuon_m_fake_0117->SetBinError(92,8.838945e-06); h_dimuon_m_fake_0117->SetBinError(96,6.250078e-06); h_dimuon_m_fake_0117->SetEntries(159998); h_dimuon_m_fake_0117->SetDirectory(0); Int_t ci; // for color index setting TColor *color; // for color definition with alpha ci = TColor::GetColor("#ff0000"); h_dimuon_m_fake_0117->SetLineColor(ci); h_dimuon_m_fake_0117->SetLineWidth(2); h_dimuon_m_fake_0117->SetMarkerStyle(20); h_dimuon_m_fake_0117->GetXaxis()->SetLabelFont(42); h_dimuon_m_fake_0117->GetXaxis()->SetLabelOffset(0.007); h_dimuon_m_fake_0117->GetXaxis()->SetTitleSize(0.06); h_dimuon_m_fake_0117->GetXaxis()->SetTitleOffset(0.95); h_dimuon_m_fake_0117->GetXaxis()->SetTitleFont(42); h_dimuon_m_fake_0117->GetYaxis()->SetLabelFont(42); h_dimuon_m_fake_0117->GetYaxis()->SetLabelOffset(0.007); h_dimuon_m_fake_0117->GetYaxis()->SetTitleSize(0.06); h_dimuon_m_fake_0117->GetYaxis()->SetTitleOffset(1.3); h_dimuon_m_fake_0117->GetYaxis()->SetTitleFont(42); h_dimuon_m_fake_0117->GetZaxis()->SetLabelFont(42); h_dimuon_m_fake_0117->GetZaxis()->SetLabelOffset(0.007); h_dimuon_m_fake_0117->GetZaxis()->SetTitleSize(0.06); h_dimuon_m_fake_0117->GetZaxis()->SetTitleFont(42); h_dimuon_m_fake_0117->Draw("SAMEHIST"); TLegend *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); TLegendEntry *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}} = 100 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); }
void plotRegrVsNoRegr(int channel, int massBin) { stringstream filenom, filenoregr; filenom << "m4lplots/nominal/fitM" << massBin << "_channel" << channel << ".root"; filenoregr << "m4lplots/noregr/fitM" << massBin << "_channel" << channel << ".root"; int col; if(channel==0) col=kOrange+7; if(channel==1) col=kAzure+2; if(channel==2) col=kGreen+3; TCanvas *c1 = new TCanvas("c1","c1",750,750); TFile *tfilenom = TFile::Open(filenom.str().c_str()); RooPlot *plotnom = (RooPlot*)tfilenom->Get("m4lplot"); plotnom->SetMarkerStyle(kOpenSquare); plotnom->Draw(); TPaveText *pavenom = (TPaveText*)tfilenom->Get("TPave"); pavenom->SetTextColor(col); pavenom->Draw("same"); TFile *tfilenoregr = TFile::Open(filenoregr.str().c_str()); RooPlot *plotnoregr = (RooPlot*)tfilenoregr->Get("m4lplot"); plotnoregr->Draw("same"); TPaveText *pavenoregr = (TPaveText*)tfilenoregr->Get("TPave"); pavenoregr->Draw("same"); // cosmetics TLegend *legend = new TLegend(0.20,0.45,0.45,0.60,NULL,"brNDC"); legend->SetBorderSize( 0); legend->SetFillColor ( 0); legend->SetTextAlign ( 12); legend->SetTextFont ( 42); legend->SetTextSize (0.03); TH1F *dummyPointsNom = new TH1F("dummyPNom","dummyPNom",1,0,1); TH1F *dummyPointsNoRegr = new TH1F("dummyPNoregr","dummyPNoregr",1,0,1); TH1F *dummyLine = new TH1F("dummyL","dummyL",1,0,1); dummyPointsNoRegr->SetMarkerStyle(kFullCircle); dummyPointsNoRegr->SetMarkerSize(1.1); dummyPointsNom->SetMarkerStyle(kFullSquare); dummyPointsNom->SetMarkerColor(col); dummyPointsNom->SetLineColor(col); dummyPointsNom->SetMarkerSize(1.1); dummyLine->SetLineColor(col); legend->AddEntry(dummyPointsNoRegr, "Simulation (E_{std}-p comb.)", "pel"); legend->AddEntry(dummyPointsNom, "Simulation (E_{regr}-p comb.)", "pel"); legend->Draw(); TPaveText *text = new TPaveText(0.15,0.90,0.77,0.98,"brNDC"); text->AddText("CMS Simulation"); text->SetBorderSize(0); text->SetFillStyle(0); text->SetTextAlign(12); text->SetTextFont(42); text->SetTextSize(0.03); text->Draw(); stringstream frameTitle; if(channel==0){frameTitle << "4#mu, m_{H} = ";} if(channel==1){frameTitle << "4e, m_{H} = ";} if(channel==2){frameTitle << "2e2#mu, m_{H} = ";} frameTitle << massBin << " GeV"; TPaveText *titlet = new TPaveText(0.15,0.80,0.60,0.85,"brNDC"); titlet->AddText(frameTitle.str().c_str()); titlet->SetBorderSize(0); titlet->SetFillStyle(0); titlet->SetTextAlign(12); titlet->SetTextFont(132); titlet->SetTextSize(0.045); titlet->Draw(); c1->SaveAs("comp.pdf"); }
// ----------------------------------------------------------------------------- // TCanvas* createPlot( TDirectory* output_file, std::string output_canvas, //std::vector< std::vector<std::string> > input_files, std::vector<std::string> input_files, std::vector<std::string> input_histos, std::vector<std::string> input_legend, std::vector<int> marker_style, std::vector<int> marker_colour, std::vector<float> marker_size, std::vector<float> lumis, double lumi, int rebin, bool norm, bool log, double min = -1., double max = -1., int integral = -1 ) { // SetSomeStyles(); // Check integral if ( integral >= input_files.size() ) { integral = -1; } // Loop through histogram names std::vector<TH1D*> his; for ( uint ihis = 0; ihis < input_histos.size(); ++ihis ) { if ( integral < 0 || ihis <= integral ) { his.push_back( (TH1D*)getHisto( input_files[ihis], input_histos[ihis], "QcdBkgdEst", rebin ) ); } else { his.back()->Add( (TH1D*)getHisto( input_files[ihis], input_histos[ihis], "QcdBkgdEst", rebin ) ); } } // Create legend TLegend* legend = new TLegend( 0.65, 0.52-0.03*his.size(), 0.9, 0.52, NULL, "brNDC" ); legend->SetFillColor(0); legend->SetLineColor(0); legend->SetTextAlign(31); legend->SetTextSize(0.025); // Create canvas TCanvas* aCanvas = createCanvas( output_canvas, output_file, log ); TPaveText* stats = new TPaveText( 0.65, 0.54, 0.9, 0.54+0.03*his.size(), "brNDC" ); stats->SetFillColor(0); stats->SetLineColor(0); TLatex* prelim = new TLatex( 0.15, 0.96, "#scale[0.8]{CMS preliminary 2011}" ); prelim->SetTextSize(0.03); prelim->SetNDC(); std::stringstream ssl; ssl << "#scale[0.8]{#int L dt = " << lumi/1000. << " fb^{-1}, #sqrt{s} = 7 TeV}"; TLatex* lumistxt = new TLatex( 0.95, 0.96, ssl.str().c_str() ); lumistxt->SetTextSize(0.03); lumistxt->SetNDC(); lumistxt->SetTextAlign(31); // For Ted bool print_ted = true; std::stringstream ted; if ( print_ted ) { ted << "self._htMeans = ("; } // Loop through histograms double aMax = 0.; double aMin = 1.e12; for ( uint ihis = 0; ihis < his.size(); ++ihis ) { if ( !his[ihis] ) { continue; } // Line colour and fill his[ihis]->Scale(lumis[ihis]/100.); his[ihis]->SetMarkerStyle(marker_style[ihis]); his[ihis]->SetMarkerColor(marker_colour[ihis]); his[ihis]->SetMarkerSize(marker_size[ihis]); his[ihis]->SetLineColor(marker_colour[ihis]); his[ihis]->SetLineStyle(0); his[ihis]->SetLineWidth(0); // Populate legend if ( input_legend.size() > ihis ) { legend->AddEntry( his[ihis], input_legend[ihis].c_str(), "ep" ); } else { legend->AddEntry( his[ihis], input_histos[ihis].c_str(), "ep" ); } // Populate stats box std::stringstream ss; //ss << "Mean=" << int(his[ihis]->GetMean()*100.)/100. << ", RMS=" << int(his[ihis]->GetRMS()*100.)/100.; ss << "Entries=" << his[ihis]->GetEntries(); TText* text = stats->AddText(ss.str().c_str()); text->SetTextAlign(11); text->SetTextSize(0.025); text->SetTextColor(marker_colour[ihis]); // For Ted if ( print_ted ) ted << std::setw(9) << std::scientific << std::setprecision(3) << his[ihis]->GetMean() << ", "; // Calc min/max number of entries if ( his[ihis]->GetMaximum() > aMax ) { aMax = his[ihis]->GetMaximum(); } if ( his[ihis]->GetMinimum(1.e-12) < aMin ) { aMin = his[ihis]->GetMinimum(1.e-12); } } // For Ted if ( print_ted ) { ted << ")" << std::endl; std::cout << ted.str() << std::endl; } if ( !his.empty() ) { if ( his[0] ) his[0]->GetYaxis()->SetTitleOffset(1.43); if ( his[0] ) his[0]->GetYaxis()->SetTitleSize(0.06); if ( his[0] ) his[0]->GetXaxis()->SetTitleSize(0.06); if ( his[0] ) his[0]->GetXaxis()->SetTitleOffset(0.9); } // First histo be drawn bool first = true; for ( uint ihis = 0; ihis < his.size(); ++ihis ) { if ( !his[ihis] ) { continue; } //his[ihis]->GetYaxis()->SetTitle("a.u."); if ( log ) { his[ihis]->SetMaximum( aMax * 10. ); his[ihis]->SetMinimum( aMin * 0.1 ); } else { his[ihis]->SetMaximum( aMax * 1.1 ); his[ihis]->SetMinimum( aMin * 0.9 ); } if ( min > 0. ) his[ihis]->SetMinimum( min ); if ( max > 0. ) his[ihis]->SetMaximum( max ); if ( norm ) { std::string options = ""; if ( first ) { options = "Ehist"; first = false; } else { options = "psame"; } if ( his[ihis]->GetEntries() > 0. ) { his[ihis]->DrawNormalized(options.c_str()); } } else { std::string options = ""; if ( first ) { options = "Ehist"; first = false; } else { options = "psame"; } his[ihis]->Draw(options.c_str()); } } // Loop through histos output_file->cd(); legend->Draw("same"); stats->Draw("same"); prelim->Draw("same"); lumistxt->Draw("same"); aCanvas->Modified(); //aCanvas->SaveAs( std::string(output_canvas+".png").c_str() ); aCanvas->SaveAs( std::string(output_canvas+".pdf").c_str() ); aCanvas->SaveAs( std::string(output_canvas+".C").c_str() ); aCanvas->Write(); return aCanvas; }