diff --git a/Trigger/TrigHypothesis/TrigMuonHypoMT/python/TrigMuonHypoMTConfig.py b/Trigger/TrigHypothesis/TrigMuonHypoMT/python/TrigMuonHypoMTConfig.py index 135eb8f7611a43416320ec84aeadc2e68965348f..88b6cb96c27bdd3eb109f8cfe4c07470292781ae 100755 --- a/Trigger/TrigHypothesis/TrigMuonHypoMT/python/TrigMuonHypoMTConfig.py +++ b/Trigger/TrigHypothesis/TrigMuonHypoMT/python/TrigMuonHypoMTConfig.py @@ -262,55 +262,65 @@ class TrigMufastHypoConfig(object): tool = TrigMufastHypoTool( toolName ) - nt = len(thresholds) - log.debug('Set %d thresholds', nt) - tool.PtBins = [ [ 0, 2.5 ] ] * nt - tool.PtThresholds = [ [ 5.49 * GeV ] ] * nt - tool.PtThresholdForECWeakBRegionA = [ 3. * GeV ] * nt - tool.PtThresholdForECWeakBRegionB = [ 3. * GeV ] * nt - - for th, thvalue in enumerate(thresholds): - if (thvalue == 'passthrough'): - tool.PtBins[th] = [-10000.,10000.] - tool.PtThresholds[th] = [ -1. * GeV ] - tool.AcceptAll = True - else: - if "idperf" in toolName or int(thvalue) < 5: - thvaluename = thvalue + 'GeV_v15a' - elif "0eta105" in toolName: - thvaluename = thvalue+ "GeV_barrelOnly_v15a" + if "muoncalib" in toolName: + tool.DoCalib = True + nt = len(thresholds) + tool.PtBins = [ [ 0, 2.5 ] ] * nt + try: + tool.AcceptAll = False + + except LookupError: + raise Exception('MuFast Hypo for muoncalib chain Misconfigured') + else: + nt = len(thresholds) + log.debug('Set %d thresholds', nt) + tool.PtBins = [ [ 0, 2.5 ] ] * nt + tool.PtThresholds = [ [ 5.49 * GeV ] ] * nt + tool.PtThresholdForECWeakBRegionA = [ 3. * GeV ] * nt + tool.PtThresholdForECWeakBRegionB = [ 3. * GeV ] * nt + + for th, thvalue in enumerate(thresholds): + if (thvalue == 'passthrough'): + tool.PtBins[th] = [-10000.,10000.] + tool.PtThresholds[th] = [ -1. * GeV ] + tool.AcceptAll = True else: - thvaluename = '6GeV_v15a' - - - - log.debug('Number of threshold = %d, Value of threshold = %s', th, thvaluename) - - try: - tool.AcceptAll = False - values = muFastThresholds[thvaluename] - tool.PtBins[th] = values[0] - tool.PtThresholds[th] = [ x * GeV for x in values[1] ] - log.debug('Configration of threshold[%d] %s', th, tool.PtThresholds[th]) - log.debug('Configration of PtBins[%d] %s', th, tool.PtBins[th]) - if thvaluename in muFastThresholdsForECWeakBRegion: - spThres = muFastThresholdsForECWeakBRegion[thvaluename] - tool.PtThresholdForECWeakBRegionA[th] = spThres[0] * GeV - tool.PtThresholdForECWeakBRegionB[th] = spThres[1] * GeV + if "idperf" in toolName or int(thvalue) < 5: + thvaluename = thvalue + 'GeV_v15a' + elif "0eta105" in toolName: + thvaluename = thvalue+ "GeV_barrelOnly_v15a" else: - log.debug('No special thresholds for EC weak Bfield regions for %s. Copy EC1 for region A, EC2 for region B.', thvaluename) - spThres = values[0][1] - if thvaluename == '2GeV' or thvaluename == '3GeV': + thvaluename = '6GeV_v15a' + + + + log.debug('Number of threshold = %d, Value of threshold = %s', th, thvaluename) + + try: + tool.AcceptAll = False + values = muFastThresholds[thvaluename] + tool.PtBins[th] = values[0] + tool.PtThresholds[th] = [ x * GeV for x in values[1] ] + log.debug('Configration of threshold[%d] %s', th, tool.PtThresholds[th]) + log.debug('Configration of PtBins[%d] %s', th, tool.PtBins[th]) + if thvaluename in muFastThresholdsForECWeakBRegion: + spThres = muFastThresholdsForECWeakBRegion[thvaluename] tool.PtThresholdForECWeakBRegionA[th] = spThres[0] * GeV - tool.PtThresholdForECWeakBRegionB[th] = spThres[0] * GeV + tool.PtThresholdForECWeakBRegionB[th] = spThres[1] * GeV else: - tool.PtThresholdForECWeakBRegionA[th] = spThres[1] * GeV - tool.PtThresholdForECWeakBRegionB[th] = spThres[2] * GeV - - log.debug('Thresholds for A[%d]/B[%d] = %d/%d', th, th, tool.PtThresholdForECWeakBRegionA[th], tool.PtThresholdForECWeakBRegionB[th]) - - except LookupError: - raise Exception('MuFast Hypo Misconfigured: threshold %r not supported' % thvaluename) + log.debug('No special thresholds for EC weak Bfield regions for %s. Copy EC1 for region A, EC2 for region B.', thvaluename) + spThres = values[0][1] + if thvaluename == '2GeV' or thvaluename == '3GeV': + tool.PtThresholdForECWeakBRegionA[th] = spThres[0] * GeV + tool.PtThresholdForECWeakBRegionB[th] = spThres[0] * GeV + else: + tool.PtThresholdForECWeakBRegionA[th] = spThres[1] * GeV + tool.PtThresholdForECWeakBRegionB[th] = spThres[2] * GeV + + log.debug('Thresholds for A[%d]/B[%d] = %d/%d', th, th, tool.PtThresholdForECWeakBRegionA[th], tool.PtThresholdForECWeakBRegionB[th]) + + except LookupError: + raise Exception('MuFast Hypo Misconfigured: threshold %r not supported' % thvaluename) return tool diff --git a/Trigger/TrigHypothesis/TrigMuonHypoMT/src/TrigMufastHypoTool.cxx b/Trigger/TrigHypothesis/TrigMuonHypoMT/src/TrigMufastHypoTool.cxx index af4a2f308f5a6ab010fe0abad8992f8f87ef3fd0..95feafcc0d06435cb3287f9607ac07bd51ec6696 100644 --- a/Trigger/TrigHypothesis/TrigMuonHypoMT/src/TrigMufastHypoTool.cxx +++ b/Trigger/TrigHypothesis/TrigMuonHypoMT/src/TrigMufastHypoTool.cxx @@ -34,6 +34,9 @@ StatusCode TrigMufastHypoTool::initialize() ATH_MSG_DEBUG("AcceptAll = True"); ATH_MSG_DEBUG("Accepting all the events!"); } + else if(m_doCalib){ + ATH_MSG_DEBUG("This is muon calibration chain."); + } else { ATH_MSG_DEBUG("AcceptAll = False"); m_bins.resize (m_ptBins.size()); @@ -145,6 +148,12 @@ bool TrigMufastHypoTool::decideOnSingleObject(TrigMufastHypoTool::MuonClusterInf zatBeam = -9999.; } + if(m_doCalib){ + result = false; + ATH_MSG_DEBUG("This muoncalib chain is only monitored."); + return result; + } + //Get the Pt cut for that eta bin double threshold = 0; float absEta = fabs(fexEta); @@ -258,7 +267,7 @@ StatusCode TrigMufastHypoTool::decide(std::vector<MuonClusterInfo>& toolInput) c size_t numTrigger = m_ptBins.size(); size_t numMuon = toolInput.size(); ATH_MSG_DEBUG("Retrieved from TrigMufastHypoAlg and Running TrigMufastHypoTool for selections."); - + if ( numTrigger == 1 ) { // in case of HLT_mu4, HLT_mu6 and so on. ATH_MSG_DEBUG("Number of muon event = " << numMuon ); ATH_MSG_DEBUG("Applying selection of single << " << m_decisionId ); diff --git a/Trigger/TrigHypothesis/TrigMuonHypoMT/src/TrigMufastHypoTool.h b/Trigger/TrigHypothesis/TrigMuonHypoMT/src/TrigMufastHypoTool.h index 8a7a9ea0c389de2d026a304712efcc28b8fcd2da..ac8e1d0d585045ef98ef37a58afc3a67b4ec245c 100644 --- a/Trigger/TrigHypothesis/TrigMuonHypoMT/src/TrigMufastHypoTool.h +++ b/Trigger/TrigHypothesis/TrigMuonHypoMT/src/TrigMufastHypoTool.h @@ -100,6 +100,10 @@ class TrigMufastHypoTool: public ::AthAlgTool { Gaudi::Property<bool> m_decisionPerCluster { this, "DecisionPerCluster", true, "Is multiplicity requirement refering to muons ( false ) or RoIs/clusters with muons ( false ), relevant only in when multiplicity > 1" }; + Gaudi::Property< bool > m_doCalib { + this, "DoCalib", false, "muoncalib chain" }; + + // Other members: std::vector<size_t> m_bins = {0}; diff --git a/Trigger/TrigValidation/TrigAnalysisTest/share/q221_RDOtoRDOTrig_mt1_build.ref b/Trigger/TrigValidation/TrigAnalysisTest/share/q221_RDOtoRDOTrig_mt1_build.ref index 78ad2ae88dcc4c4c118801069bbb3c4eebe961c5..496bb1a35d929d653fd8f9b1b4164559f514cd11 100644 --- a/Trigger/TrigValidation/TrigAnalysisTest/share/q221_RDOtoRDOTrig_mt1_build.ref +++ b/Trigger/TrigValidation/TrigAnalysisTest/share/q221_RDOtoRDOTrig_mt1_build.ref @@ -226,6 +226,12 @@ TrigSignatureMoniMT INFO -- #877042532 Features TrigSignatureMoniMT INFO HLT_j85_ftf_pf_L1J20 #1538535401 TrigSignatureMoniMT INFO -- #1538535401 Events 19 19 9 - - - - 9 TrigSignatureMoniMT INFO -- #1538535401 Features 15 - - - - +TrigSignatureMoniMT INFO HLT_mu0_muoncalib_L1MU20 #997163309 +TrigSignatureMoniMT INFO -- #997163309 Events 8 8 0 - - - - 0 +TrigSignatureMoniMT INFO -- #997163309 Features 0 - - - - +TrigSignatureMoniMT INFO HLT_mu0_muoncalib_L1MU4_EMPTY #782182242 +TrigSignatureMoniMT INFO -- #782182242 Events 0 0 0 - - - - 0 +TrigSignatureMoniMT INFO -- #782182242 Features 0 - - - - TrigSignatureMoniMT INFO HLT_mu10_lateMu_L1MU10 #48780310 TrigSignatureMoniMT INFO -- #48780310 Events 10 10 0 0 - - - 0 TrigSignatureMoniMT INFO -- #48780310 Features 0 0 - - - diff --git a/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_mt1_build.ref b/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_mt1_build.ref index 823a9af771838d61ce57313b4401171718bbad03..71cdadac1e701cbe603dc41f7a67f12044bcc7fe 100644 --- a/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_mt1_build.ref +++ b/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_mt1_build.ref @@ -226,6 +226,12 @@ TrigSignatureMoniMT INFO -- #877042532 Features TrigSignatureMoniMT INFO HLT_j85_ftf_pf_L1J20 #1538535401 TrigSignatureMoniMT INFO -- #1538535401 Events 19 19 9 - - - - 9 TrigSignatureMoniMT INFO -- #1538535401 Features 15 - - - - +TrigSignatureMoniMT INFO HLT_mu0_muoncalib_L1MU20 #997163309 +TrigSignatureMoniMT INFO -- #997163309 Events 8 8 0 - - - - 0 +TrigSignatureMoniMT INFO -- #997163309 Features 0 - - - - +TrigSignatureMoniMT INFO HLT_mu0_muoncalib_L1MU4_EMPTY #782182242 +TrigSignatureMoniMT INFO -- #782182242 Events 0 0 0 - - - - 0 +TrigSignatureMoniMT INFO -- #782182242 Features 0 - - - - TrigSignatureMoniMT INFO HLT_mu10_lateMu_L1MU10 #48780310 TrigSignatureMoniMT INFO -- #48780310 Events 10 10 0 0 - - - 0 TrigSignatureMoniMT INFO -- #48780310 Features 0 0 - - - diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/full_menu_build.ref b/Trigger/TrigValidation/TrigUpgradeTest/share/full_menu_build.ref index a9c40f9d240c676518713253f6d3ded3d7ca5b59..8b7219128677a35f401fddbee3fad96b1354ed00 100644 --- a/Trigger/TrigValidation/TrigUpgradeTest/share/full_menu_build.ref +++ b/Trigger/TrigValidation/TrigUpgradeTest/share/full_menu_build.ref @@ -235,6 +235,12 @@ TrigSignatureMoniMT INFO -- #1538535401 Features TrigSignatureMoniMT INFO HLT_mb_sptrk_L1RD0_FILLED #4097312640 TrigSignatureMoniMT INFO -- #4097312640 Events 20 20 - - - - - 20 TrigSignatureMoniMT INFO -- #4097312640 Features - - - - - +TrigSignatureMoniMT INFO HLT_mu0_muoncalib_L1MU20 #997163309 +TrigSignatureMoniMT INFO -- #997163309 Events 20 20 0 - - - - 0 +TrigSignatureMoniMT INFO -- #997163309 Features 0 - - - - +TrigSignatureMoniMT INFO HLT_mu0_muoncalib_L1MU4_EMPTY #782182242 +TrigSignatureMoniMT INFO -- #782182242 Events 20 20 0 - - - - 0 +TrigSignatureMoniMT INFO -- #782182242 Features 0 - - - - TrigSignatureMoniMT INFO HLT_mu10_lateMu_L1MU10 #48780310 TrigSignatureMoniMT INFO -- #48780310 Events 20 20 0 0 - - - 0 TrigSignatureMoniMT INFO -- #48780310 Features 0 0 - - - diff --git a/Trigger/TrigValidation/TriggerTest/share/ref_data_v1Dev_build.ref b/Trigger/TrigValidation/TriggerTest/share/ref_data_v1Dev_build.ref index a9c40f9d240c676518713253f6d3ded3d7ca5b59..bc4d42ea44412adf35c304db50c4b3175234432a 100644 --- a/Trigger/TrigValidation/TriggerTest/share/ref_data_v1Dev_build.ref +++ b/Trigger/TrigValidation/TriggerTest/share/ref_data_v1Dev_build.ref @@ -235,6 +235,12 @@ TrigSignatureMoniMT INFO -- #1538535401 Features TrigSignatureMoniMT INFO HLT_mb_sptrk_L1RD0_FILLED #4097312640 TrigSignatureMoniMT INFO -- #4097312640 Events 20 20 - - - - - 20 TrigSignatureMoniMT INFO -- #4097312640 Features - - - - - +TrigSignatureMoniMT INFO HLT_mu0_muoncalib_L1MU20 #997163309 +TrigSignatureMoniMT INFO -- #997163309 Events 20 20 0 - - - - 0 +TrigSignatureMoniMT INFO -- #997163309 Features 0 - - - - +TrigSignatureMoniMT INFO HLT_mu0_muoncalib_L1MU4_EMPTY #782182242 +TrigSignatureMoniMT INFO -- #782182242 Events 20 20 0 - - - - 0 +TrigSignatureMoniMT INFO -- #782182242 Features 0 - - - - TrigSignatureMoniMT INFO HLT_mu10_lateMu_L1MU10 #48780310 TrigSignatureMoniMT INFO -- #48780310 Events 20 20 0 0 - - - 0 TrigSignatureMoniMT INFO -- #48780310 Features 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 e9be877863f600879c7bd472805d9286faac97b6..fb67019da0f226b34b834343f457e2c21690d570 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/LS2_v1.py @@ -66,6 +66,9 @@ def setupMenu(): ChainProp(name='HLT_2mu4_muonqual_L12MU4', groups=MultiMuonGroup), ChainProp(name='HLT_2mu6_muonqual_L12MU6', groups=MultiMuonGroup), + # ATR-20650 + ChainProp(name='HLT_mu0_muoncalib_L1MU4_EMPTY', groups=SingleMuonGroup), + ChainProp(name='HLT_mu0_muoncalib_L1MU20', groups=SingleMuonGroup), ] TriggerFlags.EgammaSlice.signatures = TriggerFlags.EgammaSlice.signatures() + [ diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/SignatureDicts.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/SignatureDicts.py index a23e5cef356799be889027b88bdb9689b17c905a..0bc8ac71ea7c3118e0a506d22c8fb85991fc81f2 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/SignatureDicts.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/SignatureDicts.py @@ -184,7 +184,7 @@ MuonChainParts = { 'trigType' : ['mu'], 'etaRange' : ['0eta2550','0eta105'], 'threshold' : '', - 'extra' : ['noL1', 'Comb', 'fast', 'msonly','lateMu', "Dr"], + 'extra' : ['noL1', 'Comb', 'fast', 'msonly','lateMu', "Dr", "muoncalib"], 'IDinfo' : [], 'isoInfo' : ['ivar','ivarmedium'], 'invMassInfo' : ['10invm70'], diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonDef.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonDef.py index 078d2f797c6eb6188639677849bbfbc72519759e..be2f895ecba2b9ba97564c3e0fc56cf3e1069f26 100755 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonDef.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonDef.py @@ -127,7 +127,8 @@ class MuonChainConfiguration(ChainConfigurationBase): "ivarmedium":[['getmuFast', 'getmuComb'], ['getmuEFSA', 'getmuEFCB', 'getmuEFIso']], "invM":[[],['getmuInvM']], "lateMu":[[],['getLateMuRoI','getLateMu']], - "Dr": [['getmuFastDr', 'getmuCombDr']] + "Dr": [['getmuFastDr', 'getmuCombDr']], + "muoncalib":[['getmuFast']] } return stepDictionary