9 vector<TString> iabcdcuts, TString icaption, TString ibasecuts):
11 planecuts(iplanecuts),
39 for(
size_t iplane=0; iplane <
planecuts.size(); iplane++) {
41 TString c_allnbnj =
"(("+
bincuts[iplane][0];
42 for(
size_t ibin=1; ibin <
bincuts[iplane].size(); ibin++)
43 c_allnbnj +=
")||("+
bincuts[iplane][ibin];
47 for(
size_t ibin=0; ibin <
bincuts[iplane].size(); ibin++){
48 for(
size_t iabcd=0; iabcd <
abcdcuts.size(); iabcd++){
54 if(
method.Contains(
"agg_")){
55 totcut.ReplaceAll(
"nj_all_1l",
"nbm>=1&&njets>=6");
57 totcut.ReplaceAll(
"nj_all_1l", c_allnbnj);
58 totcut.ReplaceAll(
"nj_all_2l",
lowerNjets(c_allnbnj));
60 totcut.ReplaceAll(
"nj_all_1l",
bincuts[iplane][ibin]);
63 totcut.ReplaceAll(
"nj_1l",
bincuts[iplane][ibin]);
75 cout<<
"Plane index "<<indplane<<
" greater than Nplanes = "<<
planecuts.size()<<
". Exiting"<<endl;
78 size_t Nabcd =
abcdcuts.size(), index = 0;
79 for(
size_t iplane=0; iplane < indplane; iplane++) index += Nabcd*
bincuts[iplane].size();
81 return index + Nabcd*indbin + indabcd;
94 for(
size_t iplane=0; iplane <
planecuts.size(); iplane++) {
98 for(
size_t ibin=0; ibin <
bincuts[iplane].size(); ibin++){
104 for(
size_t iabcd=0; iabcd <
abcdcuts.size(); iabcd++){
111 if(
method.Contains(
"_emu"))
basecuts.ReplaceAll(
"nleps==2",
"(nels==1&&nmus==1)");
119 cout<<endl<<endl<<
"=================== Printing cuts for method "<<
method<<
" ==================="<<endl;
121 for(
size_t iplane=0; iplane <
planecuts.size(); iplane++) {
122 cout<<endl<<
" **** Plane "<<
planecuts[iplane]<<
" ***"<<endl;
123 for(
size_t ibin=0; ibin <
bincuts[iplane].size(); ibin++){
124 for(
size_t iabcd=0; iabcd <
abcdcuts.size(); iabcd++)
134 TString lowcut = cut;
135 for(
int nj=6; nj<=9; nj++){
136 TString nj_s =
""; nj_s += nj;
137 TString njlo_s =
""; njlo_s += nj-1;
138 lowcut.ReplaceAll(nj_s, njlo_s);
abcd_method(TString imethod, std::vector< TString > iplanecuts, std::vector< TString > ibincuts, std::vector< TString > iabcdcuts, TString icaption="", TString ibasecuts="")
TString lowerNjets(TString &cut)
void ReplaceAll(std::string &str, const std::string &orig, const std::string &rep)
size_t indexBin(size_t iplane, size_t ibin, size_t iabcd)
std::vector< std::vector< TString > > bincuts
std::vector< TString > allcuts
std::vector< TString > abcdcuts
std::vector< TString > planecuts
void setIntNbNj(bool int_nbnj_b)