From 6e2214e7dc9d89f8e5d5f4eefcd94e71a4b46fa1 Mon Sep 17 00:00:00 2001 From: Savanna Marie Shaw <savanna.marie.shaw@cern.ch> Date: Fri, 24 May 2019 11:23:49 +0200 Subject: [PATCH] Add isolated muon trigger to menu Updates included: isolation hypo tool configuration so that all properties are set correctly, allow muon event view creator to be able to turn off link to parent view (it's not needed in this case) to be able to run the same ID tarcking sequence in two different views within same chain, muon isolation sequence set to pick up correct muon containers and run precision ID tracking. --- .../python/TrigMuonHypoMTConfig.py | 18 ++-- .../EventViewCreatorAlgorithmWithMuons.cxx | 3 +- .../src/EventViewCreatorAlgorithmWithMuons.h | 1 + .../TrigUpgradeTest/share/runMenuTest.ref | 100 +++++++++--------- .../python/HLTMenuConfig/Menu/LS2_v1.py | 1 + .../HLTMenuConfig/Muon/MuonSequenceSetup.py | 6 +- .../python/HLTMenuConfig/Muon/MuonSetup.py | 11 +- 7 files changed, 75 insertions(+), 65 deletions(-) diff --git a/Trigger/TrigHypothesis/TrigMuonHypoMT/python/TrigMuonHypoMTConfig.py b/Trigger/TrigHypothesis/TrigMuonHypoMT/python/TrigMuonHypoMTConfig.py index 92c9c7f54d4..010e07b5aed 100755 --- a/Trigger/TrigHypothesis/TrigMuonHypoMT/python/TrigMuonHypoMTConfig.py +++ b/Trigger/TrigHypothesis/TrigMuonHypoMT/python/TrigMuonHypoMTConfig.py @@ -493,24 +493,24 @@ class TrigMuonEFTrackIsolationHypoConfig() : try: ptcone03 = trigMuonEFTrkIsoThresholds[ isoCut ] - self.PtCone02Cut = -1.0 - self.PtCone03Cut = ptcone03 - self.AcceptAll = False + tool.PtCone02Cut = 0.0 + tool.PtCone03Cut = ptcone03 + tool.AcceptAll = False if 'MS' in isoCut: - self.RequireCombinedMuon = False + tool.RequireCombinedMuon = False else: - self.RequireCombinedMuon = True + tool.RequireCombinedMuon = True - self.DoAbsCut = True + tool.DoAbsCut = False if 'var' in isoCut : - self.useVarIso = True + tool.useVarIso = True else : - self.useVarIso = False + tool.useVarIso = False except LookupError: if(isoCut=='passthrough') : print 'Setting passthrough' - self.AcceptAll = True + tool.AcceptAll = True else: print 'isoCut = ', isoCut raise Exception('TrigMuonEFTrackIsolation Hypo Misconfigured') diff --git a/Trigger/TrigSteer/ViewAlgs/src/EventViewCreatorAlgorithmWithMuons.cxx b/Trigger/TrigSteer/ViewAlgs/src/EventViewCreatorAlgorithmWithMuons.cxx index 8138af1ce4f..43597b8a66b 100644 --- a/Trigger/TrigSteer/ViewAlgs/src/EventViewCreatorAlgorithmWithMuons.cxx +++ b/Trigger/TrigSteer/ViewAlgs/src/EventViewCreatorAlgorithmWithMuons.cxx @@ -20,6 +20,7 @@ EventViewCreatorAlgorithmWithMuons::EventViewCreatorAlgorithmWithMuons( const st declareProperty("RoIEtaWidth", m_roiEtaWidth=0.1); declareProperty("RoIPhiWidth", m_roiPhiWidth=0.1); + declareProperty("LinkToParent", m_linkToParent=true); } EventViewCreatorAlgorithmWithMuons::~EventViewCreatorAlgorithmWithMuons() {} @@ -91,7 +92,7 @@ StatusCode EventViewCreatorAlgorithmWithMuons::execute( const EventContext& cont outputDecision->setObjectLink( "view", ElementLink< ViewContainer >(m_viewsKey.key(), viewVector->size()-1 ));//adding view to TC outputDecision->setObjectLink( "muons", muonELInfo.link ); ATH_MSG_DEBUG( "Adding new view to new decision; storing view in viewVector component " << viewVector->size()-1 ); - ATH_CHECK( linkViewToParent( inputDecision, viewVector->back() ) ); + if(m_linkToParent) ATH_CHECK( linkViewToParent( inputDecision, viewVector->back() ) ); ATH_CHECK( placeRoIInView( roi, viewVector->back(), contexts.back() ) ); ATH_CHECK( placeMuonInView( muon, viewVector->back(), contexts.back() ) ); }// loop over previous inputs diff --git a/Trigger/TrigSteer/ViewAlgs/src/EventViewCreatorAlgorithmWithMuons.h b/Trigger/TrigSteer/ViewAlgs/src/EventViewCreatorAlgorithmWithMuons.h index effe7701ce2..c9661a8ee5a 100644 --- a/Trigger/TrigSteer/ViewAlgs/src/EventViewCreatorAlgorithmWithMuons.h +++ b/Trigger/TrigSteer/ViewAlgs/src/EventViewCreatorAlgorithmWithMuons.h @@ -36,6 +36,7 @@ class EventViewCreatorAlgorithmWithMuons : public EventViewCreatorAlgorithm { Gaudi::Property< std::string > m_muonsLink {this,"MuonsLink","Unspecified","Name of EL to Muon object linked to the decision"}; double m_roiEtaWidth; double m_roiPhiWidth; + bool m_linkToParent; }; #endif diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/runMenuTest.ref b/Trigger/TrigValidation/TrigUpgradeTest/share/runMenuTest.ref index bad142c7b4c..87eb4f6220f 100644 --- a/Trigger/TrigValidation/TrigUpgradeTest/share/runMenuTest.ref +++ b/Trigger/TrigValidation/TrigUpgradeTest/share/runMenuTest.ref @@ -1,51 +1,53 @@ TrigSignatureMoniMT INFO Chains passing step (1st row events & 2nd row decision counts TrigSignatureMoniMT INFO Chain name L1, AfterPS, [... steps ...], Output -TrigSignatureMoniMT INFO All 20 20 0 0 0 0 20 -TrigSignatureMoniMT INFO HLT_2mu6Comb_L1MU6 20 20 0 0 0 0 0 -TrigSignatureMoniMT INFO HLT_2mu6Comb_L1MU6 decisions 0 0 0 0 -TrigSignatureMoniMT INFO HLT_2mu6_L1MU6 20 20 0 0 0 0 0 -TrigSignatureMoniMT INFO HLT_2mu6_L1MU6 decisions 0 0 0 0 -TrigSignatureMoniMT INFO HLT_3j200_L1J20 20 20 0 0 0 0 0 -TrigSignatureMoniMT INFO HLT_3j200_L1J20 decisions 0 0 0 0 -TrigSignatureMoniMT INFO HLT_5j70_0eta240_L1J20 20 20 0 0 0 0 0 -TrigSignatureMoniMT INFO HLT_5j70_0eta240_L1J20 decisions 0 0 0 0 -TrigSignatureMoniMT INFO HLT_e3_etcut1step_L1EM3 20 20 18 0 0 0 18 -TrigSignatureMoniMT INFO HLT_e3_etcut1step_L1EM3 decisions 54 0 0 0 -TrigSignatureMoniMT INFO HLT_e3_etcut_L1EM3 20 20 18 17 0 0 17 -TrigSignatureMoniMT INFO HLT_e3_etcut_L1EM3 decisions 54 342 0 0 -TrigSignatureMoniMT INFO HLT_e5_etcut_L1EM3 20 20 17 16 0 0 16 -TrigSignatureMoniMT INFO HLT_e5_etcut_L1EM3 decisions 50 329 0 0 -TrigSignatureMoniMT INFO HLT_e7_etcut_L1EM3 20 20 15 14 0 0 14 -TrigSignatureMoniMT INFO HLT_e7_etcut_L1EM3 decisions 36 264 0 0 -TrigSignatureMoniMT INFO HLT_g5_etcut_L1EM3 20 20 17 17 0 0 17 -TrigSignatureMoniMT INFO HLT_g5_etcut_L1EM3 decisions 50 50 0 0 -TrigSignatureMoniMT INFO HLT_j0_vbenfSEP30etSEP34mass35SEP50fbet_L1J2020 20 0 0 0 0 0 -TrigSignatureMoniMT INFO HLT_j0_vbenfSEP30etSEP34mass35SEP50fbet_L1J20 decisions 0 0 0 0 -TrigSignatureMoniMT INFO HLT_j225_gsc420_boffperf_split_L1J2020 20 0 0 0 0 0 -TrigSignatureMoniMT INFO HLT_j225_gsc420_boffperf_split_L1J20 decisions 0 0 0 0 -TrigSignatureMoniMT INFO HLT_j260_320eta490_L1J20 20 20 0 0 0 0 0 -TrigSignatureMoniMT INFO HLT_j260_320eta490_L1J20 decisions 0 0 0 0 -TrigSignatureMoniMT INFO HLT_j420_L1J20 20 20 0 0 0 0 0 -TrigSignatureMoniMT INFO HLT_j420_L1J20 decisions 0 0 0 0 -TrigSignatureMoniMT INFO HLT_j45_L1J20 20 20 4 0 0 0 4 -TrigSignatureMoniMT INFO HLT_j45_L1J20 decisions 4 0 0 0 -TrigSignatureMoniMT INFO HLT_j85_L1J20 20 20 0 0 0 0 0 -TrigSignatureMoniMT INFO HLT_j85_L1J20 decisions 0 0 0 0 -TrigSignatureMoniMT INFO HLT_mu20_ivar_L1MU6 20 20 3 2 2 0 2 -TrigSignatureMoniMT INFO HLT_mu20_ivar_L1MU6 decisions 3 2 2 0 -TrigSignatureMoniMT INFO HLT_mu6Comb_L1MU6 20 20 3 2 0 0 2 -TrigSignatureMoniMT INFO HLT_mu6Comb_L1MU6 decisions 3 2 0 0 -TrigSignatureMoniMT INFO HLT_mu6_L1MU6 20 20 3 2 1 1 1 -TrigSignatureMoniMT INFO HLT_mu6_L1MU6 decisions 3 2 1 1 -TrigSignatureMoniMT INFO HLT_mu6_msonly_L1MU6 20 20 3 0 2 0 2 -TrigSignatureMoniMT INFO HLT_mu6_msonly_L1MU6 decisions 3 0 2 0 -TrigSignatureMoniMT INFO HLT_mu6fast_L1MU6 20 20 3 0 0 0 3 -TrigSignatureMoniMT INFO HLT_mu6fast_L1MU6 decisions 3 0 0 0 -TrigSignatureMoniMT INFO HLT_mu6noL1_L1MU6 20 20 4 0 0 0 0 -TrigSignatureMoniMT INFO HLT_mu6noL1_L1MU6 decisions 6 0 0 0 -TrigSignatureMoniMT INFO HLT_xe30_cell_L1XE10 20 20 12 0 0 0 12 -TrigSignatureMoniMT INFO HLT_xe30_cell_L1XE10 decisions 12 0 0 0 -TrigSignatureMoniMT INFO HLT_xe30_tcpufit_L1XE10 20 20 3 0 0 0 3 -TrigSignatureMoniMT INFO HLT_xe30_tcpufit_L1XE10 decisions 3 0 0 0 -TrigSignatureMoniMT INFO HLT_xe65_cell_L1XE50 20 20 3 0 0 0 3 -TrigSignatureMoniMT INFO HLT_xe65_cell_L1XE50 decisions 3 0 0 0 +TrigSignatureMoniMT INFO All 20 20 0 0 0 0 0 20 +TrigSignatureMoniMT INFO HLT_2mu6Comb_L1MU6 20 20 0 0 0 0 0 0 +TrigSignatureMoniMT INFO HLT_2mu6Comb_L1MU6 decisions 0 0 0 0 0 +TrigSignatureMoniMT INFO HLT_2mu6_L1MU6 20 20 0 0 0 0 0 0 +TrigSignatureMoniMT INFO HLT_2mu6_L1MU6 decisions 0 0 0 0 0 +TrigSignatureMoniMT INFO HLT_3j200_L1J20 20 20 0 0 0 0 0 0 +TrigSignatureMoniMT INFO HLT_3j200_L1J20 decisions 0 0 0 0 0 +TrigSignatureMoniMT INFO HLT_5j70_0eta240_L1J20 20 20 0 0 0 0 0 0 +TrigSignatureMoniMT INFO HLT_5j70_0eta240_L1J20 decisions 0 0 0 0 0 +TrigSignatureMoniMT INFO HLT_e3_etcut1step_L1EM3 20 20 18 0 0 0 0 18 +TrigSignatureMoniMT INFO HLT_e3_etcut1step_L1EM3 decisions 54 0 0 0 0 +TrigSignatureMoniMT INFO HLT_e3_etcut_L1EM3 20 20 18 17 0 0 0 17 +TrigSignatureMoniMT INFO HLT_e3_etcut_L1EM3 decisions 54 342 0 0 0 +TrigSignatureMoniMT INFO HLT_e5_etcut_L1EM3 20 20 17 16 0 0 0 16 +TrigSignatureMoniMT INFO HLT_e5_etcut_L1EM3 decisions 50 329 0 0 0 +TrigSignatureMoniMT INFO HLT_e7_etcut_L1EM3 20 20 15 14 0 0 0 14 +TrigSignatureMoniMT INFO HLT_e7_etcut_L1EM3 decisions 36 264 0 0 0 +TrigSignatureMoniMT INFO HLT_g5_etcut_L1EM3 20 20 17 17 0 0 0 17 +TrigSignatureMoniMT INFO HLT_g5_etcut_L1EM3 decisions 50 50 0 0 0 +TrigSignatureMoniMT INFO HLT_j0_vbenfSEP30etSEP34mass35SEP50fbet_L1J2020 20 0 0 0 0 0 0 +TrigSignatureMoniMT INFO HLT_j0_vbenfSEP30etSEP34mass35SEP50fbet_L1J20 decisions 0 0 0 0 0 +TrigSignatureMoniMT INFO HLT_j225_gsc420_boffperf_split_L1J2020 20 0 0 0 0 0 0 +TrigSignatureMoniMT INFO HLT_j225_gsc420_boffperf_split_L1J20 decisions 0 0 0 0 0 +TrigSignatureMoniMT INFO HLT_j260_320eta490_L1J20 20 20 0 0 0 0 0 0 +TrigSignatureMoniMT INFO HLT_j260_320eta490_L1J20 decisions 0 0 0 0 0 +TrigSignatureMoniMT INFO HLT_j420_L1J20 20 20 0 0 0 0 0 0 +TrigSignatureMoniMT INFO HLT_j420_L1J20 decisions 0 0 0 0 0 +TrigSignatureMoniMT INFO HLT_j45_L1J20 20 20 4 0 0 0 0 4 +TrigSignatureMoniMT INFO HLT_j45_L1J20 decisions 4 0 0 0 0 +TrigSignatureMoniMT INFO HLT_j85_L1J20 20 20 0 0 0 0 0 0 +TrigSignatureMoniMT INFO HLT_j85_L1J20 decisions 0 0 0 0 0 +TrigSignatureMoniMT INFO HLT_mu20_ivar_L1MU6 20 20 3 2 2 0 0 2 +TrigSignatureMoniMT INFO HLT_mu20_ivar_L1MU6 decisions 3 2 2 0 0 +TrigSignatureMoniMT INFO HLT_mu6Comb_L1MU6 20 20 3 2 0 0 0 2 +TrigSignatureMoniMT INFO HLT_mu6Comb_L1MU6 decisions 3 2 0 0 0 +TrigSignatureMoniMT INFO HLT_mu6_L1MU6 20 20 3 2 1 1 0 1 +TrigSignatureMoniMT INFO HLT_mu6_L1MU6 decisions 3 2 1 1 0 +TrigSignatureMoniMT INFO HLT_mu6_ivarmedium_L1MU6 20 20 3 2 1 1 0 0 +TrigSignatureMoniMT INFO HLT_mu6_ivarmedium_L1MU6 decisions 3 2 1 1 0 +TrigSignatureMoniMT INFO HLT_mu6_msonly_L1MU6 20 20 3 0 2 0 0 2 +TrigSignatureMoniMT INFO HLT_mu6_msonly_L1MU6 decisions 3 0 2 0 0 +TrigSignatureMoniMT INFO HLT_mu6fast_L1MU6 20 20 3 0 0 0 0 3 +TrigSignatureMoniMT INFO HLT_mu6fast_L1MU6 decisions 3 0 0 0 0 +TrigSignatureMoniMT INFO HLT_mu6noL1_L1MU6 20 20 4 0 0 0 0 0 +TrigSignatureMoniMT INFO HLT_mu6noL1_L1MU6 decisions 5 0 0 0 0 +TrigSignatureMoniMT INFO HLT_xe30_cell_L1XE10 20 20 12 0 0 0 0 12 +TrigSignatureMoniMT INFO HLT_xe30_cell_L1XE10 decisions 12 0 0 0 0 +TrigSignatureMoniMT INFO HLT_xe30_tcpufit_L1XE10 20 20 3 0 0 0 0 3 +TrigSignatureMoniMT INFO HLT_xe30_tcpufit_L1XE10 decisions 3 0 0 0 0 +TrigSignatureMoniMT INFO HLT_xe65_cell_L1XE50 20 20 3 0 0 0 0 3 +TrigSignatureMoniMT INFO HLT_xe65_cell_L1XE50 decisions 3 0 0 0 0 diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1.py index 007c1a803c0..4154a63bc95 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1.py @@ -42,6 +42,7 @@ def setupMenu(): ChainProp(name='HLT_mu20_ivar_L1MU6', groups=SingleMuonGroup), ChainProp(name='HLT_2mu6Comb_L1MU6', groups=SingleMuonGroup), ChainProp(name='HLT_2mu6_L1MU6', groups=SingleMuonGroup), + ChainProp(name='HLT_mu6_ivarmedium_L1MU6', groups=SingleMuonGroup), ChainProp(name='HLT_mu6noL1_L1MU6', groups=SingleMuonGroup), ChainProp(name='HLT_mu6_msonly_L1MU6', groups=SingleMuonGroup), diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonSequenceSetup.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonSequenceSetup.py index fe28a96f230..f78730a9665 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonSequenceSetup.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonSequenceSetup.py @@ -349,14 +349,16 @@ def muEFIsoAlgSequence(ConfigFlags): efmuIsoViewsMaker.RoIsLink = "roi" # -||- efmuIsoViewsMaker.InViewRoIs = "MUEFIsoRoIs" # contract with the consumer efmuIsoViewsMaker.Views = "MUEFIsoViewRoIs" - efmuIsoViewsMaker.InViewMuons = "MuonsIso" + efmuIsoViewsMaker.InViewMuons = "IsoViewMuons" efmuIsoViewsMaker.MuonsLink = "feature" efmuIsoViewsMaker.RoIEtaWidth=0.15 efmuIsoViewsMaker.RoIPhiWidth=0.15 + efmuIsoViewsMaker.LinkToParent=False + ### get EF reco sequence ### from TriggerMenuMT.HLTMenuConfig.Muon.MuonSetup import efmuisoRecoSequence - efmuisoRecoSequence, sequenceOut = efmuisoRecoSequence( efmuIsoViewsMaker.InViewRoIs ) + efmuisoRecoSequence, sequenceOut = efmuisoRecoSequence( efmuIsoViewsMaker.InViewRoIs, efmuIsoViewsMaker.InViewMuons ) efmuIsoViewsMaker.ViewNodeName = efmuisoRecoSequence.name() diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonSetup.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonSetup.py index 0b8ded4ae49..12bdd7ffc61 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonSetup.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonSetup.py @@ -599,7 +599,6 @@ def muEFCBRecoSequence( RoIs, name ): #Get last tracks from the list as input for other alg - ##Not added to the sequence! Causing stall PTSeq = seqAND("precisionTrackingInMuons", PTAlgs ) muEFCBRecoSequence += PTSeq @@ -683,9 +682,9 @@ def muEFCBRecoSequence( RoIs, name ): return muEFCBRecoSequence, eventAlgs, sequenceOut -def efmuisoRecoSequence( RoIs ): +def efmuisoRecoSequence( RoIs, Muons ): - from AthenaCommon.CFElements import parOR + from AthenaCommon.CFElements import parOR, seqAND efmuisoRecoSequence = parOR("efmuIsoViewNode") @@ -713,12 +712,16 @@ def efmuisoRecoSequence( RoIs ): from TrigUpgradeTest.InDetPT import makeInDetPrecisionTracking PTTracks, PTTrackParticles, PTAlgs = makeInDetPrecisionTracking( "muonsIso") + PTSeq = seqAND("precisionTrackingInMuonsIso", PTAlgs ) + efmuisoRecoSequence += PTSeq + # set up algs from TrigMuonEF.TrigMuonEFConfig import TrigMuonEFTrackIsolationMTConfig trigEFmuIso = TrigMuonEFTrackIsolationMTConfig("TrigEFMuIso") - trigEFmuIso.MuonEFContainer = muEFCBInfo + trigEFmuIso.MuonEFContainer = Muons trackParticles = PTTrackParticles[-1] trigEFmuIso.IdTrackParticles = trackParticles + trigEFmuIso.MuonContName = "MuonsIso" efmuisoRecoSequence += trigEFmuIso -- GitLab