9 #include "core/baby.hpp" 21 gErrorIgnoreLevel = 6000;
26 string trig_skim_mc =
"/net/cms27/cms27r0/babymaker/2016_04_29/mc/merged_1lht500met200/";
27 string trig_mc =
"/net/cms27/cms27r0/babymaker/2016_04_29/mc/unskimmed/";
29 Palette colors(
"txt/colors.txt",
"default");
32 {trig_skim_mc+
"*_TTJets*Lept*.root", trig_skim_mc+
"*_TTJets_HT*.root"},
33 "ntruleps<=1&&stitch");
35 {trig_skim_mc+
"*_TTJets*Lept*.root", trig_skim_mc+
"*_TTJets_HT*.root"},
36 "ntruleps>=2&&stitch");
38 {trig_skim_mc+
"*_WJetsToLNu*.root"});
40 {trig_skim_mc+
"*_ST_*.root"});
42 {trig_skim_mc+
"*_TTWJets*.root", trig_skim_mc+
"*_TTZTo*.root"});
44 {trig_skim_mc+
"*DYJetsToLL*.root", trig_skim_mc+
"*_QCD_HT*.root",
45 trig_skim_mc+
"*_ZJet*.root", trig_skim_mc+
"*_WWTo*.root",
46 trig_skim_mc+
"*ggZH_HToBB*.root", trig_skim_mc+
"*ttHJetTobb*.root",
47 trig_skim_mc+
"*_TTGJets*.root", trig_skim_mc+
"*_TTTT_*.root",
48 trig_skim_mc+
"*_WH_HToBB*.root", trig_skim_mc+
"*_WZTo*.root",
49 trig_skim_mc+
"*_ZH_HToBB*.root", trig_skim_mc+
"_ZZ_*.root"});
51 auto t1tttt_nc = Process::MakeShared<Baby_full>(
"T1tttt(1500,100)",
Process::Type::signal, colors(
"t1tttt"),
52 {trig_mc+
"*SMS-T1tttt_mGluino-1500_mLSP-100*.root"});
53 auto t1tttt_c = Process::MakeShared<Baby_full>(
"T1tttt(1200,800)",
Process::Type::signal, colors(
"t1tttt"),
54 {trig_mc+
"*SMS-T1tttt_mGluino-1200_mLSP-800*.root"});
55 t1tttt_c->SetLineStyle(2);
58 {
"/net/cms2/cms2r0/babymaker/babies/2016_05_31/data/met/*.root"},
"pass&&trig[28]");
59 vector<shared_ptr<Process> > full_trig_skim_1l = {data_1l, t1tttt_nc, t1tttt_c,
tt1l,
tt2l, wjets, single_t, ttv, other};
65 {trig_mc+
"*_TTJets*Lept*.root"},
68 {trig_mc+
"*_TTJets*Lept*.root"},
71 {trig_mc+
"*_TTJets_TuneCUETP8M1_13TeV*.root"});
73 {trig_mc+
"*DYJetsToLL*HT*.root"});
75 {trig_mc+
"*_QCD_HT700to1000*.root",trig_mc+
"*_QCD_HT1000to1500*.root",
76 trig_mc+
"*_QCD_HT1500to2000*.root",trig_mc+
"*_QCD_HT2000toInf*.root"});
78 {trig_mc+
"*_TTWJet*root", trig_mc+
"*_TTZTo*.root",
79 trig_mc+
"*_ZJet*.root", trig_mc+
"*_WWTo*.root",
80 trig_mc+
"*ggZH_HToBB*.root", trig_mc+
"*ttHJetTobb*.root",
81 trig_mc+
"*_TTGJets*.root", trig_mc+
"*_TTTT_*.root",
82 trig_mc+
"*_WH_HToBB*.root", trig_mc+
"*_WZTo*.root",
83 trig_skim_mc+
"*_ST_*.root", trig_skim_mc+
"*_WJetsToLNu*.root",
84 trig_mc+
"*_ZH_HToBB*.root", trig_mc+
"_ZZ_*.root"});
87 {
"/net/cms2/cms2r0/babymaker/babies/2016_05_31/data/singlelep/combined/*.root"},
"pass&&(trig[20]||trig[22])");
88 vector<shared_ptr<Process> > full_trig_skim_2l = {data_2l, t1tttt_nc, t1tttt_c, tt1l_unskim, tt2l_unskim, dy_unskim, other_unskim};
91 {
"/net/cms2/cms2r0/babymaker/babies/2016_05_31/data/jetht/*.root"},
"pass&&trig[12]");
92 vector<shared_ptr<Process> > full_trig_skim_0l = {data_0l, t1tttt_nc, t1tttt_c, qcd_unskim, tt_unskim, other_unskim};
94 PlotOpt log_lumi(
"txt/plot_styles.txt",
"CMSPaper");
95 log_lumi.
Title(TitleType::preliminary)
97 .
YAxis(YAxisType::log)
98 .
Stack(StackType::data_norm);
100 PlotOpt log_shapes = log_lumi().
Stack(StackType::shapes)
103 PlotOpt lin_shapes = log_shapes().
YAxis(YAxisType::linear);
104 PlotOpt log_lumi_info = log_lumi().
Title(TitleType::info);
105 PlotOpt lin_lumi_info = lin_lumi().
Title(TitleType::info);
106 PlotOpt log_shapes_info = log_shapes().
Title(TitleType::info);
107 PlotOpt lin_shapes_info = lin_shapes().
Title(TitleType::info);
108 vector<PlotOpt> all_plot_types = {log_lumi_info, lin_lumi_info};
110 string commoncut =
"mt<140&&ht>500&&met>200";
117 for(
int ilep=2; ilep<3; ilep++){
119 if(ilep==0) lepcut=commoncut+
"&&nels==1&&nmus==0";
120 if(ilep==1) lepcut=commoncut+
"&&nels==0&&nmus==1";
121 if(ilep==2) lepcut=commoncut+
"&&nleps==1";
126 pm.
Push<
Hist1D>(
Axis(15, 500, 2000.,
"ht",
"H_{T} [GeV]", {500.}),
127 lepcut&&
"njets>=5&&nbm>=1", full_trig_skim_1l, all_plot_types);
128 pm.
Push<
Hist1D>(
Axis(10, 200, 500.,
"met",
"E_{T}^{miss} [GeV]", {200., 350., 500.}),
129 lepcut&&
"njets>=5&&nbm>=1", full_trig_skim_1l, all_plot_types);
130 pm.
Push<
Hist1D>(
Axis(16, -0.5, 15.5,
"njets",
"N_{jets}", {5.5, 8.5}),
131 lepcut&&
"nbm>=1", full_trig_skim_1l, all_plot_types);
134 lepcut&&
"njets>=5&&nbm>=1", full_trig_skim_1l, all_plot_types);
139 pm.
Push<
Hist1D>(
Axis(10, 0, 500.,
"fjets14_m[0]",
"m_{J1} [GeV]"),
140 lepcut&&
"njets>=5&&nbm>=1", full_trig_skim_1l, all_plot_types);
141 pm.
Push<
Hist1D>(
Axis(20, 0, 400.,
"fjets14_m[0]",
"m_{J1} [GeV]"),
142 lepcut&&
"njets<=5&&nbm>=1", full_trig_skim_1l, all_plot_types);
145 pm.
Push<
Hist1D>(
Axis(10, 0., 1500.,
"mj14",
"M_{J} [GeV]", {400.}),
146 lepcut&&
"njets>=5&&nbm>=1", full_trig_skim_1l, all_plot_types);
154 string mll=
"(mumu_m*(mumu_m>0&&mumu_pt1>30)+elel_m*(elel_m>0&&elel_pt1>30))";
155 string mllcut=
"(mumu_m*(mumu_m>0&&mumu_pt1>30)+elel_m*(elel_m>0&&elel_pt1>30))>80&&(mumu_m*(mumu_m>0&&mumu_pt1>30)+elel_m*(elel_m>0&&elel_pt1>30))<100";
157 pm.
Push<
Hist1D>(
Axis(10, 0., 1000.,
"mj14",
"M_{J} [GeV]", {400.}),
158 "nels==1&&nmus==1&&ht>300&&met>100&&njets>=2&&met<400&&nbm<3&&nbm>=1&&((leps_pt[0]>30&&leps_eta[0]<2.1&&leps_eta[0]>-2.1)||(leps_pt[1]>30&&leps_eta[1]<2.1&&leps_eta[1]>-2.1))",
159 full_trig_skim_2l, all_plot_types);
161 pm.
Push<
Hist1D>(
Axis(10, 0., 1000.,
"mj14",
"M_{J} [GeV]", {400.}),
162 "(nmus>=2||nels>=2)&&ht>350&&njets>=4&&"+mllcut, full_trig_skim_2l, all_plot_types);
168 pm.
Push<
Hist1D>(
Axis(30, 0., 1500.,
"mj14",
"M_{J} [GeV]", {400.}),
169 "nleps==0&&met<50&&ht>1000&&njets>=9", full_trig_skim_0l, all_plot_types);
PlotOpt & Stack(PlotOptTypes::StackType stack_type)
PlotOpt & YAxis(PlotOptTypes::YAxisType y_axis_type)
Combines a callable function taking a Baby and returning a scalar or vector with its string represent...
FigureType & Push(Args &&...args)
Organizes efficient production of plots with single loop over each process.
PlotOpt & Bottom(PlotOptTypes::BottomType bottom_type)
PlotOpt & ShowBackgroundError(bool show_background_error)
A full 1D plot with stacked/overlayed histograms.
void MakePlots(double luminosity, const std::string &subdir="")
Prints all added plots with given luminosity.
PlotOpt & Title(PlotOptTypes::TitleType title_type)
Loads colors from a text configuration file.