for i in [0,1,2]: tags[i] = CutNode(Cuts.n_tags(i), graph, "%dt"%i, [tag], []) #The primary MET/MTW cut node met = Node(graph, "met", tag.children(), []) mets = dict() #No MET cut requirement mets['off'] = CutNode(Cuts.no_cut, graph, "met__off", [met], [], ) for met_syst in ["nominal", "up", "down"]: mets['met_' + met_syst] = CutNode( Cuts.met(met_syst), graph, "met__met_" + met_syst, [met], [], filter_funcs=[lambda x: is_chan(x, 'ele')] ) mets['mtw_' + met_syst] = CutNode( Cuts.mt_mu(met_syst), graph, "met__mtw_" + met_syst, [met], [], filter_funcs=[lambda x: is_chan(x, 'mu')] ) # purifications ---> cutbased, MVA purification = Node(graph, "signalenr", met.children(), []) purifications = dict() purifications['cutbased'] = Node(graph, "cutbased", [purification], []) purifications['mva'] = Node(graph, "mva", [purification], [])
cutlist['2j0t']=Cuts.n_jets(2)*Cuts.n_tags(0) cutlist['3j0t']=Cuts.n_jets(3)*Cuts.n_tags(0) cutlist['3j1t']=Cuts.n_jets(3)*Cuts.n_tags(1) cutlist['3j2t']=Cuts.n_jets(3)*Cuts.n_tags(2) #Needed for RMS cut validation cutlist['presel_ele_no_rms']=Cuts.hlt_isoele*Cuts.lepton_veto*Cuts.pt_jet*Cuts.one_electron cutlist['presel_mu_no_rms']=Cuts.hlt_isomu*Cuts.lepton_veto*Cuts.pt_jet*Cuts.one_muon cutlist['presel_ele'] = cutlist['presel_ele_no_rms']*Cuts.rms_lj cutlist['presel_mu'] = cutlist['presel_mu_no_rms']*Cuts.rms_lj cutlist['nomet_ele']=cutlist['presel_ele']*Cuts.top_mass_sig*Cuts.eta_lj cutlist['nomt_mu']=cutlist['presel_mu']*Cuts.top_mass_sig*Cuts.eta_lj cutlist['noeta_ele']=cutlist['presel_ele']*Cuts.top_mass_sig*Cuts.met() cutlist['noeta_mu']=cutlist['presel_mu']*Cuts.top_mass_sig*Cuts.mt_mu() cutlist['final_ele']=cutlist['nomet_ele']*Cuts.met() cutlist['final_mu']=cutlist['nomt_mu']*Cuts.mt_mu() mva_var = Cuts.mva_vars mva_var_qcd = Cuts.mva_vars_qcd bdt = Cuts.mva_wps['bdt'] cutlist['bdt_mu_loose'] = Cuts.mt_mu()*Cut('%s>%f' % (mva_var['mu'],bdt['mu']['loose'])) cutlist['bdt_ele_loose'] = Cuts.met()*Cut('%s>%f' % (mva_var['ele'],bdt['ele']['loose'])) cutlist['bdt_mu_tight'] = Cuts.mt_mu()*Cut('%s>%f' % (mva_var['mu'],bdt['mu']['tight'])) cutlist['bdt_ele_tight'] = Cuts.met()*Cut('%s>%f' % (mva_var['ele'],bdt['ele']['tight'])) # Using MVA based QCD removal
mvaFileList['sig']['eval']= [ 'T_t_ToLeptons', 'Tbar_t_ToLeptons' ] mvaFileList['bg']['train']= [ 'TTJets_MassiveBinDECAY', 'WJets_inclusive' ] mvaFileList['bg']['eval']= [ 'TTJets_FullLept', 'TTJets_SemiLept', 'W1Jets_exclusive', 'W2Jets_exclusive', 'W3Jets_exclusive', 'W4Jets_exclusive' ] varList={} varList['ele'] = [ 'top_mass','eta_lj','C','met','mt_el','mass_bj','mass_lj','el_pt','pt_bj' ] varList['mu'] = [ 'top_mass','eta_lj','C','met','mt_mu','mass_bj','mass_lj','mu_pt','pt_bj' ] varRank={} varRank['ele'] = ['top_mass', 'C', 'eta_lj', 'el_pt', 'mt_el', 'pt_bj', 'mass_bj', 'met', 'mass_lj'] varRank['mu'] = ['top_mass', 'eta_lj', 'C', 'mu_pt', 'mt_mu', 'met', 'mass_bj', 'pt_bj', 'mass_lj'] from plots.common.cuts import Cut,Cuts cuts = {} cuts['ele'] = Cuts.n_jets(2)*Cuts.n_tags(1)*Cuts.hlt_isoele*Cuts.lepton_veto*Cuts.pt_jet*Cuts.one_electron*Cuts.rms_lj*Cuts.met() cuts['mu'] = Cuts.n_jets(2)*Cuts.n_tags(1)*Cuts.hlt_isomu*Cuts.lepton_veto*Cuts.pt_jet*Cuts.one_muon*Cuts.rms_lj*Cuts.mt_mu()