479 |
|
TCut cutSF; |
480 |
|
TCut cutOF; |
481 |
|
|
482 |
+ |
cout << "Going to use cutOSSF " << (const char*) cutOSSF << " and cutnJets " << (const char*) cutnJets << " and ibasiccut " << (const char*) ibasiccut << endl; |
483 |
|
cutOF = cutOSOF&&cutnJets&&ibasiccut; |
484 |
|
cutSF = cutOSSF&&cutnJets&&ibasiccut; |
485 |
|
|
2002 |
|
MakeTauPlot("b-tag veto, 50<MET<100",TCut("pfJetGoodNumBtag30==0&&met[4]>50&&met[4]<100"),"TauQ/ControlPlots",false); |
2003 |
|
} |
2004 |
|
|
2005 |
+ |
void ProduceOFSFPlots(string mcjzb, string datajzb, bool isAachen) { |
2006 |
+ |
string BaseMetCut="met[4]>100"; |
2007 |
+ |
string Prefix="ETH/"; |
2008 |
+ |
if(isAachen) { |
2009 |
+ |
BaseMetCut="met[4]>150"; |
2010 |
+ |
Prefix="Aachen/"; |
2011 |
+ |
} |
2012 |
+ |
// make_OFSF_plots("st", BaseMetCut, 20, 0, 2000., false, "S_{T}", Prefix+"FrankT"); |
2013 |
+ |
make_OFSF_plots("mt2j", BaseMetCut, 35, 0, 700., false, "M_{T2J}", Prefix+"MT2J"); |
2014 |
+ |
|
2015 |
+ |
make_OFSF_plots("ml1b", BaseMetCut, 20, 0, 800., false, "m_{l_{1}b}", Prefix+"ML1B"); |
2016 |
+ |
make_OFSF_plots("ml2b", BaseMetCut, 20, 0, 400., false, "m_{l_{2}b}", Prefix+"ML2B"); |
2017 |
+ |
make_OFSF_plots("min(ml1b,ml2b)", BaseMetCut, 20, 0, 400., false, "m_{lb}", Prefix+"MLB"); |
2018 |
+ |
|
2019 |
+ |
// make_OFSF_plots(datajzb, BaseMetCut, 55, -100, 450., false, "JZB", Prefix+"JZB_In_Signal_Region"); |
2020 |
+ |
make_OFSF_plots("mt2", BaseMetCut, 15, 0, 150., false, "M_{T2}", Prefix+"MT2"); |
2021 |
+ |
make_OFSF_plots("d2", BaseMetCut, 20, 0, 200., true, "D2", Prefix+"D2"); |
2022 |
+ |
make_OFSF_plots("pfJetGoodNum40", BaseMetCut, 10, -0.5, 9.5, true, "N_{jets}", Prefix+"nJets"); |
2023 |
+ |
|
2024 |
+ |
// make_OFSF_plots("mll", BaseMetCut, 60, 20., 320., false, "m_{ll}", Prefix+"mll"); |
2025 |
+ |
// make_OFSF_plots("leptonNum", BaseMetCut, 3, 2, 5., false, "N(leptons)", Prefix+"NLeptons"); |
2026 |
+ |
|
2027 |
+ |
// make_OFSF_plots("pfJetGoodNum40", BaseMetCut, 7, 3, 10, true, "#(jets)", Prefix+"njets"); |
2028 |
+ |
// make_OFSF_plots("pfJetGoodNum40", BaseMetCut+"&&pfJetGoodNumBtag30==0", 7, 3, 10, true, "#(jets)", Prefix+"njets_btagVeto"); |
2029 |
+ |
// make_OFSF_plots("pfJetGoodNum40", BaseMetCut"&&pfJetGoodNumBtag30>0", 7, 3, 10, true, "#(jets)", Prefix+"njets_AtLeastOneBJet30"); |
2030 |
+ |
|
2031 |
+ |
// make_OFSF_plots("pfJetGoodNumBtag30", BaseMetCut, 5, -0.5, 4.5, true, "N_{b-jets}", Prefix+"nbjets"); |
2032 |
+ |
// make_OFSF_plots("pfJetGoodPtBtag[0]", BaseMetCut+"&&pfJetGoodNumBtag30>0", 20, 0, 400, true, "p_{T}(leading b-jet)", Prefix+"ptb1"); |
2033 |
+ |
// make_OFSF_plots("pfJetGoodPt", BaseMetCut, 30, 0., 400., true, "p_{T}^{J}", Prefix+"ptJet"); |
2034 |
+ |
|
2035 |
+ |
// make_OFSF_plots("iso1", BaseMetCut, 20, 0, 0.3, true, "lepton 1 isolation", Prefix+"iso1"); |
2036 |
+ |
// make_OFSF_plots("iso2", BaseMetCut, 20, 0, 0.3, true, "lepton 2 isolation", Prefix+"iso2"); |
2037 |
+ |
make_OFSF_plots("pt", BaseMetCut, 30, 0., 300., true, "p_{ll}", Prefix+"pt"); |
2038 |
+ |
make_OFSF_plots("pt1", BaseMetCut, 30, 0., 300., true, "p_{T,1}", Prefix+"pt1"); |
2039 |
+ |
make_OFSF_plots("pt2", BaseMetCut, 22, 0., 220., true, "p_{T,2}", Prefix+"pt2"); |
2040 |
+ |
// make_OFSF_plots("eta1", BaseMetCut, 10, -2.5, 2.5, false, "#eta_{1}", Prefix+"eta1", 0.15); |
2041 |
+ |
// make_OFSF_plots("eta2", BaseMetCut, 10, -2.5, 2.5, false, "#eta_{2}", Prefix+"eta2", 0.15); |
2042 |
+ |
// make_OFSF_plots("phi1", BaseMetCut, 10, -TMath::Pi(), TMath::Pi(), false, "#phi_{1}", Prefix+"phi1", 0.2); |
2043 |
+ |
// make_OFSF_plots("phi2", BaseMetCut, 10, -TMath::Pi(), TMath::Pi(), false, "#phi_{2}", Prefix+"phi2", 0.2); |
2044 |
+ |
// make_OFSF_plots("pfJetGoodPt[0]/pfJetGoodPt[1]", BaseMetCut, 20, 1, 10, true, "pt_{j}^{1}/pt_{j}^{2}", Prefix+"jpt1pt2", 0.2); |
2045 |
+ |
// make_OFSF_plots("TMath::Abs(pfJetDphiMet[0])", BaseMetCut, 16, 0, 3.2, false, "|#Delta#phi(jet1,MET)|", Prefix+"dphij1met", 0.2); |
2046 |
+ |
|
2047 |
+ |
// make_OFSF_plots("met[4]", BaseMetCut, 30, 100., 400., true, "E_{T}^{miss}", Prefix+"MET"); |
2048 |
+ |
// make_OFSF_plots("TMath::Abs(dphi)", BaseMetCut, 16, 0, 3.2, false, "|#Delta#phi(l1,l2)|", Prefix+"dphi", 0.2); |
2049 |
+ |
// make_OFSF_plots("TMath::Abs(dphiMet1)", BaseMetCut, 16, 0, 3.2, false, "|#Delta#phi(l1,MET)|", Prefix+"dphiMet1", 0.2); |
2050 |
+ |
// make_OFSF_plots("TMath::Abs(dphiMet2)", BaseMetCut, 16, 0, 3.2, false, "|#Delta#phi(l2,MET)|", Prefix+"dphiMet2", 0.2); |
2051 |
+ |
// make_OFSF_plots("TMath::Min(TMath::Abs(dphiMet1), TMath::Abs(dphiMet2))", BaseMetCut, 16, 0, 3.2, false, "Min(|#Delta#phi(l,MET)|)", Prefix+"dphilc"); |
2052 |
+ |
// make_OFSF_plots("TMath::Min(TMath::Abs(pfJetDphiMet[0]), TMath::Min(TMath::Abs(pfJetDphiMet[1]), TMath::Abs(pfJetDphiMet[2])))", BaseMetCut, 16, 0, 3.2, false, "Min(|#Delta#phi(jet,MET)|)", Prefix+"dphijc"); |
2053 |
+ |
// make_OFSF_plots("TMath::Min((TMath::Pi()-TMath::Abs(dphiMet1)), (TMath::Pi() - TMath::Abs(dphiMet2)))", BaseMetCut, 16, 0, 3.2, false, "Min(#pi - |#Delta#phi(l,MET)|)", Prefix+"dphilco"); |
2054 |
+ |
// make_OFSF_plots("TMath::Min((TMath::Pi()-TMath::Abs(pfJetDphiMet[0])), TMath::Min( (TMath::Pi()-TMath::Abs(pfJetDphiMet[1])), (TMath::Pi() - TMath::Abs(pfJetDphiMet[2]))))", BaseMetCut, 16, 0, 3.2, false, "Min(#pi - |#Delta#phi(jet,MET)|)", Prefix+"dphijco"); |
2055 |
+ |
|
2056 |
+ |
} |
2057 |
+ |
|
2058 |
+ |
void ProduceOFSFPlots(string mcjzb, string datajzb) { |
2059 |
+ |
|
2060 |
+ |
|
2061 |
+ |
//FIRST : ETH SELECTION |
2062 |
+ |
ProduceOFSFPlots(mcjzb,datajzb,0); // this is the ETH selection |
2063 |
+ |
|
2064 |
+ |
|
2065 |
+ |
|
2066 |
+ |
string backup_cutnJets = (const char*)cutnJets; |
2067 |
+ |
cutnJets = ReplaceInCut(cutnJets,"pfJetGoodNum40>=3","pfJetGoodNum40>=2"); |
2068 |
+ |
cutnJets = ReplaceInCut(cutnJets,"1.4","2.4"); |
2069 |
+ |
|
2070 |
+ |
string backup_basiccut = (const char*)basiccut; |
2071 |
+ |
basiccut = ReplaceInCut(basiccut,"1.4","2.4"); |
2072 |
+ |
|
2073 |
+ |
string backup_essential = (const char*) essentialcut; |
2074 |
+ |
essentialcut = ReplaceInCut(essentialcut,"1.4","2.4"); |
2075 |
+ |
|
2076 |
+ |
ProduceOFSFPlots(mcjzb,datajzb,1); // this is the Aachen selection |
2077 |
+ |
|
2078 |
+ |
cutnJets = TCut(backup_cutnJets.c_str()); |
2079 |
+ |
basiccut = TCut(backup_basiccut.c_str()); |
2080 |
+ |
essentialcut = TCut(backup_essential.c_str()); |
2081 |
+ |
} |
2082 |
+ |
|
2083 |
+ |
|
2084 |
|
void do_kinematic_plots(string mcjzb, string datajzb, bool doPF=false) |
2085 |
|
{ |
2086 |
|
// switch_overunderflow(true); |
2110 |
|
//assert(0); |
2111 |
|
// make_plain_kin_plot("pt",Cut2Str(cutOSSF&&TCut("mll>20&&pfJetGoodNumBtag30>=2")),40,0,200,nolog,"Z p_{T}","PlotForKostas",doPF,true); |
2112 |
|
|
2113 |
< |
if ( doOFSF ) { |
2114 |
< |
make_OFSF_plots("st", "met[4]>100", 20, 0, 2000., false, "S_{T}", "FrankT"); |
2035 |
< |
make_OFSF_plots(datajzb, "met[4]>100", 55, -100, 450., false, "JZB", "JZB_In_Signal_Region"); |
2036 |
< |
make_OFSF_plots("mt2", "met[4]>100", 15, 0, 150., false, "M_{T2}", "MT2"); |
2037 |
< |
make_OFSF_plots("d2", "met[4]>100", 30, 0, 300., false, "D2", "D2"); |
2038 |
< |
|
2039 |
< |
// make_OFSF_plots("mll", "met[4]>100", 60, 20., 320., false, "m_{ll}", "mll"); |
2040 |
< |
// make_OFSF_plots("leptonNum", "met[4]>100", 3, 2, 5., false, "N(leptons)", "NLeptons"); |
2041 |
< |
|
2042 |
< |
// make_OFSF_plots("pfJetGoodNum40", "met[4]>100", 7, 3, 10, true, "#(jets)", "njets"); |
2043 |
< |
// make_OFSF_plots("pfJetGoodNum40", "met[4]>100&&pfJetGoodNumBtag30==0", 7, 3, 10, true, "#(jets)", "njets_btagVeto"); |
2044 |
< |
// make_OFSF_plots("pfJetGoodNum40", "met[4]>100&&pfJetGoodNumBtag30>0", 7, 3, 10, true, "#(jets)", "njets_AtLeastOneBJet30"); |
2045 |
< |
|
2046 |
< |
make_OFSF_plots("pfJetGoodNumBtag30", "met[4]>100&&pfJetGoodNum40>=3", 5, -0.5, 4.5, true, "#(b-jets)", "nbjets"); |
2047 |
< |
// make_OFSF_plots("pfJetGoodPtBtag[0]", "met[4]>100&&pfJetGoodNumBtag30>0", 20, 0, 400, true, "p_{T}(leading b-jet)", "ptb1"); |
2048 |
< |
|
2049 |
< |
// make_OFSF_plots("iso1", "met[4]>100", 20, 0, 0.3, true, "lepton 1 isolation", "iso1"); |
2050 |
< |
// make_OFSF_plots("iso2", "met[4]>100", 20, 0, 0.3, true, "lepton 2 isolation", "iso2"); |
2051 |
< |
// make_OFSF_plots("pt1", "met[4]>100", 30, 0., 300., true, "p_{T,1}", "pt1"); |
2052 |
< |
make_OFSF_plots("pt", "met[4]>100", 30, 0., 300., true, "p_{ll}", "pt"); |
2053 |
< |
// make_OFSF_plots("pt2", "met[4]>100", 22, 0., 220., true, "p_{T,2}", "pt2"); |
2054 |
< |
// make_OFSF_plots("eta1", "met[4]>100", 10, -2.5, 2.5, false, "#eta_{1}", "eta1", 0.15); |
2055 |
< |
// make_OFSF_plots("eta2", "met[4]>100", 10, -2.5, 2.5, false, "#eta_{2}", "eta2", 0.15); |
2056 |
< |
// make_OFSF_plots("phi1", "met[4]>100", 10, -TMath::Pi(), TMath::Pi(), false, "#phi_{1}", "phi1", 0.2); |
2057 |
< |
// make_OFSF_plots("phi2", "met[4]>100", 10, -TMath::Pi(), TMath::Pi(), false, "#phi_{2}", "phi2", 0.2); |
2058 |
< |
// make_OFSF_plots("pfJetGoodPt[0]/pfJetGoodPt[1]", "met[4]>100", 20, 1, 10, true, "pt_{j}^{1}/pt_{j}^{2}", "jpt1pt2", 0.2); |
2059 |
< |
// make_OFSF_plots("TMath::Abs(pfJetDphiMet[0])", "met[4]>100", 16, 0, 3.2, false, "|#Delta#phi(jet1,MET)|", "dphij1met", 0.2); |
2060 |
< |
|
2061 |
< |
// make_OFSF_plots("TMath::Abs(dphi)", "met[4]>100", 16, 0, 3.2, false, "|#Delta#phi(l1,l2)|", "dphi", 0.2); |
2062 |
< |
// make_OFSF_plots("TMath::Abs(dphiMet1)", "met[4]>100", 16, 0, 3.2, false, "|#Delta#phi(l1,MET)|", "dphiMet1", 0.2); |
2063 |
< |
// make_OFSF_plots("TMath::Abs(dphiMet2)", "met[4]>100", 16, 0, 3.2, false, "|#Delta#phi(l2,MET)|", "dphiMet2", 0.2); |
2064 |
< |
// make_OFSF_plots("TMath::Min(TMath::Abs(dphiMet1), TMath::Abs(dphiMet2))", "met[4]>100", 16, 0, 3.2, false, "Min(|#Delta#phi(l,MET)|)", "dphilc"); |
2065 |
< |
// make_OFSF_plots("TMath::Min(TMath::Abs(pfJetDphiMet[0]), TMath::Min(TMath::Abs(pfJetDphiMet[1]), TMath::Abs(pfJetDphiMet[2])))", "met[4]>100", 16, 0, 3.2, false, "Min(|#Delta#phi(jet,MET)|)", "dphijc"); |
2066 |
< |
// make_OFSF_plots("TMath::Min((TMath::Pi()-TMath::Abs(dphiMet1)), (TMath::Pi() - TMath::Abs(dphiMet2)))", "met[4]>100", 16, 0, 3.2, false, "Min(#pi - |#Delta#phi(l,MET)|)", "dphilco"); |
2067 |
< |
// make_OFSF_plots("TMath::Min((TMath::Pi()-TMath::Abs(pfJetDphiMet[0])), TMath::Min( (TMath::Pi()-TMath::Abs(pfJetDphiMet[1])), (TMath::Pi() - TMath::Abs(pfJetDphiMet[2]))))", "met[4]>100", 16, 0, 3.2, false, "Min(#pi - |#Delta#phi(jet,MET)|)", "dphijco"); |
2068 |
< |
} |
2113 |
> |
if ( doOFSF ) ProduceOFSFPlots(mcjzb,datajzb); |
2114 |
> |
assert(0); |
2115 |
|
|
2116 |
|
if ( doDataComp) { |
2117 |
|
TCut mllCut(""); |
2206 |
|
if ( doKin ) { |
2207 |
|
string mllCut(""); |
2208 |
|
|
2209 |
+ |
make_plain_kin_plot("mll",Cut2Str(cutOSSF&&TCut("mll>20")),56,20,300,dolog,"m_{ll}","NoPreselection/mll_SF",doPF,true); |
2210 |
+ |
make_plain_kin_plot("mll",Cut2Str(cutOSOF&&TCut("mll>20")),56,20,300,dolog,"m_{ll}","NoPreselection/mll_OF",doPF,true); |
2211 |
+ |
|
2212 |
+ |
make_plain_kin_plot("met[4]",Cut2Str(cutOSSF&&TCut("mll>20")),80,0,400,dolog,"E_{T}^{miss}","NoPreselection/met_SF",doPF,true); |
2213 |
+ |
make_plain_kin_plot("met[4]",Cut2Str(cutOSOF&&TCut("mll>20")),80,0,400,dolog,"E_{T}^{miss}","NoPreselection/met_OF",doPF,true); |
2214 |
+ |
|
2215 |
+ |
make_plain_kin_plot("pfTightHT",Cut2Str(cutOSSF&&TCut("mll>20")),20,0,800,dolog,"H_{T}","NoPreselection/HT_SF",doPF,true); |
2216 |
+ |
make_plain_kin_plot("pfTightHT",Cut2Str(cutOSOF&&TCut("mll>20")),20,0,800,dolog,"H_{T}","NoPreselection/HT_OF",doPF,true); |
2217 |
+ |
|
2218 |
+ |
make_plain_kin_plot("pfJetGoodNum40",Cut2Str(cutOSSF&&TCut("mll>20")),10,-0.5,9.5,dolog,"n_{jets}","NoPreselection/NJets_SF",doPF,true); |
2219 |
+ |
make_plain_kin_plot("pfJetGoodNum40",Cut2Str(cutOSOF&&TCut("mll>20")),10,-0.5,9.5,dolog,"n_{jets}","NoPreselection/NJets_OF",doPF,true); |
2220 |
+ |
|
2221 |
+ |
make_plain_kin_plot("pfJetGoodNumBtag30",Cut2Str(cutOSSF&&TCut("mll>20")),10,-0.5,9.5,dolog,"n_{btags}","NoPreselection/NBTags_SF",doPF,true); |
2222 |
+ |
make_plain_kin_plot("pfJetGoodNumBtag30",Cut2Str(cutOSOF&&TCut("mll>20")),10,-0.5,9.5,dolog,"n_{btags}","NoPreselection/NBTags_OF",doPF,true); |
2223 |
+ |
|
2224 |
+ |
make_plain_kin_plot("pt1",Cut2Str(cutOSSF&&TCut("mll>20")),80,0,400,dolog,"p_{T}^{1}","NoPreselection/Pt1_SF",doPF,true); |
2225 |
+ |
make_plain_kin_plot("pt1",Cut2Str(cutOSOF&&TCut("mll>20")),80,0,400,dolog,"p_{T}^{1}","NoPreselection/Pt1_OF",doPF,true); |
2226 |
+ |
|
2227 |
+ |
make_plain_kin_plot("pt2",Cut2Str(cutOSSF&&TCut("mll>20")),80,0,400,dolog,"p_{T}^{2}","NoPreselection/Pt2_SF",doPF,true); |
2228 |
+ |
make_plain_kin_plot("pt2",Cut2Str(cutOSOF&&TCut("mll>20")),80,0,400,dolog,"p_{T}^{2}","NoPreselection/Pt2_OF",doPF,true); |
2229 |
+ |
|
2230 |
+ |
|
2231 |
+ |
assert(0); |
2232 |
|
make_plain_kin_plot("mll",Cut2Str(cutOSSF&&TCut("mll>60&&mll<120")),60,60,120,dolog,"m_{ll}","TestingLuminosity_SF",doPF,true); |
2233 |
|
make_plain_kin_plot("mll",Cut2Str(cutOSOF&&TCut("mll>60&&mll<120")),60,60,120,dolog,"m_{ll}","TestingLuminosity_OF",doPF,true); |
2165 |
– |
assert(0); |
2234 |
|
|
2235 |
|
make_plain_kin_plot("met[4]",Cut2Str(cutOSOF&&TCut("mll>30&&mll<70&&pfJetGoodNum40==0")),40,0,400,dolog,"PFMET","Debunking/MET_OF_30to70_0j",doPF,true); |
2236 |
|
make_plain_kin_plot("met[4]",Cut2Str(cutOSOF&&TCut("mll>30&&mll<70&&pfJetGoodNum40==1")),40,0,400,dolog,"PFMET","Debunking/MET_OF_30to70_1j",doPF,true); |
2473 |
|
make_comp_plot("TMath::Abs(pfJetDphiMet[0])","|#Delta#phi(jet1,MET)|","dphiJ1MET",jzbcut,mcjzb,datajzb,32,0,3.2,false,0,0,true); |
2474 |
|
|
2475 |
|
make_comp_plot("mll","m_{ll} [GeV]","mll",jzbcut,mcjzb,datajzb,56,mll_low,mll_high,false,0,16.); |
2476 |
< |
make_comp_plot("met[4]","pf#slash{E}_{T} [GeV]","pfmet",jzbcut,mcjzb,datajzb,18,0,360,false,0,16.); |
2476 |
> |
make_comp_plot("met[4]","E_{T}^{miss} [GeV]","pfmet",jzbcut,mcjzb,datajzb,18,0,360,false,0,16.); |
2477 |
|
make_comp_plot("pfJetGoodNum40","#(jets)","njets",jzbcut,mcjzb,datajzb,10,0,10, false,0,35.); |
2478 |
|
make_comp_plot("pfJetGoodNumBtag","#(b-jets)","nBjets",jzbcut,mcjzb,datajzb,10,0,10, false,0,35.); |
2479 |
|
make_comp_plot("pt","Z p_{T} [GeV]","Zpt",jzbcut,mcjzb,datajzb,26,0,525,false,0.,21.); |
5680 |
|
TCanvas *testcanv = new TCanvas("testcanv","testcanv"); |
5681 |
|
testcanv->cd(); |
5682 |
|
// switch_overunderflow(true); |
5683 |
< |
TH1F *ptdistr = allsamples.Draw("ptdistr","pt1",100,30,200, "p_{T} [GeV]", "events", cutOSSF,data,luminosity); |
5684 |
< |
// switch_overunderflow(false); |
5685 |
< |
ptdistr->Draw(); |
5686 |
< |
testcanv->SaveAs("test.png"); |
5683 |
> |
TH1F *histo1 = new TH1F("histo","histo",100,0,1); |
5684 |
> |
histo1->Sumw2(); |
5685 |
> |
TH1F *histo2 = new TH1F("histo2","histo2",100,0,1); |
5686 |
> |
histo2->Sumw2(); |
5687 |
> |
|
5688 |
> |
for(int i=0;i<100;i++) { |
5689 |
> |
histo1->Fill(1.0/i,i); |
5690 |
> |
histo2->Fill(1.0/(i*i),i); |
5691 |
> |
} |
5692 |
> |
|
5693 |
> |
histo1->Draw(); |
5694 |
> |
histo2->Draw("e1,same"); |
5695 |
> |
|
5696 |
> |
Save_With_Ratio( histo1, histo2, testcanv->cd(), "Bullshit", false, false, "AnyCrap" ); |
5697 |
> |
|
5698 |
> |
|
5699 |
|
dout << "HELLO there!" << endl; |
5700 |
|
|
5701 |
|
} |