30 std::string extraWeight(
"w_lumi/weight");
31 std::string extraWeightGsUp(
"w_lumi/weight*(1+0.2*fromGS)");
32 std::string extraWeightGs(
"w_lumi/weight*(fromGS)");
33 std::string extraWeightGsDown(
"w_lumi/weight*(1-0.2*fromGS)");
37 TString folder_links=
"/homes/cawest/links/";
39 vector<TString> s_tt_MLM;
40 s_tt_MLM.push_back(
filestring(
"TTJets_TuneCUETP8M1_13TeV-madgraphMLM",
false));
41 vector<TString> s_tt_amcatnlo;
42 s_tt_amcatnlo.push_back(
filestring(
"TTJets_TuneCUETP8M1_13TeV-amcatnloFXFX-pythia8",
false));
43 vector<TString> s_tt_powheg;
44 s_tt_powheg.push_back(
filestring(
"TT_TuneCUETP8M1_13TeV-powheg-pythia8",
false));
45 vector<TString> s_qcd;
49 vector<sfeats> Samples;
53 Samples.back().doStack =
false;
55 Samples.back().doStack =
false;
64 vector<int> ra4_sam, ra4_sam_ns;
65 unsigned nsam(Samples.size());
66 for(
unsigned sam(0); sam < nsam; sam++){
67 ra4_sam.push_back(sam);
77 std::vector<TString> cutlist = {
"(nmus+nels)==0",
79 "(nmus+nels)==0&&nbm>=1&&mj>500&&njets>=4&&ht>1500",
80 "(nmus+nels)==1&&nbm>=1&&mj>500&&njets>=4&&ht>1200"};
81 for(
auto icut : cutlist) {
82 vars.push_back(
hfeats(
"nbm",6, 0, 6, ra4_sam,
"N_{b}", icut));
83 vars.push_back(
hfeats(
"dr_bb",8, 0, 6.4, ra4_sam,
"dr_bb", icut));
84 vars.push_back(
hfeats(
"dr_bb",8, 0, 6.4, ra4_sam,
"dr_bb", icut+
"&&fromGS"));
85 vars.push_back(
hfeats(
"dr_bb",8, 0, 6.4, ra4_sam,
"dr_bb", icut+
"&&!fromGS"));
86 vars.back().normalize =
true;
92 TString cuts(
"(nmus+nels)==1");
93 cuts =
"(nmus+nels)==1&&ht>1000&&ht<1500&&nbm>=1";
94 vars.push_back(
hfeats(
"njets",15, 0, 15, ra4_sam,
"N_{jets}", cuts));
95 vars.back().normalize =
true;
96 cuts =
"(nmus+nels)==1&&ht>1000&&ht<1500&&nbt>=1&&njets==5";
97 vars.push_back(
hfeats(
"nbt",6, 0, 6, ra4_sam,
"N_{b,tight}", cuts));
98 vars.back().normalize =
true;
99 cuts =
"(nmus+nels)==1&&ht>1000&&ht<1500&&nbm>=1&&njets==5";
100 vars.push_back(
hfeats(
"nbm",6, 0, 6, ra4_sam,
"N_{b}", cuts));
101 vars.back().normalize =
true;
102 vars.push_back(
hfeats(
"mj",12, 0, 600, ra4_sam,
"M_{J} (GeV)", cuts));
103 vars.back().normalize =
true;
104 vars.push_back(
hfeats(
"Max$(jets_pt)",20, 0, 1000, ra4_sam,
"p_{T1} (GeV)", cuts));
105 vars.back().normalize =
true;
106 vars.push_back(
hfeats(
"(jets_csv-0.89)/0.11", 10, 0, 1, ra4_sam,
"(CSV-CSV_{cut})/(CSV_{max}-CSV_{cut})", cuts));
107 vars.back().normalize =
true;
void plot_distributions(std::vector< sfeats > Samples, std::vector< hfeats > vars, TString luminosity="10", TString filetype=".eps", TString namestyle="LargeLabels", TString dir="1d", bool doRatio=false, bool showcuts=false)
std::string cutandweight(std::string cut, std::string weight)
TString filestring(TString dataset, bool isSkimmed=true)