diff --git a/Analysis/HiggsTauTau/filelists/Oct2_leg2016_102X.tar.gz b/Analysis/HiggsTauTau/filelists/Oct2_leg2016_102X.tar.gz index fa3283357..7567cea48 100644 Binary files a/Analysis/HiggsTauTau/filelists/Oct2_leg2016_102X.tar.gz and b/Analysis/HiggsTauTau/filelists/Oct2_leg2016_102X.tar.gz differ diff --git a/Analysis/HiggsTauTau/interface/TagAndProbe.h b/Analysis/HiggsTauTau/interface/TagAndProbe.h index 74cbdb065..911b6d097 100644 --- a/Analysis/HiggsTauTau/interface/TagAndProbe.h +++ b/Analysis/HiggsTauTau/interface/TagAndProbe.h @@ -82,6 +82,9 @@ class TagAndProbe : public ModuleBase { double pzeta_; unsigned gen_match_1_; unsigned gen_match_2_; + double gen_match_1_pt_; + double gen_match_2_pt_; + double gen_m_; bool pass_dz_; bool pass_mass8_; bool pass_dimu_; @@ -173,6 +176,9 @@ int TagAndProbe::PreAnalysis() { outtree_->Branch("trg_tag_2" , &trg_tag_2_ ); outtree_->Branch("gen_match_1", &gen_match_1_); outtree_->Branch("gen_match_2", &gen_match_2_); + outtree_->Branch("gen_match_1_pt", &gen_match_1_pt_); + outtree_->Branch("gen_match_2_pt", &gen_match_2_pt_); + outtree_->Branch("gen_m" , &gen_m_); outtree_->Branch("m_gamma_leptons", &m_gamma_leptons_); outtree_->Branch("pass_FSR_condition",&pass_FSR_condition_); outtree_->Branch("lepton_veto" , &lepton_veto_ ); @@ -224,7 +230,9 @@ int TagAndProbe::Execute(TreeEvent *event){ if(event->Exists("gen_match_1")) gen_match_1_ = MCOrigin2UInt(event->Get("gen_match_1")); if(event->Exists("gen_match_2")) gen_match_2_ = MCOrigin2UInt(event->Get("gen_match_2")); - + if(event->Exists("gen_match_1_pt")) gen_match_1_pt_ = event->Get("gen_match_1_pt"); + if(event->Exists("gen_match_2_pt")) gen_match_2_pt_ = event->Get("gen_match_2_pt"); + event->Exists("genM") ? gen_m_ = event->Get("genM") : 0.; trg_tag_1_ = false; trg_tag_2_ = false; trg_probe_1_ = false; diff --git a/Analysis/HiggsTauTau/scripts/HiggsTauTauPlot.py b/Analysis/HiggsTauTau/scripts/HiggsTauTauPlot.py index 15e1868c5..8b8dd68e7 100644 --- a/Analysis/HiggsTauTau/scripts/HiggsTauTauPlot.py +++ b/Analysis/HiggsTauTau/scripts/HiggsTauTauPlot.py @@ -828,9 +828,9 @@ # tauspinner with slimmed vars and classic bkg methods # note the names are the same but actually jetFakes is only QCD - mva_ggh = '(IC_Nov13_tauspinner_max_index==0)' - mva_jetFakes = '(IC_Nov13_tauspinner_max_index==1)' - mva_zttEmbed = '(IC_Nov13_tauspinner_max_index==2)' + mva_ggh = '(IC_Nov13_tauspinner_v1_max_index==0)' + mva_jetFakes = '(IC_Nov13_tauspinner_v1_max_index==1)' + mva_zttEmbed = '(IC_Nov13_tauspinner_v1_max_index==2)' cats['higgs'] = '({})'.format(mva_ggh) cats['zttEmbed'] = '({})'.format(mva_zttEmbed) diff --git a/Analysis/HiggsTauTau/scripts/TagAndProbeFits.py b/Analysis/HiggsTauTau/scripts/TagAndProbeFits.py index 396e00129..1480b0a05 100755 --- a/Analysis/HiggsTauTau/scripts/TagAndProbeFits.py +++ b/Analysis/HiggsTauTau/scripts/TagAndProbeFits.py @@ -404,29 +404,32 @@ def FitWorkspace(name,infile,outfile,sig_model='DoubleVCorr',bkg_model='Exponent "SUM::signalFail(vFracf[0.8,0,1]*signal1Fail, signal2Fail)" ] ) - elif sig_model == 'DoubleVUncorr_18': +# elif sig_model == 'DoubleVUncorr_Elec_ID': +# nparams = 6 +# pdf_args.extend( +# [ +# "Voigtian::signal1Pass(m_vis, mean1p[90,87,92], widthp[2.495], sigma1p[0.8,0.3,3])", +# "Voigtian::signal2Pass(m_vis, mean2p[90,85,95], widthp, sigma2p[4,2,7])", +# "SUM::signalPass(vFracp[0.8,0,1]*signal1Pass, signal2Pass)", +# "expr::sigma1f('sigma1p+x',sigma1p,x[0,0,2])", +# "Voigtian::signal1Fail(m_vis, mean1f[90,87,92], widthf[2.495], sigma1f)", +# "Voigtian::signal2Fail(m_vis, mean2f[90,85,95], widthf, sigma2f[4,2,10])", +# "SUM::signalFail(vFracf[0.8,0,1]*signal1Fail, signal2Fail)" +# ] +# ) + elif sig_model == 'DoubleVUncorr_Elec_ID': nparams = 6 pdf_args.extend( [ - "Voigtian::signal1Pass(m_vis, mean1p[90,85,95], widthp[2.495], sigma1p[2,1,4])", - "Voigtian::signal2Pass(m_vis, mean2p[90,85,95], widthp, sigma2p[4,2,10])", - "SUM::signalPass(vFracp[0.8,0,1]*signal1Pass, signal2Pass)", - "Voigtian::signal1Fail(m_vis, mean1f[90,85,95], widthf[2.495], sigma1f[2,1,4])", - "Voigtian::signal2Fail(m_vis, mean2f[90,85,95], widthf, sigma2f[4,2,10])", - "SUM::signalFail(vFracf[0.8,0,1]*signal1Fail, signal2Fail)" - ] - ) - elif sig_model == 'DoubleVUncorr_elec': - nparams = 6 - pdf_args.extend( - [ - "Voigtian::signal1Pass(m_vis, mean1p[90,85,95], widthp[2.495], sigma1p[2,0.2,4])", - "Voigtian::signal2Pass(m_vis, mean2p[90,85,95], widthp, sigma2p[4,0.5,10])", + "Voigtian::signal1Pass(m_vis, mean1p[90,87,92], widthp[2.495], sigma1p[0.8,0.3,3])", + "expr::sigma2p('sigma1p+y',sigma1p,y[0,0,4])", + "Voigtian::signal2Pass(m_vis, mean2p[90,85,95], widthp, sigma2p)", "SUM::signalPass(vFracp[0.8,0,1]*signal1Pass, signal2Pass)", - "Voigtian::signal1Fail(m_vis, mean1f[90,85,95], widthf[2.495], sigma1f[2,0.2,4])", - "Voigtian::signal2Fail(m_vis, mean2f[90,85,95], widthf, sigma2f[4,0.5,10])", +# "expr::sigma1f('sigma1p+x',sigma1p,x[0,0,2])", + "Voigtian::signal1Fail(m_vis, mean1f[90,87,92], widthf[2.495], sigma1f[1.5,0.7,5])", + "expr::sigma2f('sigma1f+z',sigma1f,z[0,0,4])", + "Voigtian::signal2Fail(m_vis, mean2f[90,85,95], widthf, sigma2f)", "SUM::signalFail(vFracf[0.8,0,1]*signal1Fail, signal2Fail)" - ] ) elif sig_model == 'DoubleVUncorr_elec_18': @@ -456,18 +459,29 @@ def FitWorkspace(name,infile,outfile,sig_model='DoubleVCorr',bkg_model='Exponent ] ) - - - elif sig_model == 'DoubleVPartcorr': + elif sig_model == 'DoubleVUncorr_diMu_ID': nparams = 6 pdf_args.extend( [ - "Voigtian::signal1Pass(m_vis, mean[90,85,95], width[2.495], sigma[2,0.2,4])", - "Voigtian::signal2Pass(m_vis, meanp[90,85,95], width[2.495], sigmap[2,1,10])", - "SUM::signalPass(vFracp[0.01,0,1]*signal1Pass, signal2Pass)", - "Voigtian::signal1Fail(m_vis, mean[90,85,95], width[2.495], sigma[2,0.2,4])", - "Voigtian::signal2Fail(m_vis, meanf[90,85,95], width[2.495], sigmaf[2,1,10])", - "SUM::signalFail(vFracf[0.01,0,1]*signal1Fail, signal2Fail)" + "Voigtian::signal1Pass(m_vis, mean1p[90,85,95], widthp[2.495], sigma1p[2,1,4])", + "Voigtian::signal2Pass(m_vis, mean2p[90,85,95], widthp, sigma2p[4,2,10])", + "SUM::signalPass(vFracp[0.8,0,1]*signal1Pass, signal2Pass)", + "expr::sigma1f('sigma1p+x',sigma1p,x[0,0,2])", + "Voigtian::signal1Fail(m_vis, mean1f[90,85,95], widthf[2.495], sigma1f)", + "Voigtian::signal2Fail(m_vis, mean2f[90,85,95], widthf, sigma2f[4,2,10])", + "SUM::signalFail(vFracf[0.8,0,1]*signal1Fail, signal2Fail)" + ] + ) + elif sig_model == 'DoubleVUncorr_diMu_trg': + nparams = 6 + pdf_args.extend( + [ + "Voigtian::signal1Pass(m_vis, mean1p[90,85,95], widthp[2.495], sigma1p[1,0.3,4])", + "Voigtian::signal2Pass(m_vis, mean2p[90,85,95], widthp, sigma2p[2,1,7])", + "SUM::signalPass(vFracp[0.8,0,1]*signal1Pass, signal2Pass)", + "Voigtian::signal1Fail(m_vis, mean1f[90,85,95], widthf[2.495], sigma1f[2,1,4])", + "Voigtian::signal2Fail(m_vis, mean2f[90,85,95], widthf, sigma2f[4,2,7])", + "SUM::signalFail(vFracf[0.8,0,1]*signal1Fail, signal2Fail)" ] ) elif sig_model == 'DoubleVPartcorr_18': @@ -483,15 +497,15 @@ def FitWorkspace(name,infile,outfile,sig_model='DoubleVCorr',bkg_model='Exponent ] ) - elif sig_model == 'DoubleVPartcorr_elec': + elif sig_model == 'DoubleVPartcorr': nparams = 6 pdf_args.extend( [ - "Voigtian::signal1Pass(m_vis, mean[90,85,95], width[2.495], sigma[2,0.5,4])", - "Voigtian::signal2Pass(m_vis, meanp[90,85,95], width[2.495], sigmap[2,1,15])", + "Voigtian::signal1Pass(m_vis, mean[90,85,95], width[2.495], sigma[2,1,4])", + "Voigtian::signal2Pass(m_vis, meanp[90,85,95], width[2.495], sigmap[2,1,10])", "SUM::signalPass(vFracp[0.01,0,1]*signal1Pass, signal2Pass)", - "Voigtian::signal1Fail(m_vis, mean[90,85,95], width[2.495], sigma[2,0.5,4])", - "Voigtian::signal2Fail(m_vis, meanf[90,85,95], width[2.495], sigmaf[2,1,15])", + "Voigtian::signal1Fail(m_vis, mean[90,85,95], width[2.495], sigma[2,1,4])", + "Voigtian::signal2Fail(m_vis, meanf[90,85,95], width[2.495], sigmaf[2,1,10])", "SUM::signalFail(vFracf[0.01,0,1]*signal1Fail, signal2Fail)" ] ) @@ -501,7 +515,7 @@ def FitWorkspace(name,infile,outfile,sig_model='DoubleVCorr',bkg_model='Exponent pdf_args.extend( [ "Voigtian::signal1Pass(m_vis, mean[90,85,95], width[2.495], sigma[2,1,4])", - "Voigtian::signal2Pass(m_vis, meanp[90,85,95], width[2.495], sigmap[2,1,10])", + "Voigtian::signal2Pass(m_vis, meanp[90,85,95], width[2.495], sigmap[2,1,15])", "SUM::signalPass(vFracp[0.01,0,1]*signal1Pass, signal2Pass)", "Voigtian::signal1Fail(m_vis, mean[90,85,95], width[2.495], sigma[2,1,4])", "Voigtian::signal2Fail(m_vis, meanf[90,70,100], width[2.495], sigmaf[2,1,15])", @@ -549,12 +563,12 @@ def FitWorkspace(name,infile,outfile,sig_model='DoubleVCorr',bkg_model='Exponent pdf_args.extend( [ "BreitWigner::BW(m_vis, meanbw[0], widthbw[2.495])", - "CBShape::CBPass1(m_vis, meanp1[90,80,100], sigmap1[2,0,10], alphap1[1,-50,50], np1[1,0,50])", - "CBShape::CBPass2(m_vis, meanp2[90,80,100], sigmap2[2,0,10], alphap2[1,-50,50], np2[1,0,50])", + "CBShape::CBPass1(m_vis, meanp1[90,80,100], sigmap1[2,0.5,10], alphap1[1,-50,50], np1[1,0,50])", + "CBShape::CBPass2(m_vis, meanp2[90,80,100], sigmap2[2,0.5,10], alphap2[1,-50,50], np2[1,0,50])", "SUM::DoubleCBPass(CBPass1, vFracp[0.8,0,1]*CBPass2)", "FFTConvPdf::signalPass(m_vis,DoubleCBPass,BW)", - "CBShape::CBFail1(m_vis, meanf1[90,80,100], sigmaf1[2,0,10], alphaf1[1,-50,50], nf1[1,0,50])", - "CBShape::CBFail2(m_vis, meanf2[90,80,100], sigmaf2[2,0,10], alphaf2[1,-50,50], nf2[1,0,50])", + "CBShape::CBFail1(m_vis, meanf1[90,80,100], sigmaf1[2,0.5,10], alphaf1[1,-50,50], nf1[1,0,50])", + "CBShape::CBFail2(m_vis, meanf2[90,80,100], sigmaf2[2,0.5,10], alphaf2[1,-50,50], nf2[1,0,50])", "SUM::DoubleCBFail(CBFail1, vFracf[0.8,0,1]*CBFail2)", "FFTConvPdf::signalFail(m_vis,DoubleCBFail,BW)", ] @@ -709,6 +723,10 @@ def FitWorkspace(name,infile,outfile,sig_model='DoubleVCorr',bkg_model='Exponent hist2d = infile.Get(name+'/%s_eff' % name) res = [] + if options.channel == 'tpzmm' and 'ZLL_trg' in name and 'Single' in options.tree_name: + wsp.var("sigma1p").setRange(0.2,2) + wsp.var("sigma1p").setVal(1) + for i in range(1,hist2d.GetNbinsX()+1): for j in range(1,hist2d.GetNbinsY()+1): xmin = hist2d.GetXaxis().GetBinLowEdge(i) @@ -718,51 +736,40 @@ def FitWorkspace(name,infile,outfile,sig_model='DoubleVCorr',bkg_model='Exponent ForceEventCount = False # for summer17 force event count (no fit) for isolated trigger and isolation SFs with pT > 30 GeV (needs checking what the threshold should be for aiso1 and aiso2) - if options.era in ['summer17','sm18'] and ('_trg' in name or '_iso' in name) and options.channel == 'tpzee' and not options.aiso1 and not options.aiso2: - if xmin >= 50: ForceEventCount = True - if options.era in ['summer18'] and ('_trg' in name or '_iso' in name) and options.channel == 'tpzee' and not options.aiso1 and not options.aiso2: - if xmin >= 50: ForceEventCount = True - if options.era in ['summer18'] and ('_id' in name) and options.channel == 'tpzee' and not options.aiso1 and not options.aiso2: - if xmin >= 30: ForceEventCount = True - + #if options.era in ['summer18','summer17','summer16','legacy16'] and ('_iso' in name or '_trg' in name) and options.channel == 'tpzee': + # if not options.aiso1 and not options.aiso2 and xmin >= 30 and not options.embed_sel: ForceEventCount = True + + if options.era in ['legacy16'] and '_iso' in name and options.channel == 'tpzee' and not options.aiso1 and not options.aiso2: + if xmin >= 40: ForceEventCount = True + + if options.era in ['legacy16'] and '_trg' in name and options.channel == 'tpzee' and not options.aiso1 and not options.aiso2: + if xmin >= 34: ForceEventCount = True + dat = '%s_pt_%.0f_to_%.0f_eta_%.1f_to_%.1f' % (name,xmin,xmax,ymin,ymax) yield_tot = wsp.data(dat).sumEntries() yield_pass = wsp.data(dat).sumEntries("cat==cat::pass") wsp.var("numTot").setVal(yield_tot) - if yield_tot>0: - wsp.var("efficiency").setVal(yield_pass/yield_tot) - wsp.var("efficiency").setError(math.sqrt(yield_pass)/yield_tot) #not quite correct error - else: - wsp.var("efficiency").setVal(0.) - wsp.var("efficiency").setError(0.) - ForceEventCount = True # dont do fit if yield is 0 anyway - - if options.channel=='tpzee' and 'id' in name and options.era == 'summer17': - if xmin>=100: - print 'changing sigma2f parameter' - wsp.var('sigma1f').setRange(0.2,4) - wsp.var('sigma2f').setRange(2,15) - wsp.var('sigma2p').setRange(2,10) - elif xmin >= 40: - wsp.var('sigma2f').setRange(0.2,10) - wsp.var('sigma1f').setRange(0.2,10) - wsp.var('sigma2p').setRange(0.2,10) - elif xmin>=50 and xmin<100: - print 'changing sigmaf parameters' - wsp.var('sigma2f').setRange(0.2,10) - wsp.var('sigma1f').setRange(0.2,10) - wsp.var('sigma2p').setRange(2,10) - else: - wsp.var('sigma1f').setRange(0.2,4) - wsp.var('sigma2f').setRange(2,10) - wsp.var('sigma2p').setRange(2,10) - if options.channel=='tpzee' and 'id' in name and option.era in ['sm18']: - print("changing range of betaFail for bkg") - wsp.var('betaFail').setRange(0,0.1) - - + wsp.var("efficiency").setVal(yield_pass/yield_tot) + wsp.var("efficiency").setError(math.sqrt(yield_pass)/yield_tot) #not quite correct error + + if options.channel == 'tpzmm' and 'iso' in name: + if xmin<20: + wsp.var("alpha").setRange(100,101) + wsp.var("alpha").setVal(100.5) + wsp.var("alphap").setRange(100,101) + wsp.var("alphap").setVal(100.5) + wsp.var("alphaf").setRange(100,101) + wsp.var("alphaf").setVal(100.5) + else: + wsp.var("alpha").setRange(-50,50) + wsp.var("alpha").setVal(1) + wsp.var("alphap").setRange(-50,50) + wsp.var("alphap").setVal(1) + wsp.var("alphaf").setRange(-50,50) + wsp.var("alphaf").setVal(1) + if doFit and not ForceEventCount: wsp.pdf("model").fitTo(wsp.data(dat), ROOT.RooFit.Optimize(False), @@ -1113,6 +1120,7 @@ def FitWorkspace(name,infile,outfile,sig_model='DoubleVCorr',bkg_model='Exponent sffile = ROOT.TFile(sffile_name, 'RECREATE') for name in wsnames: + #if not 'iso' in name: continue # delete me! sig_model = 'DoubleVUncorr' if options.channel == 'tpzmm' and 'trg' in name: sig_model = 'DoubleVCorr' if options.channel == 'tpzee': sig_model = 'DoubleVUncorr' @@ -1122,6 +1130,15 @@ def FitWorkspace(name,infile,outfile,sig_model='DoubleVCorr',bkg_model='Exponent else: sig_model='BWCBGausConvUncorr' #sig_model = 'DoubleVUncorr' if options.channel =='tpzmm' and 'iso' in name: sig_model = 'BWDoubleCBConvCorr_TwoPeaks' + elif (options.channel == 'tpzmm') and ('id' in name) and (not 'dimu' in options.tree_name) : sig_model = 'DoubleVUncorr' + elif options.channel == 'tpzmm' and 'id' in name and 'dimu' in options.tree_name: sig_model = 'DoubleVUncorr_diMu_ID' + elif (options.channel == 'tpzmm') and ('trg' in name) and (not 'mt' in options.tree_name) and (not 'dimu' in options.tree_name): sig_model = 'DoubleVUncorr' + elif options.channel == 'tpzmm' and 'trg' in name and 'mt' in options.tree_name: sig_model = 'DoubleVCorr' + elif options.channel == 'tpzmm' and 'trg' in name and 'dimu' in options.tree_name: sig_model = 'DoubleVUncorr_diMu_trg' + elif options.channel == 'tpzee' and 'id' in name : sig_model = 'DoubleVUncorr_Elec_ID' + elif options.channel == 'tpzee' and 'iso' in name: sig_model = 'DoubleVUncorr_elec_TwoPeaks' + elif options.channel == 'tpzee' and 'trg' in name: sig_model = 'DoubleVUncorr_Elec_ID' + #elif options.channel == 'tpzee' and 'trg' in name: sig_model = 'BWDoubleCBConvUncorr' else: sig_model = 'BWDoubleCBConvCorr' if options.era in ['summer17','sm18']: @@ -1159,6 +1176,7 @@ def FitWorkspace(name,infile,outfile,sig_model='DoubleVCorr',bkg_model='Exponent sf_types = ['id','iso','trg'] if options.trg_only: sf_types = ['trg'] +#sf_stypes=['iso'] # delete me! for i in sf_types: hist2d = sffile.Get('data_%s_eff' % i) diff --git a/Analysis/HiggsTauTau/scripts/config2017cpdecay.json b/Analysis/HiggsTauTau/scripts/config2017cpdecay.json index da75aa074..cadcffd9f 100644 --- a/Analysis/HiggsTauTau/scripts/config2017cpdecay.json +++ b/Analysis/HiggsTauTau/scripts/config2017cpdecay.json @@ -4,7 +4,7 @@ "file_prefix" : "root://gfe02.grid.hep.ph.ic.ac.uk:1097/store/user/adow/Sep29_MC_102X_2017/", "max_events": -1, "timings": true, - "channels": ["et","mt","tt"], + "channels": ["tt"], "sequences": { "all": ["default"] //,"scale_met_high,""scale_met_lo","res_met_high","res_met_lo"] @@ -58,10 +58,10 @@ "do_ff_systematics": false, "do_pdf_wts": false, "do_qcd_scale_wts": false, - //"output_folder" : "/vols/cms/dw515/Offline/output/SM/fakefactors_2017/", - // "output_folder" : "/vols/cms/dw515/Offline/output/SM/em_2017/", - // "output_folder" : "/vols/cms/akd116/Offline/output/SM/2019/Oct21_2017_nominalWithFastMTT/", - "output_folder" : "/vols/cms/akd116/Offline/output/SM/2019/Nov05_2017_nominalWithFastMTT/", + //"output_folder" : "output/", + //"output_folder" : "/vols/cms/dw515/Offline/output/SM/new_sf_2017/", + //"output_folder" : "/vols/cms/mhh18/Offline/output/SM/11Nov_Run2017_tautau_Nominal/", + "output_folder" : "/vols/cms/mhh18/Offline/output/SM/11Nov_Run2017_tautau/", "svfit_from_grid" : true, "read_all_svfit_files" : true, // "svfit_folder" : "/vols/cms/akd116/Offline/output/SM/2019/May07_2017_SVFit/", @@ -75,7 +75,7 @@ // "event_check_file":"checkfile.dat", "pu_id_training": 4, "bjet_regr_correction" : false, - "new_svfit_mode" : 0, + "new_svfit_mode" : 2, "kinfit_mode" : 0, "mva_met_mode" : 0, "do_met_filters" : 0, diff --git a/Analysis/HiggsTauTau/scripts/config2018cpdecay.json b/Analysis/HiggsTauTau/scripts/config2018cpdecay.json index c0214a2e0..68a28dc33 100644 --- a/Analysis/HiggsTauTau/scripts/config2018cpdecay.json +++ b/Analysis/HiggsTauTau/scripts/config2018cpdecay.json @@ -59,8 +59,8 @@ "do_ff_systematics": false, "do_pdf_wts": false, "do_qcd_scale_wts": false, - "output_folder" : "/vols/cms/dw515/Offline/output/SM/CP_2018_v5/", - //"output_folder" : "./output/", + //"output_folder" : "/vols/cms/dw515/Offline/output/SM/new_sf_2018/", + "output_folder" : "/vols/cms/mhh18/Offline/output/SM/11Nov_Run2018_tautau_Nominal/", "svfit_from_grid" : true, "read_all_svfit_files" : true, //"svfit_folder" : "/vols/cms/dw515/Offline/output/SM/SVFit_2016/", diff --git a/Analysis/HiggsTauTau/scripts/configlegacy2016.json b/Analysis/HiggsTauTau/scripts/configlegacy2016.json index 1da7af28b..8720af2fb 100644 --- a/Analysis/HiggsTauTau/scripts/configlegacy2016.json +++ b/Analysis/HiggsTauTau/scripts/configlegacy2016.json @@ -137,8 +137,8 @@ "max_extra_muons": 0, "do_tau_anti_muon": true, "do_tau_anti_elec":true, - "do_ff_weights" : true, - "do_ff_systematics": true, + "do_ff_weights" : false, + "do_ff_systematics": false, "ff_categories" :"inclusive", "ff_file" : "input/fake_factors/fakefactors_ws_2016.root", "ff_fracs_file" : "" @@ -154,8 +154,8 @@ "extra_muon_veto" : true, "do_tau_anti_muon": true, "do_tau_anti_elec":true, - "do_ff_weights" : true, - "do_ff_systematics": true, + "do_ff_weights" : false, + "do_ff_systematics": false, "ff_categories" :"inclusive", "ff_file" : "input/fake_factors/fakefactors_ws_2016.root", "ff_fracs_file" : "" @@ -173,8 +173,8 @@ "max_extra_muons": 1, "do_tau_anti_muon": true, "do_tau_anti_elec":true, - "do_ff_weights" : true, - "do_ff_systematics": true, + "do_ff_weights" : false, + "do_ff_systematics": false, "ff_categories" :"inclusive", "ff_file" : "input/fake_factors/fakefactors_ws_2016.root", "ff_fracs_file" : "" diff --git a/Analysis/HiggsTauTau/scripts/configlegacy2016_TAP.json b/Analysis/HiggsTauTau/scripts/configlegacy2016_TAP.json index 79df0491a..b20351991 100644 --- a/Analysis/HiggsTauTau/scripts/configlegacy2016_TAP.json +++ b/Analysis/HiggsTauTau/scripts/configlegacy2016_TAP.json @@ -58,7 +58,7 @@ "do_ff_systematics": false, "do_pdf_wts": false, "do_qcd_scale_wts": false, - "output_folder" : "/vols/cms/mhh18/Offline/output/SM/TAP_Oct2_2016legacy/try1", + "output_folder" : "/vols/cms/mhh18/Offline/output/SM/TAP_Oct2_2016legacy/try4", //"output_folder" : "output/", "svfit_from_grid" : true, "read_all_svfit_files" : true, diff --git a/Analysis/HiggsTauTau/scripts/hadd_smsummer17_output.py b/Analysis/HiggsTauTau/scripts/hadd_smsummer17_output.py index 7323fb751..919fb6cb1 100755 --- a/Analysis/HiggsTauTau/scripts/hadd_smsummer17_output.py +++ b/Analysis/HiggsTauTau/scripts/hadd_smsummer17_output.py @@ -185,6 +185,8 @@ def list_paths(path): # subdirs=list_paths(outputf) #print subdirs +# subdirs = ['TSCALE_DOWN','TSCALE_UP','TSCALE0PI_UP','TSCALE0PI_DOWN','TSCALE1PI_UP','TSCALE1PI_DOWN','TSCALE3PRONG_UP','TSCALE3PRONG_DOWN','JES_UP','JES_DOWN', 'BTAG_UP','BTAG_DOWN','BFAKE_UP','BFAKE_DOWN','MET_SCALE_UP','MET_SCALE_DOWN','MET_RES_UP','MET_RES_DOWN', 'EFAKE0PI_UP', 'EFAKE0PI_DOWN', 'EFAKE1PI_UP', 'EFAKE1PI_DOWN','MUFAKE0PI_UP','MUFAKE0PI_DOWN','MUFAKE1PI_UP','MUFAKE1PI_DOWN','METUNCL_UP','METUNCL_DOWN','METCL_UP','METCL_DOWN','MUSCALE_UP','MUSCALE_DOWN','ESCALE_UP','ESCALE_DOWN','JESFULL_DOWN','JESFULL_UP','JESCENT_UP','JESCENT_DOWN','JESHF_UP','JESHF_DOWN','JESRBAL_UP','JESRBAL_DOWN','MET_SCALE_NJETS0_DOWN','MET_SCALE_NJETS0_UP','MET_SCALE_NJETS1_DOWN','MET_SCALE_NJETS1_UP','MET_SCALE_NJETS2_DOWN','MET_SCALE_NJETS2_UP','MET_RES_NJETS0_DOWN','MET_RES_NJETS0_UP','MET_RES_NJETS1_DOWN','MET_RES_NJETS1_UP','MET_RES_NJETS2_DOWN','MET_RES_NJETS2_UP','JES_UNCORR_DOWN','JES_UNCORR_UP','JES_CORR_DOWN','JES_CORR_UP','JESFULL_CORR_DOWN','JESFULL_CORR_UP','JESCENT_CORR_UP','JESCENT_CORR_DOWN','JESHF_CORR_UP','JESHF_CORR_DOWN','JESFULL_UNCORR_DOWN','JESFULL_UNCORR_UP','JESCENT_UNCORR_UP','JESCENT_UNCORR_DOWN','JESHF_UNCORR_UP','JESHF_UNCORR_DOWN','JESRSAMP_DOWN','JESRSAMP_UP','JESBBEE1_DOWN','JESBBEE1_UP','JESBBEE1_UNCORR_DOWN','JESBBEE1_UNCORR_UP','JESBBEE1_CORR_DOWN','JESBBEE1_CORR_UP','JESEE2_DOWN','JESEE2_UP','JESEE2_UNCORR_DOWN','JESEE2_UNCORR_UP','JESEE2_CORR_DOWN','JESEE2_CORR_UP'] +subdirs = ["JES_UP","JES_DOWN",'TSCALE0PI_UP','TSCALE0PI_DOWN','TSCALE1PI_UP','TSCALE1PI_DOWN','TSCALE3PRONG_UP','TSCALE3PRONG_DOWN'] # subdirs=[] # subdirs = ['TSCALE_DOWN','TSCALE_UP','TSCALE0PI_UP','TSCALE0PI_DOWN','TSCALE1PI_UP','TSCALE1PI_DOWN','TSCALE3PRONG_UP','TSCALE3PRONG_DOWN','JES_UP','JES_DOWN', 'BTAG_UP','BTAG_DOWN','BFAKE_UP','BFAKE_DOWN','MET_SCALE_UP','MET_SCALE_DOWN','MET_RES_UP','MET_RES_DOWN', 'EFAKE0PI_UP', 'EFAKE0PI_DOWN', 'EFAKE1PI_UP', 'EFAKE1PI_DOWN','MUFAKE0PI_UP','MUFAKE0PI_DOWN','MUFAKE1PI_UP','MUFAKE1PI_DOWN','METUNCL_UP','METUNCL_DOWN','METCL_UP','METCL_DOWN','MUSCALE_UP','MUSCALE_DOWN','ESCALE_UP','ESCALE_DOWN','JESFULL_DOWN','JESFULL_UP','JESCENT_UP','JESCENT_DOWN','JESHF_UP','JESHF_DOWN','JESRBAL_UP','JESRBAL_DOWN','MET_SCALE_NJETS0_DOWN','MET_SCALE_NJETS0_UP','MET_SCALE_NJETS1_DOWN','MET_SCALE_NJETS1_UP','MET_SCALE_NJETS2_DOWN','MET_SCALE_NJETS2_UP','MET_RES_NJETS0_DOWN','MET_RES_NJETS0_UP','MET_RES_NJETS1_DOWN','MET_RES_NJETS1_UP','MET_RES_NJETS2_DOWN','MET_RES_NJETS2_UP','JES_UNCORR_DOWN','JES_UNCORR_UP','JES_CORR_DOWN','JES_CORR_UP','JESFULL_CORR_DOWN','JESFULL_CORR_UP','JESCENT_CORR_UP','JESCENT_CORR_DOWN','JESHF_CORR_UP','JESHF_CORR_DOWN','JESFULL_UNCORR_DOWN','JESFULL_UNCORR_UP','JESCENT_UNCORR_UP','JESCENT_UNCORR_DOWN','JESHF_UNCORR_UP','JESHF_UNCORR_DOWN','JESRSAMP_DOWN','JESRSAMP_UP','JESBBEE1_DOWN','JESBBEE1_UP','JESBBEE1_UNCORR_DOWN','JESBBEE1_UNCORR_UP','JESBBEE1_CORR_DOWN','JESBBEE1_CORR_UP','JESEE2_DOWN','JESEE2_UP','JESEE2_UNCORR_DOWN','JESEE2_UNCORR_UP','JESEE2_CORR_DOWN','JESEE2_CORR_UP'] subdirs = ['TSCALE_DOWN','TSCALE_UP','TSCALE0PI_UP','TSCALE0PI_DOWN','TSCALE1PI_UP','TSCALE1PI_DOWN','TSCALE3PRONG_UP','TSCALE3PRONG_DOWN','JES_UP','JES_DOWN','MET_SCALE_UP','MET_SCALE_DOWN','MET_RES_UP','MET_RES_DOWN', 'EFAKE0PI_UP', 'EFAKE0PI_DOWN', 'EFAKE1PI_UP', 'EFAKE1PI_DOWN','MUFAKE0PI_UP','MUFAKE0PI_DOWN','MUFAKE1PI_UP','MUFAKE1PI_DOWN','METUNCL_UP','METUNCL_DOWN','MUSCALE_UP','MUSCALE_DOWN','ESCALE_UP','ESCALE_DOWN'] diff --git a/Analysis/HiggsTauTau/scripts/makeDatacards_cpdecay_2017.py b/Analysis/HiggsTauTau/scripts/makeDatacards_cpdecay_2017.py index 03aea22db..415cd78a9 100755 --- a/Analysis/HiggsTauTau/scripts/makeDatacards_cpdecay_2017.py +++ b/Analysis/HiggsTauTau/scripts/makeDatacards_cpdecay_2017.py @@ -225,23 +225,23 @@ def run_command(command): VAR_ET_TI_LO='m_sv,sjdphi[50,80,100,150,200],(12,-3.2,3.2)' VAR_EM_TI_LO='m_sv,sjdphi[50,80,100,150,200],(12,-3.2,3.2)' - VAR_H_TT_Rho_Rho="IC_Nov13_tauspinner_max_score,aco_angle_1[0.,0.7,0.8,0.9],(14,0,6.28319)" - VAR_H_TT_0A1_Rho_and_0A1_0A1="IC_Nov13_tauspinner_max_score,aco_angle_1[0.,0.7,0.8,0.9],(14,0,6.28319)" - VAR_H_TT_A1_Rho_angle1="IC_Nov13_tauspinner_max_score,aco_angle_1[0.,0.7,0.8,0.9],(14,0,6.28319)" - VAR_H_TT_A1_Rho_angle2="IC_Nov13_tauspinner_max_score,aco_angle_2[0.,0.7,0.8,0.9],(14,0,6.28319)" - VAR_H_TT_A1_A1_angle1="IC_Nov13_tauspinner_max_score,aco_angle_1[0.,0.7,0.8,0.9],(14,0,6.28319)" - VAR_H_TT_A1_A1_angle2="IC_Nov13_tauspinner_max_score,aco_angle_2[0.,0.7,0.8,0.9],(14,0,6.28319)" - VAR_H_TT_A1_A1_angle3="IC_Nov13_tauspinner_max_score,aco_angle_3[0.,0.7,0.8,0.9],(14,0,6.28319)" - VAR_H_TT_A1_A1_angle4="IC_Nov13_tauspinner_max_score,aco_angle_4[0.,0.7,0.8,0.9],(14,0,6.28319)" - VAR_H_TT_Pi_Pi="IC_Nov13_tauspinner_max_score,aco_angle_6[0.,0.7,0.8,0.9],(14,0,6.28319)" - VAR_H_TT_Pi_Rho_Mixed="IC_Nov13_tauspinner_max_score,aco_angle_5[0.,0.7,0.8,0.9],(14,0,6.28319)" - VAR_H_TT_Pi_Rho_IP="IC_Nov13_tauspinner_max_score,aco_angle_6[0.,0.7,0.8,0.9],(14,0,6.28319)" - VAR_H_TT_Pi_0A1_Mixed="IC_Nov13_tauspinner_max_score,aco_angle_5[0.,0.7,0.8,0.9],(14,0,6.28319)" - VAR_H_TT_Pi_0A1_IP="IC_Nov13_tauspinner_max_score,aco_angle_6[0.,0.7,0.8,0.9],(14,0,6.28319)" - VAR_H_TT_Pi_A1_Mixed="IC_Nov13_tauspinner_max_score,aco_angle_5[0.,0.7,0.8,0.9],(14,0,6.28319)" - VAR_H_TT_Other = "IC_Nov13_tauspinner_max_score[0.,0.7,0.8,0.9]" - VAR_ZTTEMBED_TT = "IC_Nov13_tauspinner_max_score[0.,0.7,0.8,0.9]" - VAR_JETFAKES_TT = "IC_Nov13_tauspinner_max_score[0.,0.7,0.8,0.9]" + VAR_H_TT_Rho_Rho="IC_Nov13_tauspinner_v1_max_score,aco_angle_1[0.,0.7,0.8,0.9],(14,0,6.28319)" + VAR_H_TT_0A1_Rho_and_0A1_0A1="IC_Nov13_tauspinner_v1_max_score,aco_angle_1[0.,0.7,0.8,0.9],(14,0,6.28319)" + VAR_H_TT_A1_Rho_angle1="IC_Nov13_tauspinner_v1_max_score,aco_angle_1[0.,0.7,0.8,0.9],(14,0,6.28319)" + VAR_H_TT_A1_Rho_angle2="IC_Nov13_tauspinner_v1_max_score,aco_angle_2[0.,0.7,0.8,0.9],(14,0,6.28319)" + VAR_H_TT_A1_A1_angle1="IC_Nov13_tauspinner_v1_max_score,aco_angle_1[0.,0.7,0.8,0.9],(14,0,6.28319)" + VAR_H_TT_A1_A1_angle2="IC_Nov13_tauspinner_v1_max_score,aco_angle_2[0.,0.7,0.8,0.9],(14,0,6.28319)" + VAR_H_TT_A1_A1_angle3="IC_Nov13_tauspinner_v1_max_score,aco_angle_3[0.,0.7,0.8,0.9],(14,0,6.28319)" + VAR_H_TT_A1_A1_angle4="IC_Nov13_tauspinner_v1_max_score,aco_angle_4[0.,0.7,0.8,0.9],(14,0,6.28319)" + VAR_H_TT_Pi_Pi="IC_Nov13_tauspinner_v1_max_score,aco_angle_6[0.,0.7,0.8,0.9],(14,0,6.28319)" + VAR_H_TT_Pi_Rho_Mixed="IC_Nov13_tauspinner_v1_max_score,aco_angle_5[0.,0.7,0.8,0.9],(14,0,6.28319)" + VAR_H_TT_Pi_Rho_IP="IC_Nov13_tauspinner_v1_max_score,aco_angle_6[0.,0.7,0.8,0.9],(14,0,6.28319)" + VAR_H_TT_Pi_0A1_Mixed="IC_Nov13_tauspinner_v1_max_score,aco_angle_5[0.,0.7,0.8,0.9],(14,0,6.28319)" + VAR_H_TT_Pi_0A1_IP="IC_Nov13_tauspinner_v1_max_score,aco_angle_6[0.,0.7,0.8,0.9],(14,0,6.28319)" + VAR_H_TT_Pi_A1_Mixed="IC_Nov13_tauspinner_v1_max_score,aco_angle_5[0.,0.7,0.8,0.9],(14,0,6.28319)" + VAR_H_TT_Other = "IC_Nov13_tauspinner_v1_max_score[0.,0.7,0.8,0.9]" + VAR_ZTTEMBED_TT = "IC_Nov13_tauspinner_v1_max_score[0.,0.7,0.8,0.9]" + VAR_JETFAKES_TT = "IC_Nov13_tauspinner_v1_max_score[0.,0.7,0.8,0.9]" scheme_et = [ diff --git a/Analysis/HiggsTauTau/scripts/makeDatacards_cpdecay_2018.py b/Analysis/HiggsTauTau/scripts/makeDatacards_cpdecay_2018.py index 2944a09b9..d78a59826 100755 --- a/Analysis/HiggsTauTau/scripts/makeDatacards_cpdecay_2018.py +++ b/Analysis/HiggsTauTau/scripts/makeDatacards_cpdecay_2018.py @@ -225,19 +225,23 @@ def run_command(command): VAR_ET_TI_LO='m_sv,sjdphi[50,80,100,150,200],(12,-3.2,3.2)' VAR_EM_TI_LO='m_sv,sjdphi[50,80,100,150,200],(12,-3.2,3.2)' - VAR_H_TT_Rho_Rho="IC_Nov13_tauspinner_max_score,aco_angle_1[0.,0.7,0.8,0.9],(14,0,6.28319)" - VAR_H_TT_0A1_Rho_and_0A1_0A1="IC_Nov13_tauspinner_max_score,aco_angle_1[0.,0.7,0.8,0.9],(14,0,6.28319)" - VAR_H_TT_A1_Rho_angle1="IC_Nov13_tauspinner_max_score,aco_angle_1[0.,0.7,0.8,0.9],(14,0,6.28319)" - VAR_H_TT_A1_Rho_angle2="IC_Nov13_tauspinner_max_score,aco_angle_2[0.,0.7,0.8,0.9],(14,0,6.28319)" - VAR_H_TT_A1_A1_angle1="IC_Nov13_tauspinner_max_score,aco_angle_1[0.,0.7,0.8,0.9],(14,0,6.28319)" - VAR_H_TT_A1_A1_angle2="IC_Nov13_tauspinner_max_score,aco_angle_2[0.,0.7,0.8,0.9],(14,0,6.28319)" - VAR_H_TT_A1_A1_angle3="IC_Nov13_tauspinner_max_score,aco_angle_3[0.,0.7,0.8,0.9],(14,0,6.28319)" - VAR_H_TT_A1_A1_angle4="IC_Nov13_tauspinner_max_score,aco_angle_4[0.,0.7,0.8,0.9],(14,0,6.28319)" - VAR_H_TT_Pi_Pi="IC_Nov13_tauspinner_max_score,aco_angle_6[0.,0.7,0.8,0.9],(14,0,6.28319)" - VAR_H_TT_Pi_Rho_Mixed="IC_Nov13_tauspinner_max_score,aco_angle_5[0.,0.7,0.8,0.9],(14,0,6.28319)" - VAR_H_TT_Pi_Rho_IP="IC_Nov13_tauspinner_max_score,aco_angle_6[0.,0.7,0.8,0.9],(14,0,6.28319)" - VAR_ZTTEMBED_TT = "IC_Nov13_tauspinner_max_score[0.,0.7,0.8,0.9]" - VAR_JETFAKES_TT = "IC_Nov13_tauspinner_max_score[0.,0.7,0.8,0.9]" + VAR_H_TT_Rho_Rho="IC_Nov13_tauspinner_v1_max_score,aco_angle_1[0.,0.7,0.8,0.9],(14,0,6.28319)" + VAR_H_TT_0A1_Rho_and_0A1_0A1="IC_Nov13_tauspinner_v1_max_score,aco_angle_1[0.,0.7,0.8,0.9],(14,0,6.28319)" + VAR_H_TT_A1_Rho_angle1="IC_Nov13_tauspinner_v1_max_score,aco_angle_1[0.,0.7,0.8,0.9],(14,0,6.28319)" + VAR_H_TT_A1_Rho_angle2="IC_Nov13_tauspinner_v1_max_score,aco_angle_2[0.,0.7,0.8,0.9],(14,0,6.28319)" + VAR_H_TT_A1_A1_angle1="IC_Nov13_tauspinner_v1_max_score,aco_angle_1[0.,0.7,0.8,0.9],(14,0,6.28319)" + VAR_H_TT_A1_A1_angle2="IC_Nov13_tauspinner_v1_max_score,aco_angle_2[0.,0.7,0.8,0.9],(14,0,6.28319)" + VAR_H_TT_A1_A1_angle3="IC_Nov13_tauspinner_v1_max_score,aco_angle_3[0.,0.7,0.8,0.9],(14,0,6.28319)" + VAR_H_TT_A1_A1_angle4="IC_Nov13_tauspinner_v1_max_score,aco_angle_4[0.,0.7,0.8,0.9],(14,0,6.28319)" + VAR_H_TT_Pi_Pi="IC_Nov13_tauspinner_v1_max_score,aco_angle_6[0.,0.7,0.8,0.9],(14,0,6.28319)" + VAR_H_TT_Pi_Rho_Mixed="IC_Nov13_tauspinner_v1_max_score,aco_angle_5[0.,0.7,0.8,0.9],(14,0,6.28319)" + VAR_H_TT_Pi_Rho_IP="IC_Nov13_tauspinner_v1_max_score,aco_angle_6[0.,0.7,0.8,0.9],(14,0,6.28319)" + VAR_H_TT_Pi_0A1_Mixed="IC_Nov13_tauspinner_v1_max_score,aco_angle_5[0.,0.7,0.8,0.9],(14,0,6.28319)" + VAR_H_TT_Pi_0A1_IP="IC_Nov13_tauspinner_v1_max_score,aco_angle_6[0.,0.7,0.8,0.9],(14,0,6.28319)" + VAR_H_TT_Pi_A1_Mixed="IC_Nov13_tauspinner_v1_max_score,aco_angle_5[0.,0.7,0.8,0.9],(14,0,6.28319)" + VAR_H_TT_Other = "IC_Nov13_tauspinner_v1_max_score[0.,0.7,0.8,0.9]" + VAR_ZTTEMBED_TT = "IC_Nov13_tauspinner_v1_max_score[0.,0.7,0.8,0.9]" + VAR_JETFAKES_TT = "IC_Nov13_tauspinner_v1_max_score[0.,0.7,0.8,0.9]" scheme_et = [ @@ -257,8 +261,12 @@ def run_command(command): ("17", "higgs_mvapi", "2018_higgs_Pi_Pi", VAR_H_TT_Pi_Pi, ' '), ("17", "higgs_mvarhopi", "2018_higgs_Pi_Rho_Mixed", VAR_H_TT_Pi_Rho_Mixed, ' '), ("17", "higgs_mvarhopi", "2018_higgs_Pi_Rho_IP", VAR_H_TT_Pi_Rho_IP, ' '), - ("17", "zttEmbed", "2018_zttEmbed", VAR_0JET_TT, ' '), - ("17", "jetFakes", "2018_jetFakes", VAR_0JET_TT, ' '), + ("17", "higgs_mva0A1pi", "2018_higgs_Pi_0A1_Mixed", VAR_H_TT_Pi_0A1_Mixed, ' '), + ("17", "higgs_mva0A1pi", "2018_higgs_Pi_0A1_IP", VAR_H_TT_Pi_0A1_IP , ' '), + ("17", "higgs_mvaA1pi", "2018_higgs_Pi_A1_Mixed", VAR_H_TT_Pi_A1_Mixed, ' '), + ("17", "higgs_mvaother", "2018_higgs_other", VAR_H_TT_Other, ' '), + ("17", "zttEmbed", "2018_zttEmbed", VAR_ZTTEMBED_TT, ' '), + ("17", "jetFakes", "2018_jetFakes", VAR_JETFAKES_TT, ' '), ] scheme_em = [ diff --git a/Analysis/HiggsTauTau/scripts/plot_cpdecays_2017.cfg b/Analysis/HiggsTauTau/scripts/plot_cpdecays_2017.cfg index aaa00d665..0b9a96d04 100644 --- a/Analysis/HiggsTauTau/scripts/plot_cpdecays_2017.cfg +++ b/Analysis/HiggsTauTau/scripts/plot_cpdecays_2017.cfg @@ -1,7 +1,8 @@ [Defaults] analysis=cpdecay paramfile=scripts/params_2017.json -folder=/vols/cms/akd116/Offline/output/SM/2019/Nov12_2017/ +#folder=/vols/cms/akd116/Offline/output/SM/2019/Nov12_2017/ +folder=/vols/cms/mhh18/Offline/output/SM/11Nov_Run2017_tautau_inclSyst/ era=cpsummer17 sm_masses=125 draw_signal_mass=125 @@ -10,7 +11,7 @@ year=2017 ratio=True lumi=41.5 fb^{-1} (13 TeV) vbf_background=False -auto_blind=False -blind=False +auto_blind=True +blind=True x_blind_min=-1e5 -x_blind_max=-1e5 +x_blind_max=1e5 diff --git a/Analysis/HiggsTauTau/scripts/plot_cpdecays_2018.cfg b/Analysis/HiggsTauTau/scripts/plot_cpdecays_2018.cfg index e67ffbe2a..cf4875020 100644 --- a/Analysis/HiggsTauTau/scripts/plot_cpdecays_2018.cfg +++ b/Analysis/HiggsTauTau/scripts/plot_cpdecays_2018.cfg @@ -1,17 +1,17 @@ [Defaults] analysis=cpdecay paramfile=scripts/params_2018.json -folder=/vols/cms/dw515/Offline/output/SM/CP_2018/ +folder=/vols/cms/mhh18/Offline/output/SM/11Nov_Run2018_tautau_inclSyst/ era=cp18 sm_masses=125 draw_signal_mass=125 -signal_scheme=sm_18 +signal_scheme=sm_cp_decays year=2018 ratio=True lumi=59.7 fb^{-1} (13 TeV) vbf_background=False -#blind=True -x_blind_min=1000000 -x_blind_max=1000000 auto_blind=True +blind=True +x_blind_min=-1e5 +x_blind_max=1e5 #no_plot=True diff --git a/Analysis/HiggsTauTau/scripts/resubmit_jobs.sh b/Analysis/HiggsTauTau/scripts/resubmit_jobs.sh index 06020129f..a52efd5f9 100755 --- a/Analysis/HiggsTauTau/scripts/resubmit_jobs.sh +++ b/Analysis/HiggsTauTau/scripts/resubmit_jobs.sh @@ -16,7 +16,7 @@ source /vols/grid/cms/setup.sh' $job fi echo $job (( COUNT++ )) - #qsub -e /dev/null -o /dev/null -V -q hep.q -l h_rt=0:$1:0 -l h_vmem=24G -cwd $job + #qsub -e /dev/null -o /dev/null -V -q hep.q -l h_rt=0:$1:0 -l h_vmem=16G -cwd $job #qsub -e /dev/null -o /dev/null -V -q hep.q -l h_rt=0:$1:0 -cwd $job fi; done diff --git a/Analysis/HiggsTauTau/src/HTTSequence.cc b/Analysis/HiggsTauTau/src/HTTSequence.cc index 8e3459c11..1a43af37f 100644 --- a/Analysis/HiggsTauTau/src/HTTSequence.cc +++ b/Analysis/HiggsTauTau/src/HTTSequence.cc @@ -3021,7 +3021,6 @@ if((channel == channel::tpzmm || channel == channel::tpzee || channel == channel .set_tag_trg_objects("triggerObjectsIsoMu24") .set_tag_trg_filters("hltL3crIsoL1sMu22L1f0L2f10QL3f24QL3trkIsoFiltered0p09") .set_probe_id(muon_probe_id) - //.set_probe_id(MuonLooseID) .set_tag_id(muon_probe_id) .set_add_name("_emLow") .set_probe_trg_objects("triggerObjectsMu17Mu8") @@ -3039,7 +3038,6 @@ if((channel == channel::tpzmm || channel == channel::tpzee || channel == channel .set_tag_trg_objects("triggerObjectsIsoMu24") .set_tag_trg_filters("hltL3crIsoL1sMu22L1f0L2f10QL3f24QL3trkIsoFiltered0p09") .set_probe_id(muon_probe_id) - //.set_probe_id(MuonLooseID) .set_tag_id(muon_probe_id) .set_add_name("_emHigh") .set_probe_trg_objects("triggerObjectsMu17Mu8") @@ -3057,7 +3055,6 @@ if((channel == channel::tpzmm || channel == channel::tpzee || channel == channel .set_tag_trg_objects("triggerObjectsIsoMu24") .set_tag_trg_filters("hltL3crIsoL1sMu22L1f0L2f10QL3f24QL3trkIsoFiltered0p09") .set_probe_id(muon_probe_id) - //.set_probe_id(MuonLooseID) .set_tag_id(muon_probe_id) .set_add_name("_Single") .set_probe_trg_objects("triggerObjectsIsoMu22,triggerObjectsIsoTkMu22,triggerObjectsIsoMu22Eta2p1,triggerObjectsIsoTkMu22Eta2p1") @@ -3079,6 +3076,55 @@ if((channel == channel::tpzmm || channel == channel::tpzee || channel == channel .set_probe_trg_filters("hltL3crIsoL1sSingleMu18erIorSingleMu20erL1f0L2f10QL3f19QL3trkIsoFiltered0p09") ); + + // low pT leg of dimuon trigger used for embedded selection + BuildModule(TagAndProbe("TagAndProbe_DiMuLow") + .set_fs(fs.get()) + .set_channel(channel) + .set_strategy(strategy_type) + .set_ditau_label("ditau") + .set_tag_trg_objects("triggerObjectsIsoMu24") + .set_tag_trg_filters("hltL3crIsoL1sMu22L1f0L2f10QL3f24QL3trkIsoFiltered0p09") + .set_probe_id(MuonLooseID) + .set_tag_id(muon_probe_id) + .set_add_name("_dimu_low") + .set_probe_trg_objects("triggerObjectsMu17TkMu8,triggerObjectsMu17Mu8") + .set_probe_trg_filters("hltDiMuonGlb17Trk8RelTrkIsoFiltered0p4,hltDiMuonGlb17Glb8RelTrkIsoFiltered0p4") + .set_extra_hlt_probe_pt(8.) + + ); + // high pT leg of dimuon trigger used for embedded selection + BuildModule(TagAndProbe("TagAndProbe_DiMuhigh") + .set_fs(fs.get()) + .set_channel(channel) + .set_strategy(strategy_type) + .set_ditau_label("ditau") + .set_tag_trg_objects("triggerObjectsIsoMu24") + .set_tag_trg_filters("hltL3crIsoL1sMu22L1f0L2f10QL3f24QL3trkIsoFiltered0p09") + .set_probe_id(MuonLooseID) + .set_tag_id(muon_probe_id) + .set_add_name("_dimu_high") + .set_probe_trg_objects("triggerObjectsMu17TkMu8,triggerObjectsMu17Mu8") + .set_probe_trg_filters("hltDiMuonGlb17Trk8RelTrkIsoFiltered0p4,hltDiMuonGlb17Glb8RelTrkIsoFiltered0p4") + .set_extra_hlt_probe_pt(17.) + ); + // use to measure DZ filter efficiency for embedded selection selection + BuildModule(TagAndProbe("TagAndProbe_DiMuDZ") + .set_fs(fs.get()) + .set_channel(channel) + .set_strategy(strategy_type) + .set_ditau_label("ditau") + .set_tag_trg_objects("triggerObjectsIsoMu24") + .set_tag_trg_filters("hltL3crIsoL1sMu22L1f0L2f10QL3f24QL3trkIsoFiltered0p09") + .set_probe_id(MuonLooseID) + .set_tag_id(MuonLooseID) + .set_add_name("_dimu_dz") + .set_probe_trg_objects("triggerObjectsMu17TkMu8,triggerObjectsMu17Mu8") + .set_probe_trg_filters("hltDiMuonGlb17Trk8RelTrkIsoFiltered0p4,hltDiMuonGlb17Glb8RelTrkIsoFiltered0p4") + .set_extra_hlt_probe_pt(8.) + .set_do_dzmass(true) + ); + } } else if(channel == channel::tpzee){ if(strategy_type == strategy::cpsummer17 || strategy_type == strategy::cpdecays17 || strategy_type == strategy::cpdecays18){ diff --git a/python/plotting.py b/python/plotting.py index 169e1fd8d..7dd3b42e8 100644 --- a/python/plotting.py +++ b/python/plotting.py @@ -86,6 +86,7 @@ def SetAxisTitles(plot, channel): titles['IC_lowMjj_Oct05_max_score'] = ['MVA Score','Events', 'dN/d(MVA Score)'] titles['IC_highMjj_Oct05_max_score'] = ['MVA Score','Events', 'dN/d(MVA Score)'] titles['aco_angle_mod'] = ['#phi#mbox{*}_{CP}','Events / '+bin_width, 'dN/d#phi#mbox{*}_{CP}'] + titles['aco_angle_1'] = ['#phi#mbox{*}_{CP}','Events / '+bin_width, 'dN/d#phi#mbox{*}_{CP}'] titles['IC_Feb13_fix1_max_score'] = ['MVA Score','Events', 'dN/d(MVA Score)'] titles['IC_Mar26_fix2_max_score'] = ['MVA Score','Events', 'dN/d(MVA Score)'] titles['IC_Apr02_max_score'] = ['MVA Score','Events', 'dN/d(MVA Score)'] @@ -93,6 +94,7 @@ def SetAxisTitles(plot, channel): titles['IC_keras_sm4_max_score'] = ['NN Score','Events', 'dN/d(NN Score)'] titles['IC_keras_sm5_max_score'] = ['NN Score','Events', 'dN/d(NN Score)'] titles['IC_keras_sm6_max_score'] = ['NN Score','Events', 'dN/d(NN Score)'] + titles['IC_Nov13_tauspinner_max_score'] = ['MVA Score','Events', 'dN/d(MVA Score)'] titles['tau_decay_mode_2'] = ['#tau decay mode','Events', 'Events'] if channel == 'tt': titles['tau_decay_mode_1'] = ['Lead #tau decay mode','Events', 'Events'] @@ -182,6 +184,7 @@ def SetAxisTitles2D(plot, channel): titles['IC_lowMjj_Sep25_max_score'] = ['MVA Score','Events', 'dN/d(MVA Score)',''] titles['IC_highMjj_Oct05_max_score'] = ['MVA Score','Events', 'dN/d(MVA Score)',''] titles['aco_angle_mod'] = ['#phi#mbox{*}_{CP}','Events', 'dN/d#phi#mbox{*}_{CP}',''] + titles['aco_angle_1'] = ['#phi#mbox{*}_{CP}','Events', 'dN/d#phi#mbox{*}_{CP}',''] titles['IC_Feb13_fix1_max_score'] = ['MVA Score','Events', 'dN/d(MVA Score)',''] titles['IC_Mar26_fix2_max_score'] = ['MVA Score','Events', 'dN/d(MVA Score)',''] titles['IC_Apr02_max_score'] = ['MVA Score','Events', 'dN/d(MVA Score)',''] @@ -189,6 +192,7 @@ def SetAxisTitles2D(plot, channel): titles['IC_keras_sm4_max_score'] = ['NN Score','Events', 'dN/d(NN Score)',''] titles['IC_keras_sm5_max_score'] = ['NN Score','Events', 'dN/d(NN Score)',''] titles['IC_keras_sm6_max_score'] = ['NN Score','Events', 'dN/d(NN Score)',''] + titles['IC_Nov13_tauspinner_max_score'] = ['MVA Score','Events', 'dN/d(MVA Score)',''] if xvar not in titles: if not isVarBins: x_titles = [xvar,'Events'] @@ -3590,9 +3594,9 @@ def HTTPlotUnrolled(nodename, # sig_schemes['sm_ggH'] = ( str(int(signal_scale))+"#times SM ggH("+signal_mass+" GeV)#rightarrow#tau#tau", ["ggHsm_htt"], False , R.kRed) #sig_schemes['sm_qqH'] = ( str(int(signal_scale))+"#times SM qqH("+signal_mass+" GeV)#rightarrow#tau#tau", ["qqH_htt"], False, R.kBlue) - sig_schemes['sm_cp'] = ( str(int(signal_scale))+"#times SM ggH#rightarrow#tau#tau", ["ggHsm_htt"], False, R.kRed) - # sig_schemes["sm_cp_decays"] = ( str(int(signal_scale))+"#times SM H#rightarrow#tau#tau", ["ggH_sm_htt", "qqH_sm_htt"], False, R.kRed) - # sig_schemes["sm_cp_decays_ps"] = ( str(int(signal_scale))+"#times PS H#rightarrow#tau#tau", ["ggH_ps_htt", "qqH_ps_htt"], False, R.kGreen+3) + # sig_schemes['sm_cp'] = ( str(int(signal_scale))+"#times SM ggH#rightarrow#tau#tau", ["ggHsm_htt"], False, R.kRed) + sig_schemes["sm_cp_decays"] = ( str(int(signal_scale))+"#times SM H#rightarrow#tau#tau", ["ggH_sm_htt", "qqH_sm_htt"], False, R.kRed) + sig_schemes["sm_cp_decays_ps"] = ( str(int(signal_scale))+"#times PS H#rightarrow#tau#tau", ["ggH_ps_htt", "qqH_ps_htt"], False, R.kGreen+3) #sig_schemes['sm_ps'] = ( str(int(signal_scale))+"#times PS ggH#rightarrow#tau#tau", ["ggHps_htt"], False, R.kGreen+3) #sig_schemes['sm_mm'] = ( str(int(signal_scale))+"#times MM ggH#rightarrow#tau#tau", ["ggHmm_htt"], False, R.kOrange-5)