NMatch_bq_40 += 1 if TLV.DeltaR(p_j,p) < 0.2: NMatch_bq_20 += 1 if jet.BTag: result["NMatchBJets_20"].append([NMatch_lq_20,NMatch_bq_20]) result["NMatchBJets_40"].append([NMatch_lq_40,NMatch_bq_40]) else: result["NMatchLJets_20"].append([NMatch_lq_20,NMatch_bq_20]) result["NMatchLJets_40"].append([NMatch_lq_40,NMatch_bq_40]) # result["gen"] = [ ] # for var in tree_vars: # if var in result: # result["gen"].append(result[var]) # else: # if one variable does not exist for this event, no tree # del result["gen"] # break return result if __name__=="__main__": import sys from DelphesAnalysis.BaseControlPlots import runTest runTest(sys.argv[1], GenControlPlots())
# result["M_j2l"] = (lepton.TLV+ji[1].TLV).M() result["DeltaR_j2l"] = TLV.DeltaR(lepton.TLV,ji[1].TLV) result["DeltaPhi_j2l"] = fold(abs(lepton.Phi - ji[1].Phi)) result["DeltaEtaDeltaPhi_j2l"] = [[ abs(lepton.Eta - ji[1].Eta), result["DeltaPhi_j2l"] ]] if len(ji)>2: result["DeltaEtaDeltaPhi_j3l"] = [[ abs(lepton.Eta - ji[2].Eta), fold(abs(lepton.Phi - ji[2].Phi)) ]] # respect the order of branches when adding variables # result["cleanup"] = [ result[var] for var in result if var in tree_vars ] result["cleanup"] = [ ] for var in tree_vars: if var in result: result["cleanup"].append(result[var]) else: # if one variable does not exist for this event, no tree del result["cleanup"] break return result if __name__=="__main__": import sys from DelphesAnalysis.BaseControlPlots import runTest runTest(sys.argv[1], CleanUpControlPlots())
self.add("DeltaR_ll","lepton-lepton DeltaR_ll",100,0,4.5) self.add("DeltaR_bb","bjet-bjet DeltaR_bb",100,0,4.5) self.add("DeltaPhi_bbll","DeltaPhi_bbll",100,0,3.5) # get information def process(self, event): result = { } if event.M_ll: result["M_ll"] = event.M_ll if event.M_bb: result["M_bb"] = event.M_bb if event.DeltaR_ll<100: result["DeltaR_ll"] = event.DeltaR_ll if event.DeltaR_bb<100: result["DeltaR_bb"] = event.DeltaR_bb if event.DeltaPhi_bbll: result["DeltaPhi_bbll"] = event.DeltaPhi_bbll return result if __name__=="__main__": import sys from DelphesAnalysis.BaseControlPlots import runTest runTest(sys.argv[1], LeptonControlPlots())
def process(self, event): #get information result = { } result["JetPt"] = [ ] result["JetEta"] = [ ] result["JetPhi"] = [ ] result["BjetPt"] = [ ] result["BjetEta"] = [ ] result["BjetPhi"] = [ ] nb=0 for jet in event.selectedJets: result["JetPt"].append(jet.PT) result["JetEta"].append(jet.Eta) result["JetPhi"].append(jet.Phi) if jet.BTag: nb+=1 result["BjetPt"].append(jet.PT) result["BjetEta"].append(jet.Eta) result["BjetPhi"].append(jet.Phi) result["Njets"] = len(event.selectedJets) result["Nbjets"] = nb result["MET"] = event.MEt[0].MET result["METphi"] = event.MEt[0].Phi return result if __name__=="__main__": import sys from DelphesAnalysis.BaseControlPlots import runTest runTest(sys.argv[1], JetControlPlots())
[q_Hbb_a1,q_Wjj_a1] = vectors q_HWW_a1 = q_Wjj_a1 + q_Wlnu1 q_HHbbWW_a1 = q_Hbb_a1 + q_HWW_a1 result["Hbb_a1Pt" ] = q_Hbb_a1.Pt() result["Hbb_a1Eta"] = q_Hbb_a1.Eta() result["Hbb_a1M" ] = q_Hbb_a1.M() result["Wjj_a1Pt" ] = q_Wjj_a1.Pt() result["Wjj_a1Eta"] = q_Wjj_a1.Eta() result["Wjj_a1M" ] = q_Wjj_a1.M() if MH_min < q_Hbb_a1.M() < MH_max: #and MH_min < q_HWW_a1.M() < MH_max: result["Hbb_a1M_window1"] = q_Hbb_a1.M() if q_Wjj_a1.M() < MW_max: result["Hbb_a1M_window2"] = q_Hbb_a1.M() if q_Wjj_a1.M() < MW_offshell_max: result["Hbb_a1M_window3"] = q_Hbb_a1.M() # result["WWM_a1"] = [[ q_Wjj_a1.M(), q_Wlnu1.M() ]] # result["WWM_a1"] = [[ q_Wjj_a1.M(), WlnuMt ]] # result["HWW_a1Mc"] = recoHWWMC1(q_Wjj_a1,lepton,event.met[0]) return result if __name__=="__main__": import sys from DelphesAnalysis.BaseControlPlots import runTest runTest(sys.argv[1], recoControlPlots())
def process(self, event): #get information result = {} result["JetPt"] = [] result["JetEta"] = [] result["JetPhi"] = [] result["BjetPt"] = [] result["BjetEta"] = [] result["BjetPhi"] = [] nb = 0 for jet in event.selectedJets: result["JetPt"].append(jet.PT) result["JetEta"].append(jet.Eta) result["JetPhi"].append(jet.Phi) if jet.BTag: nb += 1 result["BjetPt"].append(jet.PT) result["BjetEta"].append(jet.Eta) result["BjetPhi"].append(jet.Phi) result["Njets"] = len(event.selectedJets) result["Nbjets"] = nb result["MET"] = event.MEt[0].MET result["METphi"] = event.MEt[0].Phi return result if __name__ == "__main__": import sys from DelphesAnalysis.BaseControlPlots import runTest runTest(sys.argv[1], JetControlPlots())
# declare histograms self.add("ElectronPt", "Electron Pt", 100, 0, 200) self.add("MuonPt", "Muon Pt", 100, 0, 200) self.add("ElectronEta", "Electron Eta", 50, -2.5, 2.5) self.add("MuonEta", "Muon Eta", 50, -2.5, 2.5) self.add("NMuons", "Muon multiplicity", 10, 0, 10) self.add("NElectrons", "Electron multiplicity", 10, 0, 10) def process(self, event): #get information result = {} result["ElectronPt"] = [] result["MuonPt"] = [] result["ElectronEta"] = [] result["MuonEta"] = [] for mu in event.muons: result["MuonPt"].append(mu.PT) result["MuonEta"].append(mu.Eta) for ele in event.electrons: result["ElectronPt"].append(ele.PT) result["ElectronEta"].append(ele.Eta) result["NMuons"] = event.muons.GetEntries() result["NElectrons"] = event.electrons.GetEntries() return result if __name__ == "__main__": import sys from DelphesAnalysis.BaseControlPlots import runTest runTest(sys.argv[1], LeptonControlPlots())
if len(event.topCandidates_H): top = event.topCandidates_H[0] result["bestHmass"] = (top[0].P4() + top[1].P4() + top[2].P4()).M() result["bestHpt"] = (top[0].P4() + top[1].P4() + top[2].P4()).Pt() if len(event.topCandidates_L): top = event.topCandidates_L[0] met = ROOT.TLorentzVector() met.SetPtEtaPhiE(top[2].MET, 0, top[2].Phi, top[2].MET) momentum = top[0].P4() + top[1].P4() + met momentum.SetPz(0) result["bestLmass"] = momentum.M() result["bestLpt"] = momentum.Pt() if len(event.topPairCandidates): top = event.topPairCandidates[0][:3] result["mass1"] = (top[0].P4() + top[1].P4() + top[2].P4()).M() result["pt1"] = (top[0].P4() + top[1].P4() + top[2].P4()).Pt() top = event.topPairCandidates[0][3:] met = ROOT.TLorentzVector() met.SetPtEtaPhiE(top[2].MET, 0, top[2].Phi, top[2].MET) momentum = top[0].P4() + top[1].P4() + met momentum.SetPz(0) result["mass2"] = momentum.M() result["pt2"] = momentum.Pt() return result if __name__ == "__main__": import sys from DelphesAnalysis.BaseControlPlots import runTest runTest(sys.argv[1], TopControlPlots())
if len(event.topCandidates_H): top = event.topCandidates_H[0] result["bestHmass"] = (top[0].P4()+top[1].P4()+top[2].P4()).M() result["bestHpt"] = (top[0].P4()+top[1].P4()+top[2].P4()).Pt() if len(event.topCandidates_L): top = event.topCandidates_L[0] met = ROOT.TLorentzVector() met.SetPtEtaPhiE(top[2].MET,0,top[2].Phi,top[2].MET) momentum = top[0].P4()+top[1].P4()+met momentum.SetPz(0) result["bestLmass"] = momentum.M() result["bestLpt"] = momentum.Pt() if len(event.topPairCandidates): top = event.topPairCandidates[0][:3] result["mass1"] = (top[0].P4()+top[1].P4()+top[2].P4()).M() result["pt1"] = (top[0].P4()+top[1].P4()+top[2].P4()).Pt() top = event.topPairCandidates[0][3:] met = ROOT.TLorentzVector() met.SetPtEtaPhiE(top[2].MET,0,top[2].Phi,top[2].MET) momentum = top[0].P4()+top[1].P4()+met momentum.SetPz(0) result["mass2"] = momentum.M() result["pt2"] =momentum.Pt() return result if __name__=="__main__": import sys from DelphesAnalysis.BaseControlPlots import runTest runTest(sys.argv[1], TopControlPlots())