diff --git a/AtlasTest/CITest/Athena.cmake b/AtlasTest/CITest/Athena.cmake index db0e56703afb9468f5d6ddfaa867aa18fec939b8..1064380d5c0bbd963e04e495dbd2641f88d8563b 100755 --- a/AtlasTest/CITest/Athena.cmake +++ b/AtlasTest/CITest/Athena.cmake @@ -71,7 +71,7 @@ atlas_add_citest( RecoRun2MC_PileUp DEPENDS_SUCCESS PileUpPresamplingRun2 ) atlas_add_citest( RecoRun3Data - SCRIPT RunWorkflowTests_Run3.py --CI -r -w DataReco -a q449 --threads 8 -e '--maxEvents 100 --preExec="flags.Exec.FPE=500;" --conditionsTag CONDBR2-BLKPA-2022-13' --run-only + SCRIPT RunWorkflowTests_Run3.py --CI -r -w DataReco -a q449 --threads 8 -e '--maxEvents 100 --preExec="flags.Exec.FPE=500;" --conditionsTag CONDBR2-BLKPA-2022-16' --run-only PROPERTIES PROCESSORS 8 ) atlas_add_citest( RecoRun3Data_Checks @@ -79,7 +79,7 @@ atlas_add_citest( RecoRun3Data_Checks DEPENDS_SUCCESS RecoRun3Data ) atlas_add_citest( RecoRun3Data_Bulk - SCRIPT RunWorkflowTests_Run3.py --CI -r -w DataReco -a f1333 --threads 8 -e '--skipEvents 100 --maxEvents 500 --inputBSFile=/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests/TCT_Run3/data22_13p6TeV.00431493.physics_Main.daq.RAW._lb0525._SFO-16._0001.data --conditionsTag CONDBR2-BLKPA-2022-13' --run-only --no-output-checks + SCRIPT RunWorkflowTests_Run3.py --CI -r -w DataReco -a f1333 --threads 8 -e '--skipEvents 100 --maxEvents 500 --inputBSFile=/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests/TCT_Run3/data22_13p6TeV.00431493.physics_Main.daq.RAW._lb0525._SFO-16._0001.data --conditionsTag CONDBR2-BLKPA-2022-16' --run-only --no-output-checks PROPERTIES PROCESSORS 8 ) atlas_add_citest( RecoRun3Data_Bulk_Checks @@ -87,7 +87,7 @@ atlas_add_citest( RecoRun3Data_Bulk_Checks DEPENDS_SUCCESS RecoRun3Data_Bulk ) atlas_add_citest( RecoRun3Data_Express - SCRIPT RunWorkflowTests_Run3.py --CI -r -w DataReco -a x785 -e '--maxEvents 25 --inputBSFile=/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests/TCT_Run3/data24_13p6TeV.00477023.express_express.merge.RAW._lb0287._SFO-ALL._0001.1 --conditionsTag CONDBR2-ES1PA-2024-03 ' --no-output-checks + SCRIPT RunWorkflowTests_Run3.py --CI -r -w DataReco -a x785 -e '--maxEvents 25 --inputBSFile=/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/Tier0ChainTests/TCT_Run3/data24_13p6TeV.00477023.express_express.merge.RAW._lb0287._SFO-ALL._0001.1 --conditionsTag CONDBR2-ES1PA-2024-05 ' --no-output-checks LOG_IGNORE_PATTERN "WARNING FPE .*PixelChargeLUTCalibCondAlg" # ignore FPEs from PixelChargeLUTCalibCondAlg ) @@ -108,10 +108,10 @@ atlas_add_citest( ZdcRec_ZDCInjCalib ) atlas_add_citest( RecoRun3Data_Cosmics - SCRIPT RunWorkflowTests_Run3.py --CI -r -w DataReco -a q450 -e '--maxEvents 25 --preExec="all:flags.Exec.FPE=500;" --conditionsTag CONDBR2-BLKPA-2022-13' --no-output-checks) + SCRIPT RunWorkflowTests_Run3.py --CI -r -w DataReco -a q450 -e '--maxEvents 25 --preExec="all:flags.Exec.FPE=500;" --conditionsTag CONDBR2-BLKPA-2022-16' --no-output-checks) atlas_add_citest( RecoRun3Data_Calib - SCRIPT RunWorkflowTests_Run3.py --CI -r -w DataReco -a q451 -e '--maxEvents 25 --preExec="all:flags.Exec.FPE=500;" --conditionsTag CONDBR2-BLKPA-2022-13' --no-output-checks) + SCRIPT RunWorkflowTests_Run3.py --CI -r -w DataReco -a q451 -e '--maxEvents 25 --preExec="all:flags.Exec.FPE=500;" --conditionsTag CONDBR2-BLKPA-2022-16' --no-output-checks) atlas_add_citest( RecoRun3MC SCRIPT RunWorkflowTests_Run3.py --CI -r -w MCReco -e '--maxEvents 25 --conditionsTag OFLCOND-MC23-SDR-RUN3-08' ) @@ -251,7 +251,7 @@ atlas_add_citest( CPAlgorithmsRun3Data_PHYSLITE # Data Quality ################################################################################# atlas_add_citest( GlobalMonitoring - SCRIPT GlobalMonitoring.py IOVDb.GlobalTag="CONDBR2-HLTP-2024-03" --offline --evtMax 20 ) + SCRIPT GlobalMonitoring.py IOVDb.GlobalTag="CONDBR2-HLTP-2025-01" --offline --evtMax 20 ) atlas_add_citest( DataQuality_Run3MC SCRIPT Run3DQTestingDriver.py 'Input.Files=["../RecoRun3MC/run_q454/myAOD.pool.root"]' DQ.Environment=AOD DQ.Steering.doHLTMon=False --threads=1 diff --git a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/python/PixelConditionsConfig.py b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/python/PixelConditionsConfig.py index 9feba07b5330ca9a20aeefabe8827df040513f88..b4326d21efcf87b16e24f1b120e4fce003b2cb8b 100644 --- a/InnerDetector/InDetConditions/PixelConditionsAlgorithms/python/PixelConditionsConfig.py +++ b/InnerDetector/InDetConditions/PixelConditionsAlgorithms/python/PixelConditionsConfig.py @@ -1,6 +1,6 @@ """Define functions to configure Pixel conditions algorithms -Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration +Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration """ from AthenaConfiguration.AccumulatorCache import AccumulatorCache from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator @@ -216,7 +216,10 @@ def PixelDeadMapCondAlgCfg(flags, name="PixelDeadMapCondAlg", **kwargs): """Return a ComponentAccumulator with configured PixelDeadMapCondAlg""" acc = ComponentAccumulator() acc.merge(PixelConfigCondAlgCfg(flags)) - if flags.GeoModel.Run is LHCPeriod.Run1: + if flags.InDet.JsonPathPixelModuleVeto: + kwargs.setdefault("ReadKey", "") + kwargs.setdefault("JsonPath", flags.InDet.JsonPathPixelModuleVeto) + elif flags.GeoModel.Run is LHCPeriod.Run1: kwargs.setdefault("ReadKey", "") else: kwargs.setdefault("ReadKey", "/PIXEL/PixelModuleFeMask") diff --git a/InnerDetector/InDetConfig/python/InDetConfigFlags.py b/InnerDetector/InDetConfig/python/InDetConfigFlags.py index 89dca6595c602fa292af99114a54ad2b44851f68..e9837e8cfb6cbfdf878f7787e7cb84d7c877cec7 100644 --- a/InnerDetector/InDetConfig/python/InDetConfigFlags.py +++ b/InnerDetector/InDetConfig/python/InDetConfigFlags.py @@ -33,6 +33,10 @@ def createInDetConfigFlags(): icf.addFlag("InDet.doSCTModuleVeto", False) # Turn on SCT simple width calculation in clustering tool icf.addFlag("InDet.doSCTSimpleWidth", True) + # Path to the JSON file to mask the modules for Pixel. + # A non-empty string activates the veto automatically + icf.addFlag("InDet.JsonPathPixelModuleVeto", "") + # Enable check for dead modules and FEs icf.addFlag("InDet.checkDeadElementsOnTrack", True) # Turn running of Event Info TRT Occupancy Filling Alg on and off (also whether it is used in TRT PID calculation) diff --git a/LArCalorimeter/LArG4/LArG4ShowerLibSvc/src/LArG4ShowerLibSvc.cxx b/LArCalorimeter/LArG4/LArG4ShowerLibSvc/src/LArG4ShowerLibSvc.cxx index 3e39db5d15b209b342d64628d368eb4cf61beb74..c3ddf5992d3fd64eb7e1e4498c414c95bfb9a0ec 100755 --- a/LArCalorimeter/LArG4/LArG4ShowerLibSvc/src/LArG4ShowerLibSvc.cxx +++ b/LArCalorimeter/LArG4/LArG4ShowerLibSvc/src/LArG4ShowerLibSvc.cxx @@ -1,5 +1,5 @@ /* - Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration + Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration */ #include "LArG4ShowerLibSvc/LArG4ShowerLibSvc.h" @@ -43,22 +43,25 @@ LArG4ShowerLibSvc::~LArG4ShowerLibSvc() StatusCode LArG4ShowerLibSvc::initialize() { - ATH_MSG_DEBUG("Initializing"); + ATH_MSG_INFO("Initializing"); + std::vector<std::string> ignoredLibraryFiles{}; // iterate through filenames in list for (const std::string& fileName : m_fileNameList) { std::string resolvedFilename = PathResolverFindCalibFile(fileName); if (resolvedFilename.empty()) { ATH_MSG_WARNING("Could not resolve input filename " << (fileName) << ". Ignoring!"); + ignoredLibraryFiles.push_back(fileName); continue; } else { - ATH_MSG_DEBUG("Resolving input filename to " << resolvedFilename); + ATH_MSG_INFO("Resolving input filename to " << resolvedFilename); } TFile rootfile(resolvedFilename.c_str(),"READ"); if (rootfile.IsZombie()) { ATH_MSG_WARNING("File " << resolvedFilename << " is not a valid ROOT file"); + ignoredLibraryFiles.push_back(fileName); continue; } @@ -70,11 +73,13 @@ StatusCode LArG4ShowerLibSvc::initialize() // if no library can be created based on the file nullptr is returned if (library == nullptr) { ATH_MSG_WARNING("File " << resolvedFilename << " is not a valid library file"); + ignoredLibraryFiles.push_back(fileName); continue; } if (m_detmap.find(library->detector()) == m_detmap.end()) { ATH_MSG_WARNING("Library " << resolvedFilename << " is produced for unknown detector: " << library->detector()); + ignoredLibraryFiles.push_back(fileName); delete library; continue; } @@ -96,18 +101,25 @@ StatusCode LArG4ShowerLibSvc::initialize() // no point in the service with no libraries if (m_libraryMap.empty()) { - ATH_MSG_WARNING("No library files found"); - } else { - ATH_MSG_DEBUG("List of loaded libraries:"); - for (const auto& m : m_libraryMap) { - ATH_MSG_DEBUG(" " << m_locations[m.first] << ": " << m.second->comment()); + ATH_MSG_ERROR("No library files found. Please check the configuration of this job."); + return StatusCode::FAILURE; + } + // some of the configured library files did not work + if (!ignoredLibraryFiles.empty() ) { + for (const std::string& fileName : ignoredLibraryFiles) { + ATH_MSG_ERROR("Failed to create a library from filename: " << (fileName)); + } + ATH_MSG_ERROR("Some library filenames were invalid. Please check the configuration of this job."); + return StatusCode::FAILURE; + } + ATH_MSG_INFO("List of loaded libraries:"); + for (const auto& m : m_libraryMap) { + ATH_MSG_INFO(" " << m_locations[m.first] << ": " << m.second->comment()); #ifdef DEBUG_FrozenShowers - m_statisticsMap[m.second] = m.second->createStatistics(); + m_statisticsMap[m.second] = m.second->createStatistics(); #endif - } } - - ATH_MSG_DEBUG("Shower library successfully initialized."); + ATH_MSG_INFO("Shower library successfully initialized."); return StatusCode::SUCCESS; } @@ -115,17 +127,17 @@ StatusCode LArG4ShowerLibSvc::initialize() StatusCode LArG4ShowerLibSvc::finalize() { - ATH_MSG_DEBUG("Finalizing shower library service."); + ATH_MSG_INFO("Finalizing shower library service."); libmap::const_iterator iter; for (iter = m_libraryMap.begin(); iter != m_libraryMap.end(); ++iter) { - ATH_MSG_DEBUG("Found ShowerLib at location " << m_locations[(*iter).first]); - ATH_MSG_DEBUG(std::endl << (*iter).second->statistics()); + ATH_MSG_INFO("Found ShowerLib at location " << m_locations[(*iter).first]); + ATH_MSG_INFO(std::endl << (*iter).second->statistics()); if (m_statisticsMap.find((*iter).second) != m_statisticsMap.end()) - ATH_MSG_DEBUG(m_statisticsMap.find((*iter).second)->second->statistics()); + ATH_MSG_INFO(m_statisticsMap.find((*iter).second)->second->statistics()); else - ATH_MSG_DEBUG("No statistics available for this kind of library"); + ATH_MSG_INFO("No statistics available for this kind of library"); // delete the library: delete (*iter).second ; } diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_mc23a_13p6TeV.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_mc23a_13p6TeV.sh index 85c1bdce827a9a3ca7dd0a865219d4632eb4748e..7774cbb14304e4452f4fac020c8bef0dc91d36bc 100755 --- a/Reconstruction/RecExample/RecJobTransformTests/test/test_mc23a_13p6TeV.sh +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_mc23a_13p6TeV.sh @@ -13,11 +13,14 @@ CONDTAG=$(python -c "from AthenaConfiguration.TestDefaults import defaultConditi GEOTAG=$(python -c "from AthenaConfiguration.TestDefaults import defaultGeometryTags; print(defaultGeometryTags.RUN3)") BKGFILE=$(python -c "from AthenaConfiguration.TestDefaults import defaultTestFiles; print(defaultTestFiles.RDO_BKG_RUN3[0])") -Reco_tf.py --CA --multithreaded --maxEvents=300 \ ---inputHITSFile="${INPUTFILE}" --conditionsTag="${CONDTAG}" --geometryVersion="${GEOTAG}" \ ---inputRDO_BKGFile="${BKGFILE}" \ ---outputRDOFile=myRDO.pool.root --outputAODFile=myAOD.pool.root --outputESDFile=myESD.pool.root \ ---preInclude 'Campaigns.MC23a' +Reco_tf.py --CA "default:True" "RDOtoRDOTrigger:False" \ + --multithreaded --maxEvents=300 \ + --asetup "RDOtoRDOTrigger:Athena,23.0.20.7" \ + --steering "doOverlay" "doRDO_TRIG" "doTRIGtoALL" \ + --inputHITSFile="${INPUTFILE}" --conditionsTag="${CONDTAG}" --geometryVersion="${GEOTAG}" \ + --inputRDO_BKGFile="${BKGFILE}" \ + --outputRDOFile=myRDO.pool.root --outputAODFile=myAOD.pool.root --outputESDFile=myESD.pool.root \ + --preInclude 'Campaigns.MC23a' RES=$? echo "art-result: $RES Reco" diff --git a/Reconstruction/RecExample/RecJobTransformTests/test/test_mc23d_13p6TeV.sh b/Reconstruction/RecExample/RecJobTransformTests/test/test_mc23d_13p6TeV.sh new file mode 100755 index 0000000000000000000000000000000000000000..14725abc997539670d641c03a5a64496f1d64081 --- /dev/null +++ b/Reconstruction/RecExample/RecJobTransformTests/test/test_mc23d_13p6TeV.sh @@ -0,0 +1,28 @@ +#!/bin/sh +# +# art-description: Reco_tf runs on MC23d 13.6 TeV ttbar with HITS input (overlay+trigger+reco). Report issues to https://its.cern.ch/jira/projects/ATLASRECTS/ +# art-output: log.* +# art-athena-mt: 8 +# art-type: grid +# art-include: main/Athena +# art-include: 24.0/Athena + +export ATHENA_CORE_NUMBER=8 +INPUTFILE=$(python -c "from AthenaConfiguration.TestDefaults import defaultTestFiles; print(defaultTestFiles.HITS_RUN3[0])") +CONDTAG=$(python -c "from AthenaConfiguration.TestDefaults import defaultConditionsTags; print(defaultConditionsTags.RUN3_MC)") +GEOTAG=$(python -c "from AthenaConfiguration.TestDefaults import defaultGeometryTags; print(defaultGeometryTags.RUN3)") +BKGFILE=$(python -c "from AthenaConfiguration.TestDefaults import defaultTestFiles; print(defaultTestFiles.RDO_BKG_RUN3[0])") + +#TODO update input files from mc23d campaign when available + +Reco_tf.py --CA "default:True" "RDOtoRDOTrigger:False" \ + --multithreaded --maxEvents=300 \ + --asetup "RDOtoRDOTrigger:Athena,23.0.32.7" \ + --steering "doOverlay" "doRDO_TRIG" "doTRIGtoALL" \ + --inputHITSFile="${INPUTFILE}" --conditionsTag="${CONDTAG}" --geometryVersion="${GEOTAG}" \ + --inputRDO_BKGFile="${BKGFILE}" \ + --outputRDOFile=myRDO.pool.root --outputAODFile=myAOD.pool.root --outputESDFile=myESD.pool.root \ + --preInclude 'Campaigns.MC23d' + +RES=$? +echo "art-result: $RES Reco" diff --git a/Tools/PROCTools/data/q449_AOD_digest.ref b/Tools/PROCTools/data/q449_AOD_digest.ref index 2574850317abc88376503e040d4896946acae992..8126f978e74c3bee9904fad58478ccb4a3fe3c3e 100644 --- a/Tools/PROCTools/data/q449_AOD_digest.ref +++ b/Tools/PROCTools/data/q449_AOD_digest.ref @@ -1,18 +1,18 @@ run event nTopo nIdTracks nTauTracks nTaus nMuons nElec nTrueElec nFakeElec nPhot nTruePhot nFakePhot 431493 1096110158 311 447 87 6 1 15 0 15 15 0 15 431493 1096111916 286 319 49 6 1 10 0 10 14 0 14 - 431493 1096112143 267 389 48 4 1 1 0 1 2 0 2 + 431493 1096112143 267 389 48 4 0 1 0 1 2 0 2 431493 1096113011 367 402 71 9 0 9 0 9 11 0 11 431493 1096113187 274 319 71 7 0 9 0 9 15 0 15 431493 1096113771 294 409 77 6 0 10 0 10 12 0 12 - 431493 1096114154 374 572 87 6 0 6 0 6 18 0 18 + 431493 1096114154 374 572 87 6 1 6 0 6 18 0 18 431493 1096114168 132 151 17 4 0 2 0 2 6 0 6 431493 1096115980 390 519 130 10 0 20 0 20 22 0 22 431493 1096116200 309 410 57 6 1 4 0 4 12 0 12 431493 1096118782 294 357 95 7 1 12 0 12 23 0 23 431493 1096119418 307 337 81 6 0 5 0 5 9 0 9 431493 1096119460 227 313 15 2 0 2 0 2 5 0 5 - 431493 1096120001 388 586 124 8 0 14 0 14 18 0 18 + 431493 1096120001 388 586 124 8 1 14 0 14 18 0 18 431493 1096122174 301 413 72 8 0 5 0 5 23 0 23 431493 1096123090 428 537 158 11 0 20 0 20 28 0 28 431493 1096123254 489 685 96 7 2 14 0 14 27 0 27 @@ -42,15 +42,15 @@ 431493 1096137906 161 179 20 4 2 5 0 5 7 0 7 431493 1096139648 219 205 27 5 3 2 0 2 7 0 7 431493 1096139847 242 368 40 6 2 1 0 1 8 0 8 - 431493 1096142414 373 506 111 8 1 7 0 7 23 0 23 - 431493 1096143027 398 499 84 9 2 3 0 3 11 0 11 + 431493 1096142414 373 506 111 8 0 7 0 7 23 0 23 + 431493 1096143027 398 499 84 9 1 3 0 3 11 0 11 431493 1096144036 268 343 65 5 0 12 0 12 14 0 14 431493 1096145110 241 257 18 2 0 5 0 5 8 0 8 431493 1096146639 283 422 77 6 0 3 0 3 18 0 18 431493 1096146735 321 378 105 10 1 21 0 21 26 0 26 431493 1096147568 392 600 41 4 2 4 0 4 14 0 14 431493 1096150983 272 320 22 5 0 2 0 2 13 0 13 - 431493 1096152978 365 498 87 7 1 8 0 8 11 0 11 + 431493 1096152978 365 498 87 7 2 8 0 8 11 0 11 431493 1096153967 539 655 111 10 2 7 0 7 33 0 33 431493 1096155046 240 373 32 4 1 1 0 1 3 0 3 431493 1096155387 335 486 84 9 1 7 0 7 15 0 15 @@ -63,16 +63,16 @@ 431493 1096160558 247 368 40 4 0 2 0 2 10 0 10 431493 1096161183 249 318 54 4 0 12 0 12 7 0 7 431493 1096162191 348 391 14 2 1 1 0 1 8 0 8 - 431493 1096163035 344 448 120 10 0 14 0 14 26 0 26 + 431493 1096163035 344 448 120 10 1 14 0 14 26 0 26 431493 1096163900 337 461 70 7 0 12 0 12 19 0 19 431493 1096164842 307 442 50 5 1 3 0 3 9 0 9 431493 1096167556 330 425 74 7 1 9 0 9 11 0 11 431493 1096168429 297 416 99 8 0 6 0 6 8 0 8 431493 1096171532 341 417 88 9 0 13 0 13 14 0 14 - 431493 1096171788 310 441 60 4 0 9 0 9 12 0 12 + 431493 1096171788 310 441 60 4 1 9 0 9 12 0 12 431493 1096171838 423 615 140 9 0 10 0 10 25 0 25 431493 1096173554 314 425 47 5 1 4 0 4 9 0 9 - 431493 1096173910 355 572 107 8 0 11 0 11 9 0 9 + 431493 1096173910 355 572 107 8 1 11 0 11 9 0 9 431493 1096176781 366 440 89 10 0 11 0 11 20 0 20 431493 1096177006 309 381 45 5 0 7 0 7 11 0 11 431493 1096177862 252 280 13 2 0 2 0 2 11 0 11 diff --git a/Tools/WorkflowTestRunner/python/References.py b/Tools/WorkflowTestRunner/python/References.py index 6695445ed0971f0ac9de07e9845775763e95d8ca..4012940bb8a87113305af903a8ed47b0c31a37dc 100644 --- a/Tools/WorkflowTestRunner/python/References.py +++ b/Tools/WorkflowTestRunner/python/References.py @@ -26,7 +26,7 @@ references_map = { "d1912": "v8", # Reco "q442": "v75", - "q449": "v121", + "q449": "v122", "q452": "v35", "q454": "v51", # Derivations diff --git a/Trigger/TrigHypothesis/TrigAnomalyDetectionHypo/src/TrigADComboHypoTool.cxx b/Trigger/TrigHypothesis/TrigAnomalyDetectionHypo/src/TrigADComboHypoTool.cxx index 677bdcf194a453ea937fe35c217d904dafd93d7a..c38f3479aea0c5b2e54a404089cfe7cabbaca710 100644 --- a/Trigger/TrigHypothesis/TrigAnomalyDetectionHypo/src/TrigADComboHypoTool.cxx +++ b/Trigger/TrigHypothesis/TrigAnomalyDetectionHypo/src/TrigADComboHypoTool.cxx @@ -259,12 +259,12 @@ bool TrigADComboHypoTool::getAdDecision( << jet->eta() << ", " << jet->phi() << ", " << jet->m()/1000 << ")"); - if (jet_count<m_maxjs) { + if (jet_count<m_maxjs.value()) { inputTensor.insert(inputTensor.end(), {static_cast<float>(jet->pt()/1000), static_cast<float>(jet->eta()), static_cast<float>(jet->phi())}); + jet_count++; } - jet_count++; } - inputTensor.insert(inputTensor.end(), 3*(m_maxjs-jet_count), 0.); + inputTensor.insert(inputTensor.end(), 3*(m_maxjs.value()-jet_count), 0.); unsigned int ele_count = 0; for(const auto &ele : input_electrons){ @@ -274,12 +274,12 @@ bool TrigADComboHypoTool::getAdDecision( << ele->eta() << ", " << ele->phi() << ", " << ele->m()/1000 << ")"); - if (ele_count<m_maxes) { + if (ele_count<m_maxes.value()) { inputTensor.insert(inputTensor.end(), {static_cast<float>(ele->pt()/1000), static_cast<float>(ele->eta()), static_cast<float>(ele->phi())}); + ele_count++; } - ele_count++; } - inputTensor.insert(inputTensor.end(), 3*(m_maxes-ele_count), 0.); + inputTensor.insert(inputTensor.end(), 3*(m_maxes.value()-ele_count), 0.); unsigned int muon_count = 0; for(const auto &muon : input_muons){ @@ -289,12 +289,12 @@ bool TrigADComboHypoTool::getAdDecision( << muon->eta() << ", " << muon->phi() << ", " << muon->m()/1000 << ")"); - if (muon_count<m_maxms) { + if (muon_count<m_maxms.value()) { inputTensor.insert(inputTensor.end(), {static_cast<float>(muon->pt()/1000), static_cast<float>(muon->eta()), static_cast<float>(muon->phi())}); + muon_count++; } - muon_count++; } - inputTensor.insert(inputTensor.end(), 3*(m_maxms-muon_count), 0.); + inputTensor.insert(inputTensor.end(), 3*(m_maxms.value()-muon_count), 0.); unsigned int gam_count = 0; for(const auto &gam : input_photons){ @@ -304,12 +304,12 @@ bool TrigADComboHypoTool::getAdDecision( << gam->eta() << ", " << gam->phi() << ", " << gam->m()/1000 << ")"); - if (gam_count<m_maxgs) { + if (gam_count<m_maxgs.value()) { inputTensor.insert(inputTensor.end(), {static_cast<float>(gam->pt()/1000), static_cast<float>(gam->eta()), static_cast<float>(gam->phi())}); + gam_count++; } - gam_count++; } - inputTensor.insert(inputTensor.end(), 3*(m_maxgs-gam_count), 0.); + inputTensor.insert(inputTensor.end(), 3*(m_maxgs.value()-gam_count), 0.); inputTensor.insert(inputTensor.end(), {0., 0., 0.}); for(const auto &met : input_mets){ diff --git a/Trigger/TrigT1/L1Topo/L1TopoOnlineMonitoring/python/L1TopoOnlineMonitoringConfig.py b/Trigger/TrigT1/L1Topo/L1TopoOnlineMonitoring/python/L1TopoOnlineMonitoringConfig.py index a52fb5c7454a94adb7663b055f6dc50b15613bd6..b7525e123a015e2467710a46cdb06c7b6d8cb087 100644 --- a/Trigger/TrigT1/L1Topo/L1TopoOnlineMonitoring/python/L1TopoOnlineMonitoringConfig.py +++ b/Trigger/TrigT1/L1Topo/L1TopoOnlineMonitoring/python/L1TopoOnlineMonitoringConfig.py @@ -68,7 +68,9 @@ def getL1TopoPhase1OnlineMonitor(flags, name='L1TopoOnlineMonitor', doSimMon=Tru doHwMonCTP = doHwMonCtp, doComp = doComp, doMultComp = doMultComp, - forceCTPasHdw=forceCtp) + forceCTPasHdw=forceCtp, + MultiplicityVetoList=["ZeroBiasC","ZeroBiasB"], + AlgorithmVetoList =["jXE40delay"]) if logLevel : alg.OutputLevel=logLevel alg.MonTool = GenericMonitoringTool(flags, 'MonTool') alg.MonTool.HistPath = name @@ -85,7 +87,9 @@ def getL1TopoPhase1DQMonitor(flags, name='L1TopoDQMonitor', doSimMon=True, doHwM doHwMonCTP = doHwMonCtp, doComp = doComp, doMultComp = doMultComp, - forceCTPasHdw=forceCtp) + forceCTPasHdw=forceCtp, + MultiplicityVetoList=["ZeroBiasA","ZeroBiasB"], + AlgorithmVetoList =["jXE40delay"]) #Define the Monitoring plots for L1Calo DQ helper.defineDQAlgorithm("L1TopoMismatchRate", diff --git a/Trigger/TrigT1/L1Topo/L1TopoOnlineMonitoring/src/L1TopoOnlineMonitor.cxx b/Trigger/TrigT1/L1Topo/L1TopoOnlineMonitoring/src/L1TopoOnlineMonitor.cxx index 4d98918f3bca5f6f9ee310a041609a295d044286..ebc64ab2189cac27a07104cf5063f8a712998d7b 100644 --- a/Trigger/TrigT1/L1Topo/L1TopoOnlineMonitoring/src/L1TopoOnlineMonitor.cxx +++ b/Trigger/TrigT1/L1Topo/L1TopoOnlineMonitoring/src/L1TopoOnlineMonitor.cxx @@ -94,6 +94,108 @@ StatusCode L1TopoOnlineMonitor::initialize() { ATH_CHECK(m_monTool.retrieve(DisableTool{m_monTool.name().empty()})); ATH_CHECK(m_errorFlagsKey.initialize()); + const TrigConf::L1Menu * l1menu = nullptr; + ATH_CHECK( m_detStore->retrieve(l1menu) ); + + auto & conn2EL = l1menu->connector("Topo2El"); + auto & conn3EL = l1menu->connector("Topo3El"); + + auto & connOpt0 = l1menu->connector("Topo1Opt0"); + auto & connOpt1 = l1menu->connector("Topo1Opt1"); + auto & connOpt2 = l1menu->connector("Topo1Opt2"); + auto & connOpt3 = l1menu->connector("Topo1Opt3"); + + m_TopoAlgTriggerNames.reserve(32*4); + m_TopoAlgTriggerNotVetoed.reserve(32*4); + m_TopoMultTriggerNames.reserve(64*4); + m_TopoMultTriggerNotVetoed.reserve(64*4); + + //TopoOpt + auto & tlopt0 = connOpt0.triggerLines(); + auto & tlopt1 = connOpt1.triggerLines(); + auto & tlopt2 = connOpt2.triggerLines(); + auto & tlopt3 = connOpt3.triggerLines(); + + long unsigned int size_tlopt0 = tlopt0.size(); + long unsigned int size_tlopt1 = tlopt1.size(); + long unsigned int size_tlopt2 = tlopt2.size(); + long unsigned int size_tlopt3 = tlopt3.size(); + + long unsigned int total_size_opt = size_tlopt0+size_tlopt1+size_tlopt2+size_tlopt3; + + for (size_t j = 0; j < size_tlopt0; ++j) m_TopoMultTriggerNames.push_back(tlopt0[j].name()); + for (size_t j = 0; j < size_tlopt1; ++j) m_TopoMultTriggerNames.push_back(tlopt1[j].name()); + for (size_t j = 0; j < size_tlopt2; ++j) m_TopoMultTriggerNames.push_back(tlopt2[j].name()); + for (size_t j = 0; j < size_tlopt3; ++j) m_TopoMultTriggerNames.push_back(tlopt3[j].name()); + + //Topo2a + auto & tl2a0 = conn2EL.triggerLines(0, 0); //clock 0 + auto & tl2a1 = conn2EL.triggerLines(0, 1); //clock 1 + long unsigned int size_tl2a0 = tl2a0.size(); + long unsigned int size_tl2a1 = tl2a1.size(); + //Topo2b + auto & tl2b0 = conn2EL.triggerLines(1, 0); //clock 0 + auto & tl2b1 = conn2EL.triggerLines(1, 1); //clock 1 + long unsigned int size_tl2b0 = tl2b0.size(); + long unsigned int size_tl2b1 = tl2b1.size(); + //Topo3a + auto & tl3a0 = conn3EL.triggerLines(0, 0); //clock 0 + auto & tl3a1 = conn3EL.triggerLines(0, 1); //clock 1 + long unsigned int size_tl3a0 = tl3a0.size(); + long unsigned int size_tl3a1 = tl3a1.size(); + //Topo3b + auto & tl3b0 = conn3EL.triggerLines(1, 0); //clock 0 + auto & tl3b1 = conn3EL.triggerLines(1, 1); //clock 1 + long unsigned int size_tl3b0 = tl3b0.size(); + long unsigned int size_tl3b1 = tl3b1.size(); + + for (size_t i = 0; i < 16; ++i) { + if (i < size_tl2a0) m_TopoAlgTriggerNames.push_back(tl2a0[i].name()); + else m_TopoAlgTriggerNames.push_back("Empty"); + if (i < size_tl2a1) m_TopoAlgTriggerNames.push_back(tl2a1[i].name()); + else m_TopoAlgTriggerNames.push_back("Empty"); + } + + for (size_t i = 0; i < 16; ++i) { + if (i < size_tl2b0) m_TopoAlgTriggerNames.push_back(tl2b0[i].name()); + else m_TopoAlgTriggerNames.push_back("Empty"); + if (i < size_tl2b1) m_TopoAlgTriggerNames.push_back(tl2b1[i].name()); + else m_TopoAlgTriggerNames.push_back("Empty"); + } + + for (size_t i = 0; i < 16; ++i) { + if (i < size_tl3a0) m_TopoAlgTriggerNames.push_back(tl3a0[i].name()); + else m_TopoAlgTriggerNames.push_back("Empty"); + if (i < size_tl3a1) m_TopoAlgTriggerNames.push_back(tl3a1[i].name()); + else m_TopoAlgTriggerNames.push_back("Empty"); + } + + for (size_t i = 0; i < 16; ++i) { + if (i < size_tl3b0) m_TopoAlgTriggerNames.push_back(tl3b0[i].name()); + else m_TopoAlgTriggerNames.push_back("Empty"); + if (i < size_tl3b1) m_TopoAlgTriggerNames.push_back(tl3b1[i].name()); + else m_TopoAlgTriggerNames.push_back("Empty"); + } + + //Fill Vector of booleans to fill corresponding triggers + //Only elements with a corresponding Veto are set to false + + for (size_t j = 0; j < total_size_opt; ++j) { + m_TopoMultTriggerNotVetoed[j] = true; + for (const std::string& VetoedElement : m_MultiplicityVetoList) { + if ( !m_TopoMultTriggerNotVetoed[j] || m_TopoMultTriggerNames[j].find(VetoedElement)!= std::string::npos) m_TopoMultTriggerNotVetoed[j] = false; + else m_TopoMultTriggerNotVetoed[j] = true; + } + } + + for (int j =0; j<128;j++){ + m_TopoAlgTriggerNotVetoed[j] = true; + for (const std::string& VetoedElement : m_AlgorithmVetoList) { + if ( !m_TopoAlgTriggerNotVetoed[j] || m_TopoAlgTriggerNames[j].find(VetoedElement)!= std::string::npos) m_TopoAlgTriggerNotVetoed[j] = false; + else m_TopoAlgTriggerNotVetoed[j] = true; + } + } + return AthMonitorAlgorithm::initialize(); } @@ -523,13 +625,16 @@ StatusCode L1TopoOnlineMonitor::doComp( DecisionBits& decisionBits, const EventC auto mon_matchVsLumi_DQ = Monitored::Scalar<unsigned>("L1TopoAlgorithmMissMatchVsLumi"); for (size_t i=0;i<4;i++) { + auto mon_trig = Monitored::Scalar<unsigned>("Phase1TopoTrigger_"+std::to_string(i)); auto mon_match = Monitored::Scalar<unsigned>("Phase1TopoMissMatch_"+std::to_string(i)); auto mon_match_DQ = Monitored::Scalar<unsigned>("L1TopoAlgorithmMissMatch_"+std::to_string(i)); auto mon_match_OF_DQ = Monitored::Scalar<unsigned>("L1TopoAlgorithmOverflowMissMatch_"+std::to_string(i)); auto mon_weight = Monitored::Scalar<float>("Phase1TopoWeight_"+std::to_string(i)); auto mon_OFweight = Monitored::Scalar<float>("Phase1TopoOFWeight_"+std::to_string(i)); + for (size_t j=0;j<32;j++) { + if (ambiguityBitsSim[32*i+j] == 0) { mon_trig = static_cast<unsigned>(j); mon_trig_allboards = static_cast<unsigned>(32*i+j); @@ -554,7 +659,7 @@ StatusCode L1TopoOnlineMonitor::doComp( DecisionBits& decisionBits, const EventC if ( m_countSim[32*i+j] < m_countHdw[32*i+j] ){ mon_match_DQ = 0; mon_matchVsLumi_DQ = 1;} if ( m_countSim[32*i+j] > m_countHdw[32*i+j] ){ mon_match_DQ = 1; mon_matchVsLumi_DQ = 1;} if ( m_countSim[32*i+j] == m_countHdw[32*i+j] ){ mon_match_DQ = 2; mon_matchVsLumi_DQ = 0;} - if ( m_countSim[32*i+j] > 0 || m_countHdw[32*i+j] > 0) { + if ( (m_countSim[32*i+j] > 0 || m_countHdw[32*i+j] > 0 ) && m_TopoAlgTriggerNotVetoed[32*i+j] ) { Monitored::Group(m_monTool, mon_trig, mon_match_DQ); Monitored::Group(m_monTool, lbn, mon_trig_allboards, mon_matchVsLumi_DQ); } @@ -562,7 +667,7 @@ StatusCode L1TopoOnlineMonitor::doComp( DecisionBits& decisionBits, const EventC if (m_overflow_countSim[32*i+j] <m_overflow_countHdw[32*i+j] ) mon_match_OF_DQ = 0; if (m_overflow_countSim[32*i+j] >m_overflow_countHdw[32*i+j] ) mon_match_OF_DQ = 1; if (m_overflow_countSim[32*i+j] ==m_overflow_countHdw[32*i+j] ) mon_match_OF_DQ = 2; - if (m_overflow_countSim[32*i+j] > 0 || m_overflow_countHdw[32*i+j] > 0) Monitored::Group(m_monTool, mon_trig, mon_match_OF_DQ); + if ( (m_overflow_countSim[32*i+j] > 0 || m_overflow_countHdw[32*i+j] > 0 ) && m_TopoAlgTriggerNotVetoed[32*i+j] ) Monitored::Group(m_monTool, mon_trig, mon_match_OF_DQ); rate = m_countHdw[32*i+j]>0 ? m_countHdwNotSim[32*i+j]/m_countHdw[32*i+j] : 0; if (rate != m_rateHdwNotSim[32*i+j]) { @@ -649,7 +754,7 @@ StatusCode L1TopoOnlineMonitor::doMultComp( std::vector<std::vector<unsigned>> & if (monMultSim == monMultHdw){mon_match = 2; mon_matchVsLumi_DQ = 0;} mon_multiplicity = static_cast<unsigned>(k); mon_multiplicity_allboards = static_cast<unsigned>(k+AccumulatedPosition); - if ( monMultSim > 0 || monMultHdw > 0){ + if (( monMultSim > 0 || monMultHdw > 0) && m_TopoMultTriggerNotVetoed[k+AccumulatedPosition]) { Monitored::Group(m_monTool, mon_multiplicity, mon_match); Monitored::Group(m_monTool, lbn, mon_multiplicity_allboards, mon_matchVsLumi_DQ); } diff --git a/Trigger/TrigT1/L1Topo/L1TopoOnlineMonitoring/src/L1TopoOnlineMonitor.h b/Trigger/TrigT1/L1Topo/L1TopoOnlineMonitoring/src/L1TopoOnlineMonitor.h index d00d78a06e8d8ca4693fe6ee611b1b5aba117e51..406e197fbe79947343211b66f7857cf6a1c6d954 100644 --- a/Trigger/TrigT1/L1Topo/L1TopoOnlineMonitoring/src/L1TopoOnlineMonitor.h +++ b/Trigger/TrigT1/L1Topo/L1TopoOnlineMonitoring/src/L1TopoOnlineMonitor.h @@ -63,6 +63,11 @@ private: } }; + std::vector<std::string> m_TopoAlgTriggerNames; + std::vector<bool> m_TopoAlgTriggerNotVetoed; + std::vector<std::string> m_TopoMultTriggerNames; + std::vector<bool> m_TopoMultTriggerNotVetoed; + std::unique_ptr<float[]> m_rateHdwNotSim; std::unique_ptr<float[]> m_rateSimNotHdw; std::unique_ptr<float[]> m_rateHdwAndSim; @@ -110,6 +115,10 @@ private: this, "doMultComp", false, "Enable L1Topo Multiplicity HW/Sim comparison"}; Gaudi::Property<bool> m_forceCTPasHdw { this, "forceCTPasHdw", false, "Force to CTP monitoring as primary in Sim/Hdw comparison"}; + Gaudi::Property<std::vector<std::string>> m_AlgorithmVetoList { + this, "AlgorithmVetoList", {}, "List of L1Topo algorithm items Vetoed for monitoring in L1CaloDQ package due to known Sim/Hdw mismatches"}; + Gaudi::Property<std::vector<std::string>> m_MultiplicityVetoList { + this, "MultiplicityVetoList", {}, "List of multiplicity items Vetoed for monitoring in L1CaloDQ package due to known Sim/Hdw mismatches"}; ServiceHandle<StoreGateSvc> m_detStore { this, "DetectorStore", "StoreGateSvc/DetectorStore", "Detector store to get the menu" }; diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/CMakeLists.txt b/Trigger/TrigT1/TrigT1NSWSimTools/CMakeLists.txt index 70699cea658beabc6d7932ba8e486cea9094c52b..782fa2cf1eb5af9fcec5bd91dbc5fdb8bc143c60 100644 --- a/Trigger/TrigT1/TrigT1NSWSimTools/CMakeLists.txt +++ b/Trigger/TrigT1/TrigT1NSWSimTools/CMakeLists.txt @@ -14,7 +14,7 @@ atlas_add_library( TrigT1NSWSimToolsLib PUBLIC_HEADERS TrigT1NSWSimTools INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS} LINK_LIBRARIES ${Boost_LIBRARIES} ${ROOT_LIBRARIES} AthenaBaseComps AthenaKernel FourMomUtils GaudiKernel GeoPrimitives Identifier MuonDigitContainer MuonIdHelpersLib MuonRDO MuonReadoutGeometry MuonSimData MuonSimEvent MuonTesterTreeLib RegSelLUT TrkSurfaces TrackRecordLib - PRIVATE_LINK_LIBRARIES ${CLHEP_LIBRARIES} AGDDKernel AtlasHepMCLib TruthUtils GeneratorObjects PathResolver StoreGateLib ) + PRIVATE_LINK_LIBRARIES ${CLHEP_LIBRARIES} AGDDKernel AtlasHepMCLib TruthUtils GeneratorObjects PathResolver StoreGateLib MuonAGDDDescription) # Component(s) in the package: atlas_add_component( TrigT1NSWSimTools diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/MMT_Hit.h b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/MMT_Hit.h index c3973c0e4fb13fc8a0fd7900041adddb28aaecd6..16140d52df5349abb923e3e7047f64cbce442806 100644 --- a/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/MMT_Hit.h +++ b/Trigger/TrigT1/TrigT1NSWSimTools/TrigT1NSWSimTools/MMT_Hit.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration + * Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration */ #ifndef MMT_HIT_H @@ -7,13 +7,9 @@ #include "MMT_struct.h" -namespace MuonGM { - class MuonDetectorManager; -} - class MMT_Hit { public: - MMT_Hit(const hitData_entry &entry, const MuonGM::MuonDetectorManager* detManager, const std::shared_ptr<MMT_Parameters> par, const std::vector<ROOT::Math::XYZVector> &planeCoordinates); + MMT_Hit(const hitData_entry &entry, const MuonGM::MuonDetectorManager* detManager, const std::string_view stName, const std::vector<ROOT::Math::XYZVector> &planeCoordinates); MMT_Hit(const MMT_Hit* hit); ~MMT_Hit()=default; @@ -22,12 +18,10 @@ class MMT_Hit { int getBC() const { return m_BC_time; } int getChannel() const { return m_strip; } int getGasGap() const { return m_gasgap; } - const std::string& getModule() const { return m_module; } int getMultiplet() const { return m_multiplet; } int getPlane() const { return m_plane; } char getSector() const { return m_sector; } double getRZSlope() const { return m_RZslope; } - double getYZSlope() const { return m_YZslope; } int getVMM() const { return m_VMM_chip; } int getMMFE8() const { return m_MMFE_VMM; } float getShift() const { return m_shift; } @@ -37,7 +31,6 @@ class MMT_Hit { double getR() const { return m_R; } double getRp() const { return m_Rp; } double getX() const { return m_localX; } - double getY() const { return m_Y; } double getZ() const { return m_Z; } double getPitchOverZ() const { return m_PitchOverZ; } float getTime() const { return m_time; } @@ -45,19 +38,16 @@ class MMT_Hit { bool isX() const; bool isU() const; bool isV() const; - void printHit() const; void setAge(int age) { m_age = age; } void setAsNoise() { m_isNoise = true; } void setBC(int bc) { m_BC_time = bc; } void setRZSlope(double slope) { m_RZslope = slope; } - void setYZSlope(double slope) { m_YZslope = slope; } - void setY(double y) { m_Y = y; } void setZ(double z) { m_Z = z; } bool verifyHit() const; private: char m_sector; - std::string m_module, m_station_name; + std::string m_station_name; int m_VMM_chip; int m_MMFE_VMM; int m_ART_ASIC; @@ -68,9 +58,9 @@ class MMT_Hit { int m_gasgap; int m_strip; double m_localX; - double m_RZslope, m_YZslope; + double m_RZslope; int m_BC_time, m_age; - double m_Y, m_Z, m_PitchOverZ; + double m_Z, m_PitchOverZ; double m_R, m_Rp; bool m_isNoise; float m_time, m_shift; diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_Diamond.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_Diamond.cxx index d747376bed9c64763e4614eeb1ccbe3087bd1517..edbf6644e7aedf7fc690035db3fab0f75e89d07e 100644 --- a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_Diamond.cxx +++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_Diamond.cxx @@ -61,7 +61,7 @@ void MMT_Diamond::createRoads_fillHits(const unsigned int iterator, std::vector< this->setUVfactor(uvfactor); for (const auto &hit_entry : hitDatas) { - auto myhit = std::make_shared<MMT_Hit>(hit_entry, detManager, par, planeCoordinates); + auto myhit = std::make_shared<MMT_Hit>(hit_entry, detManager, sector, planeCoordinates); if (myhit->verifyHit()) { m_hitslopes.push_back(myhit->getRZSlope()); entry.ev_hits.push_back(myhit); diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_Hit.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_Hit.cxx index 3c6739615b89ac6738e228ddefa4ae07d6f2168c..9e5ce50dde9667c409ccf887c9e36b0793d56fcf 100644 --- a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_Hit.cxx +++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_Hit.cxx @@ -1,22 +1,19 @@ /* - * Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration + * Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration */ #include "TrigT1NSWSimTools/MMT_Hit.h" +#include "MuonAGDDDescription/MMDetectorDescription.h" +#include "MuonAGDDDescription/MMDetectorHelper.h" #include "MuonReadoutGeometry/MuonChannelDesign.h" #include "MuonReadoutGeometry/MuonDetectorManager.h" #include "MuonReadoutGeometry/MMReadoutElement.h" #include <cmath> -MMT_Hit::MMT_Hit(const hitData_entry &entry, const MuonGM::MuonDetectorManager* detManager, const std::shared_ptr<MMT_Parameters> par, const std::vector<ROOT::Math::XYZVector> &planeCoordinates) { - m_sector = par->getSector(); - - std::string module(1, m_sector); - module += (std::abs(entry.station_eta) == 1) ? "M1" : "M2"; - m_module = module; - - m_station_name = "MM"; - m_station_name += m_sector; +MMT_Hit::MMT_Hit(const hitData_entry &entry, const MuonGM::MuonDetectorManager* detManager, const std::string_view stName, const std::vector<ROOT::Math::XYZVector> &planeCoordinates) + : m_station_name(stName) + { + m_sector = stName[2]; m_VMM_chip = entry.VMM_chip; m_MMFE_VMM = entry.MMFE_VMM; m_ART_ASIC = std::ceil(1.*entry.MMFE_VMM/2); @@ -29,14 +26,12 @@ MMT_Hit::MMT_Hit(const hitData_entry &entry, const MuonGM::MuonDetectorManager* m_localX = entry.localX; m_BC_time = entry.BC_time; m_age = entry.BC_time; - m_Y = -1.; m_Z = -1.; m_R = -1.; m_Rp = -1.; m_isNoise = false; m_time = entry.gtime; m_RZslope = -1.; - m_YZslope = -1.; m_PitchOverZ = -1.; m_shift = -1.; @@ -88,28 +83,25 @@ MMT_Hit::MMT_Hit(const hitData_entry &entry, const MuonGM::MuonDetectorManager* Amg::Vector3D globalPos(0.0, 0.0, 0.0); if(readout->stripGlobalPosition(strip_id, globalPos)) { + MMDetectorHelper aHelper; + char side = (globalPos.z() > 0.) ? 'A' : 'C'; + MMDetectorDescription* mm = aHelper.Get_MMDetector(m_sector, std::abs(m_station_eta), m_station_phi, m_multiplet, side); + MMReadoutParameters roP = mm->GetReadoutParameters(); + m_R = globalPos.perp(); m_Z = globalPos.z(); - const double stripPitch{readout->getDesign(strip_id)->inputPitch}; - m_PitchOverZ = stripPitch/m_Z; + m_PitchOverZ = roP.stripPitch/m_Z; m_RZslope = m_R / m_Z; - int eta = std::abs(m_station_eta)-1; - double base = par->getYbase(m_plane, eta); - m_Y = base + m_strip*stripPitch - stripPitch/2.; - m_YZslope = m_Y / m_Z; - double index = std::round((std::abs(m_RZslope)-0.1)/5e-04); // 0.0005 is approx. the step in slope achievable with a road size of 8 strips - double roundedSlope = 0.1 + index*((0.6 - 0.1)/1000.); - const double distanceFromZAxis = readout->absTransform().translation().perp() - 0.5*readout->getRsize(); - m_Rp = distanceFromZAxis + roundedSlope*(planeCoordinates[m_plane].Z() - planeCoordinates[0].Z()); + double roundedSlope = 0.1 + index*((0.6 - 0.1)/1000.); + m_Rp = roP.distanceFromZAxis + roundedSlope*(planeCoordinates[m_plane].Z() - planeCoordinates[0].Z()); m_shift = m_Rp / m_Z; } } MMT_Hit::MMT_Hit(const MMT_Hit* hit) : m_sector (hit->m_sector), - m_module (hit->m_module), m_station_name (hit->m_station_name), m_VMM_chip (hit->m_VMM_chip), m_MMFE_VMM (hit->m_MMFE_VMM), @@ -122,10 +114,8 @@ MMT_Hit::MMT_Hit(const MMT_Hit* hit) m_strip (hit->m_strip), m_localX (hit->m_localX), m_RZslope (hit->m_RZslope), - m_YZslope (hit->m_YZslope), m_BC_time (hit->m_BC_time), m_age (hit->m_age), - m_Y (hit->m_Y), m_Z (hit->m_Z), m_PitchOverZ (hit->m_PitchOverZ), m_R (hit->m_R), diff --git a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_struct.cxx b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_struct.cxx index 984c8a38c05ad25c9396b23a1fe4b1f19531093a..107115961b8663495025e982affa8b9d287e7f2f 100644 --- a/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_struct.cxx +++ b/Trigger/TrigT1/TrigT1NSWSimTools/src/MMT_struct.cxx @@ -3,6 +3,8 @@ */ #include "TrigT1NSWSimTools/MMT_struct.h" +#include "MuonAGDDDescription/MMDetectorDescription.h" +#include "MuonAGDDDescription/MMDetectorHelper.h" #include "MuonReadoutGeometry/MuonChannelDesign.h" #include "MuonReadoutGeometry/MuonDetectorManager.h" @@ -11,27 +13,68 @@ MMT_Parameters::MMT_Parameters(const std::string& layerSetup, char wedgeSize, co // Get the modules for each multiplet, the sector and side arguement (third and fifth argument, respectively) shouldn't matter // since the algorithm computes locally - std::string wedgeString = (wedgeSize=='L' ? "MML" : "MMS"); + char side = 'A'; m_sector = wedgeSize; + MMDetectorHelper aHelper; + MMDetectorDescription* mm_top_mult1 = aHelper.Get_MMDetector(m_sector, 2, 5, 1, side); // Parameters: sector, eta, phi, layer/multiplet + MMDetectorDescription* mm_top_mult2 = aHelper.Get_MMDetector(m_sector, 2, 5, 2, side); + MMDetectorDescription* mm_bottom_mult1 = aHelper.Get_MMDetector(m_sector, 1, 5, 1, side); + MMDetectorDescription* mm_bottom_mult2 = aHelper.Get_MMDetector(m_sector, 1, 5, 2, side); - Identifier mm_top_ele_id = detManager->mmIdHelper()->elementID(wedgeString, 2, 5); - Identifier mm_bottom_ele_id = detManager->mmIdHelper()->elementID(wedgeString, 1, 5); - - const MuonGM::MMReadoutElement* mm_ReadOut_top = detManager->getMMReadoutElement(mm_top_ele_id); - const MuonGM::MMReadoutElement* mm_ReadOut_bottom = detManager->getMMReadoutElement(mm_bottom_ele_id); - - m_lWidth = mm_ReadOut_top->getLongSsize(); - m_pitch = mm_ReadOut_top->getDesign(mm_top_ele_id)->inputPitch; + MMReadoutParameters roParam_top_mult1 = mm_top_mult1->GetReadoutParameters(); + MMReadoutParameters roParam_top_mult2 = mm_top_mult2->GetReadoutParameters(); + MMReadoutParameters roParam_bottom_mult1 = mm_bottom_mult1->GetReadoutParameters(); + MMReadoutParameters roParam_bottom_mult2 = mm_bottom_mult2->GetReadoutParameters(); //Needed to get the max channels for the deadZone in the x planes... a little annoying... //Only changes for small or large and per module. Phi, layer, etc don't matter (just set to 1) + std::string wedgeString = (wedgeSize=='L' ? "MML" : "MMS"); - m_innerRadiusEta1 = mm_ReadOut_bottom->absTransform().translation().perp() - 0.5*mm_ReadOut_bottom->getRsize(); - m_innerRadiusEta2 = mm_ReadOut_top->absTransform().translation().perp() - 0.5*mm_ReadOut_top->getRsize(); + m_pitch = roParam_bottom_mult1.stripPitch; + m_lWidth = mm_top_mult1->lWidth(); + m_innerRadiusEta1 = roParam_bottom_mult1.distanceFromZAxis; + m_innerRadiusEta2 = roParam_top_mult1.distanceFromZAxis; + m_missedBottomEta = roParam_bottom_mult1.nMissedBottomEta; + m_missedBottomStereo = roParam_bottom_mult1.nMissedBottomStereo; + if (m_sector == 'L') { + ATH_MSG_DEBUG("LM1 \n" << + "\t\t\t\t Total Strips: " << roParam_bottom_mult1.tStrips << " with pitch: " << roParam_bottom_mult1.stripPitch << "\n" << + "\t\t\t\t KO strips TopEta: " << roParam_bottom_mult1.nMissedTopEta << " - BottomEta: " << roParam_bottom_mult1.nMissedBottomEta << "\n" << + "\t\t\t\t KO strips TopStereo: " << roParam_bottom_mult1.nMissedTopStereo << " - BottomStereo: " << roParam_bottom_mult1.nMissedBottomStereo << "\n" << + "\t\t\t\t (Top, Bottom, Length): (" << mm_bottom_mult1->lWidth() << ", " << mm_bottom_mult1->sWidth() << ", " << mm_bottom_mult1->Length() << ")\n" << + "\t\t\t\t Zpos - Distance from ZAxis: " << roParam_bottom_mult1.zpos << " - " << roParam_bottom_mult1.distanceFromZAxis << "\n" << + "\t\t\t\t dlStereoTop/Bottom: " << roParam_bottom_mult1.dlStereoTop << " " << roParam_bottom_mult1.dlStereoBottom << "\n" << + "\t\t\t\t Active area --> (Bottom, Top, Height) : (" << roParam_bottom_mult1.activeBottomLength << ", " << roParam_bottom_mult1.activeTopLength << ", " << roParam_bottom_mult1.activeH << ")"); + } else if (m_sector == 'S') { + ATH_MSG_DEBUG("SM1 \n" << + "\t\t\t\t KO strips TopEta: " << roParam_bottom_mult1.nMissedTopEta << " - BottomEta: " << roParam_bottom_mult1.nMissedBottomEta << "\n" << + "\t\t\t\t KO strips TopStereo: " << roParam_bottom_mult1.nMissedTopStereo << " - BottomStereo: " << roParam_bottom_mult1.nMissedBottomStereo << "\n" << + "\t\t\t\t Total Strips: " << roParam_bottom_mult1.tStrips << " with pitch: " << roParam_bottom_mult1.stripPitch << "\n" << + "\t\t\t\t (Top, Bottom, Length): (" << mm_bottom_mult1->lWidth() << ", " << mm_bottom_mult1->sWidth() << ", " << mm_bottom_mult1->Length() << ")\n" << + "\t\t\t\t Zpos - Distance from ZAxis: " << roParam_bottom_mult1.zpos << " - " << roParam_bottom_mult1.distanceFromZAxis << "\n" << + "\t\t\t\t dlStereoTop/Bottom: " << roParam_bottom_mult1.dlStereoTop << " " << roParam_bottom_mult1.dlStereoBottom << "\n" << + "\t\t\t\t Active area --> (Bottom, Top, Height) : (" << roParam_bottom_mult1.activeBottomLength << ", " << roParam_bottom_mult1.activeTopLength << ", " << roParam_bottom_mult1.activeH << ")"); + } - const auto design = mm_ReadOut_bottom->getDesign(mm_bottom_ele_id); - m_missedBottomEta = design->nMissedBottomEta; - m_missedBottomStereo = design->nMissedBottomStereo; + if (m_sector == 'L') { + ATH_MSG_DEBUG("LM2 \n" << + "\t\t\t\t Total Strips: " << roParam_top_mult1.tStrips << " with pitch: " << roParam_top_mult1.stripPitch << "\n" << + "\t\t\t\t KO strips TopEta: " << roParam_top_mult1.nMissedTopEta << " - BottomEta: " << roParam_top_mult1.nMissedBottomEta << "\n" << + "\t\t\t\t KO strips TopStereo: " << roParam_top_mult1.nMissedTopStereo << " - BottomStereo: " << roParam_top_mult1.nMissedBottomStereo << "\n" << + "\t\t\t\t (Top, Bottom, Length): (" << mm_top_mult1->lWidth() << ", " << mm_top_mult1->sWidth() << ", " << mm_top_mult1->Length() << ")\n" << + "\t\t\t\t Zpos - Distance from ZAxis: " << roParam_top_mult1.zpos << " - " << roParam_top_mult1.distanceFromZAxis << "\n" << + "\t\t\t\t dlStereoTop/Bottom: " << roParam_top_mult1.dlStereoTop << " " << roParam_top_mult1.dlStereoBottom << "\n" << + "\t\t\t\t Active area --> (Top, Bottom, Height) : (" << roParam_top_mult1.activeTopLength << ", " << roParam_top_mult1.activeBottomLength << ", " << roParam_top_mult1.activeH << ")"); + } else if (m_sector == 'S') { + ATH_MSG_DEBUG("SM2 \n" << + "\t\t\t\t KO strips TopEta: " << roParam_top_mult1.nMissedTopEta << " - BottomEta: " << roParam_top_mult1.nMissedBottomEta << "\n" << + "\t\t\t\t KO strips TopStereo: " << roParam_top_mult1.nMissedTopStereo << " - BottomStereo: " << roParam_top_mult1.nMissedBottomStereo << "\n" << + "\t\t\t\t (Top, Bottom, Length): (" << mm_top_mult1->lWidth() << ", " << mm_top_mult1->sWidth() << ", " << mm_top_mult1->Length() << ")\n" << + "\t\t\t\t Zpos - Distance from ZAxis: " << roParam_top_mult1.zpos << " - " << roParam_top_mult1.distanceFromZAxis << "\n" << + "\t\t\t\t dlStereoTop/Bottom: " << roParam_top_mult1.dlStereoTop << " " << roParam_top_mult1.dlStereoBottom << "\n" << + "\t\t\t\t Active area --> (Top, Bottom, Height) : (" << roParam_top_mult1.activeTopLength << ", " << roParam_top_mult1.activeBottomLength << ", " << roParam_top_mult1.activeH << ")"); + for (const auto &angle : roParam_top_mult1.stereoAngle) ATH_MSG_DEBUG("Stereo angle: " << angle); + } // retrieve the z-position of the planes std::vector<double> z_nominal; @@ -42,64 +85,6 @@ MMT_Parameters::MMT_Parameters(const std::string& layerSetup, char wedgeSize, co ATH_MSG_WARNING("Number of planes in setup is "<< layerSetup.size() << ", but we have a nominal " << z_nominal.size() << " planes."); throw std::runtime_error("MMT_Parameters: Invalid number of planes"); } - - float stereo_degree = design->stereoAngle(); - - // MM_firststrip_positions returns the position for phi sector 1. - // => for the small sectors, rotate this by -1/16 of a rotation to make our lives easier. - // in this coordinate basis, x is up/down the wedge (radial), and y is left/right (phi). - float cos_rotation = std::cos(-2*M_PI / 16.0); - float sin_rotation = std::sin(-2*M_PI / 16.0); - float x_rotated = 0.0; - float y_rotated = 0.0; - - float st_angle = 0.0; - - float radial_pos = 0; - float radial_pos_xx_1 = 0, radial_pos_xx_2 = 0; - float radial_pos_uv_1 = 0, radial_pos_uv_2 = 0; - - for (unsigned int eta = 1; eta <= 2; eta++){ - unsigned int layer = 1; - for (const auto& pos: MM_firststrip_positions(detManager, wedgeString, eta)){ - - if (wedgeString=="MMS"){ - x_rotated = pos.X()*cos_rotation - pos.Y()*sin_rotation; - y_rotated = pos.X()*sin_rotation + pos.Y()*cos_rotation; - } - else{ - x_rotated = pos.X(); - y_rotated = pos.Y(); - } - - if (is_u(layer)) st_angle = -1*std::abs(stereo_degree); - else if (is_v(layer)) st_angle = std::abs(stereo_degree); - else st_angle = 0; - - // walk from the center of the strip to the position of the strip at the center of the wedge. - // NB: for X-planes, this is simply the center of the strip: tan(0) = 0. - radial_pos = std::abs(x_rotated - y_rotated*std::tan(st_angle * M_PI/180.0)); - - if (is_x(layer) && eta==1) radial_pos_xx_1 = radial_pos; - else if (is_x(layer) && eta==2) radial_pos_xx_2 = radial_pos; - if (is_u(layer) && eta==1) radial_pos_uv_1 = radial_pos; - else if (is_u(layer) && eta==2) radial_pos_uv_2 = radial_pos; - - layer++; - } - } - - // store radial positions as fixed point - std::array<float, 2> radial_pos_xx = {radial_pos_xx_1, radial_pos_xx_2}; - std::array<float, 2> radial_pos_uv = {radial_pos_uv_1, radial_pos_uv_2}; - m_ybases[0] = radial_pos_xx; - m_ybases[1] = radial_pos_xx; - m_ybases[2] = radial_pos_uv; - m_ybases[3] = radial_pos_uv; - m_ybases[4] = radial_pos_uv; - m_ybases[5] = radial_pos_uv; - m_ybases[6] = radial_pos_xx; - m_ybases[7] = radial_pos_xx; } std::vector<ROOT::Math::XYZVector> MMT_Parameters::MM_firststrip_positions(const MuonGM::MuonDetectorManager* detManager, const std::string& wedge, int eta) const { diff --git a/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref b/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref index f35ef30b72478569847ce9e36a2883483d98343f..b3e9ead6b6ba78d3e512ff0a7fb3b74b499fb044 100644 --- a/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref +++ b/Trigger/TrigValidation/TrigAnalysisTest/share/ref_RDOtoRDOTrig_v1Dev_build.ref @@ -1,3 +1,411 @@ +HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_nn_anomdetL_L1ADVAEL: + eventCount: 3 + stepCounts: + 0: 7 + 1: 7 + 2: 7 + 3: 7 + 4: 7 + 5: 7 + 6: 7 + 7: 7 + 8: 3 + stepFeatures: + 0: 15 + 1: 11 + 2: 37 + 3: 10 + 4: 6 + 5: 6 + 6: 6 + 7: 39 + 8: 7 +HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_nn_anomdetL_L1ADVAET: + eventCount: 3 + stepCounts: + 0: 7 + 1: 7 + 2: 7 + 3: 7 + 4: 7 + 5: 7 + 6: 7 + 7: 7 + 8: 3 + stepFeatures: + 0: 15 + 1: 11 + 2: 37 + 3: 10 + 4: 6 + 5: 6 + 6: 6 + 7: 39 + 8: 7 +HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_nn_anomdetM_L1ADVAEL: + eventCount: 3 + stepCounts: + 0: 7 + 1: 7 + 2: 7 + 3: 7 + 4: 7 + 5: 7 + 6: 7 + 7: 7 + 8: 3 + stepFeatures: + 0: 15 + 1: 11 + 2: 37 + 3: 10 + 4: 6 + 5: 6 + 6: 6 + 7: 39 + 8: 7 +HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_nn_anomdetM_L1ADVAET: + eventCount: 3 + stepCounts: + 0: 7 + 1: 7 + 2: 7 + 3: 7 + 4: 7 + 5: 7 + 6: 7 + 7: 7 + 8: 3 + stepFeatures: + 0: 15 + 1: 11 + 2: 37 + 3: 10 + 4: 6 + 5: 6 + 6: 6 + 7: 39 + 8: 7 +HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_nn_anomdetT_L1ADVAEL: + eventCount: 1 + stepCounts: + 0: 7 + 1: 7 + 2: 7 + 3: 7 + 4: 7 + 5: 7 + 6: 7 + 7: 7 + 8: 1 + stepFeatures: + 0: 15 + 1: 11 + 2: 37 + 3: 10 + 4: 6 + 5: 6 + 6: 6 + 7: 39 + 8: 7 +HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_nn_anomdetT_L1ADVAET: + eventCount: 1 + stepCounts: + 0: 7 + 1: 7 + 2: 7 + 3: 7 + 4: 7 + 5: 7 + 6: 7 + 7: 7 + 8: 1 + stepFeatures: + 0: 15 + 1: 11 + 2: 37 + 3: 10 + 4: 6 + 5: 6 + 6: 6 + 7: 39 + 8: 7 +HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_tcpufit_anomdetL_L1ADVAEL: + eventCount: 3 + stepCounts: + 0: 7 + 1: 7 + 2: 7 + 3: 7 + 4: 7 + 5: 7 + 6: 7 + 7: 3 + stepFeatures: + 0: 15 + 1: 11 + 2: 37 + 3: 10 + 4: 6 + 5: 6 + 6: 6 + 7: 39 +HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_tcpufit_anomdetL_L1ADVAET: + eventCount: 3 + stepCounts: + 0: 7 + 1: 7 + 2: 7 + 3: 7 + 4: 7 + 5: 7 + 6: 7 + 7: 3 + stepFeatures: + 0: 15 + 1: 11 + 2: 37 + 3: 10 + 4: 6 + 5: 6 + 6: 6 + 7: 39 +HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_tcpufit_anomdetM_L1ADVAEL: + eventCount: 3 + stepCounts: + 0: 7 + 1: 7 + 2: 7 + 3: 7 + 4: 7 + 5: 7 + 6: 7 + 7: 3 + stepFeatures: + 0: 15 + 1: 11 + 2: 37 + 3: 10 + 4: 6 + 5: 6 + 6: 6 + 7: 39 +HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_tcpufit_anomdetM_L1ADVAET: + eventCount: 3 + stepCounts: + 0: 7 + 1: 7 + 2: 7 + 3: 7 + 4: 7 + 5: 7 + 6: 7 + 7: 3 + stepFeatures: + 0: 15 + 1: 11 + 2: 37 + 3: 10 + 4: 6 + 5: 6 + 6: 6 + 7: 39 +HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_tcpufit_anomdetT_L1ADVAEL: + eventCount: 1 + stepCounts: + 0: 7 + 1: 7 + 2: 7 + 3: 7 + 4: 7 + 5: 7 + 6: 7 + 7: 1 + stepFeatures: + 0: 15 + 1: 11 + 2: 37 + 3: 10 + 4: 6 + 5: 6 + 6: 6 + 7: 39 +HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_tcpufit_anomdetT_L1ADVAET: + eventCount: 1 + stepCounts: + 0: 7 + 1: 7 + 2: 7 + 3: 7 + 4: 7 + 5: 7 + 6: 7 + 7: 1 + stepFeatures: + 0: 15 + 1: 11 + 2: 37 + 3: 10 + 4: 6 + 5: 6 + 6: 6 + 7: 39 +HLT_0e25_nopid_0g25_loose_0mu24noL1_j20_xe0_nn_anomdetL_L1ADVAEL: + eventCount: 3 + stepCounts: + 0: 7 + 1: 7 + 2: 7 + 3: 7 + 4: 7 + 5: 7 + 6: 7 + 7: 7 + 8: 7 + 9: 7 + 10: 3 + stepFeatures: + 0: 9 + 1: 8 + 2: 34 + 3: 7 + 4: 6 + 5: 6 + 6: 6 + 7: 39 + 8: 7 + 9: 5 + 10: 5 +HLT_0e25_nopid_0g25_loose_0mu24noL1_j20_xe0_nn_anomdetL_L1ADVAET: + eventCount: 3 + stepCounts: + 0: 7 + 1: 7 + 2: 7 + 3: 7 + 4: 7 + 5: 7 + 6: 7 + 7: 7 + 8: 7 + 9: 7 + 10: 3 + stepFeatures: + 0: 9 + 1: 8 + 2: 34 + 3: 7 + 4: 6 + 5: 6 + 6: 6 + 7: 39 + 8: 7 + 9: 5 + 10: 5 +HLT_0e25_nopid_0g25_loose_0mu24noL1_j20_xe0_nn_anomdetM_L1ADVAEL: + eventCount: 3 + stepCounts: + 0: 7 + 1: 7 + 2: 7 + 3: 7 + 4: 7 + 5: 7 + 6: 7 + 7: 7 + 8: 7 + 9: 7 + 10: 3 + stepFeatures: + 0: 9 + 1: 8 + 2: 34 + 3: 7 + 4: 6 + 5: 6 + 6: 6 + 7: 39 + 8: 7 + 9: 5 + 10: 5 +HLT_0e25_nopid_0g25_loose_0mu24noL1_j20_xe0_nn_anomdetM_L1ADVAET: + eventCount: 3 + stepCounts: + 0: 7 + 1: 7 + 2: 7 + 3: 7 + 4: 7 + 5: 7 + 6: 7 + 7: 7 + 8: 7 + 9: 7 + 10: 3 + stepFeatures: + 0: 9 + 1: 8 + 2: 34 + 3: 7 + 4: 6 + 5: 6 + 6: 6 + 7: 39 + 8: 7 + 9: 5 + 10: 5 +HLT_0e25_nopid_0g25_loose_0mu24noL1_j20_xe0_nn_anomdetT_L1ADVAEL: + eventCount: 1 + stepCounts: + 0: 7 + 1: 7 + 2: 7 + 3: 7 + 4: 7 + 5: 7 + 6: 7 + 7: 7 + 8: 7 + 9: 7 + 10: 1 + stepFeatures: + 0: 9 + 1: 8 + 2: 34 + 3: 7 + 4: 6 + 5: 6 + 6: 6 + 7: 39 + 8: 7 + 9: 5 + 10: 5 +HLT_0e25_nopid_0g25_loose_0mu24noL1_j20_xe0_nn_anomdetT_L1ADVAET: + eventCount: 1 + stepCounts: + 0: 7 + 1: 7 + 2: 7 + 3: 7 + 4: 7 + 5: 7 + 6: 7 + 7: 7 + 8: 7 + 9: 7 + 10: 1 + stepFeatures: + 0: 9 + 1: 8 + 2: 34 + 3: 7 + 4: 6 + 5: 6 + 6: 6 + 7: 39 + 8: 7 + 9: 5 + 10: 5 HLT_10j35_pf_ftf_presel7j30_L14jJ40: eventCount: 0 stepCounts: diff --git a/Trigger/TrigValidation/TrigP1Test/share/ref_v1Dev_decodeBS_build.ref b/Trigger/TrigValidation/TrigP1Test/share/ref_v1Dev_decodeBS_build.ref index 48c888467336dd0846f88258a35d99119e3171d4..665ff25005bd61dee59ebdd4c21e12d1aaad1e22 100644 --- a/Trigger/TrigValidation/TrigP1Test/share/ref_v1Dev_decodeBS_build.ref +++ b/Trigger/TrigValidation/TrigP1Test/share/ref_v1Dev_decodeBS_build.ref @@ -1,3 +1,381 @@ +HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_nn_anomdetL_L1ADVAEL: + eventCount: 0 + stepCounts: + 0: 2 + 1: 2 + 2: 2 + 3: 2 + 4: 2 + 5: 2 + 6: 2 + 7: 2 + stepFeatures: + 0: 3 + 1: 3 + 2: 11 + 3: 2 + 4: 2 + 5: 2 + 6: 2 + 7: 11 + 8: 2 +HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_nn_anomdetL_L1ADVAET: + eventCount: 0 + stepCounts: + 0: 2 + 1: 2 + 2: 2 + 3: 2 + 4: 2 + 5: 2 + 6: 2 + 7: 2 + stepFeatures: + 0: 3 + 1: 3 + 2: 11 + 3: 2 + 4: 2 + 5: 2 + 6: 2 + 7: 11 + 8: 2 +HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_nn_anomdetM_L1ADVAEL: + eventCount: 0 + stepCounts: + 0: 2 + 1: 2 + 2: 2 + 3: 2 + 4: 2 + 5: 2 + 6: 2 + 7: 2 + stepFeatures: + 0: 3 + 1: 3 + 2: 11 + 3: 2 + 4: 2 + 5: 2 + 6: 2 + 7: 11 + 8: 2 +HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_nn_anomdetM_L1ADVAET: + eventCount: 0 + stepCounts: + 0: 2 + 1: 2 + 2: 2 + 3: 2 + 4: 2 + 5: 2 + 6: 2 + 7: 2 + stepFeatures: + 0: 3 + 1: 3 + 2: 11 + 3: 2 + 4: 2 + 5: 2 + 6: 2 + 7: 11 + 8: 2 +HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_nn_anomdetT_L1ADVAEL: + eventCount: 0 + stepCounts: + 0: 2 + 1: 2 + 2: 2 + 3: 2 + 4: 2 + 5: 2 + 6: 2 + 7: 2 + stepFeatures: + 0: 3 + 1: 3 + 2: 11 + 3: 2 + 4: 2 + 5: 2 + 6: 2 + 7: 11 + 8: 2 +HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_nn_anomdetT_L1ADVAET: + eventCount: 0 + stepCounts: + 0: 2 + 1: 2 + 2: 2 + 3: 2 + 4: 2 + 5: 2 + 6: 2 + 7: 2 + stepFeatures: + 0: 3 + 1: 3 + 2: 11 + 3: 2 + 4: 2 + 5: 2 + 6: 2 + 7: 11 + 8: 2 +HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_tcpufit_anomdetL_L1ADVAEL: + eventCount: 0 + stepCounts: + 0: 2 + 1: 2 + 2: 2 + 3: 2 + 4: 2 + 5: 2 + 6: 2 + stepFeatures: + 0: 3 + 1: 3 + 2: 11 + 3: 2 + 4: 2 + 5: 2 + 6: 2 + 7: 11 +HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_tcpufit_anomdetL_L1ADVAET: + eventCount: 0 + stepCounts: + 0: 2 + 1: 2 + 2: 2 + 3: 2 + 4: 2 + 5: 2 + 6: 2 + stepFeatures: + 0: 3 + 1: 3 + 2: 11 + 3: 2 + 4: 2 + 5: 2 + 6: 2 + 7: 11 +HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_tcpufit_anomdetM_L1ADVAEL: + eventCount: 0 + stepCounts: + 0: 2 + 1: 2 + 2: 2 + 3: 2 + 4: 2 + 5: 2 + 6: 2 + stepFeatures: + 0: 3 + 1: 3 + 2: 11 + 3: 2 + 4: 2 + 5: 2 + 6: 2 + 7: 11 +HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_tcpufit_anomdetM_L1ADVAET: + eventCount: 0 + stepCounts: + 0: 2 + 1: 2 + 2: 2 + 3: 2 + 4: 2 + 5: 2 + 6: 2 + stepFeatures: + 0: 3 + 1: 3 + 2: 11 + 3: 2 + 4: 2 + 5: 2 + 6: 2 + 7: 11 +HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_tcpufit_anomdetT_L1ADVAEL: + eventCount: 0 + stepCounts: + 0: 2 + 1: 2 + 2: 2 + 3: 2 + 4: 2 + 5: 2 + 6: 2 + stepFeatures: + 0: 3 + 1: 3 + 2: 11 + 3: 2 + 4: 2 + 5: 2 + 6: 2 + 7: 11 +HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_tcpufit_anomdetT_L1ADVAET: + eventCount: 0 + stepCounts: + 0: 2 + 1: 2 + 2: 2 + 3: 2 + 4: 2 + 5: 2 + 6: 2 + stepFeatures: + 0: 3 + 1: 3 + 2: 11 + 3: 2 + 4: 2 + 5: 2 + 6: 2 + 7: 11 +HLT_0e25_nopid_0g25_loose_0mu24noL1_j20_xe0_nn_anomdetL_L1ADVAEL: + eventCount: 0 + stepCounts: + 0: 2 + 1: 2 + 2: 2 + 3: 2 + 4: 2 + 5: 2 + 6: 2 + 7: 2 + 8: 2 + 9: 2 + stepFeatures: + 0: 3 + 1: 3 + 2: 11 + 3: 2 + 4: 2 + 5: 2 + 6: 2 + 7: 11 + 8: 2 +HLT_0e25_nopid_0g25_loose_0mu24noL1_j20_xe0_nn_anomdetL_L1ADVAET: + eventCount: 0 + stepCounts: + 0: 2 + 1: 2 + 2: 2 + 3: 2 + 4: 2 + 5: 2 + 6: 2 + 7: 2 + 8: 2 + 9: 2 + stepFeatures: + 0: 3 + 1: 3 + 2: 11 + 3: 2 + 4: 2 + 5: 2 + 6: 2 + 7: 11 + 8: 2 +HLT_0e25_nopid_0g25_loose_0mu24noL1_j20_xe0_nn_anomdetM_L1ADVAEL: + eventCount: 0 + stepCounts: + 0: 2 + 1: 2 + 2: 2 + 3: 2 + 4: 2 + 5: 2 + 6: 2 + 7: 2 + 8: 2 + 9: 2 + stepFeatures: + 0: 3 + 1: 3 + 2: 11 + 3: 2 + 4: 2 + 5: 2 + 6: 2 + 7: 11 + 8: 2 +HLT_0e25_nopid_0g25_loose_0mu24noL1_j20_xe0_nn_anomdetM_L1ADVAET: + eventCount: 0 + stepCounts: + 0: 2 + 1: 2 + 2: 2 + 3: 2 + 4: 2 + 5: 2 + 6: 2 + 7: 2 + 8: 2 + 9: 2 + stepFeatures: + 0: 3 + 1: 3 + 2: 11 + 3: 2 + 4: 2 + 5: 2 + 6: 2 + 7: 11 + 8: 2 +HLT_0e25_nopid_0g25_loose_0mu24noL1_j20_xe0_nn_anomdetT_L1ADVAEL: + eventCount: 0 + stepCounts: + 0: 2 + 1: 2 + 2: 2 + 3: 2 + 4: 2 + 5: 2 + 6: 2 + 7: 2 + 8: 2 + 9: 2 + stepFeatures: + 0: 3 + 1: 3 + 2: 11 + 3: 2 + 4: 2 + 5: 2 + 6: 2 + 7: 11 + 8: 2 +HLT_0e25_nopid_0g25_loose_0mu24noL1_j20_xe0_nn_anomdetT_L1ADVAET: + eventCount: 0 + stepCounts: + 0: 2 + 1: 2 + 2: 2 + 3: 2 + 4: 2 + 5: 2 + 6: 2 + 7: 2 + 8: 2 + 9: 2 + stepFeatures: + 0: 3 + 1: 3 + 2: 11 + 3: 2 + 4: 2 + 5: 2 + 6: 2 + 7: 11 + 8: 2 HLT_10j35_pf_ftf_presel7j30_L14jJ40: eventCount: 0 HLT_10j40_L14jJ40: diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Dev_pp_run3_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Dev_pp_run3_v1.py index c9768f7a4b79cbec91f19c1b9b15f73b162ad370..c163dab6e1347e9a1984039d217bc359591e1b39 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Dev_pp_run3_v1.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Dev_pp_run3_v1.py @@ -1201,27 +1201,26 @@ def getDevSignatures(): #---------------------------------------------------------------------------------------------------------------------- # Anomaly detection (ATR-30618, ATR-30826) - # temporarily commented out, as these chains cause a huge increase in RAM - #ChainProp(name='HLT_0e25_nopid_0g25_loose_0mu24noL1_j20_xe0_nn_anomdetL_L1ADVAET', l1SeedThresholds=['eEM18L','eEM18L','FSNOSEED','FSNOSEED','FSNOSEED'], groups=PrimaryPhIGroup+Topo2Group), - #ChainProp(name='HLT_0e25_nopid_0g25_loose_0mu24noL1_j20_xe0_nn_anomdetM_L1ADVAET', l1SeedThresholds=['eEM18L','eEM18L','FSNOSEED','FSNOSEED','FSNOSEED'], groups=PrimaryPhIGroup+Topo2Group), - #ChainProp(name='HLT_0e25_nopid_0g25_loose_0mu24noL1_j20_xe0_nn_anomdetT_L1ADVAET', l1SeedThresholds=['eEM18L','eEM18L','FSNOSEED','FSNOSEED','FSNOSEED'], groups=PrimaryPhIGroup+Topo2Group), - #ChainProp(name='HLT_0e25_nopid_0g25_loose_0mu24noL1_j20_xe0_nn_anomdetL_L1ADVAEL', l1SeedThresholds=['eEM18L','eEM18L','FSNOSEED','FSNOSEED','FSNOSEED'], groups=PrimaryPhIGroup+Topo2Group), - #ChainProp(name='HLT_0e25_nopid_0g25_loose_0mu24noL1_j20_xe0_nn_anomdetM_L1ADVAEL', l1SeedThresholds=['eEM18L','eEM18L','FSNOSEED','FSNOSEED','FSNOSEED'], groups=PrimaryPhIGroup+Topo2Group), - #ChainProp(name='HLT_0e25_nopid_0g25_loose_0mu24noL1_j20_xe0_nn_anomdetT_L1ADVAEL', l1SeedThresholds=['eEM18L','eEM18L','FSNOSEED','FSNOSEED','FSNOSEED'], groups=PrimaryPhIGroup+Topo2Group), - - #ChainProp(name='HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_nn_anomdetL_L1ADVAET', l1SeedThresholds=['eEM18L','eEM18L','MU3V','FSNOSEED','FSNOSEED'], groups=PrimaryPhIGroup+Topo2Group), - #ChainProp(name='HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_nn_anomdetM_L1ADVAET', l1SeedThresholds=['eEM18L','eEM18L','MU3V','FSNOSEED','FSNOSEED'], groups=PrimaryPhIGroup+Topo2Group), - #ChainProp(name='HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_nn_anomdetT_L1ADVAET', l1SeedThresholds=['eEM18L','eEM18L','MU3V','FSNOSEED','FSNOSEED'], groups=PrimaryPhIGroup+Topo2Group), - #ChainProp(name='HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_nn_anomdetL_L1ADVAEL', l1SeedThresholds=['eEM18L','eEM18L','MU3V','FSNOSEED','FSNOSEED'], groups=PrimaryPhIGroup+Topo2Group), - #ChainProp(name='HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_nn_anomdetM_L1ADVAEL', l1SeedThresholds=['eEM18L','eEM18L','MU3V','FSNOSEED','FSNOSEED'], groups=PrimaryPhIGroup+Topo2Group), - #ChainProp(name='HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_nn_anomdetT_L1ADVAEL', l1SeedThresholds=['eEM18L','eEM18L','MU3V','FSNOSEED','FSNOSEED'], groups=PrimaryPhIGroup+Topo2Group), - - #ChainProp(name='HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_tcpufit_anomdetL_L1ADVAET', l1SeedThresholds=['eEM18L','eEM18L','MU3V','FSNOSEED','FSNOSEED'], groups=PrimaryPhIGroup+Topo2Group), - #ChainProp(name='HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_tcpufit_anomdetM_L1ADVAET', l1SeedThresholds=['eEM18L','eEM18L','MU3V','FSNOSEED','FSNOSEED'], groups=PrimaryPhIGroup+Topo2Group), - #ChainProp(name='HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_tcpufit_anomdetT_L1ADVAET', l1SeedThresholds=['eEM18L','eEM18L','MU3V','FSNOSEED','FSNOSEED'], groups=PrimaryPhIGroup+Topo2Group), - #ChainProp(name='HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_tcpufit_anomdetL_L1ADVAEL', l1SeedThresholds=['eEM18L','eEM18L','MU3V','FSNOSEED','FSNOSEED'], groups=PrimaryPhIGroup+Topo2Group), - #ChainProp(name='HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_tcpufit_anomdetM_L1ADVAEL', l1SeedThresholds=['eEM18L','eEM18L','MU3V','FSNOSEED','FSNOSEED'], groups=PrimaryPhIGroup+Topo2Group), - #ChainProp(name='HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_tcpufit_anomdetT_L1ADVAEL', l1SeedThresholds=['eEM18L','eEM18L','MU3V','FSNOSEED','FSNOSEED'], groups=PrimaryPhIGroup+Topo2Group), + ChainProp(name='HLT_0e25_nopid_0g25_loose_0mu24noL1_j20_xe0_nn_anomdetL_L1ADVAET', l1SeedThresholds=['eEM18L','eEM18L','FSNOSEED','FSNOSEED','FSNOSEED'], groups=PrimaryPhIGroup+Topo2Group), + ChainProp(name='HLT_0e25_nopid_0g25_loose_0mu24noL1_j20_xe0_nn_anomdetM_L1ADVAET', l1SeedThresholds=['eEM18L','eEM18L','FSNOSEED','FSNOSEED','FSNOSEED'], groups=PrimaryPhIGroup+Topo2Group), + ChainProp(name='HLT_0e25_nopid_0g25_loose_0mu24noL1_j20_xe0_nn_anomdetT_L1ADVAET', l1SeedThresholds=['eEM18L','eEM18L','FSNOSEED','FSNOSEED','FSNOSEED'], groups=PrimaryPhIGroup+Topo2Group), + ChainProp(name='HLT_0e25_nopid_0g25_loose_0mu24noL1_j20_xe0_nn_anomdetL_L1ADVAEL', l1SeedThresholds=['eEM18L','eEM18L','FSNOSEED','FSNOSEED','FSNOSEED'], groups=PrimaryPhIGroup+Topo2Group), + ChainProp(name='HLT_0e25_nopid_0g25_loose_0mu24noL1_j20_xe0_nn_anomdetM_L1ADVAEL', l1SeedThresholds=['eEM18L','eEM18L','FSNOSEED','FSNOSEED','FSNOSEED'], groups=PrimaryPhIGroup+Topo2Group), + ChainProp(name='HLT_0e25_nopid_0g25_loose_0mu24noL1_j20_xe0_nn_anomdetT_L1ADVAEL', l1SeedThresholds=['eEM18L','eEM18L','FSNOSEED','FSNOSEED','FSNOSEED'], groups=PrimaryPhIGroup+Topo2Group), + + ChainProp(name='HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_nn_anomdetL_L1ADVAET', l1SeedThresholds=['eEM18L','eEM18L','MU3V','FSNOSEED','FSNOSEED'], groups=PrimaryPhIGroup+Topo2Group), + ChainProp(name='HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_nn_anomdetM_L1ADVAET', l1SeedThresholds=['eEM18L','eEM18L','MU3V','FSNOSEED','FSNOSEED'], groups=PrimaryPhIGroup+Topo2Group), + ChainProp(name='HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_nn_anomdetT_L1ADVAET', l1SeedThresholds=['eEM18L','eEM18L','MU3V','FSNOSEED','FSNOSEED'], groups=PrimaryPhIGroup+Topo2Group), + ChainProp(name='HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_nn_anomdetL_L1ADVAEL', l1SeedThresholds=['eEM18L','eEM18L','MU3V','FSNOSEED','FSNOSEED'], groups=PrimaryPhIGroup+Topo2Group), + ChainProp(name='HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_nn_anomdetM_L1ADVAEL', l1SeedThresholds=['eEM18L','eEM18L','MU3V','FSNOSEED','FSNOSEED'], groups=PrimaryPhIGroup+Topo2Group), + ChainProp(name='HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_nn_anomdetT_L1ADVAEL', l1SeedThresholds=['eEM18L','eEM18L','MU3V','FSNOSEED','FSNOSEED'], groups=PrimaryPhIGroup+Topo2Group), + + ChainProp(name='HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_tcpufit_anomdetL_L1ADVAET', l1SeedThresholds=['eEM18L','eEM18L','MU3V','FSNOSEED','FSNOSEED'], groups=PrimaryPhIGroup+Topo2Group), + ChainProp(name='HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_tcpufit_anomdetM_L1ADVAET', l1SeedThresholds=['eEM18L','eEM18L','MU3V','FSNOSEED','FSNOSEED'], groups=PrimaryPhIGroup+Topo2Group), + ChainProp(name='HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_tcpufit_anomdetT_L1ADVAET', l1SeedThresholds=['eEM18L','eEM18L','MU3V','FSNOSEED','FSNOSEED'], groups=PrimaryPhIGroup+Topo2Group), + ChainProp(name='HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_tcpufit_anomdetL_L1ADVAEL', l1SeedThresholds=['eEM18L','eEM18L','MU3V','FSNOSEED','FSNOSEED'], groups=PrimaryPhIGroup+Topo2Group), + ChainProp(name='HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_tcpufit_anomdetM_L1ADVAEL', l1SeedThresholds=['eEM18L','eEM18L','MU3V','FSNOSEED','FSNOSEED'], groups=PrimaryPhIGroup+Topo2Group), + ChainProp(name='HLT_0e25_nopid_0g25_loose_0mu24_j20_xe0_tcpufit_anomdetT_L1ADVAEL', l1SeedThresholds=['eEM18L','eEM18L','MU3V','FSNOSEED','FSNOSEED'], groups=PrimaryPhIGroup+Topo2Group), ] diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/MC_pp_run3_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/MC_pp_run3_v1.py index 81d9d43cd6497f8b1a973394bcc6285c44aacacb..56638c5488c74dce20f02dd1f46866fdb4a99db6 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/MC_pp_run3_v1.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/MC_pp_run3_v1.py @@ -241,23 +241,12 @@ def getMCSignatures(): #L1 legacy Removal #ATR-29523 - ChainProp(name='HLT_2j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn177_pf_ftf_presel2c20XX2c20b85_L13jJ40p0ETA25' , l1SeedThresholds=['FSNOSEED']*4, stream=[PhysicsStream], groups=PrimaryPhIGroup+MultiBjetGroup), - ChainProp(name='HLT_2j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn277_pf_ftf_presel2c20XX2c20bgtwo85_L13jJ40p0ETA25', l1SeedThresholds=['FSNOSEED']*4, stream=[PhysicsStream], groups=PrimaryPhIGroup+MultiBjetGroup), - ChainProp(name='HLT_2j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn277_pf_ftf_presel2c20XX2c20bgtwo85_L13jJ40p0ETA25', l1SeedThresholds=['FSNOSEED']*4, stream=[PhysicsStream], groups=PrimaryPhIGroup+MultiBjetGroup), - ChainProp(name='HLT_2j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn280_pf_ftf_presel2c20XX2c20bgtwo85_L13jJ40p0ETA25', l1SeedThresholds=['FSNOSEED']*4, stream=[PhysicsStream], groups=PrimaryPhIGroup+MultiBjetGroup), - ChainProp(name='HLT_2j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn280_pf_ftf_presel2c20XX2c20bgtwo85_L13jJ40p0ETA25', l1SeedThresholds=['FSNOSEED']*4, stream=[PhysicsStream], groups=PrimaryPhIGroup+MultiBjetGroup), - ChainProp(name='HLT_2j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn177_pf_ftf_presel1c20XX2c20bgtwo85_L13jJ40p0ETA25' , l1SeedThresholds=['FSNOSEED']*4, stream=[PhysicsStream], groups=PrimaryPhIGroup+MultiBjetGroup), ChainProp(name='HLT_2j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn277_pf_ftf_presel1c20XX2c20bgtwo85_L13jJ40p0ETA25', l1SeedThresholds=['FSNOSEED']*4, stream=[PhysicsStream], groups=PrimaryPhIGroup+MultiBjetGroup), ChainProp(name='HLT_2j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn277_pf_ftf_presel1c20XX2c20bgtwo85_L13jJ40p0ETA25', l1SeedThresholds=['FSNOSEED']*4, stream=[PhysicsStream], groups=PrimaryPhIGroup+MultiBjetGroup), ChainProp(name='HLT_2j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn280_pf_ftf_presel1c20XX2c20bgtwo85_L13jJ40p0ETA25', l1SeedThresholds=['FSNOSEED']*4, stream=[PhysicsStream], groups=PrimaryPhIGroup+MultiBjetGroup), ChainProp(name='HLT_2j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn280_pf_ftf_presel1c20XX2c20bgtwo85_L13jJ40p0ETA25', l1SeedThresholds=['FSNOSEED']*4, stream=[PhysicsStream], groups=PrimaryPhIGroup+MultiBjetGroup), - ChainProp(name='HLT_j50c_020jvt_2j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn277_pf_ftf_presel2c20XX2c20bgtwo85_L13jJ40p0ETA25', l1SeedThresholds=['FSNOSEED']*4, stream=[PhysicsStream], groups=PrimaryPhIGroup+MultiBjetGroup), - ChainProp(name='HLT_j40c_020jvt_2j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn277_pf_ftf_presel2c20XX2c20bgtwo85_L13jJ40p0ETA25', l1SeedThresholds=['FSNOSEED']*4, stream=[PhysicsStream], groups=PrimaryPhIGroup+MultiBjetGroup), - ChainProp(name='HLT_j50c_020jvt_2j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn280_pf_ftf_presel2c20XX2c20bgtwo85_L13jJ40p0ETA25', l1SeedThresholds=['FSNOSEED']*4, stream=[PhysicsStream], groups=PrimaryPhIGroup+MultiBjetGroup), - ChainProp(name='HLT_j40c_020jvt_2j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn280_pf_ftf_presel2c20XX2c20bgtwo85_L13jJ40p0ETA25', l1SeedThresholds=['FSNOSEED']*4, stream=[PhysicsStream], groups=PrimaryPhIGroup+MultiBjetGroup), - ChainProp(name='HLT_j50c_020jvt_2j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn277_pf_ftf_presel1c20XX2c20bgtwo85_L13jJ40p0ETA25', l1SeedThresholds=['FSNOSEED']*4, stream=[PhysicsStream], groups=PrimaryPhIGroup+MultiBjetGroup), ChainProp(name='HLT_j40c_020jvt_2j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn277_pf_ftf_presel1c20XX2c20bgtwo85_L13jJ40p0ETA25', l1SeedThresholds=['FSNOSEED']*4, stream=[PhysicsStream], groups=PrimaryPhIGroup+MultiBjetGroup), ChainProp(name='HLT_j50c_020jvt_2j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn280_pf_ftf_presel1c20XX2c20bgtwo85_L13jJ40p0ETA25', l1SeedThresholds=['FSNOSEED']*4, stream=[PhysicsStream], groups=PrimaryPhIGroup+MultiBjetGroup), @@ -507,12 +496,6 @@ def getMCSignatures(): ChainProp(name='HLT_tau60_mediumRNN_tracktwoMVA_tau25_mediumRNN_tracktwoMVA_xe50_cell_03dRAB_L1eTAU60_2eTAU20M_jXE80', l1SeedThresholds=['eTAU60','eTAU20M','FSNOSEED'], stream=[PhysicsStream], groups=PrimaryPhIGroup+TauMETGroup), ChainProp(name='HLT_e17_lhmedium_tau25_mediumRNN_tracktwoMVA_xe50_cell_03dRAB_L1eEM18M_2eTAU20M_jXE70', l1SeedThresholds=['eEM18M','eTAU20M','FSNOSEED'], stream=[PhysicsStream], groups=PrimaryPhIGroup+TauMETGroup), - #ATR-29523 - ChainProp(name='HLT_tau25_mediumRNN_tracktwoMVA_probe_L1eTAU12_j50c_020jvt_j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_j20c_020jvt_bgn285_pf_ftf_presel3c20XX1c20bgtwo85_L13jJ40p0ETA25', l1SeedThresholds=['PROBEeTAU12']+5*['FSNOSEED'], stream=[PhysicsStream], groups=PrimaryPhIGroup+TauBJetGroup), - ChainProp(name='HLT_tau20_mediumRNN_tracktwoMVA_probe_L1eTAU12_j50c_020jvt_j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_j20c_020jvt_bgn285_pf_ftf_presel3c20XX1c20bgtwo85_L13jJ40p0ETA25', l1SeedThresholds=['PROBEeTAU12']+5*['FSNOSEED'], stream=[PhysicsStream], groups=PrimaryPhIGroup+TauBJetGroup), - ChainProp(name='HLT_tau25_mediumRNN_tracktwoMVA_probe_L1eTAU12_2j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_j20c_020jvt_bgn285_pf_ftf_presel3c20XX1c20bgtwo85_L13jJ40p0ETA25', l1SeedThresholds=['PROBEeTAU12']+4*['FSNOSEED'], stream=[PhysicsStream], groups=PrimaryPhIGroup+TauBJetGroup), - ChainProp(name='HLT_tau20_mediumRNN_tracktwoMVA_probe_L1eTAU12_2j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_j20c_020jvt_bgn285_pf_ftf_presel3c20XX1c20bgtwo85_L13jJ40p0ETA25', l1SeedThresholds=['PROBEeTAU12']+4*['FSNOSEED'], stream=[PhysicsStream], groups=PrimaryPhIGroup+TauBJetGroup), - # ATR-28795 bjet menu cleanup ChainProp(name='HLT_g60_tight_2j55_0eta200_emergingPTF0p1dR0p4_pf_ftf_L1eEM26M', groups=SupportPhIGroup+EgammaJetGroup, l1SeedThresholds=['eEM26M','FSNOSEED']), ChainProp(name='HLT_g45_tight_2j55_0eta200_emergingPTF0p1dR0p4_pf_ftf_L1eEM26M', groups=SupportPhIGroup+EgammaJetGroup, l1SeedThresholds=['eEM26M','FSNOSEED']), diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Physics_pp_run3_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Physics_pp_run3_v1.py index e07e5f6bd3d8370c8e06eead305e392830814a72..66f07c9bd6b0df5d6187fb37b2ba3684c5819e44 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Physics_pp_run3_v1.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLT/Menu/Physics_pp_run3_v1.py @@ -72,6 +72,9 @@ EOFBeePhIGroup = ['EOF:BeePhaseI'] EOFTLALegGroup = ['EOF:TLALegacy'] EOFTLAPhIGroup = ['EOF:TLAPhaseI'] EOFTauPhIGroup = ['EOF:TauPhaseI'] +EOFMultiBjetGroup = ['EOF:MultiBjetPhaseI'] +EOFTauBjetGroup = ['EOF:TauBjetPhaseI'] + # For unconventional tracking chains (ATR-23797) UnconvTrkGroup = ['RATE:UnconvTrk', 'BW:UnconvTrk'] LowMuGroup = ['LowMu'] @@ -1350,7 +1353,7 @@ def setupMenu(): # Support chain ChainProp(name='HLT_5j35c_nnJvtv1_j25c_nnJvtv1_SHARED_j25c_nnJvtv1_boffperf_pf_ftf_presel6c25_L14jJ40', l1SeedThresholds=['FSNOSEED']*3, stream=['VBFDelayed'], groups=SupportPhIGroup+MultiBjetGroup), - ChainProp(name='HLT_5j35c_020jvt_j25c_020jvt_SHARED_j25c_020jvt_boffperf_pf_ftf_presel6c25_L14jJ40', l1SeedThresholds=['FSNOSEED']*3, stream=['VBFDelayed'], groups=SupportPhIGroup+MultiBjetGroup), + ChainProp(name='HLT_5j35c_020jvt_j25c_020jvt_SHARED_j25c_020jvt_boffperf_pf_ftf_presel6c25_L14jJ40', l1SeedThresholds=['FSNOSEED']*3, stream=[PhysicsStream], groups=SupportPhIGroup+MultiBjetGroup), # Phase I inputs GN1 # Single b-jet @@ -1499,6 +1502,17 @@ def setupMenu(): ChainProp(name='HLT_5j35c_020jvt_j25c_020jvt_SHARED_j25c_020jvt_bgn260_pf_ftf_presel5c25XXc25bgtwo85_L14jJ40', l1SeedThresholds=['FSNOSEED']*3, stream=[PhysicsStream], groups=PrimaryPhIGroup+MultiBjetGroup), ChainProp(name='HLT_5j45c_020jvt_j25c_020jvt_SHARED_j25c_020jvt_bgn260_pf_ftf_presel5c25XXc25bgtwo85_L14jJ40', l1SeedThresholds=['FSNOSEED']*3, stream=[PhysicsStream], groups=PrimaryPhIGroup+MultiBjetGroup), + #HH4b EoF chains + #ATR-29523 + ChainProp(name='HLT_2j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn177_pf_ftf_presel2c20XX2c20b85_L13jJ40p0ETA25' , l1SeedThresholds=['FSNOSEED']*4, stream=[PhysicsStream], groups=EOFMultiBjetGroup+MultiBjetGroup), + ChainProp(name='HLT_2j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn277_pf_ftf_presel2c20XX2c20bgtwo85_L13jJ40p0ETA25', l1SeedThresholds=['FSNOSEED']*4, stream=[PhysicsStream], groups=EOFMultiBjetGroup+MultiBjetGroup), + ChainProp(name='HLT_2j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn277_pf_ftf_presel2c20XX2c20bgtwo85_L13jJ40p0ETA25', l1SeedThresholds=['FSNOSEED']*4, stream=[PhysicsStream], groups=EOFMultiBjetGroup+MultiBjetGroup), + ChainProp(name='HLT_2j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn280_pf_ftf_presel2c20XX2c20bgtwo85_L13jJ40p0ETA25', l1SeedThresholds=['FSNOSEED']*4, stream=[PhysicsStream], groups=EOFMultiBjetGroup+MultiBjetGroup), + ChainProp(name='HLT_2j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn280_pf_ftf_presel2c20XX2c20bgtwo85_L13jJ40p0ETA25', l1SeedThresholds=['FSNOSEED']*4, stream=[PhysicsStream], groups=EOFMultiBjetGroup+MultiBjetGroup), + ChainProp(name='HLT_j50c_020jvt_2j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn277_pf_ftf_presel2c20XX2c20bgtwo85_L13jJ40p0ETA25', l1SeedThresholds=['FSNOSEED']*4, stream=[PhysicsStream], groups=EOFMultiBjetGroup+MultiBjetGroup), + ChainProp(name='HLT_j40c_020jvt_2j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn277_pf_ftf_presel2c20XX2c20bgtwo85_L13jJ40p0ETA25', l1SeedThresholds=['FSNOSEED']*4, stream=[PhysicsStream], groups=EOFMultiBjetGroup+MultiBjetGroup), + ChainProp(name='HLT_j50c_020jvt_2j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn280_pf_ftf_presel2c20XX2c20bgtwo85_L13jJ40p0ETA25', l1SeedThresholds=['FSNOSEED']*4, stream=[PhysicsStream], groups=EOFMultiBjetGroup+MultiBjetGroup), + ChainProp(name='HLT_j40c_020jvt_2j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn280_pf_ftf_presel2c20XX2c20bgtwo85_L13jJ40p0ETA25', l1SeedThresholds=['FSNOSEED']*4, stream=[PhysicsStream], groups=EOFMultiBjetGroup+MultiBjetGroup), ] chains['Tau'] += [ @@ -2221,6 +2235,13 @@ def setupMenu(): ChainProp(name='HLT_tau25_mediumRNN_tracktwoMVA_probe_L1eTAU12_j65c_020jvt_j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_j20c_020jvt_bgn285_pf_ftf_presel2c20XX1c20bgtwo82XX1c20gntau80_L1jJ85p0ETA21_3jJ40p0ETA25', l1SeedThresholds=['PROBEeTAU12']+5*['FSNOSEED'], stream=[PhysicsStream], groups=PrimaryPhIGroup+TauBJetGroup), ChainProp(name='HLT_tau25_mediumRNN_tracktwoMVA_probe_L1eTAU12_j65c_020jvt_j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_j20c_020jvt_bgn285_pf_ftf_presel2c20XX1c20bgtwo80XX1c20gntau80_L1jJ85p0ETA21_3jJ40p0ETA25', l1SeedThresholds=['PROBEeTAU12']+5*['FSNOSEED'], stream=[PhysicsStream], groups=PrimaryPhIGroup+TauBJetGroup), + #EoF chains + #ATR-29523 + ChainProp(name='HLT_tau25_mediumRNN_tracktwoMVA_probe_L1eTAU12_j50c_020jvt_j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_j20c_020jvt_bgn285_pf_ftf_presel3c20XX1c20bgtwo85_L13jJ40p0ETA25', l1SeedThresholds=['PROBEeTAU12']+5*['FSNOSEED'], stream=[PhysicsStream], groups=EOFTauBjetGroup+TauBJetGroup), + ChainProp(name='HLT_tau20_mediumRNN_tracktwoMVA_probe_L1eTAU12_j50c_020jvt_j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_j20c_020jvt_bgn285_pf_ftf_presel3c20XX1c20bgtwo85_L13jJ40p0ETA25', l1SeedThresholds=['PROBEeTAU12']+5*['FSNOSEED'], stream=[PhysicsStream], groups=EOFTauBjetGroup+TauBJetGroup), + ChainProp(name='HLT_tau25_mediumRNN_tracktwoMVA_probe_L1eTAU12_2j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_j20c_020jvt_bgn285_pf_ftf_presel3c20XX1c20bgtwo85_L13jJ40p0ETA25', l1SeedThresholds=['PROBEeTAU12']+4*['FSNOSEED'], stream=[PhysicsStream], groups=EOFTauBjetGroup+TauBJetGroup), + ChainProp(name='HLT_tau20_mediumRNN_tracktwoMVA_probe_L1eTAU12_2j40c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_j20c_020jvt_bgn285_pf_ftf_presel3c20XX1c20bgtwo85_L13jJ40p0ETA25', l1SeedThresholds=['PROBEeTAU12']+4*['FSNOSEED'], stream=[PhysicsStream], groups=EOFTauBjetGroup+TauBJetGroup), + #ATR-28679 -jXE ChainProp(name='HLT_tau20_mediumRNN_tracktwoMVA_probe_xe65_cell_xe90_pfopufit_L1jXE110', l1SeedThresholds=['PROBEeTAU12','FSNOSEED','FSNOSEED'], groups=TagAndProbePhIGroup+TauMETGroup), ChainProp(name='HLT_tau25_mediumRNN_tracktwoMVA_probe_xe65_cell_xe90_pfopufit_L1jXE110', l1SeedThresholds=['PROBEcTAU20M','FSNOSEED','FSNOSEED'], groups=TagAndProbePhIGroup+TauMETGroup), diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Menu/Menu_MC_pp_run3_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Menu/Menu_MC_pp_run3_v1.py index 6a9bccef186e0d6e682536dc5a041ac04c522143..4591c3ec4c8c54b46270ef14023798e279d8eb79 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Menu/Menu_MC_pp_run3_v1.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Menu/Menu_MC_pp_run3_v1.py @@ -96,9 +96,7 @@ def defineMenu(): 'L1_cTAU30M_2cTAU20M_DR-eTAU30eTAU20-jJ40', 'L1_cTAU30M_2cTAU20M_DR-eTAU30eTAU20-jJ30', 'L1_cTAU30M_2cTAU20M_3jJ30p0ETA25', - #ATR-29523 - 'L1_3jJ40p0ETA25', - + # ATR-29651 - Tau+X chains using eTAU20M seeds 'L1_eEM18M_2eTAU20M_4jJ30', 'L1_eTAU60_2eTAU20M_jXE80', 'L1_eEM18M_2eTAU20M_jXE70', diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Menu/Menu_Physics_pp_run3_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Menu/Menu_Physics_pp_run3_v1.py index e9bde55599cc74c75aaea0e0e7fd8ff3b4e10e19..e1d7936b4a0437de98954b5863d8e558af6581b8 100644 --- a/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Menu/Menu_Physics_pp_run3_v1.py +++ b/Trigger/TriggerCommon/TriggerMenuMT/python/L1/Menu/Menu_Physics_pp_run3_v1.py @@ -174,6 +174,8 @@ def defineMenu(): 'L1_2jJ40_jXE110', 'L1_3jJ40p0ETA25_jXE80', + #ATR-29523 + 'L1_3jJ40p0ETA25', # new calo #'L1_gXERHO70', 'L1_gXERHO100', 'L1_gXENC70', 'L1_gXENC100',