7 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
8 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
9 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
11 from AthenaConfiguration.ComponentFactory
import CompFactory
12 from AthenaConfiguration.Enums
import Format, MetadataCategory
17 Core fragment for L1CALO derivations
19 from AthenaCommon.Logging
import logging
20 log = logging.getLogger(
'L1CALO')
21 log.info(
'Called L1CaloCore config for derivation %s',deriv)
23 streamNameStem =
"DAOD_" + deriv
24 streamName =
"Stream" + streamNameStem
30 isNotPool = flags.Input.Format
is not Format.POOL
35 isL1CaloSim = flags.Trigger.L1.doeFex
and flags.Trigger.L1.dojFex
and flags.Trigger.L1.dogFex
39 from TrigT1CaloByteStream.LVL1CaloRun2ByteStreamConfig
import LVL1CaloRun2ReadBSCfg
46 if 'L1CALO1' in deriv
and isNotPool:
47 from TrigT1CaloCalibTools.L1CaloCalibToolsConfig
import LegacyTriggerTowerThinningCfg
50 name =
"L1CALOCaloThinningTool",
51 StreamName = streamName,
52 TriggerTowerLocation =
"xAODTriggerTowers",
57 thinningTools.append(LegacyTowerThinningTool)
62 from TrigT1CaloCalibTools.L1CaloCalibToolsConfig
import LegacyTriggerTowerDecoratorCfg
67 if not isNotPool
and not flags.Input.isMC:
69 skimmingTool = CompFactory.DerivationFramework.TriggerSkimmingTool(name =
"L1CALOSkimmingTool1",
70 TriggerListOR = [
"HLT_noalg_L1XE.*"] )
71 acc.addPublicTool(skimmingTool, primary =
True)
72 skimmingTools.append(skimmingTool)
75 augmentationTools = []
78 DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
80 name =
"DFL1CALO_KERN",
81 AugmentationTools = augmentationTools,
82 ThinningTools = thinningTools,
83 SkimmingTools = skimmingTools,
84 RunSkimmingFirst =
not isNotPool,
85 doChronoStat=(flags.Concurrency.NumThreads <= 1),
92 from L1CaloFEXSim.L1CaloFEXSimCfg
import ReadSCellFromByteStreamCfg
96 emulatedDataTowersKey =
"L1_jFexEmulatedTowers"
97 if flags.Trigger.L1.dojFex
and isNotPool:
98 from L1CaloFEXAlgos.FexEmulatedTowersConfig
import jFexEmulatedTowersCfg
102 extraJfexInfo =
False
103 if flags.Trigger.L1.dojFex
and isNotPool:
104 from L1CaloFEXAlgos.L1CaloFEXAlgosConfig
import L1CalojFEXDecoratorCfg
108 if flags.Trigger.L1.dojFex
and isNotPool:
109 acc.merge(
L1CalojFEXDecoratorCfg(flags,name=
'jFexTower2SCellEmulatedDecorator',jTowersReadKey=emulatedDataTowersKey,ExtraInfo=extraJfexInfo))
112 if flags.Trigger.L1.doeFex
and isNotPool:
113 from L1CaloFEXAlgos.FexEmulatedTowersConfig
import eFexEmulatedTowersCfg
115 acc.merge(eFexEmulatedTool)
119 from L1CaloFEXSim.L1CaloFEXSimCfg
import L1CaloFEXSimCfg
123 SCellType = flags.Trigger.L1.L1CaloSuperCellContainerName
124 if SCellType
in flags.Input.Collections:
128 from Campaigns.Utils
import Campaign
129 print(
"campaign",flags.Input.MCCampaign)
130 if flags.Input.MCCampaign != Campaign.MC23e:
131 if flags.Trigger.L1.doeFex:
132 from IOVDbSvc.IOVDbSvcConfig
import addOverride
133 acc.merge(
addOverride(flags,
'/TRIGGER/L1Calo/V1/Calibration/EfexNoiseCuts',
'EfexNoiseCuts-RUN3-MCDEFAULT-TEST-00'))
134 acc.merge(
addOverride(flags,
'/TRIGGER/L1Calo/V1/Calibration/EfexEnergyCalib',
'EfexEnergyCalib-RUN3-MCDEFAULT-TEST-00'))
135 if flags.Trigger.L1.dojFex:
136 from IOVDbSvc.IOVDbSvcConfig
import addOverride
137 acc.merge(
addOverride(flags,
'/TRIGGER/L1Calo/V1/Calibration/JfexSystemSettings',
'JfexSystemSettings-RUN3-MCDEFAULT-TEST'))
138 acc.merge(
addOverride(flags,
'/TRIGGER/L1Calo/V1/Calibration/JfexModuleSettings',
'JfexModuleSettings-RUN3-MCDEFAULT-TEST'))
139 acc.merge(
addOverride(flags,
'/TRIGGER/L1Calo/V1/Calibration/JfexNoiseCuts',
'JfexNoiseCuts-RUN3-MCDEFAULT-TEST'))
142 if flags.Trigger.L1.doeFex
and isNotPool:
144 from TrigDecisionTool.TrigDecisionToolConfig
import getRun3NavigationContainerFromInput
146 acc.addEventAlgo( CompFactory.LVL1.eFexTOBDecorator(
'eFexTOBDecorator',
147 eFexEMRoIContainer =
'L1_eEMRoI',
148 eFexTauRoIContainer =
'L1_eTauRoI',
149 ExtraInputs=ExtraInputs) )
150 acc.addEventAlgo( CompFactory.LVL1.eFexTOBDecorator(
'eFexTOBDecoratorSim',
151 eFexEMRoIContainer =
'L1_eEMRoISim',
152 eFexTauRoIContainer =
'L1_eTauRoIAltSim',
156 acc.addEventAlgo( CompFactory.LVL1.eFexTOBSuperCellDecorator(
'eFexTOBSuperCellDecoratorSim',
157 eFexEMRoIContainer =
'L1_eEMRoISim',
158 eFexTauRoIContainer =
'L1_eTauxRoISim') )
161 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
163 L1CaloSlimmingHelper =
SlimmingHelper(
"L1CaloSlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
167 SmartCollections = []
170 L1CaloSlimmingHelper.IncludeTriggerNavigation =
True
171 L1CaloSlimmingHelper.IncludeAdditionalTriggerContent =
False
173 L1CaloSlimmingHelper.IncludeEGammaTriggerContent =
True
174 L1CaloSlimmingHelper.IncludeJetTriggerContent =
True
175 L1CaloSlimmingHelper.IncludeBJetTriggerContent =
True
176 L1CaloSlimmingHelper.IncludeTauTriggerContent =
True
177 IncludeEtMissTriggerContent =
True
184 if flags.Input.isMC
and not isL1CaloSim:
185 L1CaloSlimmingHelper.AppendToDictionary.update({
"SCell":
"CaloCellContainer"})
186 AllVariables += [
"SCell"]
189 if isNotPool
and L1CaloSlimmingHelper.IncludeEGammaTriggerContent:
192 L1CaloSlimmingHelper.IncludeEGammaTriggerContent =
False
193 ElToKeep = [
'ptcone20',
'ptvarcone20',
'ptcone30',
'ptvarcone30',
'trk_d0',
'cl_eta2',
'cl_phi2',
'deltaEta1PearDistortion']
194 ElVars =
'.'.
join(ElToKeep)
195 StaticContent += [
"xAOD::ElectronContainer#HLT_egamma_Electrons"]
196 StaticContent += [
"xAOD::ElectronAuxContainer#HLT_egamma_ElectronsAux."+ElVars]
197 StaticContent += [
"xAOD::ElectronContainer#HLT_egamma_Electrons_GSF"]
198 StaticContent += [
"xAOD::ElectronAuxContainer#HLT_egamma_Electrons_GSFAux."+ElVars]
200 L1CaloSlimmingHelper.AppendToDictionary.update({
"HLT_CaloEMClusters_Electron":
"xAOD::CaloClusterContainer",
201 "HLT_CaloEMClusters_ElectronAux":
"xAOD::CaloClusterAuxContainer"})
202 AllVariables += [
"HLT_CaloEMClusters_Electron"]
203 L1CaloSlimmingHelper.AppendToDictionary.update({
"HLT_IDTrack_Electron_IDTrig":
"xAOD::TrackParticleContainer",
204 "HLT_IDTrack_Electron_IDTrigAux":
"xAOD::TrackParticleAuxContainer"})
205 AllVariables += [
"HLT_IDTrack_Electron_IDTrig"]
206 L1CaloSlimmingHelper.AppendToDictionary.update({
"HLT_IDTrack_Electron_GSF":
"xAOD::TrackParticleContainer",
207 "HLT_IDTrack_Electron_GSFAux":
"xAOD::TrackParticleAuxContainer"})
208 AllVariables += [
"HLT_IDTrack_Electron_GSF"]
210 if isNotPool
and L1CaloSlimmingHelper.IncludeJetTriggerContent:
213 L1CaloSlimmingHelper.AppendToDictionary.update ({
"HLT_AntiKt4EMTopoJets_nojcalib":
"xAOD::JetContainer",
214 "HLT_AntiKt4EMTopoJets_nojcalibAux":
"xAOD::JetAuxContainer",
215 "HLT_AntiKt4EMTopoJets_nojcalib_ftf":
"xAOD::JetContainer",
216 "HLT_AntiKt4EMTopoJets_nojcalib_ftfAux":
"xAOD::JetAuxContainer",
217 "HLT_AntiKt4EMTopoJets_subjesIS":
"xAOD::JetContainer",
218 "HLT_AntiKt4EMTopoJets_subjesISAux":
"xAOD::ShallowAuxContainer",
219 "HLT_AntiKt4EMPFlowJets_nojcalib_ftf":
"xAOD::JetContainer",
220 "HLT_AntiKt4EMPFlowJets_nojcalib_ftfAux":
"xAOD::JetAuxContainer",
221 "HLT_AntiKt4EMPFlowJets_subresjesgscIS_ftf":
"xAOD::JetContainer",
222 "HLT_AntiKt4EMPFlowJets_subresjesgscIS_ftfAux":
"xAOD::ShallowAuxContainer",
223 "HLT_AntiKt4EMPFlowJets_subjesgscIS_ftf":
"xAOD::JetContainer",
224 "HLT_AntiKt4EMPFlowJets_subjesgscIS_ftfAux":
"xAOD::ShallowAuxContainer",
225 "HLT_AntiKt10EMPFlowCSSKSoftDropBeta100Zcut10Jets_jes_ftf":
"xAOD::JetContainer",
226 "HLT_AntiKt10EMPFlowCSSKSoftDropBeta100Zcut10Jets_jes_ftfAux":
"xAOD::JetAuxContainer",
227 "HLT_IDVertex_FS":
"xAOD::VertexContainer",
228 "HLT_IDVertex_FSAux":
"xAOD::VertexAuxContainer",
229 "HLT_TCEventInfo_jet":
"xAOD::TrigCompositeContainer",
230 "HLT_TCEventInfo_jetAux":
"xAOD::TrigCompositeAuxContainer",
231 "HLT_AntiKt4EMPFlowJets_subresjesgscIS_ftf_BTagging":
"xAOD::BTaggingContainer",
232 "HLT_AntiKt4EMPFlowJets_subresjesgscIS_ftf_BTaggingAux":
"xAOD::BTaggingAuxContainer",
233 "HLT_AntiKt4EMPFlowJets_subresjesgscIS_ftf_bJets":
"xAOD::JetContainer",
234 "HLT_AntiKt4EMPFlowJets_subresjesgscIS_ftf_bJetsAux":
"xAOD::JetAuxContainer"})
236 AllVariables += [
"HLT_AntiKt4EMPFlowJets_subresjesgscIS_ftf_BTagging",
"HLT_AntiKt4EMPFlowJets_subresjesgscIS_ftf_bJets"]
238 if L1CaloSlimmingHelper.IncludeTauTriggerContent:
239 L1CaloSlimmingHelper.AppendToDictionary.update ({
"HLT_TrigTauRecMerged_MVA":
"xAOD::TauJetContainer",
240 "HLT_TrigTauRecMerged_MVAAux":
"xAOD::TauJetAuxContainer",
241 "HLT_TrigTauRecMerged_LLP":
"xAOD::TauJetContainer",
242 "HLT_TrigTauRecMerged_LLPAux":
"xAOD::TauJetAuxContainer",
243 "HLT_TrigTauRecMerged_LRT":
"xAOD::TauJetContainer",
244 "HLT_TrigTauRecMerged_LRTAux":
"xAOD::TauJetAuxContainer",
245 "HLT_TrigTauRecMerged_CaloMVAOnly":
"xAOD::TauJetContainer",
246 "HLT_TrigTauRecMerged_CaloMVAOnlyAux":
"xAOD::TauJetAuxContainer"})
247 AllVariables += [
"HLT_TrigTauRecMerged_MVA",
"HLT_TrigTauRecMerged_LLP",
"HLT_TrigTauRecMerged_LRT",
"HLT_TrigTauRecMerged_CaloMVAOnly"]
249 if IncludeEtMissTriggerContent:
250 L1CaloSlimmingHelper.AppendToDictionary.update ({
"HLT_MET_tcpufit":
"xAOD::TrigMissingETContainer",
251 "HLT_MET_tcpufitAux":
"xAOD::TrigMissingETAuxContainer",
252 "HLT_MET_cell":
"xAOD::TrigMissingETContainer",
253 "HLT_MET_cellAux":
"xAOD::TrigMissingETAuxContainer",
254 "HLT_MET_trkmht":
"xAOD::TrigMissingETContainer",
255 "HLT_MET_trkmhtAux":
"xAOD::TrigMissingETAuxContainer",
256 "HLT_MET_cvfpufit":
"xAOD::TrigMissingETContainer",
257 "HLT_MET_cvfpufitAux":
"xAOD::TrigMissingETAuxContainer",
258 "HLT_MET_pfopufit":
"xAOD::TrigMissingETContainer",
259 "HLT_MET_pfopufitAux":
"xAOD::TrigMissingETAuxContainer",
260 "HLT_MET_mhtpufit_em":
"xAOD::TrigMissingETContainer",
261 "HLT_MET_mhtpufit_emAux":
"xAOD::TrigMissingETAuxContainer",
262 "HLT_MET_mhtpufit_pf":
"xAOD::TrigMissingETContainer",
263 "HLT_MET_mhtpufit_pfAux":
"xAOD::TrigMissingETAuxContainer",
264 "HLT_MET_pfsum":
"xAOD::TrigMissingETContainer",
265 "HLT_MET_pfsumAux":
"xAOD::TrigMissingETAuxContainer",
266 "HLT_MET_pfsum_vssk":
"xAOD::TrigMissingETContainer",
267 "HLT_MET_pfsum_vsskAux":
"xAOD::TrigMissingETAuxContainer",
268 "HLT_MET_pfsum_cssk":
"xAOD::TrigMissingETContainer",
269 "HLT_MET_pfsum_csskAux":
"xAOD::TrigMissingETAuxContainer",
270 "HLT_MET_nn":
"xAOD::TrigMissingETContainer",
271 "HLT_MET_nnAux":
"xAOD::TrigMissingETAuxContainer"})
273 AllVariables += [
"HLT_MET_tcpufit",
"HLT_MET_cell",
"HLT_MET_trkmht",
"HLT_MET_cvfpufit",
"HLT_MET_pfopufit",
"HLT_MET_mhtpufit_em",
"HLT_MET_mhtpufit_pf",
"HLT_MET_pfsum",
"HLT_MET_pfsum_vssk",
"HLT_MET_pfsum_cssk",
"HLT_MET_nn"]
276 L1CaloSlimmingHelper.AppendToDictionary.update({
"EventInfo":
"xAOD::EventInfo",
"EventInfoAux":
"xAOD::EventAuxInfo"})
279 AllVariables += [
"EventInfo",
"Kt4EMPFlowEventShape"]
283 L1CaloSlimmingHelper.AppendToDictionary.update (
284 {
"Muons":
"xAOD::MuonContainer",
"MuonsAux":
"xAOD::MuonAuxContainer",
285 "Photons":
"xAOD::PhotonContainer",
"PhotonsAux":
"xAOD::PhotonAuxContainer",
286 "TauJets":
"xAOD::TauJetContainer",
"TauJetsAux":
"xAOD::TauJetAuxContainer"}
288 AllVariables += [
"AntiKt4EMPFlowJets",
"AntiKt10LCTopoJets",
"Muons",
"Photons"]
289 AllVariables += [
"AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets"]
291 SmartCollections += [
"TauJets"]
294 L1CaloSlimmingHelper.AppendToDictionary.update (
295 {
"Electrons":
"xAOD::ElectronContainer",
"ElectronsAux":
"xAOD::ElectronAuxContainer"} )
296 AllVariables += [
"Electrons"]
298 L1CaloSlimmingHelper.AppendToDictionary.update (
299 {
"ForwardElectrons":
"xAOD::ElectronContainer",
"ForwardElectronsAux":
"xAOD::ElectronAuxContainer"} )
300 AllVariables += [
"ForwardElectrons"]
303 AllVariables += [
"METAssoc_AntiKt4EMPFlow"]
307 StaticContent += [
"xAOD::MissingETContainer#MET_Reference_AntiKt4EMPFlow"]
308 StaticContent += [
"xAOD::MissingETAuxContainer#MET_Reference_AntiKt4EMPFlowAux.-ConstitObjectLinks.-ConstitObjectWeights"]
310 StaticContent += [
"xAOD::MissingETContainer#MET_Core_AntiKt4EMPFlow"]
311 StaticContent += [
"xAOD::MissingETAuxContainer#MET_Core_AntiKt4EMPFlowAux.name.mpx.mpy.sumet.source"]
313 StaticContent += [
"xAOD::MissingETContainer#MET_Track"]
314 StaticContent += [
"xAOD::MissingETAuxContainer#MET_TrackAux.name.mpx.mpy"]
316 AllVariables += [
"MET_Reference_AntiKt4EMPFlow"]
317 AllVariables += [
"MET_Core_AntiKt4EMPFlow"]
318 L1CaloSlimmingHelper.AppendToDictionary.update (
319 {
"MET_Track":
"xAOD::MissingETContainer",
"MET_TrackAux":
"xAOD::MissingETAuxContainer"} )
320 AllVariables += [
"MET_Track"]
324 StaticContent += [
"xAOD::VertexContainer#PrimaryVertices"]
325 StaticContent += [
"xAOD::VertexAuxContainer#PrimaryVerticesAux.-vxTrackAtVertex.-MvfFitInfo.-isInitialized.-VTAV"]
327 L1CaloSlimmingHelper.AppendToDictionary.update(
328 {
"PrimaryVertices":
"xAOD::VertexContainer",
"PrimaryVerticesAux":
"xAOD::VertexAuxContainer"}
330 AllVariables += [
"PrimaryVertices"]
334 L1CaloSlimmingHelper.AppendToDictionary.update (
335 {
"egammaTopoSeededClusters":
"xAOD::CaloClusterContainer",
"egammaTopoSeededClustersAux":
"xAOD::CaloClusterAuxContainer"}
337 AllVariables += [
"egammaTopoSeededClusters"]
341 StaticContent += [
"xAOD::VertexContainer#GSFConversionVertices"]
343 StaticContent += [
"xAOD::VertexAuxContainer#GSFConversionVerticesAux.-vxTrackAtVertex"]
345 trackParticleAuxExclusions=
"-caloExtension.-cellAssociation.-clusterAssociation.-trackParameterCovarianceMatrices.-parameterX.-parameterY.-parameterZ.-parameterPX.-parameterPY.-parameterPZ.-parameterPosition"
346 StaticContent += [
"xAOD::TrackParticleContainer#GSFTrackParticles"]
347 StaticContent += [
"xAOD::TrackParticleAuxContainer#GSFTrackParticlesAux."+trackParticleAuxExclusions]
349 L1CaloSlimmingHelper.AppendToDictionary.update (
350 {
"GSFConversionVertices":
"xAOD::VertexContainer",
351 "GSFConversionVerticesAux":
"xAOD::VertexAuxContainer",
352 "GSFTrackParticles":
"xAOD::TrackParticleContainer",
353 "GSFTrackParticlesAux":
"xAOD::TrackParticleAuxContainer"}
355 AllVariables += [
"GSFConversionVertices",
"GSFTrackParticles"]
357 L1CaloSlimmingHelper.AppendToDictionary.update (
358 {
"egammaClusters":
"xAOD::CaloClusterContainer",
359 "egammaClustersAux":
"xAOD::CaloClusterAuxContainer",
360 "TauPi0Clusters":
"xAOD::CaloClusterContainer",
361 "TauPi0ClustersAux":
"xAOD::CaloClusterAuxContainer",
362 "CaloCalTopoClusters":
"xAOD::CaloClusterContainer",
363 "CaloCalTopoClustersAux":
"xAOD::CaloClusterAuxContainer",
364 "MuonSegments":
"xAOD::MuonSegmentContainer",
365 "MuonSegmentsAux":
"xAOD::MuonSegmentAuxContainer"}
367 AllVariables += [
"egammaClusters",
"TauPi0Clusters",
"CaloCalTopoClusters",
"MuonSegments"]
371 'BTagging_AntiKt4EMPFlow.DL1dv01_pu.DL1dv01_pc.DL1dv01_pb.GN2v00_pu.GN2v00_pc.GN2v00_pb'
376 L1CaloSlimmingHelper.AppendToDictionary.update (
377 {
"LVL1EmTauRoIs":
"xAOD::EmTauRoIContainer",
378 "LVL1EmTauRoIsAux":
"xAOD::EmTauRoIAuxContainer",
379 "LVL1EnergySumRoI":
"xAOD::EnergySumRoI",
380 "LVL1EnergySumRoIAux":
"xAOD::EnergySumRoIAuxInfo",
381 "LVL1JetEtRoI":
"xAOD::JetEtRoI",
382 "LVL1JetEtRoIAux":
"xAOD::JetEtRoIAuxInfo",
383 "LVL1JetRoIs":
"xAOD::JetRoIContainer",
384 "LVL1JetRoIsAux":
"xAOD::JetRoIAuxContainer",
385 "LVL1MuonRoIs":
"xAOD::MuonRoIContainer",
386 "LVL1MuonRoIsAux":
"xAOD::MuonRoIAuxContainer"}
388 AllVariables += [
"LVL1EmTauRoIs",
"LVL1EnergySumRoI",
"LVL1JetEtRoI",
"LVL1JetRoIs",
"LVL1MuonRoIs"]
391 L1CaloSlimmingHelper.AppendToDictionary.update (
392 {
"JEMTobRoIsRoIB":
"xAOD::JEMTobRoIContainer",
393 "JEMTobRoIsRoIBAux":
"xAOD::JEMTobRoIAuxContainer",
394 "JEMTobRoIs":
"xAOD::JEMTobRoIContainer",
395 "JEMTobRoIsAux":
"xAOD::JEMTobRoIAuxContainer",
396 "JEMEtSums":
"xAOD::JEMEtSumsContainer",
397 "JEMEtSumsAux":
"xAOD::JEMEtSumsAuxContainer"}
399 AllVariables += [
"JEMTobRoIsRoIB",
403 L1CaloSlimmingHelper.AppendToDictionary.update (
404 {
"CMXCPHits":
"xAOD::CMXCPHitsContainer",
405 "CMXCPHitsAux":
"xAOD::CMXCPHitsAuxContainer",
406 "CMXCPTobs":
"xAOD::CMXCPTobContainer",
407 "CMXCPTobsAux":
"xAOD::CMXCPTobAuxContainer",
408 "CMXEtSums":
"xAOD::CMXEtSumsContainer",
409 "CMXEtSumsAux":
"xAOD::CMXEtSumsAuxContainer",
410 "CMXJetHits":
"xAOD::CMXJetHitsContainer",
411 "CMXJetHitsAux":
"xAOD::CMXJetHitsAuxContainer",
412 "CMXJetTobs":
"xAOD::CMXJetTobContainer",
413 "CMXJetTobsAux":
"xAOD::CMXJetTobAuxContainer",
414 "CMXRoIs":
"xAOD::CMXRoIContainer",
415 "CMXRoIsAux":
"xAOD::CMXRoIAuxContainer"}
417 AllVariables += [
"CMXCPHits",
425 L1CaloSlimmingHelper.AppendToDictionary.update (
426 {
"CPMTobRoIs":
"xAOD::CPMTobRoIContainer",
427 "CPMTobRoIsAux":
"xAOD::CPMTobRoIAuxContainer",
428 "CPMTobRoIsRoIB":
"xAOD::CPMTobRoIContainer",
429 "CPMTobRoIsRoIBAux":
"xAOD::CPMTobRoIAuxContainer",
430 "CPMTowers":
"xAOD::CPMTowerContainer",
431 "CPMTowersAux":
"xAOD::CPMTowerAuxContainer",
432 "CPMTowersOverlap":
"xAOD::CPMTowerContainer",
433 "CPMTowersOverlapAux":
"xAOD::CPMTowerAuxContainer",
434 "RODHeaders":
"xAOD::RODHeaderContainer",
435 "RODHeadersAux":
"xAOD::RODHeaderAuxContainer",
436 "xAODTriggerTowers":
"xAOD::TriggerTowerContainer",
437 "xAODTriggerTowersAux":
"xAOD::TriggerTowerAuxContainer",
438 "JetElements":
"xAOD::JetElementContainer",
439 "JetElementsAux":
"xAOD::JetElementAuxContainer",
440 "JetElementsOverlap":
"xAOD::JetElementContainer",
441 "JetElementsOverlapAux":
"xAOD::JetElementAuxContainer",
442 "L1TopoRawData":
"xAOD::L1TopoRawDataContainer",
443 "L1TopoRawDataAux":
"xAOD::L1TopoRawDataAuxContainer",
444 "L1_Phase1L1TopoRAWData":
"xAOD::L1TopoRawDataContainer",
445 "L1_Phase1L1TopoRAWDataAux":
"xAOD::L1TopoRawDataAuxContainer"}
447 AllVariables += [
"CPMTobRoIs",
454 "JetElementsOverlap",
456 "L1_Phase1L1TopoRAWData"]
461 L1CaloSlimmingHelper,AllVariables =
addEfexTOBs(L1CaloSlimmingHelper, AllVariables)
462 L1CaloSlimmingHelper,AllVariables =
addJfexTOBs(L1CaloSlimmingHelper, AllVariables)
463 L1CaloSlimmingHelper,AllVariables =
addGfexTOBs(L1CaloSlimmingHelper, AllVariables)
466 L1CaloSlimmingHelper,AllVariables =
addEfexTOBs(L1CaloSlimmingHelper, AllVariables,
"Sim")
467 L1CaloSlimmingHelper,AllVariables =
addJfexTOBs(L1CaloSlimmingHelper, AllVariables,
"Sim")
468 L1CaloSlimmingHelper,AllVariables =
addGfexTOBs(L1CaloSlimmingHelper, AllVariables,
"Sim")
472 L1CaloSlimmingHelper.AppendToDictionary.update (
473 {
"L1_eFexDataTowers":
"xAOD::eFexTowerContainer",
474 "L1_eFexDataTowersAux":
"xAOD::eFexTowerAuxContainer",
475 "L1_jFexDataTowers":
"xAOD::jFexTowerContainer",
476 "L1_jFexDataTowersAux":
"xAOD::jFexTowerAuxContainer",
477 "L1_gFexDataTowers":
"xAOD::gFexTowerContainer",
478 "L1_gFexDataTowersAux":
"xAOD::gFexTowerAuxContainer",
479 "L1_gFexDataTowers50":
"xAOD::gFexTowerContainer",
480 "L1_gFexDataTowers50Aux":
"xAOD::gFexTowerAuxContainer"}
482 AllVariables += [
"L1_eFexDataTowers",
"L1_jFexDataTowers",
"L1_gFexDataTowers",
"L1_gFexDataTowers50"]
485 L1CaloSlimmingHelper.AppendToDictionary.update (
486 {
"L1_eFexEmulatedTowers":
"xAOD::eFexTowerContainer",
487 "L1_eFexEmulatedTowersAux":
"xAOD::eFexTowerAuxContainer"}
489 AllVariables += [
"L1_eFexEmulatedTowers"]
492 L1CaloSlimmingHelper.AppendToDictionary.update (
493 {
"L1_jFexEmulatedTowers":
"xAOD::jFexTowerContainer",
494 "L1_jFexEmulatedTowersAux":
"xAOD::jFexTowerAuxContainer"}
496 AllVariables += [
"L1_jFexEmulatedTowers"]
500 L1CaloSlimmingHelper.AppendToDictionary.update (
501 {
"L1_gFexEmulatedTowers":
"xAOD::gFexTowerContainer",
502 "L1_gFexEmulatedTowersAux":
"xAOD::gFexTowerAuxContainer"}
504 AllVariables += [
"L1_gFexEmulatedTowers" ]
508 from JetRecConfig.StandardSmallRJets
import AntiKt4EMPFlow
509 from JetRecConfig.StandardLargeRJets
import AntiKt10LCTopo_noVR, AntiKt10UFOCSSKSoftDrop_trigger
510 jets_to_schedule = [jet
for jet
in (AntiKt4EMPFlow, AntiKt10LCTopo_noVR, AntiKt10UFOCSSKSoftDrop_trigger)
511 if jet.fullname()
not in flags.Input.Collections]
514 from JetRecConfig.JetRecConfig
import JetRecCfg
515 for container
in jets_to_schedule:
518 jet_collections =
set([_.fullname().
replace(
'Jets',
'')
for _
in jets_to_schedule])
519 btag_jet_collections =
set([
'AntiKt4EMPFlow'])
520 met_jet_collections =
set([
'AntiKt4EMPFlow'])
522 if jet_collections & btag_jet_collections:
523 log.info(
'Scheduling b-tagging of rebuilt jets')
524 from BeamSpotConditions.BeamSpotConditionsConfig
import BeamSpotCondAlgCfg
526 from BTagging.BTagConfig
import BTagRecoSplitCfg
528 for container
in jet_collections & btag_jet_collections:
532 if jet_collections & met_jet_collections:
533 log.info(
'Scheduling rebuild of standard MET')
534 from METReconstruction.METAssociatorCfg
import METAssociatorCfg
535 from METUtilities.METMakerConfig
import getMETMakerAlg
536 for container
in jet_collections & met_jet_collections:
537 if container ==
'AntiKt4EMPFlow':
539 log.info(
'Scheduling FlowElement linking')
540 from eflowRec.PFCfg
import PFGlobalFlowElementLinkingCfg
544 from CaloTools.CaloNoiseCondAlgConfig
import CaloNoiseCondAlgCfg
546 from METReconstruction.METCalo_Cfg
import METCalo_Cfg
552 from DerivationFrameworkMCTruth.MCTruthCommonConfig
import PreJetMCTruthAugmentationsCfg
553 from DerivationFrameworkMCTruth.MCTruthCommonConfig
import AddTruthCollectionNavigationDecorationsCfg,AddBornLeptonCollectionCfg
554 from DerivationFrameworkMCTruth.MCTruthCommonConfig
import PostJetMCTruthAugmentationsCfg
558 from JetRecConfig.StandardSmallRJets
import AntiKt4Truth,AntiKt4TruthWZ,AntiKt4TruthDressedWZ,AntiKtVRTruthCharged
559 from JetRecConfig.StandardLargeRJets
import AntiKt10TruthTrimmed,AntiKt10TruthSoftDrop
560 from JetRecConfig.JetRecConfig
import JetRecCfg
561 jetList = [AntiKt4Truth,AntiKt4TruthWZ,AntiKt4TruthDressedWZ,AntiKtVRTruthCharged,
562 AntiKt10TruthTrimmed,AntiKt10TruthSoftDrop]
565 if jd.fullname()
not in flags.Input.Collections:
568 if (
"xAOD::MissingETContainer#MET_Truth")
not in flags.Input.TypedCollections:
569 from METReconstruction.METTruth_Cfg
import METTruth_Cfg
573 acc.addEventAlgo(CompFactory.DerivationFramework.LockDecorations(name =
"L1CALOTruthContentsLockDecoration", Decorations = [
'TruthParticles.dressedPhoton']))
578 L1CaloSlimmingHelper.AppendToDictionary.update (
580 'HardScatterParticles':
'xAOD::TruthParticleContainer',
'HardScatterParticlesAux':
'xAOD::TruthParticleAuxContainer'}
590 "HardScatterParticles",
593 "AntiKt4TruthWZJets",
594 "AntiKt10TruthTrimmedPtFrac5SmallR20Jets",
595 "AntiKt10TruthSoftDropBeta100Zcut10Jets"
598 L1CaloSlimmingHelper.AllVariables = AllVariables
599 L1CaloSlimmingHelper.StaticContent = StaticContent
600 L1CaloSlimmingHelper.SmartCollections = SmartCollections
601 L1CaloSlimmingHelper.ExtraVariables = ExtraVariables
604 L1CaloItemList = L1CaloSlimmingHelper.GetItemList()
605 acc.merge(
OutputStreamCfg(flags, streamNameStem, ItemList=L1CaloItemList, AcceptAlgs=[
"DFL1CALO_KERN"]))
606 acc.merge(
SetupMetaDataForStreamCfg(flags, streamNameStem, AcceptAlgs=[
"DFL1CALO_KERN"], createMetadata=[MetadataCategory.CutFlowMetaData,MetadataCategory.TriggerMenuMetaData]))
613 add the list of eFEX containers for given postFix string
615 slimminghelper.AppendToDictionary.update (
616 {
"L1_eEMRoI"+postFix :
"xAOD::eFexEMRoIContainer",
617 "L1_eEMRoI"+postFix+
"Aux" :
"xAOD::eFexEMRoIAuxContainer",
618 "L1_eTauRoI"+postFix :
"xAOD::eFexTauRoIContainer",
619 "L1_eTauRoI"+postFix+
"Aux" :
"xAOD::eFexTauRoIAuxContainer",
620 "L1_eTauRoIAlt"+postFix :
"xAOD::eFexTauRoIContainer",
621 "L1_eTauRoIAlt"+postFix+
"Aux" :
"xAOD::eFexTauRoIAuxContainer",
622 "L1_cTauRoI"+postFix :
"xAOD::eFexTauRoIContainer",
623 "L1_cTauRoI"+postFix+
"Aux" :
"xAOD::eFexTauRoIAuxContainer",
624 "L1_eEMxRoI"+postFix :
"xAOD::eFexEMRoIContainer",
625 "L1_eEMxRoI"+postFix+
"Aux" :
"xAOD::eFexEMRoIAuxContainer",
626 "L1_eTauxRoI"+postFix :
"xAOD::eFexTauRoIContainer",
627 "L1_eTauxRoI"+postFix+
"Aux" :
"xAOD::eFexTauRoIAuxContainer",
628 "L1_eTauxRoIAlt"+postFix :
"xAOD::eFexTauRoIContainer",
629 "L1_eTauxRoIAlt"+postFix+
"Aux" :
"xAOD::eFexTauRoIAuxContainer"} )
631 allVariables += [
"L1_eEMRoI" + postFix,
632 "L1_eTauRoI" + postFix,
633 "L1_eTauRoIAlt" + postFix,
634 "L1_cTauRoI" + postFix,
635 "L1_eEMxRoI" + postFix,
636 "L1_eTauxRoI" + postFix,
637 "L1_eTauxRoIAlt" + postFix]
639 return slimminghelper, allVariables
644 add the list of jFEX containers for given postFix string
646 slimminghelper.AppendToDictionary.update (
647 {
"L1_jFexMETRoI"+postFix :
"xAOD::jFexMETRoIContainer",
648 "L1_jFexMETRoI"+postFix+
"Aux" :
"xAOD::jFexMETRoIAuxContainer",
649 "L1_jFexTauRoI"+postFix :
"xAOD::jFexTauRoIContainer",
650 "L1_jFexTauRoI"+postFix+
"Aux" :
"xAOD::jFexTauRoIAuxContainer",
651 "L1_jFexFwdElRoI"+postFix :
"xAOD::jFexFwdElRoIContainer",
652 "L1_jFexFwdElRoI"+postFix+
"Aux" :
"xAOD::jFexFwdElRoIAuxContainer",
653 "L1_jFexSRJetRoI"+postFix :
"xAOD::jFexSRJetRoIContainer",
654 "L1_jFexSRJetRoI"+postFix+
"Aux" :
"xAOD::jFexSRJetRoIAuxContainer",
655 "L1_jFexLRJetRoI"+postFix :
"xAOD::jFexLRJetRoIContainer",
656 "L1_jFexLRJetRoI"+postFix+
"Aux" :
"xAOD::jFexLRJetRoIAuxContainer",
657 "L1_jFexSumETRoI"+postFix :
"xAOD::jFexSumETRoIContainer",
658 "L1_jFexSumETRoI"+postFix+
"Aux" :
"xAOD::jFexSumETRoIAuxContainer",
659 "L1_jFexMETxRoI"+postFix :
"xAOD::jFexMETRoIContainer",
660 "L1_jFexMETxRoI"+postFix+
"Aux" :
"xAOD::jFexMETRoIAuxContainer",
661 "L1_jFexTauxRoI"+postFix :
"xAOD::jFexTauRoIContainer",
662 "L1_jFexTauxRoI"+postFix+
"Aux" :
"xAOD::jFexTauRoIAuxContainer",
663 "L1_jFexFwdElxRoI"+postFix :
"xAOD::jFexFwdElRoIContainer",
664 "L1_jFexFwdElxRoI"+postFix+
"Aux" :
"xAOD::jFexFwdElRoIAuxContainer",
665 "L1_jFexSRJetxRoI"+postFix :
"xAOD::jFexSRJetRoIContainer",
666 "L1_jFexSRJetxRoI"+postFix+
"Aux" :
"xAOD::jFexSRJetRoIAuxContainer",
667 "L1_jFexLRJetxRoI"+postFix :
"xAOD::jFexLRJetRoIContainer",
668 "L1_jFexLRJetxRoI"+postFix+
"Aux" :
"xAOD::jFexLRJetRoIAuxContainer",
669 "L1_jFexSumETxRoI"+postFix :
"xAOD::jFexSumETRoIContainer",
670 "L1_jFexSumETxRoI"+postFix+
"Aux" :
"xAOD::jFexSumETRoIAuxContainer"})
672 allVariables += [
"L1_jFexMETRoI" + postFix,
673 "L1_jFexTauRoI" + postFix,
674 "L1_jFexFwdElRoI" + postFix,
675 "L1_jFexSRJetRoI" + postFix,
676 "L1_jFexLRJetRoI" + postFix,
677 "L1_jFexSumETRoI" + postFix,
678 "L1_jFexMETxRoI" + postFix,
679 "L1_jFexTauxRoI" + postFix,
680 "L1_jFexFwdElxRoI" + postFix,
681 "L1_jFexSRJetxRoI" + postFix,
682 "L1_jFexLRJetxRoI" + postFix,
683 "L1_jFexSumETxRoI" + postFix]
685 return slimminghelper, allVariables
690 add the list of gFEX containers for given postFix string
692 slimminghelper.AppendToDictionary.update (
693 {
"L1_gFexRhoRoI"+postFix :
"xAOD::gFexJetRoIContainer",
694 "L1_gFexRhoRoI"+postFix+
"Aux" :
"xAOD::gFexJetRoIAuxContainer",
695 "L1_gFexSRJetRoI"+postFix :
"xAOD::gFexJetRoIContainer",
696 "L1_gFexSRJetRoI"+postFix+
"Aux" :
"xAOD::gFexJetRoIAuxContainer",
697 "L1_gScalarEJwoj"+postFix :
"xAOD::gFexGlobalRoIContainer",
698 "L1_gScalarEJwoj"+postFix+
"Aux" :
"xAOD::gFexGlobalRoIAuxContainer",
699 "L1_gFexLRJetRoI"+postFix :
"xAOD::gFexJetRoIContainer",
700 "L1_gFexLRJetRoI"+postFix+
"Aux" :
"xAOD::gFexJetRoIAuxContainer",
701 "L1_gMETComponentsJwoj"+postFix :
"xAOD::gFexGlobalRoIContainer",
702 "L1_gMETComponentsJwoj"+postFix+
"Aux" :
"xAOD::gFexGlobalRoIAuxContainer",
703 "L1_gMHTComponentsJwoj"+postFix :
"xAOD::gFexGlobalRoIContainer",
704 "L1_gMHTComponentsJwoj"+postFix+
"Aux" :
"xAOD::gFexGlobalRoIAuxContainer",
705 "L1_gMSTComponentsJwoj"+postFix :
"xAOD::gFexGlobalRoIContainer",
706 "L1_gMSTComponentsJwoj"+postFix+
"Aux" :
"xAOD::gFexGlobalRoIAuxContainer"})
708 allVariables += [
"L1_gFexRhoRoI" + postFix,
709 "L1_gFexSRJetRoI" + postFix,
710 "L1_gScalarEJwoj" + postFix,
711 "L1_gFexLRJetRoI" + postFix,
712 "L1_gMETComponentsJwoj" + postFix,
713 "L1_gMHTComponentsJwoj" + postFix,
714 "L1_gMSTComponentsJwoj" + postFix]
716 return slimminghelper, allVariables