21 int color,
const set<string> &files,
const string &cut =
"1"){
22 return make_shared<Process>(process_name, type, color,
23 unique_ptr<Baby>(
new T(files)),
28 gErrorIgnoreLevel = 6000;
33 string trig_skim_mc =
"/net/cms27/cms27r0/babymaker/2016_04_29/mc/merged_1lht500met200/";
34 string trig_mc =
"/net/cms27/cms27r0/babymaker/2016_04_29/mc/unskimmed/";
36 Palette colors(
"txt/colors.txt",
"default");
39 {trig_skim_mc+
"*_TTJets*Lept*.root", trig_skim_mc+
"*_TTJets_HT*.root"},
40 "ntruleps<=1&&stitch");
42 {trig_skim_mc+
"*_TTJets*Lept*.root", trig_skim_mc+
"*_TTJets_HT*.root"},
43 "ntruleps>=2&&stitch");
45 {trig_skim_mc+
"*_WJetsToLNu*.root"});
47 {trig_skim_mc+
"*_ST_*.root"});
49 {trig_skim_mc+
"*_TTWJets*.root", trig_skim_mc+
"*_TTZTo*.root"});
51 {trig_skim_mc+
"*DYJetsToLL*.root", trig_skim_mc+
"*_QCD_HT*.root",
52 trig_skim_mc+
"*_ZJet*.root", trig_skim_mc+
"*_WWTo*.root",
53 trig_skim_mc+
"*ggZH_HToBB*.root", trig_skim_mc+
"*ttHJetTobb*.root",
54 trig_skim_mc+
"*_TTGJets*.root", trig_skim_mc+
"*_TTTT_*.root",
55 trig_skim_mc+
"*_WH_HToBB*.root", trig_skim_mc+
"*_WZTo*.root",
56 trig_skim_mc+
"*_ZH_HToBB*.root", trig_skim_mc+
"_ZZ_*.root"});
59 {trig_mc+
"*SMS-T1tttt_mGluino-1500_mLSP-100*.root"});
61 {trig_mc+
"*SMS-T1tttt_mGluino-1200_mLSP-800*.root"});
62 t1tttt_c->SetLineStyle(2);
65 {
"/net/cms2/cms2r0/babymaker/babies/2016_05_31/data/met/*.root"},
"pass&&trig[28]");
66 vector<shared_ptr<Process> > full_trig_skim_1l = {data_1l, t1tttt_nc, t1tttt_c,
tt1l,
tt2l, wjets, single_t, ttv, other};
72 {trig_mc+
"*_TTJets*Lept*.root"},
75 {trig_mc+
"*_TTJets*Lept*.root"},
78 {trig_mc+
"*_TTJets_TuneCUETP8M1_13TeV*.root"});
80 {trig_mc+
"*DYJetsToLL*HT*.root"});
82 {trig_mc+
"*_QCD_HT700to1000*.root",trig_mc+
"*_QCD_HT1000to1500*.root",
83 trig_mc+
"*_QCD_HT1500to2000*.root",trig_mc+
"*_QCD_HT2000toInf*.root"});
85 {trig_mc+
"*_TTWJet*root", trig_mc+
"*_TTZTo*.root",
86 trig_mc+
"*_ZJet*.root", trig_mc+
"*_WWTo*.root",
87 trig_mc+
"*ggZH_HToBB*.root", trig_mc+
"*ttHJetTobb*.root",
88 trig_mc+
"*_TTGJets*.root", trig_mc+
"*_TTTT_*.root",
89 trig_mc+
"*_WH_HToBB*.root", trig_mc+
"*_WZTo*.root",
90 trig_skim_mc+
"*_ST_*.root", trig_skim_mc+
"*_WJetsToLNu*.root",
91 trig_mc+
"*_ZH_HToBB*.root", trig_mc+
"_ZZ_*.root"});
94 {
"/net/cms2/cms2r0/babymaker/babies/2016_05_31/data/singlelep/combined/*.root"},
"pass&&(trig[20]||trig[22])");
95 vector<shared_ptr<Process> > full_trig_skim_2l = {data_2l, t1tttt_nc, t1tttt_c, tt1l_unskim, tt2l_unskim, dy_unskim, other_unskim};
98 {
"/net/cms2/cms2r0/babymaker/babies/2016_05_31/data/jetht/*.root"},
"pass&&trig[12]");
99 vector<shared_ptr<Process> > full_trig_skim_0l = {data_0l, t1tttt_nc, t1tttt_c, qcd_unskim, tt_unskim, other_unskim};
101 PlotOpt log_lumi(
"txt/plot_styles.txt",
"CMSPaper");
102 log_lumi.
Title(TitleType::preliminary)
103 .
Bottom(BottomType::ratio)
104 .
YAxis(YAxisType::log)
105 .
Stack(StackType::data_norm);
107 PlotOpt log_shapes = log_lumi().
Stack(StackType::shapes)
110 PlotOpt lin_shapes = log_shapes().
YAxis(YAxisType::linear);
111 PlotOpt log_lumi_info = log_lumi().
Title(TitleType::info);
112 PlotOpt lin_lumi_info = lin_lumi().
Title(TitleType::info);
113 PlotOpt log_shapes_info = log_shapes().
Title(TitleType::info);
114 PlotOpt lin_shapes_info = lin_shapes().
Title(TitleType::info);
115 vector<PlotOpt> all_plot_types = {log_lumi_info, lin_lumi_info};
118 string commoncut =
"mt<140&&ht>500&&met>200";
126 for(
int ilep=2; ilep<3; ilep++)
129 if(ilep==0) lepcut=commoncut+
"&&nels==1&&nmus==0";
130 if(ilep==1) lepcut=commoncut+
"&&nels==0&&nmus==1";
131 if(ilep==2) lepcut=commoncut+
"&&nleps==1";
136 pm.AddPlot(HistoDef(15, 500, 2000.,
"ht",
"H_{T} [GeV]",
137 lepcut+
"&&njets>=5&&nbm>=1",
"weight", {500.}),
138 full_trig_skim_1l, all_plot_types);
139 pm.AddPlot(HistoDef(10, 200, 500.,
"met",
"E_{T}^{miss} [GeV]",
140 lepcut+
"&&njets>=5&&nbm>=1",
"weight", {200., 350., 500.}),
141 full_trig_skim_1l, all_plot_types);
142 pm.AddPlot(HistoDef(16, -0.5, 15.5,
"njets",
"N_{jets}",
143 lepcut+
"&&nbm>=1",
"weight", {5.5, 8.5}),
144 full_trig_skim_1l, all_plot_types);
146 pm.AddPlot(HistoDef(16, 0., 280.,
"mt",
"m_{T} [GeV]",
147 lepcut+
"&&njets>=5&&nbm>=1",
"weight", {140.}),
148 full_trig_skim_1l, all_plot_types);
153 pm.AddPlot(HistoDef(10, 0, 500.,
"fjets14_m[0]",
"m_{J1} [GeV]",
154 lepcut+
"&&njets>=5&&nbm>=1",
"weight", {999.}),
155 full_trig_skim_1l, all_plot_types);
156 pm.AddPlot(HistoDef(20, 0, 400.,
"fjets14_m[0]",
"m_{J1} [GeV]",
157 lepcut+
"&&njets<=5&&nbm>=1",
"weight", {999.}),
158 full_trig_skim_1l, all_plot_types);
161 pm.AddPlot(HistoDef(10, 0., 1500.,
"mj14",
"M_{J} [GeV]",
162 lepcut+
"&&njets>=5&&nbm>=1",
"weight", {400.}),
163 full_trig_skim_1l, all_plot_types);
172 string mll=
"(mumu_m*(mumu_m>0&&mumu_pt1>30)+elel_m*(elel_m>0&&elel_pt1>30))";
173 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";
175 pm.AddPlot(HistoDef(10, 0., 1000.,
"mj14",
"M_{J} [GeV]",
176 "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))",
"weight", {400.}),
177 full_trig_skim_2l, all_plot_types);
179 pm.AddPlot(HistoDef(10, 0., 1000.,
"mj14",
"M_{J} [GeV]",
180 "(nmus>=2||nels>=2)&&ht>350&&njets>=4&&"+mllcut,
"weight", {400.}),
181 full_trig_skim_2l, all_plot_types);
187 pm.AddPlot(HistoDef(30, 0., 1500.,
"mj14",
"M_{J} [GeV]",
188 "nleps==0&&met<50&&ht>1000&&njets>=9",
"weight", {400.}),
189 full_trig_skim_0l, all_plot_types);
shared_ptr< Process > Proc(const string process_name, Process::Type type, int color, const set< string > &files, const string &cut="1")
PlotOpt & Stack(PlotOptTypes::StackType stack_type)
PlotOpt & YAxis(PlotOptTypes::YAxisType y_axis_type)
Organizes efficient production of plots with single loop over each process.
PlotOpt & Bottom(PlotOptTypes::BottomType bottom_type)
PlotOpt & ShowBackgroundError(bool show_background_error)
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.