Forked from
atlas / athena
91153 commits behind the upstream repository.
-
scott snyder authored
Relative package import.
scott snyder authoredRelative package import.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
# Definition of trigger EDM for the Run 3
# Concept of categories is kept similar to TriggerEDMRun2.py, categories are:
# Bjet, Bphys, Egamma, ID/Tracking (to be concluded if can be merged),
# Jet, L1, MET, MinBias, Muon, Steer, Tau, Calo
# Please note:
# Dynamic varialbes/Container slimming: All dyn vars are removed unless explicitly specified to be kept!
# Please refer to ATR-20275 for discussion about policy/handling of dynamic variables
from AthenaCommon.Logging import logging
__log = logging.getLogger('TriggerEDMRun3Config')
from TrigEDMConfig import DataScoutingInfo
def recordable( name ):
"""
Verify that the name is in the list of recorded objects and conform to the name convention
In Run 2 it was a delicate process to configure correctly what got recorded
as it had to be set in the algorithm that produced it as well in the TriggerEDM.py in a consistent manner.
For Run 3 every alg input/output key can be crosschecked against the list of objects to record which is defined here.
I.e. in the configuration alg developer would do this:
from TriggerEDM.TriggerEDMRun3 import recordable
alg.outputKey = recordable("SomeKey")
If the names are correct the outputKey is assigned with SomeKey, if there is a missmatch an exception is thrown.
"""
if "HLTNav_" in name:
__log.error( "Don't call recordable({0}), or add any \"HLTNav_\" collection manually to the EDM. See:collectDecisionObjects.".format( name ) )
pass
else: #negative filtering
if not name.startswith( "HLT_" ):
__log.error( "The collection name {0} does not start with HLT_".format( name ) )
if "Aux" in name and not name[-1] != ".":
__log.error( "The collection name {0} is Aux but the name does not end with the '.'".format( name ) )
for entry in TriggerHLTListRun3:
if entry[0].split( "#" )[1] == name:
return name
msg = "The collection name {0} is not declared to be stored by HLT. Add it to TriggerEDMRun3.py".format( name )
__log.error("ERROR in recordable() - see following stack trace.")
raise RuntimeError( msg )
# ------------------------------------------------------------
# Trigger EDM list for Run 3 with all containers that should
# be stored in the specified format as well as the category
# ------------------------------------------------------------
AllowedOutputFormats = ['BS', 'ESD', 'AODFULL', 'AODSLIM', 'AODVERYSLIM', 'AODBLSSLIM', 'AODLARGE', 'AODSMALL', ]
AllowedOutputFormats.extend(DataScoutingInfo.getAllDataScoutingIdentifiers())
JetVarsToKeep = ['ActiveArea', 'ActiveArea4vec_eta', 'ActiveArea4vec_m', 'ActiveArea4vec_phi', 'ActiveArea4vec_pt', 'AlgorithmType',
'DetectorEta', 'DetectorPhi', 'EMFrac', 'EnergyPerSampling', 'GhostTrack', 'HECFrac', 'InputType',
'JetConstitScaleMomentum_eta', 'JetConstitScaleMomentum_m', 'JetConstitScaleMomentum_phi', 'JetConstitScaleMomentum_pt',
'JetPileupScaleMomentum_eta', 'JetPileupScaleMomentum_m', 'JetPileupScaleMomentum_phi', 'JetPileupScaleMomentum_pt',
'JetEtaJESScaleMomentum_eta', 'JetEtaJESScaleMomentum_m', 'JetEtaJESScaleMomentum_phi', 'JetEtaJESScaleMomentum_pt',
'JetGSCScaleMomentum_eta', 'JetGSCScaleMomentum_m', 'JetGSCScaleMomentum_phi', 'JetGSCScaleMomentum_pt',
'Jvt', 'JVFCorr', 'NumTrkPt500', 'NumTrkPt1000', 'SizeParameter', 'SumPtTrkPt500', 'SumPtTrkPt1000', 'TrackWidthPt1000',]
JetVars = '.'.join(JetVarsToKeep)
TriggerHLTListRun3 = [
# framework/steering
('xAOD::TrigDecision#xTrigDecision' , 'ESD AODFULL AODSLIM', 'Steer'),
('xAOD::TrigDecisionAuxInfo#xTrigDecisionAux.', 'ESD AODFULL AODSLIM', 'Steer'),
('xAOD::TrigConfKeys#TrigConfKeys' , 'ESD AODFULL AODSLIM', 'Steer'),
('TrigRoiDescriptorCollection#HLT_EMRoIs', 'BS ESD AODFULL AODSLIM', 'Steer'),
('TrigRoiDescriptorCollection#HLT_MURoIs', 'BS ESD AODFULL AODSLIM', 'Steer'),
('TrigRoiDescriptorCollection#HLT_METRoI', 'BS ESD AODFULL AODSLIM', 'Steer'),
('TrigRoiDescriptorCollection#HLT_JETRoI', 'BS ESD AODFULL AODSLIM', 'Steer'),
('TrigRoiDescriptorCollection#HLT_TAURoI', 'BS ESD AODFULL AODSLIM', 'Steer'),
('TrigRoiDescriptorCollection#HLT_FSRoI', 'BS ESD AODFULL AODSLIM', 'Steer'),
('xAOD::TrigCompositeContainer#HLT_TrigCostContainer', 'CostMonDS ESD', 'Steer'),
('xAOD::TrigCompositeAuxContainer#HLT_TrigCostContainerAux.alg.store.view.thread.slot.roi.start.stop', 'CostMonDS ESD', 'Steer'),
# Run-2 L1 (temporary)
('xAOD::MuonRoIContainer#LVL1MuonRoIs' , 'ESD AODFULL AODSLIM AODVERYSLIM AODBLSSLIM', 'L1'),
('xAOD::MuonRoIAuxContainer#LVL1MuonRoIsAux.' , 'ESD AODFULL AODSLIM AODVERYSLIM AODBLSSLIM', 'L1'),
('xAOD::EmTauRoIContainer#LVL1EmTauRoIs' , 'ESD AODFULL AODSLIM AODVERYSLIM AODBLSSLIM', 'L1'),
('xAOD::EmTauRoIAuxContainer#LVL1EmTauRoIsAux.' , 'ESD AODFULL AODSLIM AODVERYSLIM AODBLSSLIM', 'L1'),
('xAOD::JetRoIContainer#LVL1JetRoIs' , 'ESD AODFULL AODSLIM AODVERYSLIM AODBLSSLIM', 'L1'),
('xAOD::JetRoIAuxContainer#LVL1JetRoIsAux.' , 'ESD AODFULL AODSLIM AODVERYSLIM AODBLSSLIM', 'L1'),
('xAOD::JetEtRoI#LVL1JetEtRoI' , 'ESD AODFULL AODSLIM AODVERYSLIM AODBLSSLIM', 'L1'),
('xAOD::JetEtRoIAuxInfo#LVL1JetEtRoIAux.' , 'ESD AODFULL AODSLIM AODVERYSLIM AODBLSSLIM', 'L1'),
('xAOD::EnergySumRoI#LVL1EnergySumRoI' , 'ESD AODFULL AODSLIM AODVERYSLIM AODBLSSLIM', 'L1'),
('xAOD::EnergySumRoIAuxInfo#LVL1EnergySumRoIAux.', 'ESD AODFULL AODSLIM AODVERYSLIM AODBLSSLIM', 'L1'),
# Egamma
('xAOD::TrigEMClusterContainer#HLT_L2CaloEMClusters', 'BS ESD AODFULL', 'Egamma', 'inViews:EMCaloViews'), # last arg specifies in which view container the fragments are, look into the proprty of View maker alg for it
('xAOD::TrigEMClusterAuxContainer#HLT_L2CaloEMClustersAux.', 'BS ESD AODFULL', 'Egamma'),
('xAOD::TrigRingerRingsContainer#HLT_FastCaloRinger', 'BS ESD AODFULL', 'Egamma', 'inViews:EMCaloViews'), #Ringer
('xAOD::TrigRingerRingsAuxContainer#HLT_FastCaloRingerAux.', 'BS ESD AODFULL', 'Egamma'), #Ringer
('xAOD::TrigPhotonContainer#HLT_L2Photons', 'BS ESD AODFULL', 'Egamma', 'inViews:EMPhotonViews'),
('xAOD::TrigPhotonAuxContainer#HLT_L2PhotonsAux.', 'BS ESD AODFULL', 'Egamma'),
('xAOD::TrigElectronContainer#HLT_L2Electrons', 'BS ESD AODFULL', 'Egamma', 'inViews:EMElectronViews'),
('xAOD::TrigElectronAuxContainer#HLT_L2ElectronsAux.', 'BS ESD AODFULL', 'Egamma'),
('xAOD::TrackParticleContainer#HLT_IDTrack_Electron_FTF', 'BS ESD AODFULL', 'Egamma', 'inViews:EMElectronViews'),
('xAOD::TrackParticleAuxContainer#HLT_IDTrack_Electron_FTFAux.', 'BS ESD AODFULL', 'Egamma'),
('xAOD::TrackParticleContainer#HLT_IDTrack_Electron_IDTrig', 'BS ESD AODFULL', 'Egamma', 'inViews:precisionElectronViews'),
('xAOD::TrackParticleAuxContainer#HLT_IDTrack_Electron_IDTrigAux.', 'BS ESD AODFULL', 'Egamma'),
# these two corresponds to the output of the precisionCalo step
('xAOD::CaloClusterContainer#HLT_CaloEMClusters', 'BS ESD AODFULL', 'Egamma', 'inViews:precisionCaloViews'),
('xAOD::CaloClusterTrigAuxContainer#HLT_CaloEMClustersAux.', 'BS ESD AODFULL', 'Egamma'),
# This varient needed by TrigUpgradeTest/egammaRinger.py
('xAOD::CaloClusterContainer#HLT_TopoCaloClusters', 'BS ESD AODFULL', 'Egamma'),
('xAOD::CaloClusterTrigAuxContainer#HLT_TopoCaloClustersAux.', 'BS ESD AODFULL', 'Egamma'),
# Not sure we need these two...
('xAOD::CaloClusterContainer#HLT_TopoCaloClustersRoI', 'BS ESD AODFULL', 'Egamma', 'inViews:precisionCaloViews'),
('xAOD::CaloClusterTrigAuxContainer#HLT_TopoCaloClustersRoIAux.nCells', 'BS ESD AODFULL', 'Egamma'),
# These are for precision photon and precision Electron Keeping same names as in Run2
('xAOD::ElectronContainer#HLT_egamma_Electrons', 'BS ESD AODFULL', 'Egamma', 'inViews:precisionElectronViews'),
('xAOD::ElectronTrigAuxContainer#HLT_egamma_ElectronsAux.', 'BS ESD AODFULL', 'Egamma'),
# enable when iso chains are present
# ('xAOD::ElectronContainer#HLT_egamma_Iso_Electrons', 'BS ESD AODFULL', 'Egamma', 'inViews:precisionIsoElectronViews'),
# ('xAOD::ElectronTrigAuxContainer#HLT_egamma_Iso_ElectronsAux.', 'BS ESD AODFULL', 'Egamma'),
('xAOD::PhotonContainer#HLT_egamma_Photons', 'BS ESD AODFULL', 'Egamma', 'inViews:precisionPhotonViews'),
('xAOD::PhotonTrigAuxContainer#HLT_egamma_PhotonsAux.', 'BS ESD AODFULL', 'Egamma'),
# enable when iso chains are present
# ('xAOD::PhotonContainer#HLT_egamma_Iso_Photons', 'BS ESD AODFULL', 'Egamma', 'inViews:precisionIsoPhotonViews'),
# ('xAOD::PhotonTrigAuxContainer#HLT_egamma_Iso_PhotonsAux.', 'BS ESD AODFULL', 'Egamma'),
# Muon
# Id track particles
('xAOD::TrackParticleContainer#HLT_IDTrack_Muon_FTF', 'BS ESD AODFULL', 'Muon', 'inViews:MUCombViewRoIs'),
('xAOD::TrackParticleAuxContainer#HLT_IDTrack_Muon_FTFAux.', 'BS ESD AODFULL', 'Muon'),
('xAOD::TrackParticleContainer#HLT_IDTrack_Muon_IDTrig', 'BS ESD AODFULL', 'Muon', 'inViews:MUEFCBViewRoIs'),
('xAOD::TrackParticleAuxContainer#HLT_IDTrack_Muon_IDTrigAux.', 'BS ESD AODFULL', 'Muon'),
('xAOD::TrackParticleContainer#HLT_IDTrack_MuonFS_FTF', 'BS ESD AODFULL', 'Muon', 'inViews:MUCBFSViews'),
('xAOD::TrackParticleAuxContainer#HLT_IDTrack_MuonFS_FTFAux.', 'BS ESD AODFULL', 'Muon'),
('xAOD::TrackParticleContainer#HLT_IDTrack_MuonFS_IDTrig', 'BS ESD AODFULL', 'Muon', 'inViews:MUCBFSViews'),
('xAOD::TrackParticleAuxContainer#HLT_IDTrack_MuonFS_IDTrigAux.', 'BS ESD AODFULL', 'Muon'),
('xAOD::TrackParticleContainer#HLT_IDTrack_MuonIso_FTF', 'BS ESD AODFULL', 'Muon', 'inViews:MUEFIsoViewRoIs'),
('xAOD::TrackParticleAuxContainer#HLT_IDTrack_MuonIso_FTFAux.', 'BS ESD AODFULL', 'Muon'),
('xAOD::TrackParticleContainer#HLT_IDTrack_MuonIso_IDTrig', 'BS ESD AODFULL', 'Muon', 'inViews:MUEFIsoViewRoIs'),
('xAOD::TrackParticleAuxContainer#HLT_IDTrack_MuonIso_IDTrigAux.', 'BS ESD AODFULL', 'Muon'),
('xAOD::TrackParticleContainer#HLT_IDTrack_MuonLate_FTF', 'BS ESD AODFULL', 'Muon', 'inViews:MUEFLATEViewRoIs'),
('xAOD::TrackParticleAuxContainer#HLT_IDTrack_MuonLate_FTFAux.', 'BS ESD AODFULL', 'Muon'),
('xAOD::TrackParticleContainer#HLT_IDTrack_MuonLate_IDTrig', 'BS ESD AODFULL', 'Muon', 'inViews:MUEFLATEViewRoIs'),
('xAOD::TrackParticleAuxContainer#HLT_IDTrack_MuonLate_IDTrigAux.', 'BS ESD AODFULL', 'Muon'),
# bphys
('xAOD::TrigBphysContainer#TrigBphysDimu', 'BS ESD AODFULL AODSLIM AODVERYSLIM AODBLSSLIM', 'Bphys'),
('xAOD::TrigBphysAuxContainer#TrigBphysDimuAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM AODBLSSLIM', 'Bphys'),
('xAOD::TrigBphysContainer#TrigBphysEFDimu', 'BS ESD AODFULL AODSLIM AODVERYSLIM AODBLSSLIM', 'Bphys'),
('xAOD::TrigBphysAuxContainer#TrigBphysEFDimuAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM AODBLSSLIM', 'Bphys'),
# xAOD muons (msonly (x2: roi+FS), combined (x3: FS+RoI (outside-in, inside-out+outside-in))
('xAOD::MuonContainer#HLT_Muons_RoI', 'BS ESD AODFULL', 'Muon', 'inViews:MUEFSAViewRoIs'),
('xAOD::MuonAuxContainer#HLT_Muons_RoIAux.', 'BS ESD AODFULL', 'Muon'),
('xAOD::MuonContainer#HLT_Muons_FS', 'BS ESD AODFULL', 'Muon', 'inViews:MUFSViewRoI'),
('xAOD::MuonAuxContainer#HLT_Muons_FSAux.', 'BS ESD AODFULL', 'Muon'),
('xAOD::MuonContainer#HLT_MuonsCB_RoI', 'BS ESD AODFULL', 'Muon', 'inViews:MUEFCBViewRoIs'),
('xAOD::MuonAuxContainer#HLT_MuonsCB_RoIAux.', 'BS ESD AODFULL', 'Muon'),
('xAOD::MuonContainer#HLT_MuonsCB_FS', 'BS ESD AODFULL', 'Muon', 'inViews:MUCBFSViews'),
('xAOD::MuonAuxContainer#HLT_MuonsCB_FSAux.', 'BS ESD AODFULL', 'Muon'),
('xAOD::MuonContainer#HLT_MuonsCBOutsideIn', 'BS ESD AODFULL', 'Muon', 'inViews:MUEFCBViewRoIs'),
('xAOD::MuonAuxContainer#HLT_MuonsCBOutsideInAux.', 'BS ESD AODFULL', 'Muon'),
('TrigRoiDescriptorCollection#MuonCandidates_FS_ROIs', 'BS ESD AODFULL', 'Muon'),
# xAOD isolated muon
('xAOD::MuonContainer#HLT_MuonsIso', 'BS ESD AODFULL', 'Muon', 'inViews:MUEFIsoViewRoIs'),
('xAOD::MuonAuxContainer#HLT_MuonsIsoAux.', 'BS ESD AODFULL', 'Muon'),
# Muon track particle containers (combined (x2: FS+RoI), extrapolated (x2: FS+RoI), MSonly (x1: FS))
('xAOD::TrackParticleContainer#HLT_CBCombinedMuon_RoITrackParticles', 'BS ESD AODFULL', 'Muon', 'inViews:MUEFCBViewRoIs'),
('xAOD::TrackParticleAuxContainer#HLT_CBCombinedMuon_RoITrackParticlesAux.', 'BS ESD AODFULL', 'Muon'),
('xAOD::TrackParticleContainer#HLT_CBCombinedMuon_FSTrackParticles', 'BS ESD AODFULL', 'Muon', 'inViews:MUCBFSViews'),
('xAOD::TrackParticleAuxContainer#HLT_CBCombinedMuon_FSTrackParticlesAux.', 'BS ESD AODFULL', 'Muon'),
('xAOD::TrackParticleContainer#HLT_MSExtrapolatedMuons_RoITrackParticles', 'BS ESD AODFULL', 'Muon', 'inViews:MUEFSAViewRoIs'),
('xAOD::TrackParticleAuxContainer#HLT_MSExtrapolatedMuons_RoITrackParticlesAux.', 'BS ESD AODFULL', 'Muon'),
('xAOD::TrackParticleContainer#HLT_MSExtrapolatedMuons_FSTrackParticles', 'BS ESD AODFULL', 'Muon', 'inViews:MUFSViewRoI'),
('xAOD::TrackParticleAuxContainer#HLT_MSExtrapolatedMuons_FSTrackParticlesAux.', 'BS ESD AODFULL', 'Muon'),
('xAOD::TrackParticleContainer#HLT_MSOnlyExtrapolatedMuons_FSTrackParticles', 'BS ESD AODFULL', 'Muon', 'inViews:MUFSViewRoI'),
('xAOD::TrackParticleAuxContainer#HLT_MSOnlyExtrapolatedMuons_FSTrackParticlesAux.', 'BS ESD AODFULL', 'Muon'),
#xAOD L2 muons (SA, CB, isolation)
('xAOD::L2StandAloneMuonContainer#HLT_MuonL2SAInfo', 'BS ESD AODFULL', 'Muon', 'inViews:MUViewRoIs'),
('xAOD::L2StandAloneMuonAuxContainer#HLT_MuonL2SAInfoAux.', 'BS ESD AODFULL', 'Muon'),
('xAOD::L2CombinedMuonContainer#HLT_MuonL2CBInfo', 'BS ESD AODFULL', 'Muon', 'inViews:MUCombViewRoIs'),
('xAOD::L2CombinedMuonAuxContainer#HLT_MuonL2CBInfoAux.', 'BS ESD AODFULL', 'Muon'),
('xAOD::L2IsoMuonContainer#HLT_MuonL2ISInfo', 'BS ESD AODFULL', 'Muon', 'inViews:MUIsoViewRoIs'),
('xAOD::L2IsoMuonAuxContainer#HLT_MuonL2ISInfoAux.', 'BS ESD AODFULL', 'Muon'),
('TrigRoiDescriptorCollection#HLT_Roi_L2SAMuon', 'BS ESD AODFULL', 'Muon'),
# Tau
('xAOD::TrackParticleContainer#HLT_IDTrack_TauCore_FTF', 'BS ESD AODFULL', 'Tau', 'inViews:TAUFTFCoreViews'),
('xAOD::TrackParticleAuxContainer#HLT_IDTrack_TauCore_FTFAux.', 'BS ESD AODFULL', 'Tau'),
('xAOD::TrackParticleContainer#HLT_IDTrack_TauIso_FTF', 'BS ESD AODFULL', 'Tau', 'inViews:TAUFTFIsoViews'),
('xAOD::TrackParticleAuxContainer#HLT_IDTrack_TauIso_FTFAux.', 'BS ESD AODFULL', 'Tau'),
('xAOD::TrackParticleContainer#HLT_IDTrack_Tau_FTF', 'BS ESD AODFULL', 'Tau', 'inViews:TAUFTFIdViews'),
('xAOD::TrackParticleAuxContainer#HLT_IDTrack_Tau_FTFAux.', 'BS ESD AODFULL', 'Tau'),
('xAOD::TrackParticleContainer#HLT_IDTrack_Tau_IDTrig', 'BS ESD AODFULL', 'Tau', 'inViews:TAUFTFIdViews'),
('xAOD::TrackParticleAuxContainer#HLT_IDTrack_Tau_IDTrigAux.', 'BS ESD AODFULL', 'Tau'),
# Jet
('xAOD::JetContainer#HLT_AntiKt4EMTopoJets_subjesIS', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Jet'),
('xAOD::JetAuxContainer#HLT_AntiKt4EMTopoJets_subjesISAux.'+JetVars, 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Jet'),
('xAOD::JetContainer#HLT_AntiKt4EMTopoJets_subjesIS_ftf', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Jet'),
('xAOD::JetAuxContainer#HLT_AntiKt4EMTopoJets_subjesIS_ftfAux.'+JetVars, 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Jet'),
('xAOD::JetContainer#HLT_AntiKt4EMTopoJets_subjesgscIS_ftf', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Jet'),
('xAOD::JetAuxContainer#HLT_AntiKt4EMTopoJets_subjesgscIS_ftfAux.'+JetVars, 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Jet'),
('xAOD::JetContainer#HLT_AntiKt4EMTopoJets_subresjesgscIS_ftf', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Jet'),
('xAOD::JetAuxContainer#HLT_AntiKt4EMTopoJets_subresjesgscIS_ftfAux.'+JetVars, 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Jet'),
('xAOD::JetContainer#HLT_AntiKt4EMTopoJets_subjes', 'BS ESD AODFULL', 'Jet'),
('xAOD::JetAuxContainer#HLT_AntiKt4EMTopoJets_subjesAux.'+JetVars, 'BS ESD AODFULL', 'Jet'),
('xAOD::JetContainer#HLT_AntiKt4EMTopoJets_nojcalib', 'BS ESD AODFULL', 'Jet'),
('xAOD::JetAuxContainer#HLT_AntiKt4EMTopoJets_nojcalibAux.'+JetVars, 'BS ESD AODFULL', 'Jet'),
('xAOD::JetContainer#HLT_AntiKt4EMTopoSKJets_nojcalib', 'BS ESD AODFULL', 'Jet'),
('xAOD::JetAuxContainer#HLT_AntiKt4EMTopoSKJets_nojcalibAux.'+JetVars, 'BS ESD AODFULL', 'Jet'),
('xAOD::JetContainer#HLT_AntiKt4EMTopoCSSKJets_nojcalib', 'BS ESD AODFULL', 'Jet'),
('xAOD::JetAuxContainer#HLT_AntiKt4EMTopoCSSKJets_nojcalibAux.'+JetVars, 'BS ESD AODFULL', 'Jet'),
('xAOD::JetContainer#HLT_AntiKt10LCTopoJets_subjes', 'BS ESD AODFULL', 'Jet'),
('xAOD::JetAuxContainer#HLT_AntiKt10LCTopoJets_subjesAux.'+JetVars, 'BS ESD AODFULL', 'Jet'),
('xAOD::JetContainer#HLT_AntiKt10LCTopoJets_nojcalib', 'BS ESD AODFULL', 'Jet'),
('xAOD::JetAuxContainer#HLT_AntiKt10LCTopoJets_nojcalibAux.'+JetVars, 'BS ESD AODFULL', 'Jet'),
('xAOD::JetContainer#HLT_AntiKt10JetRCJets_subjesIS', 'BS ESD AODFULL', 'Jet'),
('xAOD::JetAuxContainer#HLT_AntiKt10JetRCJets_subjesISAux.'+JetVars, 'BS ESD AODFULL', 'Jet'),
('xAOD::JetContainer#HLT_AntiKt10LCTopoTrimmedPtFrac5SmallR20Jets_jes', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Jet'),
('xAOD::JetAuxContainer#HLT_AntiKt10LCTopoTrimmedPtFrac5SmallR20Jets_jesAux.'+JetVars, 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Jet'),
('xAOD::JetContainer#HLT_AntiKt4EMPFlowJets_subjesIS_ftf', 'BS ESD AODFULL', 'Jet'),
('xAOD::JetAuxContainer#HLT_AntiKt4EMPFlowJets_subjesIS_ftfAux.'+JetVars, 'BS ESD AODFULL', 'Jet'),
('xAOD::JetContainer#HLT_AntiKt4EMPFlowJets_subjesgscIS_ftf', 'BS ESD AODFULL', 'Jet'),
('xAOD::JetAuxContainer#HLT_AntiKt4EMPFlowJets_subjesgscIS_ftfAux.'+JetVars, 'BS ESD AODFULL', 'Jet'),
('xAOD::JetContainer#HLT_AntiKt4EMPFlowJets_subresjesgscIS_ftf', 'BS ESD AODFULL', 'Jet'),
('xAOD::JetAuxContainer#HLT_AntiKt4EMPFlowJets_subresjesgscIS_ftfAux.'+JetVars, 'BS ESD AODFULL', 'Jet'),
('xAOD::JetContainer#HLT_AntiKt4EMPFlowJets_nojcalib_ftf', 'BS ESD AODFULL', 'Jet'),
('xAOD::JetAuxContainer#HLT_AntiKt4EMPFlowJets_nojcalib_ftfAux.'+JetVars, 'BS ESD AODFULL', 'Jet'),
('xAOD::JetContainer#HLT_AntiKt4EMPFlowCSSKJets_nojcalib_ftf', 'BS ESD AODFULL', 'Jet'),
('xAOD::JetAuxContainer#HLT_AntiKt4EMPFlowCSSKJets_nojcalib_ftfAux.'+JetVars, 'BS ESD AODFULL', 'Jet'),
('xAOD::TrackParticleContainer#HLT_IDTrack_FS_FTF', 'BS ESD AODFULL', 'Jet'),
('xAOD::TrackParticleAuxContainer#HLT_IDTrack_FS_FTFAux.', 'BS ESD AODFULL', 'Jet'),
# MET
('xAOD::TrigMissingETContainer#HLT_MET_cell', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'MET'),
('xAOD::TrigMissingETAuxContainer#HLT_MET_cellAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'MET'),
('xAOD::TrigMissingETContainer#HLT_MET_mht', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'MET'),
('xAOD::TrigMissingETAuxContainer#HLT_MET_mhtAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'MET'),
('xAOD::TrigMissingETContainer#HLT_MET_tcpufit', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'MET'),
('xAOD::TrigMissingETAuxContainer#HLT_MET_tcpufitAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'MET'),
('xAOD::TrigMissingETContainer#HLT_MET_tc', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'MET'),
('xAOD::TrigMissingETAuxContainer#HLT_MET_tcAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'MET'),
('xAOD::TrigMissingETContainer#HLT_MET_tc_em', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'MET'),
('xAOD::TrigMissingETAuxContainer#HLT_MET_tc_emAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'MET'),
('xAOD::TrigMissingETContainer#HLT_MET_trkmht', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'MET'),
('xAOD::TrigMissingETAuxContainer#HLT_MET_trkmhtAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'MET'),
('xAOD::TrigMissingETContainer#HLT_MET_pfsum', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'MET'),
('xAOD::TrigMissingETAuxContainer#HLT_MET_pfsumAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'MET'),
('xAOD::CaloClusterContainer#HLT_TopoCaloClustersFS', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'MET'),
('xAOD::CaloClusterTrigAuxContainer#HLT_TopoCaloClustersFSAux.nCells', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'MET'),
# tau
# will enable when needed
('xAOD::TauJetContainer#HLT_TrigTauRecMerged_CaloOnly', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau', 'inViews:TAUCaloViews'),
('xAOD::TauJetAuxContainer#HLT_TrigTauRecMerged_CaloOnlyAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau'),
('xAOD::TauJetContainer#HLT_TrigTauRecMerged_CaloOnlyMVA', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau', 'inViews:TAUCaloMVAViews'),
('xAOD::TauJetAuxContainer#HLT_TrigTauRecMerged_CaloOnlyMVAAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau'),
('xAOD::TauJetContainer#HLT_TrigTauRecMerged_MVA', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau', 'inViews:TAUFTFIsoViews'),
('xAOD::TauJetAuxContainer#HLT_TrigTauRecMerged_MVAAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau'),
('xAOD::TauJetContainer#HLT_TrigTauRecMerged_Precision', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau', 'inViews:TAUFTFIdViews'),
('xAOD::TauJetAuxContainer#HLT_TrigTauRecMerged_PrecisionAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau'),
('xAOD::TauJetContainer#HLT_TrigTauRecMerged_Presel', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau', 'inViews:TAUFTFTrackViews'),
('xAOD::TauJetAuxContainer#HLT_TrigTauRecMerged_PreselAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau'),
# tau calo clusters
('xAOD::CaloClusterContainer#HLT_TopoCaloClustersLC', 'BS ESD AODFULL', 'Tau', 'inViews:TAUCaloViews'),
('xAOD::CaloClusterTrigAuxContainer#HLT_TopoCaloClustersLCAux.nCells' ,'BS ESD AODFULL', 'Tau'),
# tau tracks
('xAOD::TauTrackContainer#HLT_tautrack_MVA', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau', 'inViews:TAUFTFIsoViews'),
('xAOD::TauTrackAuxContainer#HLT_tautrack_MVAAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau'),
('xAOD::TauTrackContainer#HLT_tautrack_Precision', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau', 'inViews:TAUFTFIdViews'),
('xAOD::TauTrackAuxContainer#HLT_tautrack_PrecisionAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau'),
('xAOD::TauTrackContainer#HLT_tautrack_Presel', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau', 'inViews:TAUFTFTrackViews'),
('xAOD::TauTrackAuxContainer#HLT_tautrack_PreselAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Tau'),
# bjet Second Stage Fast tracks
('xAOD::TrackParticleContainer#HLT_IDTrack_Bjet_FTF', 'BS ESD AODFULL', 'Bjet', 'inViews:BTagViews'),
('xAOD::TrackParticleAuxContainer#HLT_IDTrack_Bjet_FTFAux.', 'BS ESD AODFULL', 'Bjet'),
# bjet Second Stage Precision tracks
('xAOD::TrackParticleContainer#HLT_IDTrack_Bjet_IDTrig', 'BS ESD AODFULL', 'Bjet', 'inViews:BTagViews'),
('xAOD::TrackParticleAuxContainer#HLT_IDTrack_Bjet_IDTrigAux.', 'BS ESD AODFULL', 'Bjet'),
# FIXME: add vertex tracks
# bjet jets
('xAOD::JetContainer#HLT_GSCJet', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Bjet', 'inViews:FullScanBjetView'),
('xAOD::JetAuxContainer#HLT_GSCJetAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Bjet'),
# vertex for b-jets
('xAOD::VertexContainer#HLT_EFHistoPrmVtx', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Bjet'),
('xAOD::VertexAuxContainer#HLT_EFHistoPrmVtxAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Bjet'),
# bjet b-tagging
('xAOD::BTaggingContainer#HLT_BTagging', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Bjet', 'inViews:BTagViews'),
('xAOD::BTaggingAuxContainer#HLT_BTaggingAux.', 'BS ESD AODFULL AODSLIM AODVERYSLIM', 'Bjet'),
# MinBias
('xAOD::TrackParticleContainer#HLT_IDTrack_MinBias_FTF', 'BS ESD AODFULL', 'MinBias', 'inViews:TrkView'),
('xAOD::TrackParticleAuxContainer#HLT_IDTrack_MinBias_FTFAux.', 'BS ESD AODFULL', 'MinBias'),
# Cosmic
('xAOD::TrackParticleContainer#HLT_IDTrack_Cosmic_FTF', 'BS ESD AODFULL', 'Cosmic'),
('xAOD::TrackParticleAuxContainer#HLT_IDTrack_Cosmic_FTFAux.', 'BS ESD AODFULL', 'Cosmic'),
# ID
# Requested by TrigUpgradeTest/IDCalo.py
# what are these ???
('xAOD::TrackParticleContainer#HLT_IDTrack', 'BS ESD AODFULL', 'ID'),
('xAOD::TrackParticleAuxContainer#HLT_IDTrackAux.', 'BS ESD AODFULL', 'ID'),
('ROIB::RoIBResult#*', 'ESD', 'Misc'),
('xAOD::TrigCompositeContainer#HLT_SpacePointCounts', 'BS ESD AODFULL AODSLIM', 'MinBias'),
('xAOD::TrigCompositeAuxContainer#HLT_SpacePointCountsAux.', 'BS ESD AODFULL AODSLIM', 'MinBias'),
('xAOD::TrigCompositeContainer#HLT_TrackCount', 'BS ESD AODFULL AODSLIM', 'MinBias'),
('xAOD::TrigCompositeAuxContainer#HLT_TrackCountAux.', 'BS ESD AODFULL AODSLIM', 'MinBias'),
]
#-------------------------------------------------------------------------------
# EDM details list to store the transient-persistent version
#-------------------------------------------------------------------------------
EDMDetailsRun3 = {}
# xAOD versions are auto-detected at serialisation, but T/P classes need to specify P version here
EDMDetailsRun3[ "TrigRoiDescriptorCollection" ] = {'persistent':"TrigRoiDescriptorCollection_p3"}
EDMDetailsRun3[ "xAOD::TrigDecisionAuxInfo" ] = {'parent':"xAOD::TrigDecision"}
EDMDetailsRun3[ "xAOD::EnergySumRoIAuxInfo" ] = {'parent':"xAOD::EnergySumRoI"}
EDMDetailsRun3[ "xAOD::JetEtRoIAuxInfo" ] = {'parent':"xAOD::JetEtRoI"}
EDMDetailsRun3[ "xAOD::CaloClusterTrigAuxContainer" ] = {'parent':"xAOD::CaloClusterContainer"}
#-------------------------------------------------------------------------------
# Helper functions
#-------------------------------------------------------------------------------
def persistent( transient ):
"""
Persistent EDM class, for xAOD it is the actual class version
Uses list defined above. If absent assumes v1
"""
if transient in EDMDetailsRun3:
if 'persistent' in EDMDetailsRun3[transient]:
return EDMDetailsRun3[transient]['persistent']
return transient
def tpMap():
"""
List
"""
l = {}
for tr in EDMDetailsRun3.keys():
if "xAOD" in tr:
continue
l[tr] = persistent(tr)
return l