From 28734919913eb6023575bca0e9ccf19b0512e69f Mon Sep 17 00:00:00 2001 From: Heather Russell <heather.russell@cern.ch> Date: Wed, 29 Mar 2017 12:02:52 +0200 Subject: [PATCH] ATR-16017, menu implementation of trkmht chains. Four test chains added to physics_pp_v7. --- .../TriggerMenu/python/menu/Physics_pp_v7.py | 8 ++++ .../TriggerMenu/python/menu/SignatureDicts.py | 4 +- .../TriggerMenu/python/met/MissingETDef.py | 46 ++++++++++++++++++- 3 files changed, 55 insertions(+), 3 deletions(-) diff --git a/Trigger/TriggerCommon/TriggerMenu/python/menu/Physics_pp_v7.py b/Trigger/TriggerCommon/TriggerMenu/python/menu/Physics_pp_v7.py index 7b1a6b2e1ef9..2514e63299c3 100644 --- a/Trigger/TriggerCommon/TriggerMenu/python/menu/Physics_pp_v7.py +++ b/Trigger/TriggerCommon/TriggerMenu/python/menu/Physics_pp_v7.py @@ -1224,6 +1224,14 @@ def setupMenu(): ['xe250_mht_xe200_L1XE60','L1_XE60', [], [PhysicsStream], ['RATE:MET', 'BW:MET' ], -1, ['serial',-1,['xe250_mht','xe200'] ]], ['xe300_mht_xe250_L1XE60','L1_XE60', [], [PhysicsStream], ['RATE:MET', 'BW:MET' ], -1, ['serial',-1,['xe300_mht','xe250'] ]], + ##trkmht + ['xe100_trkmht_L1XE50', 'L1_XE50',[], [PhysicsStream], ['RATE:MET', 'BW:MET'], -1], + ['xe110_trkmht_wEFMu_L1XE50', 'L1_XE50',[], [PhysicsStream], ['RATE:MET', 'BW:MET'], -1], + + ['xe100_trkmht_L1XE60', 'L1_XE60',[], [PhysicsStream], ['RATE:MET', 'BW:MET'], -1], + ['xe110_trkmht_wEFMu_L1XE60', 'L1_XE60',[], [PhysicsStream], ['RATE:MET', 'BW:MET'], -1], + + ] TriggerFlags.TauSlice.signatures = [ diff --git a/Trigger/TriggerCommon/TriggerMenu/python/menu/SignatureDicts.py b/Trigger/TriggerCommon/TriggerMenu/python/menu/SignatureDicts.py index 87f31fce9cff..bc50f5127b7f 100644 --- a/Trigger/TriggerCommon/TriggerMenu/python/menu/SignatureDicts.py +++ b/Trigger/TriggerCommon/TriggerMenu/python/menu/SignatureDicts.py @@ -303,10 +303,10 @@ METChainParts = { 'calib' : ['lcw','had','em'], 'jetCalib' : JetChainParts['jetCalib'], 'L2recoAlg' : ['','l2fsperf','L2FS'], - 'EFrecoAlg' : ['tc','cell','pueta','mht','pufit'], + 'EFrecoAlg' : ['tc','cell','pueta','mht','trkmht','pufit'], 'L2muonCorr' : ['','wL2MuFEB','wEFMuFEB'], 'EFmuonCorr' : ['','wEFMu'], - 'addInfo' : ['FStracks'], + 'addInfo' : ['FStracks','FTK'], } # ---- MetDictinary of default Values ---- METChainParts_Default = { diff --git a/Trigger/TriggerCommon/TriggerMenu/python/met/MissingETDef.py b/Trigger/TriggerCommon/TriggerMenu/python/met/MissingETDef.py index ed78de61662e..7143c2f1735b 100644 --- a/Trigger/TriggerCommon/TriggerMenu/python/met/MissingETDef.py +++ b/Trigger/TriggerCommon/TriggerMenu/python/met/MissingETDef.py @@ -14,6 +14,7 @@ log = logging.getLogger("TriggerMenu.met.MissingETDef") from TrigEFMissingET.TrigEFMissingETConfig import (EFMissingET_Fex_2sidednoiseSupp, EFMissingET_Fex_Jets, + EFMissingET_Fex_TrackAndJets, EFMissingET_Fex_topoClusters, EFMissingET_Fex_topoClustersPS, EFMissingET_Fex_topoClustersPUC) @@ -22,6 +23,7 @@ from TrigL2MissingET.TrigL2MissingETConfig import (L2CaloMissingET_Fex_ReadL2L1, L2MissingET_Fex) from TrigMissingETHypo.TrigMissingETHypoConfig import (EFMetHypoJetsXE, + EFMetHypoTrackAndJetsXE, EFMetHypoTCPSXE, EFMetHypoTCPUCXE, EFMetHypoTCXE, @@ -152,7 +154,7 @@ class L2EFChain_met(L2EFChainDef): mucorr= '_wMu' if EFmuon else '' ##MET with topo-cluster - if EFrecoAlg=='tc' or EFrecoAlg=='pueta' or EFrecoAlg=='pufit' or EFrecoAlg=='mht': + if EFrecoAlg=='tc' or EFrecoAlg=='pueta' or EFrecoAlg=='pufit' or EFrecoAlg=='mht' or EFrecoAlg=='trkmht': ##Topo-cluster if EFrecoAlg=='tc': @@ -189,6 +191,18 @@ class L2EFChain_met(L2EFChainDef): theEFMETMuonFex = EFTrigMissingETMuon_Fex_Jets("EFTrigMissingETMuon_Fex_Jets{0}".format(calibCorr) ) #mucorr= '_wMu' if EFmuon else '' theEFMETHypo = EFMetHypoJetsXE('EFMetHypo_Jets_xe%s_tc%s%s%s'%(threshold,jetCalib,calibration,mucorr),ef_thr=float(threshold)*GeV) + + ##MET based on trigger jets + if EFrecoAlg=='trkmht': + #MET fex + theEFMETFex = EFMissingET_Fex_TrackAndJets() + #Muon correction fex + ## this will be added later + theEFMETMuonFex = EFTrigMissingETMuon_Fex_Jets() + #mucorr= '_wMu' if EFmuon else '' + theEFMETHypo = EFMetHypoTrackAndJetsXE('EFMetHypo_TrackAndJets_xe%s_tc%s%s'%(threshold,calibration,mucorr),ef_thr=float(threshold)*GeV) + + ##Topo-cluster with Pile-up suppression @@ -345,6 +359,30 @@ class L2EFChain_met(L2EFChainDef): dummyAlg = PESA__DummyUnseededAllTEAlgo("EF_DummyFEX_xe") self.EFsequenceList +=[[ [''], [dummyAlg]+trk_algs[0], 'EF_xe_step3' ]] + elif EFrecoAlg=='trkmht': + self.EFsequenceList +=[[ input0,algo0, output0 ]] + self.EFsequenceList +=[[ input1,algo1, output1 ]] + self.EFsequenceList +=[[ input2,algo2, output2 ]] + self.EFsequenceList +=[[ input3,algo3, output3 ]] + self.EFsequenceList +=[[ input4,algo4, output4 ]] + + ##adding FTK tracks in the sequence, + ##if not, adding FullScan tracks + if "FTK" in addInfo: + from TrigInDetConf.TrigInDetFTKSequence import TrigInDetFTKSequence + trk_algs = TrigInDetFTKSequence("FullScan", "fullScan", sequenceFlavour=["FTKVtx"]).getSequence() + dummyAlg = PESA__DummyUnseededAllTEAlgo("EF_DummyFEX_xe") + self.EFsequenceList +=[[ [''], [dummyAlg]+trk_algs[0], 'EF_xe_step0' ]] + + else: + from TrigInDetConf.TrigInDetSequence import TrigInDetSequence + trk_algs = TrigInDetSequence("FullScan", "fullScan", "IDTrig", "FTF").getSequence() + dummyAlg = PESA__DummyUnseededAllTEAlgo("EF_DummyFEX_xe") + self.EFsequenceList +=[[ [''], [dummyAlg]+trk_algs[0], 'EF_xe_step0' ]] + + self.EFsequenceList +=[[ [output4,'EF_xe_step0'], [theEFMETFex], 'EF_xe_step1' ]] + self.EFsequenceList +=[[ ['EF_xe_step1',muonSeed], [theEFMETMuonFex, theEFMETHypo], 'EF_xe_step2' ]] + #cell based MET elif EFrecoAlg=='cell': self.EFsequenceList +=[[ [''], [theEFMETFex], 'EF_xe_step1' ]] @@ -358,6 +396,8 @@ class L2EFChain_met(L2EFChainDef): # self.L2signatureList += [ [['L2_xe_step3']] ] # self.L2signatureList += [ [['L2_xe_step4']] ] + if EFrecoAlg=="trkmht" : + self.EFsignatureList += [ [['EF_xe_step0']] ] self.EFsignatureList += [ [['EF_xe_step1']] ] self.EFsignatureList += [ [['EF_xe_step2']] ] @@ -373,6 +413,10 @@ class L2EFChain_met(L2EFChainDef): self.TErenamingDict['L2_xe_step2']= mergeRemovingOverlap('L2_', self.sig_id_noMult+'_step2') # self.TErenamingDict['L2_xe_step3']= mergeRemovingOverlap('L2_', self.sig_id_noMult+'_step3') # self.TErenamingDict['L2_xe_step4']= mergeRemovingOverlap('L2_', self.sig_id_noMult+'_step4') + + if EFrecoAlg=='trkmht': + self.TErenamingDict['EF_xe_step0']= mergeRemovingOverlap('EF_', self.sig_id_noMult+"_step0") + self.TErenamingDict['EF_xe_step1']= mergeRemovingOverlap('EF_', self.sig_id_noMult+'_step1') if "FStracks" in addInfo: -- GitLab