diff --git a/Trigger/TrigCost/TrigCostAnalysis/CMakeLists.txt b/Trigger/TrigCost/TrigCostAnalysis/CMakeLists.txt index 72339d0aa2bb808e1ff0ee04ee9defcc4c96002f..ee3c05970eb0f780aa803f683215826687f8b569 100644 --- a/Trigger/TrigCost/TrigCostAnalysis/CMakeLists.txt +++ b/Trigger/TrigCost/TrigCostAnalysis/CMakeLists.txt @@ -9,7 +9,7 @@ find_package( ROOT COMPONENTS Core Hist RIO ) # Athena algorithm to do cost analysis and produce histograms atlas_add_component( TrigCostAnalysis src/*.cxx src/monitors/*.cxx src/counters/*.cxx src/components/TrigCostAnalysis_entries.cxx - PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} GaudiKernel AthAnalysisBaseCompsLib TrigDecisionToolLib EnhancedBiasWeighterLib xAODEventInfo PathResolver TrigConfData ) + PRIVATE_LINK_LIBRARIES ${ROOT_LIBRARIES} GaudiKernel AthAnalysisBaseCompsLib TrigDataAccessMonitoringLib TrigDecisionToolLib EnhancedBiasWeighterLib xAODEventInfo PathResolver TrigConfData ) # Small helper library used by trigCostHistToCSV atlas_add_library( TrigCostAnalysisLib @@ -25,3 +25,4 @@ atlas_add_executable( trigCostHistToCSV atlas_install_joboptions( share/TrigCostAnalysis_JobOptions.py ) atlas_install_scripts( share/RunTrigCostAnalysis.py POST_BUILD_CMD ${ATLAS_FLAKE8} ) +atlas_install_python_modules( python/*.py ) diff --git a/Trigger/TrigCost/TrigCostAnalysis/python/ROSToROB.py b/Trigger/TrigCost/TrigCostAnalysis/python/ROSToROB.py new file mode 100644 index 0000000000000000000000000000000000000000..25f041386c58c4ee14139e8fa0cbc066f3b8b5bd --- /dev/null +++ b/Trigger/TrigCost/TrigCostAnalysis/python/ROSToROB.py @@ -0,0 +1,2231 @@ +# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration + +''' +@file rob2ros.py +@brief Store ROS to ROS map extracted from /atlas/oks/tdaq-09-02-01/combined/partitions/ATLAS.data.xml +''' + +ros2rob = { + 'ROS-TDQ-CTP-00': + [ + 0x770000 + ] , + 'ROS-TDQ-CALPP-00': + [ + 0x710000 , + 0x710010 , + 0x710020 , + 0x710030 , + 0x710001 , + 0x710011 , + 0x710021 , + 0x710031 , + 0x710002 , + 0x710012 , + 0x710022 , + 0x710032 + ] , + 'ROS-TDQ-CALPP-01': + [ + 0x710003 , + 0x710013 , + 0x710023 , + 0x710033 , + 0x710004 , + 0x710014 , + 0x710024 , + 0x710034 , + 0x710005 , + 0x710015 , + 0x710025 , + 0x710035 , + 0x710006 , + 0x710016 , + 0x710026 , + 0x710036 , + 0x710007 , + 0x710017 , + 0x710027 , + 0x710037 + ] , + 'ROS-TDQ-CALCJ-00': + [ + 0x720008 , + 0x720028 , + 0x720009 , + 0x720029 , + 0x72000a , + 0x72002a , + 0x72000b , + 0x72002b , + 0x730088 , + 0x730089 , + 0x73008a , + 0x73008b , + 0x74000c , + 0x74001c , + 0x74002c , + 0x74003c , + 0x74000d , + 0x74001d , + 0x74002d , + 0x74003d , + 0x75008c , + 0x75008d + ] , + 'ROS-TDQ-TOPO-00': + [ + 0x910000 , + 0x910010 + ] , + 'ROS-IBL-B-00': + [ + 0x140060 , + 0x140061 , + 0x140062 , + 0x140063 , + 0x140070 , + 0x140071 , + 0x140072 , + 0x140073 , + 0x140080 , + 0x140081 , + 0x140082 , + 0x140083 , + 0x140090 , + 0x140091 , + 0x140092 , + 0x140093 , + 0x140100 , + 0x140101 , + 0x140102 , + 0x140103 , + 0x140110 , + 0x140111 , + 0x140112 , + 0x140113 + ] , + 'ROS-IBL-B-01': + [ + 0x140120 , + 0x140121 , + 0x140122 , + 0x140123 , + 0x140140 , + 0x140141 , + 0x140142 , + 0x140143 , + 0x140150 , + 0x140151 , + 0x140152 , + 0x140153 , + 0x140160 , + 0x140161 , + 0x140162 , + 0x140163 , + 0x140170 , + 0x140171 , + 0x140172 , + 0x140173 , + 0x140180 , + 0x140181 , + 0x140182 , + 0x140183 + ] , + 'ROS-IBL-B-02': + [ + 0x140190 , + 0x140191 , + 0x140192 , + 0x140193 , + 0x140200 , + 0x140201 , + 0x140202 , + 0x140203 , + 0x150210 , + 0x150211 , + 0x150212 , + 0x150213 + ] , + 'ROS-PIX-BL-00': + [ + 0x130108 , + 0x130151 , + 0x130111 , + 0x130112 , + 0x130152 , + 0x130156 , + 0x130116 , + 0x130117 , + 0x130157 , + 0x130160 , + 0x130120 , + 0x130250 , + 0x130210 , + 0x130211 , + 0x130251 , + 0x130252 , + 0x130121 , + 0x130161 , + 0x130145 , + 0x130105 , + 0x130216 , + 0x130256 + ] , + 'ROS-PIX-BL-01': + [ + 0x130212 , + 0x130214 , + 0x130254 , + 0x130255 , + 0x130215 , + 0x130106 , + 0x130146 , + 0x130149 , + 0x130109 , + 0x130110 , + 0x130150 , + 0x130147 , + 0x130107 , + 0x130148 , + 0x130154 , + 0x130114 , + 0x130115 , + 0x130155 , + 0x130158 , + 0x130118 , + 0x130119 , + 0x130159 + ] , + 'ROS-PIX-B-00': + [ + 0x111708 , + 0x111710 , + 0x111712 , + 0x111748 , + 0x111750 , + 0x111752 , + 0x112517 , + 0x112519 , + 0x112557 , + 0x112559 , + 0x111715 , + 0x111717 , + 0x111755 , + 0x111812 , + 0x111850 , + 0x111852 , + 0x112406 , + 0x112408 , + 0x112446 , + 0x112521 , + 0x112561 + ] , + 'ROS-PIX-B-01': + [ + 0x111707 , + 0x111709 , + 0x111711 , + 0x111747 , + 0x111749 , + 0x111751 , + 0x112516 , + 0x112518 , + 0x112556 , + 0x112558 , + 0x111714 , + 0x111716 , + 0x111754 , + 0x111811 , + 0x111849 , + 0x111851 , + 0x112405 , + 0x112407 , + 0x112445 , + 0x112520 , + 0x112560 + ] , + 'ROS-PIX-B-02': + [ + 0x111721 , + 0x111759 , + 0x111761 , + 0x111819 , + 0x111821 , + 0x111859 , + 0x111861 , + 0x112419 , + 0x112421 , + 0x112459 , + 0x112461 , + 0x111706 , + 0x111746 , + 0x111806 , + 0x111808 , + 0x111810 , + 0x111846 , + 0x111848 , + 0x112512 , + 0x112515 , + 0x112552 , + 0x112555 + ] , + 'ROS-PIX-B-03': + [ + 0x111720 , + 0x111758 , + 0x111760 , + 0x111818 , + 0x111820 , + 0x111858 , + 0x111860 , + 0x112418 , + 0x112420 , + 0x112458 , + 0x112460 , + 0x111705 , + 0x111745 , + 0x111805 , + 0x111807 , + 0x111809 , + 0x111845 , + 0x111847 , + 0x112511 , + 0x112514 , + 0x112551 , + 0x112554 + ] , + 'ROS-PIX-B-04': + [ + 0x111815 , + 0x111855 , + 0x111857 , + 0x112410 , + 0x112412 , + 0x112448 , + 0x112450 , + 0x112452 , + 0x112505 , + 0x112545 , + 0x112549 , + 0x111719 , + 0x111757 , + 0x111817 , + 0x112415 , + 0x112417 , + 0x112455 , + 0x112457 , + 0x112507 , + 0x112509 , + 0x112547 + ] , + 'ROS-PIX-B-05': + [ + 0x111814 , + 0x111854 , + 0x111856 , + 0x112409 , + 0x112411 , + 0x112447 , + 0x112449 , + 0x112451 , + 0x112506 , + 0x112546 , + 0x112550 , + 0x111718 , + 0x111756 , + 0x111816 , + 0x112414 , + 0x112416 , + 0x112454 , + 0x112456 , + 0x112508 , + 0x112510 , + 0x112548 + ] , + 'ROS-PIX-DISK-00': + [ + 0x120309 , + 0x120349 , + 0x120311 , + 0x120351 , + 0x120314 , + 0x120354 , + 0x120316 , + 0x120356 , + 0x121649 , + 0x121651 , + 0x121654 , + 0x121656 , + 0x121616 , + 0x121614 , + 0x121611 , + 0x121609 + ] , + 'ROS-PIX-DISK-01': + [ + 0x121610 , + 0x121612 , + 0x121615 , + 0x121617 , + 0x121650 , + 0x121652 , + 0x121655 , + 0x121657 , + 0x120310 , + 0x120350 , + 0x120312 , + 0x120352 , + 0x120315 , + 0x120355 , + 0x120317 , + 0x120357 + ] , + 'ROS-SCT-B-00': + [ + 0x220100 , + 0x220101 , + 0x220102 , + 0x220103 , + 0x220104 , + 0x220105 , + 0x220106 , + 0x220107 , + 0x220108 , + 0x220109 , + 0x22010a , + 0x210100 , + 0x210101 , + 0x210102 , + 0x210103 , + 0x210104 , + 0x210105 , + 0x210106 , + 0x210107 , + 0x210108 , + 0x210109 , + 0x21010a + ] , + 'ROS-SCT-B-01': + [ + 0x220005 , + 0x220006 , + 0x220007 , + 0x220008 , + 0x220009 , + 0x22000a , + 0x22000b , + 0x22000c , + 0x22000d , + 0x22000e , + 0x22000f , + 0x210005 , + 0x210006 , + 0x210007 , + 0x210008 , + 0x210009 , + 0x21000a , + 0x21000b , + 0x21000c , + 0x21000d , + 0x21000e , + 0x21000f + ] , + 'ROS-SCT-B-02': + [ + 0x22010b , + 0x22010c , + 0x22010d , + 0x22010e , + 0x22010f , + 0x21010b , + 0x21010c , + 0x21010d , + 0x21010e , + 0x21010f , + 0x220000 , + 0x220001 , + 0x220002 , + 0x220003 , + 0x220004 , + 0x210000 , + 0x210001 , + 0x210002 , + 0x210003 , + 0x210004 + ] , + 'ROS-SCT-ECC-00': + [ + 0x240100 , + 0x240101 , + 0x240102 , + 0x240103 , + 0x240104 , + 0x240105 , + 0x240106 , + 0x240107 , + 0x24010a , + 0x24010d , + 0x24010e , + 0x24010f + ] , + 'ROS-SCT-ECC-01': + [ + 0x240000 , + 0x240001 , + 0x240002 , + 0x240003 , + 0x240004 , + 0x240005 , + 0x240006 , + 0x240007 , + 0x240008 , + 0x240009 , + 0x24000a , + 0x24000b , + 0x24000c , + 0x24000d , + 0x24000e , + 0x24000f , + 0x240108 , + 0x240109 , + 0x24010b , + 0x24010c + ] , + 'ROS-SCT-ECA-00': + [ + 0x230008 , + 0x230009 , + 0x23000b , + 0x23000c , + 0x230100 , + 0x230101 , + 0x230102 , + 0x230103 , + 0x230104 , + 0x230105 , + 0x230106 , + 0x230107 , + 0x230108 , + 0x230109 , + 0x23010a , + 0x23010b , + 0x23010c , + 0x23010d , + 0x23010e , + 0x23010f + ] , + 'ROS-SCT-ECA-01': + [ + 0x230000 , + 0x230001 , + 0x230002 , + 0x230003 , + 0x230004 , + 0x230005 , + 0x230006 , + 0x230007 , + 0x23000a , + 0x23000d , + 0x23000e , + 0x23000f + ] , + 'ROS-TRT-BA-00': + [ + 0x310100 , + 0x310200 , + 0x310300 , + 0x310400 , + 0x310500 , + 0x310600 , + 0x310700 , + 0x310800 , + 0x310900 , + 0x310a00 , + 0x310b00 , + 0x310c00 , + 0x311900 , + 0x311a00 , + 0x311b00 , + 0x311c00 , + 0x311d00 , + 0x311e00 , + 0x311f00 , + 0x312000 + ] , + 'ROS-TRT-BA-01': + [ + 0x310d00 , + 0x310e00 , + 0x310f00 , + 0x311000 , + 0x311100 , + 0x311200 , + 0x311300 , + 0x311400 , + 0x311500 , + 0x311600 , + 0x311700 , + 0x311800 + ] , + 'ROS-TRT-BC-00': + [ + 0x320100 , + 0x320200 , + 0x320300 , + 0x320400 , + 0x320500 , + 0x320600 , + 0x320700 , + 0x320800 , + 0x320900 , + 0x320a00 , + 0x320b00 , + 0x320c00 , + 0x321900 , + 0x321a00 , + 0x321b00 , + 0x321c00 , + 0x321d00 , + 0x321e00 , + 0x321f00 , + 0x322000 + ] , + 'ROS-TRT-BC-01': + [ + 0x320d00 , + 0x320e00 , + 0x320f00 , + 0x321000 , + 0x321100 , + 0x321200 , + 0x321300 , + 0x321400 , + 0x321500 , + 0x321600 , + 0x321700 , + 0x321800 + ] , + 'ROS-TRT-ECA-00': + [ + 0x330601 , + 0x330602 , + 0x330701 , + 0x330702 , + 0x330801 , + 0x330802 , + 0x330901 , + 0x330902 , + 0x330a01 , + 0x330a02 , + 0x330b01 , + 0x330b02 , + 0x330c01 , + 0x330c02 , + 0x330d01 , + 0x330d02 , + 0x330e01 , + 0x330e02 , + 0x330f01 , + 0x330f02 + ] , + 'ROS-TRT-ECA-01': + [ + 0x331001 , + 0x331002 , + 0x331101 , + 0x331102 , + 0x331201 , + 0x331202 , + 0x331301 , + 0x331302 , + 0x331401 , + 0x331402 , + 0x331501 , + 0x331502 , + 0x331601 , + 0x331602 , + 0x331701 , + 0x331702 , + 0x331801 , + 0x331802 , + 0x331901 , + 0x331902 , + 0x331a01 , + 0x331a02 + ] , + 'ROS-TRT-ECA-02': + [ + 0x330101 , + 0x330102 , + 0x330201 , + 0x330202 , + 0x330301 , + 0x330302 , + 0x330401 , + 0x330402 , + 0x330501 , + 0x330502 , + 0x331b01 , + 0x331b02 , + 0x331c01 , + 0x331c02 , + 0x331d01 , + 0x331d02 , + 0x331e01 , + 0x331e02 , + 0x331f01 , + 0x331f02 , + 0x332001 , + 0x332002 + ] , + 'ROS-TRT-ECC-00': + [ + 0x340601 , + 0x340602 , + 0x340701 , + 0x340702 , + 0x340801 , + 0x340802 , + 0x340901 , + 0x340902 , + 0x340a01 , + 0x340a02 , + 0x340b01 , + 0x340b02 , + 0x340c01 , + 0x340c02 , + 0x340d01 , + 0x340d02 , + 0x340e01 , + 0x340e02 , + 0x340f01 , + 0x340f02 + ] , + 'ROS-TRT-ECC-01': + [ + 0x341001 , + 0x341002 , + 0x341102 , + 0x341101 , + 0x341201 , + 0x341202 , + 0x341301 , + 0x341302 , + 0x341402 , + 0x341401 , + 0x341501 , + 0x341502 , + 0x341601 , + 0x341602 , + 0x341701 , + 0x341702 , + 0x341801 , + 0x341802 , + 0x341901 , + 0x341902 , + 0x341a01 , + 0x341a02 + ] , + 'ROS-TRT-ECC-02': + [ + 0x340101 , + 0x340102 , + 0x340201 , + 0x340202 , + 0x340301 , + 0x340302 , + 0x340401 , + 0x340402 , + 0x340501 , + 0x340502 , + 0x341b01 , + 0x341b02 , + 0x341c01 , + 0x341c02 , + 0x341d01 , + 0x341d02 , + 0x341e01 , + 0x341e02 , + 0x341f01 , + 0x341f02 , + 0x342001 , + 0x342002 + ] , + 'ROS-LAR-EMBA-00': + [ + 0x41000c , + 0x41000d , + 0x410001 , + 0x41000f , + 0x410014 , + 0x410015 , + 0x410016 , + 0x410017 , + 0x41001c , + 0x41001d , + 0x410030 , + 0x410031 , + 0x410002 , + 0x410003 , + 0x410011 , + 0x410013 , + 0x410018 , + 0x410019 , + 0x41001a , + 0x41001b , + 0x41001e , + 0x41001f , + 0x410032 , + 0x410033 + ] , + 'ROS-LAR-EMBA-01': + [ + 0x410004 , + 0x410005 , + 0x410006 , + 0x410007 , + 0x410000 , + 0x41000e , + 0x410020 , + 0x410021 , + 0x410028 , + 0x410029 , + 0x41002c , + 0x41002d , + 0x410008 , + 0x410009 , + 0x41000a , + 0x41000b , + 0x410010 , + 0x410012 , + 0x410022 , + 0x410023 , + 0x41002a , + 0x41002b , + 0x41002e , + 0x41002f + ] , + 'ROS-LAR-EMBA-02': + [ + 0x410024 , + 0x410025 , + 0x410026 , + 0x410027 , + 0x410034 , + 0x410035 , + 0x410036 , + 0x410037 , + 0x41005c , + 0x41005d , + 0x41005e , + 0x41005f , + 0x41006c , + 0x41006d , + 0x41006e , + 0x41006f + ] , + 'ROS-LAR-EMBA-03': + [ + 0x410044 , + 0x410045 , + 0x410039 , + 0x410047 , + 0x41004c , + 0x41004d , + 0x41004e , + 0x41004f , + 0x410054 , + 0x410055 , + 0x410068 , + 0x410069 , + 0x41003a , + 0x41003b , + 0x410049 , + 0x41004b , + 0x410050 , + 0x410051 , + 0x410052 , + 0x410053 , + 0x410056 , + 0x410057 , + 0x41006a , + 0x41006b + ] , + 'ROS-LAR-EMBA-04': + [ + 0x41003c , + 0x41003d , + 0x41003e , + 0x41003f , + 0x410038 , + 0x410046 , + 0x410058 , + 0x410059 , + 0x410060 , + 0x410061 , + 0x410064 , + 0x410065 , + 0x410040 , + 0x410041 , + 0x410042 , + 0x410043 , + 0x410048 , + 0x41004a , + 0x41005a , + 0x41005b , + 0x410062 , + 0x410063 , + 0x410066 , + 0x410067 + ] , + 'ROS-LAR-EMBA-05': + [ + 0x41007c , + 0x41007d , + 0x410071 , + 0x41007f , + 0x410084 , + 0x410085 , + 0x410086 , + 0x410087 , + 0x41008c , + 0x41008d , + 0x4100a0 , + 0x4100a1 , + 0x410072 , + 0x410073 , + 0x410081 , + 0x410083 , + 0x410088 , + 0x410089 , + 0x41008a , + 0x41008b , + 0x41008e , + 0x41008f , + 0x4100a2 , + 0x4100a3 + ] , + 'ROS-LAR-EMBA-06': + [ + 0x410074 , + 0x410075 , + 0x410076 , + 0x410077 , + 0x410070 , + 0x41007e , + 0x410090 , + 0x410091 , + 0x410098 , + 0x410099 , + 0x41009c , + 0x41009d , + 0x410078 , + 0x410079 , + 0x41007a , + 0x41007b , + 0x410080 , + 0x410082 , + 0x410092 , + 0x410093 , + 0x41009a , + 0x41009b , + 0x41009e , + 0x41009f + ] , + 'ROS-LAR-EMBA-07': + [ + 0x410094 , + 0x410095 , + 0x410096 , + 0x410097 , + 0x4100a4 , + 0x4100a5 , + 0x4100a6 , + 0x4100a7 , + 0x4100cc , + 0x4100cd , + 0x4100ce , + 0x4100cf , + 0x4100dc , + 0x4100dd , + 0x4100de , + 0x4100df + ] , + 'ROS-LAR-EMBA-08': + [ + 0x4100b4 , + 0x4100b5 , + 0x4100a9 , + 0x4100b7 , + 0x4100bc , + 0x4100bd , + 0x4100be , + 0x4100bf , + 0x4100c4 , + 0x4100c5 , + 0x4100d8 , + 0x4100d9 , + 0x4100aa , + 0x4100ab , + 0x4100b9 , + 0x4100bb , + 0x4100c0 , + 0x4100c1 , + 0x4100c2 , + 0x4100c3 , + 0x4100c6 , + 0x4100c7 , + 0x4100da , + 0x4100db + ] , + 'ROS-LAR-EMBA-09': + [ + 0x4100ac , + 0x4100ad , + 0x4100ae , + 0x4100af , + 0x4100a8 , + 0x4100b6 , + 0x4100c8 , + 0x4100c9 , + 0x4100d0 , + 0x4100d1 , + 0x4100d4 , + 0x4100d5 , + 0x4100b0 , + 0x4100b1 , + 0x4100b2 , + 0x4100b3 , + 0x4100b8 , + 0x4100ba , + 0x4100ca , + 0x4100cb , + 0x4100d2 , + 0x4100d3 , + 0x4100d6 , + 0x4100d7 + ] , + 'ROS-LAR-EMBC-00': + [ + 0x42000c , + 0x42000d , + 0x420001 , + 0x42000f , + 0x420014 , + 0x420015 , + 0x420016 , + 0x420017 , + 0x42001c , + 0x42001d , + 0x420030 , + 0x420031 , + 0x420002 , + 0x420003 , + 0x420011 , + 0x420013 , + 0x420018 , + 0x420019 , + 0x42001a , + 0x42001b , + 0x42001e , + 0x42001f , + 0x420032 , + 0x420033 + ] , + 'ROS-LAR-EMBC-01': + [ + 0x420004 , + 0x420005 , + 0x420006 , + 0x420007 , + 0x420000 , + 0x42000e , + 0x420020 , + 0x420021 , + 0x420028 , + 0x420029 , + 0x42002c , + 0x42002d , + 0x420008 , + 0x420009 , + 0x42000a , + 0x42000b , + 0x420010 , + 0x420012 , + 0x420022 , + 0x420023 , + 0x42002a , + 0x42002b , + 0x42002e , + 0x42002f + ] , + 'ROS-LAR-EMBC-02': + [ + 0x420024 , + 0x420025 , + 0x420026 , + 0x420027 , + 0x420034 , + 0x420035 , + 0x420036 , + 0x420037 , + 0x42005c , + 0x42005d , + 0x42005e , + 0x42005f , + 0x42006c , + 0x42006d , + 0x42006e , + 0x42006f + ] , + 'ROS-LAR-EMBC-03': + [ + 0x420044 , + 0x420045 , + 0x420039 , + 0x420047 , + 0x42004c , + 0x42004d , + 0x42004e , + 0x42004f , + 0x420054 , + 0x420055 , + 0x420068 , + 0x420069 , + 0x42003a , + 0x42003b , + 0x420049 , + 0x42004b , + 0x420050 , + 0x420051 , + 0x420052 , + 0x420053 , + 0x420056 , + 0x420057 , + 0x42006a , + 0x42006b + ] , + 'ROS-LAR-EMBC-04': + [ + 0x42003c , + 0x42003d , + 0x42003e , + 0x42003f , + 0x420038 , + 0x420046 , + 0x420058 , + 0x420059 , + 0x420060 , + 0x420061 , + 0x420064 , + 0x420065 , + 0x420040 , + 0x420041 , + 0x420042 , + 0x420043 , + 0x420048 , + 0x42004a , + 0x42005a , + 0x42005b , + 0x420062 , + 0x420063 , + 0x420066 , + 0x420067 + ] , + 'ROS-LAR-EMBC-05': + [ + 0x42007c , + 0x42007d , + 0x420071 , + 0x42007f , + 0x420084 , + 0x420085 , + 0x420086 , + 0x420087 , + 0x42008c , + 0x42008d , + 0x4200a0 , + 0x4200a1 , + 0x420072 , + 0x420073 , + 0x420081 , + 0x420083 , + 0x420088 , + 0x420089 , + 0x42008a , + 0x42008b , + 0x42008e , + 0x42008f , + 0x4200a2 , + 0x4200a3 + ] , + 'ROS-LAR-EMBC-06': + [ + 0x420074 , + 0x420075 , + 0x420076 , + 0x420077 , + 0x420070 , + 0x42007e , + 0x420090 , + 0x420091 , + 0x420098 , + 0x420099 , + 0x42009c , + 0x42009d , + 0x420078 , + 0x420079 , + 0x42007a , + 0x42007b , + 0x420080 , + 0x420082 , + 0x420092 , + 0x420093 , + 0x42009a , + 0x42009b , + 0x42009e , + 0x42009f + ] , + 'ROS-LAR-EMBC-07': + [ + 0x420094 , + 0x420095 , + 0x420096 , + 0x420097 , + 0x4200a4 , + 0x4200a5 , + 0x4200a6 , + 0x4200a7 , + 0x4200cc , + 0x4200cd , + 0x4200ce , + 0x4200cf , + 0x4200dc , + 0x4200dd , + 0x4200de , + 0x4200df + ] , + 'ROS-LAR-EMBC-08': + [ + 0x4200b4 , + 0x4200b5 , + 0x4200a9 , + 0x4200b7 , + 0x4200bc , + 0x4200bd , + 0x4200be , + 0x4200bf , + 0x4200c4 , + 0x4200c5 , + 0x4200d8 , + 0x4200d9 , + 0x4200aa , + 0x4200ab , + 0x4200b9 , + 0x4200bb , + 0x4200c0 , + 0x4200c1 , + 0x4200c2 , + 0x4200c3 , + 0x4200c6 , + 0x4200c7 , + 0x4200da , + 0x4200db + ] , + 'ROS-LAR-EMBC-09': + [ + 0x4200ac , + 0x4200ad , + 0x4200ae , + 0x4200af , + 0x4200a8 , + 0x4200b6 , + 0x4200c8 , + 0x4200c9 , + 0x4200d0 , + 0x4200d1 , + 0x4200d4 , + 0x4200d5 , + 0x4200b0 , + 0x4200b1 , + 0x4200b2 , + 0x4200b3 , + 0x4200b8 , + 0x4200ba , + 0x4200ca , + 0x4200cb , + 0x4200d2 , + 0x4200d3 , + 0x4200d6 , + 0x4200d7 + ] , + 'ROS-LAR-EMECA-00': + [ + 0x430000 , + 0x430001 , + 0x430024 , + 0x430025 , + 0x430026 , + 0x430027 , + 0x430068 , + 0x43006a , + 0x43006c , + 0x43006d , + 0x430078 , + 0x430079 , + 0x430002 , + 0x430003 , + 0x430028 , + 0x430029 , + 0x43002a , + 0x43002b , + 0x43006e , + 0x43006f , + 0x43007a , + 0x43007b , + 0x430069 + ] , + 'ROS-LAR-EMECA-01': + [ + 0x430004 , + 0x430005 , + 0x430006 , + 0x430007 , + 0x430008 , + 0x430009 , + 0x43000a , + 0x43000b , + 0x43001c , + 0x43001d , + 0x43001e , + 0x43001f , + 0x43000c , + 0x43000d , + 0x43000e , + 0x43000f , + 0x430010 , + 0x430011 , + 0x430012 , + 0x430013 , + 0x430020 , + 0x430021 , + 0x430022 , + 0x430023 + ] , + 'ROS-LAR-EMECA-02': + [ + 0x430014 , + 0x430015 , + 0x430016 , + 0x430017 , + 0x43002c , + 0x43002d , + 0x43002e , + 0x43002f , + 0x43007d , + 0x43007c , + 0x430077 , + 0x430018 , + 0x430019 , + 0x43001a , + 0x43001b , + 0x430030 , + 0x430031 , + 0x430032 , + 0x430033 , + 0x430074 , + 0x430076 , + 0x430075 + ] , + 'ROS-LAR-EMECA-03': + [ + 0x430034 , + 0x430035 , + 0x430058 , + 0x430059 , + 0x43005a , + 0x43005b , + 0x430086 , + 0x430038 , + 0x430070 , + 0x430071 , + 0x430081 , + 0x430080 , + 0x430036 , + 0x430037 , + 0x43005c , + 0x43005d , + 0x43005e , + 0x43005f , + 0x430072 , + 0x430073 , + 0x43007e , + 0x43007f , + 0x430087 + ] , + 'ROS-LAR-EMECA-04': + [ + 0x43006b , + 0x430039 , + 0x43003a , + 0x43003b , + 0x43003c , + 0x43003d , + 0x43003e , + 0x43003f , + 0x430050 , + 0x430051 , + 0x430052 , + 0x430053 , + 0x430040 , + 0x430041 , + 0x430042 , + 0x430043 , + 0x430044 , + 0x430045 , + 0x430046 , + 0x430047 , + 0x430054 , + 0x430055 , + 0x430056 , + 0x430057 + ] , + 'ROS-LAR-EMECA-05': + [ + 0x430048 , + 0x430049 , + 0x43004a , + 0x43004b , + 0x430060 , + 0x430061 , + 0x430062 , + 0x430063 , + 0x430082 , + 0x430083 , + 0x430085 , + 0x43004c , + 0x43004d , + 0x43004e , + 0x43004f , + 0x430064 , + 0x430065 , + 0x430066 , + 0x430067 , + 0x430088 , + 0x430084 , + 0x430089 + ] , + 'ROS-LAR-EMECC-00': + [ + 0x440000 , + 0x440001 , + 0x440025 , + 0x440026 , + 0x440027 , + 0x440028 , + 0x440068 , + 0x44006a , + 0x44006c , + 0x44006d , + 0x440078 , + 0x440079 , + 0x440002 , + 0x440003 , + 0x440029 , + 0x44002a , + 0x44002b , + 0x440058 , + 0x44006e , + 0x44006f , + 0x44007a , + 0x44007b , + 0x440069 + ] , + 'ROS-LAR-EMECC-01': + [ + 0x440004 , + 0x440005 , + 0x440006 , + 0x440007 , + 0x440008 , + 0x440009 , + 0x44000a , + 0x44000b , + 0x44001c , + 0x44001d , + 0x44001e , + 0x44001f , + 0x44000c , + 0x44000d , + 0x44000e , + 0x44000f , + 0x440010 , + 0x440011 , + 0x440012 , + 0x440013 , + 0x440020 , + 0x440021 , + 0x440022 , + 0x440023 + ] , + 'ROS-LAR-EMECC-02': + [ + 0x440015 , + 0x440016 , + 0x440017 , + 0x440018 , + 0x44002d , + 0x44002e , + 0x44002f , + 0x440030 , + 0x44007d , + 0x44007c , + 0x440077 , + 0x440019 , + 0x44001a , + 0x44001b , + 0x440031 , + 0x440032 , + 0x440033 , + 0x440048 , + 0x440060 , + 0x440074 , + 0x440076 , + 0x440075 + ] , + 'ROS-LAR-EMECC-03': + [ + 0x440034 , + 0x440035 , + 0x440059 , + 0x44005a , + 0x44005b , + 0x44005c , + 0x440086 , + 0x440038 , + 0x440070 , + 0x440071 , + 0x440081 , + 0x440080 , + 0x440024 , + 0x440036 , + 0x440037 , + 0x44005d , + 0x44005e , + 0x44005f , + 0x440072 , + 0x440073 , + 0x44007e , + 0x44007f , + 0x440087 + ] , + 'ROS-LAR-EMECC-04': + [ + 0x44006b , + 0x440039 , + 0x44003a , + 0x44003b , + 0x44003c , + 0x44003d , + 0x44003e , + 0x44003f , + 0x440050 , + 0x440051 , + 0x440052 , + 0x440053 , + 0x440040 , + 0x440041 , + 0x440042 , + 0x440043 , + 0x440044 , + 0x440045 , + 0x440046 , + 0x440047 , + 0x440054 , + 0x440055 , + 0x440056 , + 0x440057 + ] , + 'ROS-LAR-EMECC-05': + [ + 0x440049 , + 0x44004a , + 0x44004b , + 0x44004c , + 0x440061 , + 0x440062 , + 0x440063 , + 0x440064 , + 0x440082 , + 0x440083 , + 0x440085 , + 0x440014 , + 0x44002c , + 0x44004d , + 0x44004e , + 0x44004f , + 0x440065 , + 0x440066 , + 0x440067 , + 0x440088 , + 0x440084 , + 0x440089 + ] , + 'ROS-LAR-HECFCAL-00': + [ + 0x450000 , + 0x450001 , + 0x450002 , + 0x450003 , + 0x450004 , + 0x450005 , + 0x450006 , + 0x450007 , + 0x450008 , + 0x450009 , + 0x45000a , + 0x45000b , + 0x460000 , + 0x460001 , + 0x460002 , + 0x460003 , + 0x460004 , + 0x460005 , + 0x460006 , + 0x460007 , + 0x460008 , + 0x460009 , + 0x46000a , + 0x46000b + ] , + 'ROS-LAR-HECFCAL-01': + [ + 0x470000 , + 0x470001 , + 0x470002 , + 0x470003 , + 0x470004 , + 0x470005 , + 0x470006 , + 0x480000 , + 0x480001 , + 0x480002 , + 0x480003 , + 0x480004 , + 0x480005 , + 0x480006 + ] , + 'ROS-TIL-EBA-00': + [ + 0x530008 , + 0x530009 , + 0x53000a , + 0x53000b , + 0x530100 , + 0x53000c , + 0x53000d , + 0x53000e , + 0x53000f , + 0x530101 , + 0x530010 , + 0x530011 , + 0x530012 , + 0x530013 , + 0x530102 , + 0x530014 , + 0x530015 , + 0x530016 , + 0x530017 , + 0x530103 + ] , + 'ROS-TIL-EBA-01': + [ + 0x530018 , + 0x530019 , + 0x53001a , + 0x53001b , + 0x530104 , + 0x53001c , + 0x53001d , + 0x53001e , + 0x53001f , + 0x530105 , + 0x530000 , + 0x530001 , + 0x530002 , + 0x530003 , + 0x530106 , + 0x530004 , + 0x530005 , + 0x530006 , + 0x530007 , + 0x530107 + ] , + 'ROS-TIL-LBA-00': + [ + 0x510008 , + 0x510009 , + 0x51000a , + 0x51000b , + 0x510104 , + 0x51000c , + 0x51000d , + 0x51000e , + 0x51000f , + 0x510105 , + 0x510010 , + 0x510011 , + 0x510012 , + 0x510013 , + 0x510014 , + 0x510015 , + 0x510016 , + 0x510017 + ] , + 'ROS-TIL-LBA-01': + [ + 0x510018 , + 0x510019 , + 0x51001a , + 0x51001b , + 0x510106 , + 0x51001c , + 0x51001d , + 0x51001e , + 0x51001f , + 0x510000 , + 0x510001 , + 0x510002 , + 0x510003 , + 0x510004 , + 0x510005 , + 0x510006 , + 0x510007 + ] , + 'ROS-TIL-LBC-00': + [ + 0x520008 , + 0x520009 , + 0x52000a , + 0x52000b , + 0x520104 , + 0x52000c , + 0x52000d , + 0x52000e , + 0x52000f , + 0x520105 , + 0x520010 , + 0x520011 , + 0x520012 , + 0x520013 , + 0x520014 , + 0x520015 , + 0x520016 , + 0x520017 + ] , + 'ROS-TIL-LBC-01': + [ + 0x520018 , + 0x520019 , + 0x52001a , + 0x52001b , + 0x520106 , + 0x52001c , + 0x52001d , + 0x52001e , + 0x52001f , + 0x520020 , + 0x520000 , + 0x520001 , + 0x520002 , + 0x520003 , + 0x520004 , + 0x520005 , + 0x520006 , + 0x520007 + ] , + 'ROS-TIL-EBC-00': + [ + 0x540008 , + 0x540009 , + 0x54000a , + 0x54000b , + 0x540100 , + 0x54000c , + 0x54000d , + 0x54000e , + 0x54000f , + 0x540101 , + 0x540010 , + 0x540011 , + 0x540012 , + 0x540013 , + 0x540102 , + 0x540014 , + 0x540015 , + 0x540016 , + 0x540017 , + 0x540103 + ] , + 'ROS-TIL-EBC-01': + [ + 0x540018 , + 0x540019 , + 0x54001a , + 0x54001b , + 0x540104 , + 0x54001c , + 0x54001d , + 0x54001e , + 0x54001f , + 0x540105 , + 0x540000 , + 0x540001 , + 0x540002 , + 0x540003 , + 0x540106 , + 0x540004 , + 0x540005 , + 0x540006 , + 0x540007 , + 0x540107 + ] , + 'ROS-CSC-ECA-00': + [ + 0x690080 , + 0x690081 , + 0x690082 , + 0x690083 , + 0x690084 , + 0x690085 , + 0x690086 , + 0x690087 , + 0x690088 , + 0x690089 , + 0x69008a , + 0x69008b , + 0x69008c , + 0x69008d , + 0x69008e , + 0x69008f + ] , + 'ROS-CSC-ECC-00': + [ + 0x6a0080 , + 0x6a0081 , + 0x6a0082 , + 0x6a0083 , + 0x6a0084 , + 0x6a0085 , + 0x6a0086 , + 0x6a0087 , + 0x6a0088 , + 0x6a0089 , + 0x6a008a , + 0x6a008b , + 0x6a008c , + 0x6a008d , + 0x6a008e , + 0x6a008f + ] , + 'ROS-MDT-BA-00': + [ + 0x610000 , + 0x610001 , + 0x610008 , + 0x610009 , + 0x610010 , + 0x610011 , + 0x610018 , + 0x610019 , + 0x610020 , + 0x610021 , + 0x610028 , + 0x610029 , + 0x610002 , + 0x610003 , + 0x61000a , + 0x61000b , + 0x610012 , + 0x610013 , + 0x61001a , + 0x61001b , + 0x610022 , + 0x610023 , + 0x61002a , + 0x61002b + ] , + 'ROS-MDT-BA-01': + [ + 0x610004 , + 0x610005 , + 0x61000c , + 0x61000d , + 0x610014 , + 0x610015 , + 0x61001c , + 0x61001d , + 0x610024 , + 0x610025 , + 0x61002c , + 0x61002d , + 0x610006 , + 0x610007 , + 0x61000e , + 0x61000f , + 0x610016 , + 0x610017 , + 0x61001e , + 0x61001f , + 0x610026 , + 0x610027 , + 0x61002e , + 0x61002f + ] , + 'ROS-MDT-BA-02': + [ + 0x610030 , + 0x610031 , + 0x610080 , + 0x610032 , + 0x610033 + ] , + 'ROS-MDT-BC-00': + [ + 0x620000 , + 0x620001 , + 0x620008 , + 0x620009 , + 0x620010 , + 0x620011 , + 0x620018 , + 0x620019 , + 0x620020 , + 0x620021 , + 0x620028 , + 0x620029 , + 0x620002 , + 0x620003 , + 0x62000a , + 0x62000b , + 0x620012 , + 0x620013 , + 0x62001a , + 0x62001b , + 0x620022 , + 0x620023 , + 0x62002a , + 0x62002b + ] , + 'ROS-MDT-BC-01': + [ + 0x620004 , + 0x620005 , + 0x62000c , + 0x62000d , + 0x620014 , + 0x620015 , + 0x62001c , + 0x62001d , + 0x620024 , + 0x620025 , + 0x62002c , + 0x62002d , + 0x620006 , + 0x620007 , + 0x62000e , + 0x62000f , + 0x620016 , + 0x620017 , + 0x62001e , + 0x62001f , + 0x620026 , + 0x620027 , + 0x62002e , + 0x62002f + ] , + 'ROS-MDT-BC-02': + [ + 0x620030 , + 0x620031 , + 0x620080 , + 0x620032 , + 0x620033 + ] , + 'ROS-MDT-ECA-00': + [ + 0x630011 , + 0x630018 , + 0x630019 , + 0x630020 , + 0x630021 , + 0x630028 , + 0x630029 , + 0x630051 , + 0x630058 , + 0x630059 , + 0x630060 , + 0x630061 , + 0x630013 , + 0x63001a , + 0x63001b , + 0x630022 , + 0x630023 , + 0x63002a , + 0x63002b , + 0x630053 , + 0x63005a , + 0x63005b , + 0x630062 , + 0x630063 + ] , + 'ROS-MDT-ECA-01': + [ + 0x630015 , + 0x63001c , + 0x63001d , + 0x630024 , + 0x630025 , + 0x63002c , + 0x63002d , + 0x630055 , + 0x63005c , + 0x63005d , + 0x630064 , + 0x630065 , + 0x630017 , + 0x63001e , + 0x63001f , + 0x630026 , + 0x630027 , + 0x63002e , + 0x63002f , + 0x630057 , + 0x63005e , + 0x63005f , + 0x630066 , + 0x630067 + ] , + 'ROS-MDT-ECA-02': + [ + 0x630030 , + 0x630000 , + 0x630001 , + 0x630008 , + 0x630009 , + 0x630010 , + 0x630031 , + 0x630002 , + 0x630003 , + 0x630070 , + 0x630050 , + 0x630071 , + 0x63000a , + 0x63000b , + 0x630012 , + 0x630032 , + 0x630004 , + 0x630005 , + 0x63000c , + 0x63000d , + 0x630014 , + 0x630052 , + 0x630072 , + 0x630054 + ] , + 'ROS-MDT-ECA-03': + [ + 0x630033 , + 0x630006 , + 0x630007 , + 0x63000e , + 0x63000f , + 0x630016 , + 0x630073 , + 0x630056 + ] , + 'ROS-MDT-ECC-00': + [ + 0x640017 , + 0x64001e , + 0x64001f , + 0x640026 , + 0x640027 , + 0x64002e , + 0x64002f , + 0x640057 , + 0x64005e , + 0x64005f , + 0x640066 , + 0x640067 , + 0x640011 , + 0x640018 , + 0x640019 , + 0x640020 , + 0x640021 , + 0x640028 , + 0x640029 , + 0x640051 , + 0x640058 , + 0x640059 , + 0x640060 , + 0x640061 + ] , + 'ROS-MDT-ECC-01': + [ + 0x640013 , + 0x64001a , + 0x64001b , + 0x640022 , + 0x640023 , + 0x64002a , + 0x64002b , + 0x640053 , + 0x64005a , + 0x64005b , + 0x640062 , + 0x640063 , + 0x640015 , + 0x64001c , + 0x64001d , + 0x640024 , + 0x640025 , + 0x64002c , + 0x64002d , + 0x640055 , + 0x64005c , + 0x64005d , + 0x640064 , + 0x640065 + ] , + 'ROS-MDT-ECC-02': + [ + 0x640033 , + 0x640006 , + 0x640007 , + 0x64000e , + 0x64000f , + 0x640016 , + 0x640030 , + 0x640000 , + 0x640001 , + 0x640073 , + 0x640056 , + 0x640070 , + 0x640008 , + 0x640009 , + 0x640010 , + 0x640031 , + 0x640002 , + 0x640003 , + 0x64000a , + 0x64000b , + 0x640012 , + 0x640050 , + 0x640071 , + 0x640052 + ] , + 'ROS-MDT-ECC-03': + [ + 0x640032 , + 0x640004 , + 0x640005 , + 0x64000c , + 0x64000d , + 0x640014 , + 0x640072 , + 0x640054 + ] , + 'ROS-RPC-BC-00': + [ + 0x660000 , + 0x660001 , + 0x660002 , + 0x660003 , + 0x660004 , + 0x660005 , + 0x660006 , + 0x660007 , + 0x660008 , + 0x660009 , + 0x66000a , + 0x66000b , + 0x66000c , + 0x66000d , + 0x66000e , + 0x66000f + ] , + 'ROS-RPC-BA-00': + [ + 0x650000 , + 0x650001 , + 0x650002 , + 0x650003 , + 0x650004 , + 0x650005 , + 0x650006 , + 0x650007 , + 0x650008 , + 0x650009 , + 0x65000a , + 0x65000b , + 0x65000c , + 0x65000d , + 0x65000e , + 0x65000f + ] , + 'ROS-TGC-EC-00': + [ + 0x670001 , + 0x670002 , + 0x670003 , + 0x670004 , + 0x670005 , + 0x670006 , + 0x670007 , + 0x670008 , + 0x670009 , + 0x67000a , + 0x67000b , + 0x67000c , + 0x680001 , + 0x680002 , + 0x680003 , + 0x680004 , + 0x680005 , + 0x680006 , + 0x680007 , + 0x680008 , + 0x680009 , + 0x68000a , + 0x68000b , + 0x68000c + ] , + 'ROS-TGC-SL-00': + [ + 0x670011 , + 0x670012 , + 0x670013 , + 0x680011 , + 0x680012 , + 0x680013 + ] , + 'ROS-FWD-AFP-00': + [ + 0x850001 , + 0x850002 + ] , + 'ROS-FWD-ALFA-00': + [ + 0x840000 , + 0x840001 + ] +} + +class ROSToROBMap: + def __init__(self): + self.data = ros2rob + + def get_mapping(self): + return self.data \ No newline at end of file diff --git a/Trigger/TrigCost/TrigCostAnalysis/python/__init__.py b/Trigger/TrigCost/TrigCostAnalysis/python/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..dbe776ceaeddbc8f13a89bda699e8890181749b2 --- /dev/null +++ b/Trigger/TrigCost/TrigCostAnalysis/python/__init__.py @@ -0,0 +1 @@ +# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration \ No newline at end of file diff --git a/Trigger/TrigCost/TrigCostAnalysis/share/TrigCostAnalysis_JobOptions.py b/Trigger/TrigCost/TrigCostAnalysis/share/TrigCostAnalysis_JobOptions.py index 8451c26f70b0202152cc78b178b53e15f0f00cc9..c7dbc9612b6d87c160e0e217c93d4beeb05d6d80 100644 --- a/Trigger/TrigCost/TrigCostAnalysis/share/TrigCostAnalysis_JobOptions.py +++ b/Trigger/TrigCost/TrigCostAnalysis/share/TrigCostAnalysis_JobOptions.py @@ -58,6 +58,9 @@ enhancedBiasWeighter.RunNumber = 379158 enhancedBiasWeighter.UseBunchCrossingTool = False from AthenaCommon import CfgMgr +from TrigCostAnalysis.ROSToROB import ROSToROBMap +rosToRobMap = ROSToROBMap() + trigCostAnalysis = CfgMgr.TrigCostAnalysis() trigCostAnalysis.OutputLevel = DEBUG trigCostAnalysis.RootStreamName = "COSTSTREAM" @@ -66,6 +69,7 @@ trigCostAnalysis.EnhancedBiasTool = enhancedBiasWeighter trigCostAnalysis.UseEBWeights = False trigCostAnalysis.MaxFullEventDumps = 100 trigCostAnalysis.FullEventDumpProbability = 1 # X. Where probability is 1 in X +trigCostAnalysis.ROSToROBMap = rosToRobMap.get_mapping() topSequence += trigCostAnalysis from AthenaCommon.AppMgr import ServiceMgr as svcMgr diff --git a/Trigger/TrigCost/TrigCostAnalysis/src/CostData.cxx b/Trigger/TrigCost/TrigCostAnalysis/src/CostData.cxx index 1dcc6a8535d6a69f9f5de380713b00e12ac3b249..d3cd438bb1365414a4971084dae5c46865820bc3 100644 --- a/Trigger/TrigCost/TrigCostAnalysis/src/CostData.cxx +++ b/Trigger/TrigCost/TrigCostAnalysis/src/CostData.cxx @@ -46,6 +46,10 @@ StatusCode CostData::cache() { return StatusCode::SUCCESS; } +void CostData::setRosToRobMap(const std::map<std::string, std::vector<uint32_t>>& rosToRobMap) { + m_rosToRob = &rosToRobMap; +} + void CostData::setLb(uint32_t lb) { m_lb = lb; } @@ -80,6 +84,9 @@ const xAOD::TrigCompositeContainer& CostData::rosCollection() const { return *m_rosCollection; } +const std::map<std::string, std::vector<uint32_t>>& CostData::rosToRobMap() const { + return *m_rosToRob; +} float CostData::algTotalTimeMilliSec() const { return m_algTotalTime * 1e-3; // microseconds to milliseconds diff --git a/Trigger/TrigCost/TrigCostAnalysis/src/CostData.h b/Trigger/TrigCost/TrigCostAnalysis/src/CostData.h index a164eb251462253b32521efbd883d925bfe67c5c..ef33493962ee0f3d0dc261e644944b8bd65912ec 100644 --- a/Trigger/TrigCost/TrigCostAnalysis/src/CostData.h +++ b/Trigger/TrigCost/TrigCostAnalysis/src/CostData.h @@ -42,7 +42,7 @@ class CostData { CostData(const CostData&) = delete; /** - * @brief Cache the cost collection, after formally requesting it from storegate. + * @brief Cache the cost and ros collections, after formally requesting it from storegate. */ StatusCode set(const xAOD::TrigCompositeContainer* costCollection, const xAOD::TrigCompositeContainer* rosCollection, uint32_t onlineSlot); @@ -56,6 +56,16 @@ class CostData { */ const xAOD::TrigCompositeContainer& rosCollection() const; + /** + * @brief Getter of the ROS to ROB map. + */ + const std::map<std::string, std::vector<uint32_t>>& rosToRobMap() const; + + /** + * @brief Set ROS to ROB map + */ + void setRosToRobMap(const std::map<std::string, std::vector<uint32_t>>& rosToRobMap); + /** * @brief Setter of effective P1 walltime represented by the current event. */ @@ -134,6 +144,8 @@ class CostData { bool m_liveTimeIsPerEvent; //!< If the livetime represents a single event or all of the current LB const std::unordered_map<uint32_t, std::string>* m_typeMapPtr; //!< Cached non-owning pointer mapping algorithm instance names to types std::map<size_t, std::vector<size_t>> m_algToRos; //!< Mapping of indexes from m_costCollection to corresponding ROS requests made by algorithm + const std::map<std::string, std::vector<uint32_t>>* m_rosToRob; //!< Mapping of ROS corresponding to ROB requests + }; #endif // TRIGCOSTANALYSIS_COSTDATA_H diff --git a/Trigger/TrigCost/TrigCostAnalysis/src/TrigCostAnalysis.cxx b/Trigger/TrigCost/TrigCostAnalysis/src/TrigCostAnalysis.cxx index 0095fa18343d4a8e24c9ec6371eea5523272fec0..c3863ab59eb0799d95e61785ce4b11efe2a15768 100644 --- a/Trigger/TrigCost/TrigCostAnalysis/src/TrigCostAnalysis.cxx +++ b/Trigger/TrigCost/TrigCostAnalysis/src/TrigCostAnalysis.cxx @@ -152,6 +152,7 @@ StatusCode TrigCostAnalysis::execute() { const uint32_t onlineSlot = getOnlineSlot( costDataHandle.get() ); CostData costData; ATH_CHECK( costData.set(costDataHandle.get(), rosDataHandle.get(), onlineSlot) ); + costData.setRosToRobMap(m_rosToRob); costData.setLb( context.eventID().lumi_block() ); costData.setTypeMap( m_algTypeMap ); if (!m_enhancedBiasTool.name().empty()) { diff --git a/Trigger/TrigCost/TrigCostAnalysis/src/TrigCostAnalysis.h b/Trigger/TrigCost/TrigCostAnalysis/src/TrigCostAnalysis.h index af2a9016f23f23b5330eb080a58d10b80e0b6e36..99921323a6f390ba9479b028b59ac29cd0bc1db4 100644 --- a/Trigger/TrigCost/TrigCostAnalysis/src/TrigCostAnalysis.h +++ b/Trigger/TrigCost/TrigCostAnalysis/src/TrigCostAnalysis.h @@ -12,6 +12,8 @@ #include "EnhancedBiasWeighter/EnhancedBiasWeighter.h" +#include "Gaudi/Parsers/Factory.h" + #include "MonitoredRange.h" #include <unordered_map> @@ -111,6 +113,9 @@ class TrigCostAnalysis: public ::AthHistogramAlgorithm { Gaudi::Property<float> m_baseEventWeight { this, "BaseEventWeight", true, "Base events weight, other weights may be multiplied on top of this one." }; + Gaudi::Property<std::map<std::string, std::vector<uint32_t>>> m_rosToRob { + this, "ROSToROBMap", {}, "ROS to ROB mapping" }; + SG::ReadHandleKey<xAOD::TrigCompositeContainer> m_costDataKey { this, "CostReadHandleKey", "HLT_TrigCostContainer", "Trigger cost payload container for algorithms" }; diff --git a/Trigger/TrigCost/TrigCostAnalysis/src/counters/CounterROS.cxx b/Trigger/TrigCost/TrigCostAnalysis/src/counters/CounterROS.cxx index 46fd5a1ec308739215890ff89d0b906e070d0974..0f898774e2cdaca820fa98e79a1fa25435fe2418 100644 --- a/Trigger/TrigCost/TrigCostAnalysis/src/counters/CounterROS.cxx +++ b/Trigger/TrigCost/TrigCostAnalysis/src/counters/CounterROS.cxx @@ -3,36 +3,91 @@ */ #include "xAODTrigger/TrigCompositeContainer.h" +#include "TrigDataAccessMonitoring/ROBDataMonitor.h" #include "CounterROS.h" +#include <algorithm> +#include <string> +#include <vector> + CounterROS::CounterROS(const std::string& name, const MonitorBase* parent) - : CounterBase(name, parent) -{} + : CounterBase(name, parent) { + + regHistogram("Request_perEvent", "Number of requests/Event;Number of requests;Events", VariableType::kPerEvent, LogType::kLinear, -0.5, 10.5, 11); + regHistogram("NetworkRequest_perEvent", "Number of network requests/Event;Number of requests;Events", VariableType::kPerEvent, LogType::kLinear, -0.5, 10.5, 11); + regHistogram("CachedROBSize_perEvent", "Total ROB Size/Event;ROB size;Events", VariableType::kPerEvent, LogType::kLinear, 0, 1024, 50); + regHistogram("NetworkROBSize_perEvent", "Total ROB Size/Event;ROB size;Events", VariableType::kPerEvent, LogType::kLinear, 0, 1024, 50); + regHistogram("Time_perEvent", "ROB Elapsed Time/Event;Elapsed Time [ms];Events", VariableType::kPerEvent); + regHistogram("ROBStatus_perCall", "ROB status/Call;Status;Events", VariableType::kPerCall, LogType::kLinear, 0, robmonitor::NUM_ROBHIST_CODES+1, robmonitor::NUM_ROBHIST_CODES+1); +} + +StatusCode CounterROS::newEvent(const CostData& data, size_t index, const float weight) { + + // Monitor only ROB data for corresponding ROS + const xAOD::TrigComposite* tc = data.rosCollection()[index]; + const std::vector<uint32_t> robIdsPerRequest = tc->getDetail<std::vector<uint32_t>>("robs_id"); + const std::vector<uint32_t> robs_size = tc->getDetail<std::vector<uint32_t>>("robs_size"); + const std::vector<unsigned> robs_history = tc->getDetail<std::vector<unsigned>>("robs_history"); + const std::vector<uint8_t> robs_status = tc->getDetail<std::vector<uint8_t>>("robs_status"); + + if (m_robIdsPerROS.size() == 0) { + m_robIdsPerROS = data.rosToRobMap().at(getName()); + } + + // Find all ROB requests that are both in request and correspond to this ROS + bool networkRequestIncremented = false; + for (size_t i = 0; i < robIdsPerRequest.size(); ++i) { + if (std::find(m_robIdsPerROS.begin(), m_robIdsPerROS.end(), robIdsPerRequest[i]) != m_robIdsPerROS.end()) { + + ATH_CHECK( fill("ROBStatus_perCall", getROBHistoryBin(robs_history[i]), weight) ); + if (robs_status[i]) { + // The last bin of ROBStatus_perCall histogram store isStatusOk bool value + ATH_CHECK( fill("ROBStatus_perCall", robmonitor::NUM_ROBHIST_CODES, weight) ); + } + + // ROB request was fetched over the network + if (robs_history[i] == robmonitor::RETRIEVED) { + ATH_CHECK( fill("NetworkROBSize_perEvent", robs_size[i], weight) ); + networkRequestIncremented = true; + } + else { + ATH_CHECK( fill("CachedROBSize_perEvent", robs_size[i], weight) ); + } + } + } + + ATH_CHECK( increment("Request_perEvent", weight) ); + + if (networkRequestIncremented) { + ATH_CHECK( increment("NetworkRequest_perEvent", weight) ); + } + + const float rosTime = timeToMilliSec(tc->getDetail<uint64_t>("start"), tc->getDetail<uint64_t>("stop")); + ATH_CHECK( fill("Time_perEvent", rosTime, weight) ); -StatusCode CounterROS::newEvent(const CostData& /*data*/, size_t /*incrementWalltime*/, const float /*weight*/) { return StatusCode::SUCCESS; } int CounterROS::getROBHistoryBin(const unsigned history){ int history_bin; switch (history) { - case 1: // SCHEDULED + case robmonitor::SCHEDULED: history_bin = 1; break; - case 2: // RETRIEVED - history_bin = 1; + case robmonitor::RETRIEVED: + history_bin = 2; break; - case 4: // HLT_CACHED + case robmonitor::HLT_CACHED: history_bin = 3; break; - case 8: // DCM_CACHED + case robmonitor::DCM_CACHED: history_bin = 4; break; - case 16: // IGNORED + case robmonitor::IGNORED: history_bin = 5; break; - case 32: // DISABLED + case robmonitor::DISABLED: history_bin = 6; break; default: // UNCLASSIFIED diff --git a/Trigger/TrigCost/TrigCostAnalysis/src/counters/CounterROS.h b/Trigger/TrigCost/TrigCostAnalysis/src/counters/CounterROS.h index 96d6c6b5c042f84e8f49a01e381fa9a575cf670d..88115a3f27a54eda87d1d6e2685971b421a4d7d0 100644 --- a/Trigger/TrigCost/TrigCostAnalysis/src/counters/CounterROS.h +++ b/Trigger/TrigCost/TrigCostAnalysis/src/counters/CounterROS.h @@ -44,10 +44,10 @@ class CounterROS : public CounterBase { /** * @brief Concrete implementation. Monitors global properties in a single LB, or over all LB in a Range * @param[in] data Access to event data - * @param[in] incrementWalltime If 1, we should add the current events wall time to our internal histogram + * @param[in] index Index of data request to monitor * @param[in] weight Global event weight */ - virtual StatusCode newEvent(const CostData& data, size_t incrementWalltime, const float weight = 1.) override; + virtual StatusCode newEvent(const CostData& data, size_t index, const float weight = 1.) override; private: /** @@ -55,7 +55,8 @@ class CounterROS : public CounterBase { * @param[in] history ROBHistory value */ int getROBHistoryBin(const unsigned history); - + + std::vector<uint32_t> m_robIdsPerROS; //!< Cached mapping of ROB ids corresponding to ROS }; #endif // TRIGCOSTANALYSIS_COUNTERROS_H \ No newline at end of file diff --git a/Trigger/TrigCost/TrigCostAnalysis/src/monitors/MonitorROS.cxx b/Trigger/TrigCost/TrigCostAnalysis/src/monitors/MonitorROS.cxx index 9352335b70e2fc6f1d10c8eab983c8e8d7a8cff8..6502f0ea2a17cad3b9d3a11c5595c03299bed2d8 100644 --- a/Trigger/TrigCost/TrigCostAnalysis/src/monitors/MonitorROS.cxx +++ b/Trigger/TrigCost/TrigCostAnalysis/src/monitors/MonitorROS.cxx @@ -5,12 +5,38 @@ #include "MonitorROS.h" #include "../counters/CounterROS.h" +#include <algorithm> + MonitorROS::MonitorROS(const std::string& name, const MonitoredRange* parent) : MonitorBase(name, parent) { } -StatusCode MonitorROS::newEvent(const CostData& /*data*/, const float /*weight*/) { +StatusCode MonitorROS::newEvent(const CostData& data, const float weight) { + + // Prepare ROB id per corresponding ROS name map + if (m_robToRos.empty()) { + const std::map<std::string, std::vector<uint32_t>> rosToRobMap = data.rosToRobMap(); + for (auto rosRequest : rosToRobMap) { + for (uint32_t robId : rosRequest.second) { + m_robToRos[robId] = rosRequest.first; + } + } + } + + for (const xAOD::TrigComposite* tc : data.rosCollection()) { + auto robIds = tc->getDetail<std::vector<uint32_t>>("robs_id"); + + // Create set of unique ROS for this request + std::set<std::string> rosPerRequest; + for (uint32_t robId : robIds) { + rosPerRequest.insert(m_robToRos[robId]); + } + + for (const std::string& rosName : rosPerRequest) { + ATH_CHECK( getCounter(rosName)->newEvent(data, tc->index(), weight) ); + } + } return StatusCode::SUCCESS; } diff --git a/Trigger/TrigCost/TrigCostAnalysis/src/monitors/MonitorROS.h b/Trigger/TrigCost/TrigCostAnalysis/src/monitors/MonitorROS.h index 610a0606d84fadc796fee3692c815b245cd65da9..47d59d3c50bc7cb5aef28525260ef21c62faa25c 100644 --- a/Trigger/TrigCost/TrigCostAnalysis/src/monitors/MonitorROS.h +++ b/Trigger/TrigCost/TrigCostAnalysis/src/monitors/MonitorROS.h @@ -53,6 +53,9 @@ class MonitorROS : public MonitorBase { * @return Owning unique ptr object typed on the CounterBase base class which points to concrete Counter of specialised type. */ virtual std::unique_ptr<CounterBase> newCounter(const std::string& name) override; + + private: + std::map<uint32_t, std::string> m_robToRos; //!< Cache correspondis ROS per ROB id }; #endif // TRIGCOSTANALYSIS_MONITORROS_H \ No newline at end of file diff --git a/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py b/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py index 7a7d524b736f220ad3f004a485d8948f62f712d3..97d157309544005369f79c0f7828f76a2fcd8b4d 100644 --- a/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py +++ b/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py @@ -97,7 +97,7 @@ TriggerHLTListRun3 = [ ('xAOD::TrigCompositeContainer#HLT_TrigCostContainer', 'CostMonDS ESD', 'Steer'), ('xAOD::TrigCompositeAuxContainer#HLT_TrigCostContainerAux.alg.store.view.thread.thash.slot.roi.start.stop', 'CostMonDS ESD', 'Steer'), ('xAOD::TrigCompositeContainer#HLT_TrigCostROSContainer', 'CostMonDS ESD', 'Steer'), - ('xAOD::TrigCompositeAuxContainer#HLT_TrigCostROSContainerAux.alg_idx.lvl1ID.robs_is.robs_size.robs_history.robs_status.start.stop', 'CostMonDS ESD', 'Steer'), + ('xAOD::TrigCompositeAuxContainer#HLT_TrigCostROSContainerAux.alg_idx.lvl1ID.robs_id.robs_size.robs_history.robs_status.start.stop', 'CostMonDS ESD', 'Steer'), # Run-2 L1 (temporary) ('xAOD::MuonRoIContainer#LVL1MuonRoIs' , 'ESD AODFULL AODSLIM AODVERYSLIM AODBLSSLIM', 'L1'),