Skip to content

[ATR-19837] Add Sequencer Data to HLT Menu JSON

Tim Martin requested to merge tamartin/athena:addMenuFilterData into master

Hi @mark, @stelzer, @tbold, @fpastore

Here is my suggestion for sequencer data in the JSON. It follows from https://indico.cern.ch/event/857187/

This satisfies the needs of CostMon and ATR-19248 in that (in combination with the per-event navigation data) it provides enough menu reflection information to deduce the set of chains which are jointly responsible for causing a particular algorithm to run in a given event.

This follows from https://indico.cern.ch/event/857187/ but drops the last super verbose I/O section which I think was overkill. Instead - and I did not do it here yet - we need to also add the final-decision information per-leg as a new List to each chain. This will then also satisfy the needs of the DecisionSummaryMakerAlg's online config and the TDT's offline config.

I will also point out that I crib these data from the topSequence, but we could also work to have these structures be produced natively by HLTCFConfig

I'm happy to WIP this if you'd like more time to discuss it.

An example output would be

    "chains": [
        {
            "counter": 1, 
            "name": "HLT_e26_etcut_L1EM22VHI", 
            "nameHash": 1703681121, 
            "l1item": "L1_EM22VHI", 
            "l1thresholds": [
                "EM22VHI"
            ], 
            "groups": [
                "RATE:SingleElectron", 
                "BW:Electron"
            ], 
            "streams": [
                {
                    "obeyLB": true, 
                    "type": "physics", 
                    "name": "Main", 
                    "forceFullEventBuilding": true
                }
            ], 
            "sequencers": [
                "Step1_electron", 
                "Step2_electron", 
                "Step3_electron"
            ]
        }, 
...

Which then maps to

...
            "Step1_electron": [
                "RoRSeqFilter/FStep1_electron", 
                "EventViewCreatorAlgorithm/IMfastCalo", 
                "T2CaloEgammaReFastAlgo/FastCaloL2EgammaAlg", 
                "TrigL2CaloHypoAlgMT/ElectronL2CaloHypo"
            ], 
...
            "Step2_electron": [
                "RoRSeqFilter/FStep2_electron", 
                "EventViewCreatorAlgorithm/IMl2Electron", 
                "PixelRawDataProvider/InDetPixelRawDataProvider_Electron", 
                "SCTRawDataProvider/InDetSCTRawDataProvider_Electron", 
                "SCTEventFlagWriter/InDetSCTEventFlagWriter_Electron", 
                "TRTRawDataProvider/InDetTRTRawDataProvider_Electron", 
                "InDet::PixelClusterization/InDetPixelClusterization_Electron", 
                "InDet::SCT_Clusterization/InDetSCT_Clusterization_Electron", 
                "InDet::SiTrackerSpacePointFinder/InDetSiTrackerSpacePointFinder_Electron", 
                "TrigFastTrackFinder/TrigFastTrackFinder_Electron", 
                "InDet::TrigTrackingxAODCnvMT/InDetTrigTrackParticleCreatorAlg_Electron", 
                "AthViews::ViewDataVerifier/electronViewDataVerifier", 
                "TrigL2ElectronFexMT/L2ElectronFex_1", 
                "TrigL2ElectronHypoAlgMT/TrigL2ElectronHypoAlgMT"
            ],
...
            "Step3_electron": [
                "RoRSeqFilter/FStep3_electron", 
                "EventViewCreatorAlgorithm/IMprecisionCalo", 
                "HLTCaloCellMaker/HLTCaloCellMakerRoI", 
                "TrigCaloClusterMakerMT/TrigCaloClusterMakerMT_topoRoI", 
                "egammaTopoClusterCopier/TrigEgammaTopoClusterCopierPrecisionCaloRoIs", 
                "TrigEgammaPrecisionCaloHypoAlgMT/ElectronprecisionCaloHypo"
            ],
...
Edited by Tim Martin

Merge request reports