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 from L1CaloFEXAlgos.L1CaloFEXAlgosConfig
import L1CalojFEXDecoratorCfg
110 acc.merge(
L1CalojFEXDecoratorCfg(flags,name=
'jFexTower2SCellEmulatedDecorator',jTowersReadKey=emulatedDataTowersKey,ExtraInfo=extraJfexInfo))
114 if not flags.Input.isMC:
116 runinfo =
getLArDTInfoForRun(flags.Input.RunNumbers[0], connstring=
"COOLONL_LAR/CONDBR2")
118 for i
in range(0,len(runinfo.streamTypes())):
119 log.info(
"LAr DT runinfo index: %s type: %s nsamples: %s", i, runinfo.streamTypes()[i], runinfo.streamLengths()[i])
120 if "ADC" in runinfo.streamTypes()[i]:
121 nsamples=runinfo.streamLengths()[i]
126 from LArConfiguration.LArElecCalibDBConfig
import LArElecCalibDBSCCfg
127 acc.merge(
LArElecCalibDBSCCfg(flags, condObjs=[
"DAC2uA",
"HVScaleCorr",
"MphysOverMcal",
"OFC",
"Pedestal",
"Ramp",
"uA2MeV"]))
128 larLATOMEBuilderAlg=CompFactory.LArLATOMEBuilderAlg(
"LArLATOMEBuilderAlg2")
131 larLATOMEBuilderAlg.isADCBas =
True if baselineCorr
else False
132 larLATOMEBuilderAlg.LArDigitKey =
"SC_ADC_BAS" if baselineCorr
else 'SC'
134 larLATOMEBuilderAlg.LArRawSCKey =
"SC_RECO2"
135 acc.addEventAlgo(larLATOMEBuilderAlg)
138 from LArCellRec.LArRAWtoSuperCellConfig
import LArRAWtoSuperCellCfg
139 acc.merge(
LArRAWtoSuperCellCfg(flags, name=
"LArRAWRecotoSuperCell2", mask=
True, doReco=
True, SCIn=
"SC_RECO2", SCellContainerOut=
"SCell_ET") )
141 acc.merge(
jFexEmulatedTowersCfg(flags, name=
"jFexEmulatedTowerMakerNoId", SCin=
"SCell_ET", writeKey=
"L1_jFexEmulatedNoIdTowers",
142 OfflineCaloCell=
"AllCalo"))
143 elif flags.Input.isMC:
149 from LArGeoAlgsNV.LArGMConfig
import LArGMCfg
152 from L1CaloFEXAlgos.FexEmulatedTowersConfig
import jFexEmulatedTowersCfg
153 acc.merge(
jFexEmulatedTowersCfg(flags, name=
"jFexEmulatedTowerMakerNoId", SCin=
"SCell", writeKey=
"L1_jFexEmulatedNoIdTowers",
154 OfflineCaloCell=
"AllCalo"))
157 if flags.Trigger.L1.doeFex
and isNotPool:
158 from L1CaloFEXAlgos.FexEmulatedTowersConfig
import eFexEmulatedTowersCfg
160 acc.merge(eFexEmulatedTool)
164 from L1CaloFEXSim.L1CaloFEXSimCfg
import L1CaloFEXSimCfg
168 SCellType = flags.Trigger.L1.L1CaloSuperCellContainerName
169 if SCellType
in flags.Input.Collections:
173 from Campaigns.Utils
import Campaign
174 log.info(
"MC Campaign",flags.Input.MCCampaign)
175 if flags.Input.MCCampaign != Campaign.MC23e:
176 if flags.Trigger.L1.doeFex:
177 from IOVDbSvc.IOVDbSvcConfig
import addOverride
178 acc.merge(
addOverride(flags,
'/TRIGGER/L1Calo/V1/Calibration/EfexNoiseCuts',
'EfexNoiseCuts-RUN3-MCDEFAULT-TEST-00'))
179 acc.merge(
addOverride(flags,
'/TRIGGER/L1Calo/V1/Calibration/EfexEnergyCalib',
'EfexEnergyCalib-RUN3-MCDEFAULT-TEST-00'))
180 if flags.Trigger.L1.dojFex:
181 from IOVDbSvc.IOVDbSvcConfig
import addOverride
182 acc.merge(
addOverride(flags,
'/TRIGGER/L1Calo/V1/Calibration/JfexSystemSettings',
'JfexSystemSettings-RUN3-MCDEFAULT-TEST'))
183 acc.merge(
addOverride(flags,
'/TRIGGER/L1Calo/V1/Calibration/JfexModuleSettings',
'JfexModuleSettings-RUN3-MCDEFAULT-TEST'))
184 acc.merge(
addOverride(flags,
'/TRIGGER/L1Calo/V1/Calibration/JfexNoiseCuts',
'JfexNoiseCuts-RUN3-MCDEFAULT-TEST'))
187 if flags.Trigger.L1.doeFex
and isNotPool:
189 from TrigDecisionTool.TrigDecisionToolConfig
import getRun3NavigationContainerFromInput
191 acc.addEventAlgo( CompFactory.LVL1.eFexTOBDecorator(
'eFexTOBDecorator',
192 eFexEMRoIContainer =
'L1_eEMRoI',
193 eFexTauRoIContainer =
'L1_eTauRoI',
194 ExtraInputs=ExtraInputs) )
195 acc.addEventAlgo( CompFactory.LVL1.eFexTOBDecorator(
'eFexTOBDecoratorSim',
196 eFexEMRoIContainer =
'L1_eEMRoISim',
197 eFexTauRoIContainer =
'L1_eTauRoIAltSim',
201 acc.addEventAlgo( CompFactory.LVL1.eFexTOBSuperCellDecorator(
'eFexTOBSuperCellDecoratorSim',
202 eFexEMRoIContainer =
'L1_eEMRoISim',
203 eFexTauRoIContainer =
'L1_eTauxRoISim') )
206 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
208 L1CaloSlimmingHelper =
SlimmingHelper(
"L1CaloSlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
212 SmartCollections = []
215 L1CaloSlimmingHelper.IncludeTriggerNavigation =
True
216 L1CaloSlimmingHelper.IncludeAdditionalTriggerContent =
False
218 L1CaloSlimmingHelper.IncludeEGammaTriggerContent =
True
219 L1CaloSlimmingHelper.IncludeJetTriggerContent =
True
220 L1CaloSlimmingHelper.IncludeBJetTriggerContent =
True
221 L1CaloSlimmingHelper.IncludeTauTriggerContent =
True
222 IncludeEtMissTriggerContent =
True
229 if flags.Input.isMC
and not isL1CaloSim:
230 L1CaloSlimmingHelper.AppendToDictionary.update({
"SCell":
"CaloCellContainer"})
231 AllVariables += [
"SCell"]
234 if isNotPool
and L1CaloSlimmingHelper.IncludeEGammaTriggerContent:
237 L1CaloSlimmingHelper.IncludeEGammaTriggerContent =
False
238 ElToKeep = [
'ptcone20',
'ptvarcone20',
'ptcone30',
'ptvarcone30',
'trk_d0',
'cl_eta2',
'cl_phi2',
'deltaEta1PearDistortion']
239 ElVars =
'.'.
join(ElToKeep)
240 StaticContent += [
"xAOD::ElectronContainer#HLT_egamma_Electrons"]
241 StaticContent += [
"xAOD::ElectronAuxContainer#HLT_egamma_ElectronsAux."+ElVars]
242 StaticContent += [
"xAOD::ElectronContainer#HLT_egamma_Electrons_GSF"]
243 StaticContent += [
"xAOD::ElectronAuxContainer#HLT_egamma_Electrons_GSFAux."+ElVars]
245 L1CaloSlimmingHelper.AppendToDictionary.update({
"HLT_CaloEMClusters_Electron":
"xAOD::CaloClusterContainer",
246 "HLT_CaloEMClusters_ElectronAux":
"xAOD::CaloClusterAuxContainer"})
247 AllVariables += [
"HLT_CaloEMClusters_Electron"]
248 L1CaloSlimmingHelper.AppendToDictionary.update({
"HLT_IDTrack_Electron_IDTrig":
"xAOD::TrackParticleContainer",
249 "HLT_IDTrack_Electron_IDTrigAux":
"xAOD::TrackParticleAuxContainer"})
250 AllVariables += [
"HLT_IDTrack_Electron_IDTrig"]
251 L1CaloSlimmingHelper.AppendToDictionary.update({
"HLT_IDTrack_Electron_GSF":
"xAOD::TrackParticleContainer",
252 "HLT_IDTrack_Electron_GSFAux":
"xAOD::TrackParticleAuxContainer"})
253 AllVariables += [
"HLT_IDTrack_Electron_GSF"]
255 if isNotPool
and L1CaloSlimmingHelper.IncludeJetTriggerContent:
258 L1CaloSlimmingHelper.AppendToDictionary.update ({
"HLT_AntiKt4EMTopoJets_nojcalib":
"xAOD::JetContainer",
259 "HLT_AntiKt4EMTopoJets_nojcalibAux":
"xAOD::JetAuxContainer",
260 "HLT_AntiKt4EMTopoJets_nojcalib_ftf":
"xAOD::JetContainer",
261 "HLT_AntiKt4EMTopoJets_nojcalib_ftfAux":
"xAOD::JetAuxContainer",
262 "HLT_AntiKt4EMTopoJets_subjesIS":
"xAOD::JetContainer",
263 "HLT_AntiKt4EMTopoJets_subjesISAux":
"xAOD::ShallowAuxContainer",
264 "HLT_AntiKt4EMPFlowJets_nojcalib_ftf":
"xAOD::JetContainer",
265 "HLT_AntiKt4EMPFlowJets_nojcalib_ftfAux":
"xAOD::JetAuxContainer",
266 "HLT_AntiKt4EMPFlowJets_subresjesgscIS_ftf":
"xAOD::JetContainer",
267 "HLT_AntiKt4EMPFlowJets_subresjesgscIS_ftfAux":
"xAOD::ShallowAuxContainer",
268 "HLT_AntiKt4EMPFlowJets_subjesgscIS_ftf":
"xAOD::JetContainer",
269 "HLT_AntiKt4EMPFlowJets_subjesgscIS_ftfAux":
"xAOD::ShallowAuxContainer",
270 "HLT_AntiKt10EMPFlowCSSKSoftDropBeta100Zcut10Jets_jes_ftf":
"xAOD::JetContainer",
271 "HLT_AntiKt10EMPFlowCSSKSoftDropBeta100Zcut10Jets_jes_ftfAux":
"xAOD::JetAuxContainer",
272 "HLT_IDVertex_FS":
"xAOD::VertexContainer",
273 "HLT_IDVertex_FSAux":
"xAOD::VertexAuxContainer",
274 "HLT_TCEventInfo_jet":
"xAOD::TrigCompositeContainer",
275 "HLT_TCEventInfo_jetAux":
"xAOD::TrigCompositeAuxContainer",
276 "HLT_AntiKt4EMPFlowJets_subresjesgscIS_ftf_BTagging":
"xAOD::BTaggingContainer",
277 "HLT_AntiKt4EMPFlowJets_subresjesgscIS_ftf_BTaggingAux":
"xAOD::BTaggingAuxContainer",
278 "HLT_AntiKt4EMPFlowJets_subresjesgscIS_ftf_bJets":
"xAOD::JetContainer",
279 "HLT_AntiKt4EMPFlowJets_subresjesgscIS_ftf_bJetsAux":
"xAOD::JetAuxContainer"})
281 AllVariables += [
"HLT_AntiKt4EMPFlowJets_subresjesgscIS_ftf_BTagging",
"HLT_AntiKt4EMPFlowJets_subresjesgscIS_ftf_bJets"]
283 if L1CaloSlimmingHelper.IncludeTauTriggerContent:
284 L1CaloSlimmingHelper.AppendToDictionary.update ({
"HLT_TrigTauRecMerged_MVA":
"xAOD::TauJetContainer",
285 "HLT_TrigTauRecMerged_MVAAux":
"xAOD::TauJetAuxContainer",
286 "HLT_TrigTauRecMerged_LLP":
"xAOD::TauJetContainer",
287 "HLT_TrigTauRecMerged_LLPAux":
"xAOD::TauJetAuxContainer",
288 "HLT_TrigTauRecMerged_LRT":
"xAOD::TauJetContainer",
289 "HLT_TrigTauRecMerged_LRTAux":
"xAOD::TauJetAuxContainer",
290 "HLT_TrigTauRecMerged_CaloMVAOnly":
"xAOD::TauJetContainer",
291 "HLT_TrigTauRecMerged_CaloMVAOnlyAux":
"xAOD::TauJetAuxContainer"})
292 AllVariables += [
"HLT_TrigTauRecMerged_MVA",
"HLT_TrigTauRecMerged_LLP",
"HLT_TrigTauRecMerged_LRT",
"HLT_TrigTauRecMerged_CaloMVAOnly"]
294 if IncludeEtMissTriggerContent:
295 L1CaloSlimmingHelper.AppendToDictionary.update ({
"HLT_MET_tcpufit":
"xAOD::TrigMissingETContainer",
296 "HLT_MET_tcpufitAux":
"xAOD::TrigMissingETAuxContainer",
297 "HLT_MET_cell":
"xAOD::TrigMissingETContainer",
298 "HLT_MET_cellAux":
"xAOD::TrigMissingETAuxContainer",
299 "HLT_MET_trkmht":
"xAOD::TrigMissingETContainer",
300 "HLT_MET_trkmhtAux":
"xAOD::TrigMissingETAuxContainer",
301 "HLT_MET_cvfpufit":
"xAOD::TrigMissingETContainer",
302 "HLT_MET_cvfpufitAux":
"xAOD::TrigMissingETAuxContainer",
303 "HLT_MET_pfopufit":
"xAOD::TrigMissingETContainer",
304 "HLT_MET_pfopufitAux":
"xAOD::TrigMissingETAuxContainer",
305 "HLT_MET_mhtpufit_em":
"xAOD::TrigMissingETContainer",
306 "HLT_MET_mhtpufit_emAux":
"xAOD::TrigMissingETAuxContainer",
307 "HLT_MET_mhtpufit_pf":
"xAOD::TrigMissingETContainer",
308 "HLT_MET_mhtpufit_pfAux":
"xAOD::TrigMissingETAuxContainer",
309 "HLT_MET_pfsum":
"xAOD::TrigMissingETContainer",
310 "HLT_MET_pfsumAux":
"xAOD::TrigMissingETAuxContainer",
311 "HLT_MET_pfsum_vssk":
"xAOD::TrigMissingETContainer",
312 "HLT_MET_pfsum_vsskAux":
"xAOD::TrigMissingETAuxContainer",
313 "HLT_MET_pfsum_cssk":
"xAOD::TrigMissingETContainer",
314 "HLT_MET_pfsum_csskAux":
"xAOD::TrigMissingETAuxContainer",
315 "HLT_MET_nn":
"xAOD::TrigMissingETContainer",
316 "HLT_MET_nnAux":
"xAOD::TrigMissingETAuxContainer"})
318 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"]
321 L1CaloSlimmingHelper.AppendToDictionary.update({
"EventInfo":
"xAOD::EventInfo",
"EventInfoAux":
"xAOD::EventAuxInfo"})
324 AllVariables += [
"EventInfo",
"Kt4EMPFlowEventShape"]
328 L1CaloSlimmingHelper.AppendToDictionary.update (
329 {
"Muons":
"xAOD::MuonContainer",
"MuonsAux":
"xAOD::MuonAuxContainer",
330 "Photons":
"xAOD::PhotonContainer",
"PhotonsAux":
"xAOD::PhotonAuxContainer",
331 "TauJets":
"xAOD::TauJetContainer",
"TauJetsAux":
"xAOD::TauJetAuxContainer"}
333 AllVariables += [
"AntiKt4EMPFlowJets",
"AntiKt10LCTopoJets",
"Muons",
"Photons"]
334 AllVariables += [
"AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets"]
336 SmartCollections += [
"TauJets"]
339 L1CaloSlimmingHelper.AppendToDictionary.update (
340 {
"Electrons":
"xAOD::ElectronContainer",
"ElectronsAux":
"xAOD::ElectronAuxContainer"} )
341 AllVariables += [
"Electrons"]
343 L1CaloSlimmingHelper.AppendToDictionary.update (
344 {
"ForwardElectrons":
"xAOD::ElectronContainer",
"ForwardElectronsAux":
"xAOD::ElectronAuxContainer"} )
345 AllVariables += [
"ForwardElectrons"]
348 AllVariables += [
"METAssoc_AntiKt4EMPFlow"]
352 StaticContent += [
"xAOD::MissingETContainer#MET_Reference_AntiKt4EMPFlow"]
353 StaticContent += [
"xAOD::MissingETAuxContainer#MET_Reference_AntiKt4EMPFlowAux.-ConstitObjectLinks.-ConstitObjectWeights"]
355 StaticContent += [
"xAOD::MissingETContainer#MET_Core_AntiKt4EMPFlow"]
356 StaticContent += [
"xAOD::MissingETAuxContainer#MET_Core_AntiKt4EMPFlowAux.name.mpx.mpy.sumet.source"]
358 StaticContent += [
"xAOD::MissingETContainer#MET_Track"]
359 StaticContent += [
"xAOD::MissingETAuxContainer#MET_TrackAux.name.mpx.mpy"]
361 AllVariables += [
"MET_Reference_AntiKt4EMPFlow"]
362 AllVariables += [
"MET_Core_AntiKt4EMPFlow"]
363 L1CaloSlimmingHelper.AppendToDictionary.update (
364 {
"MET_Track":
"xAOD::MissingETContainer",
"MET_TrackAux":
"xAOD::MissingETAuxContainer"} )
365 AllVariables += [
"MET_Track"]
369 StaticContent += [
"xAOD::VertexContainer#PrimaryVertices"]
370 StaticContent += [
"xAOD::VertexAuxContainer#PrimaryVerticesAux.-vxTrackAtVertex.-MvfFitInfo.-isInitialized.-VTAV"]
372 L1CaloSlimmingHelper.AppendToDictionary.update(
373 {
"PrimaryVertices":
"xAOD::VertexContainer",
"PrimaryVerticesAux":
"xAOD::VertexAuxContainer"}
375 AllVariables += [
"PrimaryVertices"]
379 L1CaloSlimmingHelper.AppendToDictionary.update (
380 {
"egammaTopoSeededClusters":
"xAOD::CaloClusterContainer",
"egammaTopoSeededClustersAux":
"xAOD::CaloClusterAuxContainer"}
382 AllVariables += [
"egammaTopoSeededClusters"]
386 StaticContent += [
"xAOD::VertexContainer#GSFConversionVertices"]
388 StaticContent += [
"xAOD::VertexAuxContainer#GSFConversionVerticesAux.-vxTrackAtVertex"]
390 trackParticleAuxExclusions=
"-caloExtension.-cellAssociation.-clusterAssociation.-trackParameterCovarianceMatrices.-parameterX.-parameterY.-parameterZ.-parameterPX.-parameterPY.-parameterPZ.-parameterPosition"
391 StaticContent += [
"xAOD::TrackParticleContainer#GSFTrackParticles"]
392 StaticContent += [
"xAOD::TrackParticleAuxContainer#GSFTrackParticlesAux."+trackParticleAuxExclusions]
394 L1CaloSlimmingHelper.AppendToDictionary.update (
395 {
"GSFConversionVertices":
"xAOD::VertexContainer",
396 "GSFConversionVerticesAux":
"xAOD::VertexAuxContainer",
397 "GSFTrackParticles":
"xAOD::TrackParticleContainer",
398 "GSFTrackParticlesAux":
"xAOD::TrackParticleAuxContainer"}
400 AllVariables += [
"GSFConversionVertices",
"GSFTrackParticles"]
402 L1CaloSlimmingHelper.AppendToDictionary.update (
403 {
"egammaClusters":
"xAOD::CaloClusterContainer",
404 "egammaClustersAux":
"xAOD::CaloClusterAuxContainer",
405 "TauPi0Clusters":
"xAOD::CaloClusterContainer",
406 "TauPi0ClustersAux":
"xAOD::CaloClusterAuxContainer",
407 "CaloCalTopoClusters":
"xAOD::CaloClusterContainer",
408 "CaloCalTopoClustersAux":
"xAOD::CaloClusterAuxContainer",
409 "MuonSegments":
"xAOD::MuonSegmentContainer",
410 "MuonSegmentsAux":
"xAOD::MuonSegmentAuxContainer"}
412 AllVariables += [
"egammaClusters",
"TauPi0Clusters",
"CaloCalTopoClusters",
"MuonSegments"]
416 'BTagging_AntiKt4EMPFlow.DL1dv01_pu.DL1dv01_pc.DL1dv01_pb.GN2v00_pu.GN2v00_pc.GN2v00_pb'
421 L1CaloSlimmingHelper.AppendToDictionary.update (
422 {
"LVL1EmTauRoIs":
"xAOD::EmTauRoIContainer",
423 "LVL1EmTauRoIsAux":
"xAOD::EmTauRoIAuxContainer",
424 "LVL1EnergySumRoI":
"xAOD::EnergySumRoI",
425 "LVL1EnergySumRoIAux":
"xAOD::EnergySumRoIAuxInfo",
426 "LVL1JetEtRoI":
"xAOD::JetEtRoI",
427 "LVL1JetEtRoIAux":
"xAOD::JetEtRoIAuxInfo",
428 "LVL1JetRoIs":
"xAOD::JetRoIContainer",
429 "LVL1JetRoIsAux":
"xAOD::JetRoIAuxContainer",
430 "LVL1MuonRoIs":
"xAOD::MuonRoIContainer",
431 "LVL1MuonRoIsAux":
"xAOD::MuonRoIAuxContainer"}
433 AllVariables += [
"LVL1EmTauRoIs",
"LVL1EnergySumRoI",
"LVL1JetEtRoI",
"LVL1JetRoIs",
"LVL1MuonRoIs"]
436 L1CaloSlimmingHelper.AppendToDictionary.update (
437 {
"JEMTobRoIsRoIB":
"xAOD::JEMTobRoIContainer",
438 "JEMTobRoIsRoIBAux":
"xAOD::JEMTobRoIAuxContainer",
439 "JEMTobRoIs":
"xAOD::JEMTobRoIContainer",
440 "JEMTobRoIsAux":
"xAOD::JEMTobRoIAuxContainer",
441 "JEMEtSums":
"xAOD::JEMEtSumsContainer",
442 "JEMEtSumsAux":
"xAOD::JEMEtSumsAuxContainer"}
444 AllVariables += [
"JEMTobRoIsRoIB",
448 L1CaloSlimmingHelper.AppendToDictionary.update (
449 {
"CMXCPHits":
"xAOD::CMXCPHitsContainer",
450 "CMXCPHitsAux":
"xAOD::CMXCPHitsAuxContainer",
451 "CMXCPTobs":
"xAOD::CMXCPTobContainer",
452 "CMXCPTobsAux":
"xAOD::CMXCPTobAuxContainer",
453 "CMXEtSums":
"xAOD::CMXEtSumsContainer",
454 "CMXEtSumsAux":
"xAOD::CMXEtSumsAuxContainer",
455 "CMXJetHits":
"xAOD::CMXJetHitsContainer",
456 "CMXJetHitsAux":
"xAOD::CMXJetHitsAuxContainer",
457 "CMXJetTobs":
"xAOD::CMXJetTobContainer",
458 "CMXJetTobsAux":
"xAOD::CMXJetTobAuxContainer",
459 "CMXRoIs":
"xAOD::CMXRoIContainer",
460 "CMXRoIsAux":
"xAOD::CMXRoIAuxContainer"}
462 AllVariables += [
"CMXCPHits",
470 L1CaloSlimmingHelper.AppendToDictionary.update (
471 {
"CPMTobRoIs":
"xAOD::CPMTobRoIContainer",
472 "CPMTobRoIsAux":
"xAOD::CPMTobRoIAuxContainer",
473 "CPMTobRoIsRoIB":
"xAOD::CPMTobRoIContainer",
474 "CPMTobRoIsRoIBAux":
"xAOD::CPMTobRoIAuxContainer",
475 "CPMTowers":
"xAOD::CPMTowerContainer",
476 "CPMTowersAux":
"xAOD::CPMTowerAuxContainer",
477 "CPMTowersOverlap":
"xAOD::CPMTowerContainer",
478 "CPMTowersOverlapAux":
"xAOD::CPMTowerAuxContainer",
479 "RODHeaders":
"xAOD::RODHeaderContainer",
480 "RODHeadersAux":
"xAOD::RODHeaderAuxContainer",
481 "xAODTriggerTowers":
"xAOD::TriggerTowerContainer",
482 "xAODTriggerTowersAux":
"xAOD::TriggerTowerAuxContainer",
483 "JetElements":
"xAOD::JetElementContainer",
484 "JetElementsAux":
"xAOD::JetElementAuxContainer",
485 "JetElementsOverlap":
"xAOD::JetElementContainer",
486 "JetElementsOverlapAux":
"xAOD::JetElementAuxContainer",
487 "L1TopoRawData":
"xAOD::L1TopoRawDataContainer",
488 "L1TopoRawDataAux":
"xAOD::L1TopoRawDataAuxContainer",
489 "L1_Phase1L1TopoRAWData":
"xAOD::L1TopoRawDataContainer",
490 "L1_Phase1L1TopoRAWDataAux":
"xAOD::L1TopoRawDataAuxContainer"}
492 AllVariables += [
"CPMTobRoIs",
499 "JetElementsOverlap",
501 "L1_Phase1L1TopoRAWData"]
506 L1CaloSlimmingHelper,AllVariables =
addEfexTOBs(L1CaloSlimmingHelper, AllVariables)
507 L1CaloSlimmingHelper,AllVariables =
addJfexTOBs(L1CaloSlimmingHelper, AllVariables)
508 L1CaloSlimmingHelper,AllVariables =
addGfexTOBs(L1CaloSlimmingHelper, AllVariables)
511 L1CaloSlimmingHelper,AllVariables =
addEfexTOBs(L1CaloSlimmingHelper, AllVariables,
"Sim")
512 L1CaloSlimmingHelper,AllVariables =
addJfexTOBs(L1CaloSlimmingHelper, AllVariables,
"Sim")
513 L1CaloSlimmingHelper,AllVariables =
addGfexTOBs(L1CaloSlimmingHelper, AllVariables,
"Sim")
517 L1CaloSlimmingHelper.AppendToDictionary.update (
518 {
"L1_eFexDataTowers":
"xAOD::eFexTowerContainer",
519 "L1_eFexDataTowersAux":
"xAOD::eFexTowerAuxContainer",
520 "L1_jFexDataTowers":
"xAOD::jFexTowerContainer",
521 "L1_jFexDataTowersAux":
"xAOD::jFexTowerAuxContainer",
522 "L1_gFexDataTowers":
"xAOD::gFexTowerContainer",
523 "L1_gFexDataTowersAux":
"xAOD::gFexTowerAuxContainer",
524 "L1_gFexDataTowers50":
"xAOD::gFexTowerContainer",
525 "L1_gFexDataTowers50Aux":
"xAOD::gFexTowerAuxContainer"}
527 AllVariables += [
"L1_eFexDataTowers",
"L1_jFexDataTowers",
"L1_gFexDataTowers",
"L1_gFexDataTowers50"]
530 L1CaloSlimmingHelper.AppendToDictionary.update (
531 {
"L1_eFexEmulatedTowers":
"xAOD::eFexTowerContainer",
532 "L1_eFexEmulatedTowersAux":
"xAOD::eFexTowerAuxContainer"}
534 AllVariables += [
"L1_eFexEmulatedTowers"]
537 L1CaloSlimmingHelper.AppendToDictionary.update (
538 {
"L1_jFexEmulatedTowers":
"xAOD::jFexTowerContainer",
539 "L1_jFexEmulatedTowersAux":
"xAOD::jFexTowerAuxContainer"}
541 AllVariables += [
"L1_jFexEmulatedTowers"]
544 L1CaloSlimmingHelper.AppendToDictionary.update (
545 {
"L1_jFexEmulatedNoIdTowers":
"xAOD::jFexTowerContainer",
546 "L1_jFexEmulatedNoIdTowersAux":
"xAOD::jFexTowerAuxContainer"}
548 AllVariables += [
"L1_jFexEmulatedNoIdTowers"]
552 L1CaloSlimmingHelper.AppendToDictionary.update (
553 {
"L1_gFexEmulatedTowers":
"xAOD::gFexTowerContainer",
554 "L1_gFexEmulatedTowersAux":
"xAOD::gFexTowerAuxContainer"}
556 AllVariables += [
"L1_gFexEmulatedTowers" ]
560 from JetRecConfig.StandardSmallRJets
import AntiKt4EMPFlow
561 from JetRecConfig.StandardLargeRJets
import AntiKt10LCTopo_noVR, AntiKt10UFOCSSKSoftDrop_trigger
562 jets_to_schedule = [jet
for jet
in (AntiKt4EMPFlow, AntiKt10LCTopo_noVR, AntiKt10UFOCSSKSoftDrop_trigger)
563 if jet.fullname()
not in flags.Input.Collections]
566 from JetRecConfig.JetRecConfig
import JetRecCfg
567 for container
in jets_to_schedule:
570 jet_collections =
set([_.fullname().
replace(
'Jets',
'')
for _
in jets_to_schedule])
571 btag_jet_collections =
set([
'AntiKt4EMPFlow'])
572 met_jet_collections =
set([
'AntiKt4EMPFlow'])
574 if jet_collections & btag_jet_collections:
575 log.info(
'Scheduling b-tagging of rebuilt jets')
576 from BeamSpotConditions.BeamSpotConditionsConfig
import BeamSpotCondAlgCfg
578 from BTagging.BTagConfig
import BTagRecoSplitCfg
580 for container
in jet_collections & btag_jet_collections:
584 if jet_collections & met_jet_collections:
585 log.info(
'Scheduling rebuild of standard MET')
586 from METReconstruction.METAssociatorCfg
import METAssociatorCfg
587 from METUtilities.METMakerConfig
import getMETMakerAlg
588 for container
in jet_collections & met_jet_collections:
589 if container ==
'AntiKt4EMPFlow':
591 log.info(
'Scheduling FlowElement linking')
592 from eflowRec.PFCfg
import PFGlobalFlowElementLinkingCfg
596 from CaloTools.CaloNoiseCondAlgConfig
import CaloNoiseCondAlgCfg
598 from METReconstruction.METCalo_Cfg
import METCalo_Cfg
604 from DerivationFrameworkMCTruth.MCTruthCommonConfig
import PreJetMCTruthAugmentationsCfg
605 from DerivationFrameworkMCTruth.MCTruthCommonConfig
import AddTruthCollectionNavigationDecorationsCfg,AddBornLeptonCollectionCfg
606 from DerivationFrameworkMCTruth.MCTruthCommonConfig
import PostJetMCTruthAugmentationsCfg
610 from JetRecConfig.StandardSmallRJets
import AntiKt4Truth,AntiKt4TruthWZ,AntiKt4TruthDressedWZ,AntiKtVRTruthCharged
611 from JetRecConfig.StandardLargeRJets
import AntiKt10TruthTrimmed,AntiKt10TruthSoftDrop
612 from JetRecConfig.JetRecConfig
import JetRecCfg
613 jetList = [AntiKt4Truth,AntiKt4TruthWZ,AntiKt4TruthDressedWZ,AntiKtVRTruthCharged,
614 AntiKt10TruthTrimmed,AntiKt10TruthSoftDrop]
617 if jd.fullname()
not in flags.Input.Collections:
620 if (
"xAOD::MissingETContainer#MET_Truth")
not in flags.Input.TypedCollections:
621 from METReconstruction.METTruth_Cfg
import METTruth_Cfg
625 acc.addEventAlgo(CompFactory.DerivationFramework.LockDecorations(name =
"L1CALOTruthContentsLockDecoration", Decorations = [
'TruthParticles.dressedPhoton']))
639 "AntiKt4TruthWZJets",
640 "AntiKt10TruthTrimmedPtFrac5SmallR20Jets",
641 "AntiKt10TruthSoftDropBeta100Zcut10Jets"
644 L1CaloSlimmingHelper.AllVariables = AllVariables
645 L1CaloSlimmingHelper.StaticContent = StaticContent
646 L1CaloSlimmingHelper.SmartCollections = SmartCollections
647 L1CaloSlimmingHelper.ExtraVariables = ExtraVariables
650 L1CaloItemList = L1CaloSlimmingHelper.GetItemList()
651 acc.merge(
OutputStreamCfg(flags, streamNameStem, ItemList=L1CaloItemList, AcceptAlgs=[
"DFL1CALO_KERN"]))
652 acc.merge(
SetupMetaDataForStreamCfg(flags, streamNameStem, AcceptAlgs=[
"DFL1CALO_KERN"], createMetadata=[MetadataCategory.CutFlowMetaData,MetadataCategory.TriggerMenuMetaData]))
659 add the list of eFEX containers for given postFix string
661 slimminghelper.AppendToDictionary.update (
662 {
"L1_eEMRoI"+postFix :
"xAOD::eFexEMRoIContainer",
663 "L1_eEMRoI"+postFix+
"Aux" :
"xAOD::eFexEMRoIAuxContainer",
664 "L1_eTauRoI"+postFix :
"xAOD::eFexTauRoIContainer",
665 "L1_eTauRoI"+postFix+
"Aux" :
"xAOD::eFexTauRoIAuxContainer",
666 "L1_eTauRoIAlt"+postFix :
"xAOD::eFexTauRoIContainer",
667 "L1_eTauRoIAlt"+postFix+
"Aux" :
"xAOD::eFexTauRoIAuxContainer",
668 "L1_cTauRoI"+postFix :
"xAOD::eFexTauRoIContainer",
669 "L1_cTauRoI"+postFix+
"Aux" :
"xAOD::eFexTauRoIAuxContainer",
670 "L1_eEMxRoI"+postFix :
"xAOD::eFexEMRoIContainer",
671 "L1_eEMxRoI"+postFix+
"Aux" :
"xAOD::eFexEMRoIAuxContainer",
672 "L1_eTauxRoI"+postFix :
"xAOD::eFexTauRoIContainer",
673 "L1_eTauxRoI"+postFix+
"Aux" :
"xAOD::eFexTauRoIAuxContainer",
674 "L1_eTauxRoIAlt"+postFix :
"xAOD::eFexTauRoIContainer",
675 "L1_eTauxRoIAlt"+postFix+
"Aux" :
"xAOD::eFexTauRoIAuxContainer"} )
677 allVariables += [
"L1_eEMRoI" + postFix,
678 "L1_eTauRoI" + postFix,
679 "L1_eTauRoIAlt" + postFix,
680 "L1_cTauRoI" + postFix,
681 "L1_eEMxRoI" + postFix,
682 "L1_eTauxRoI" + postFix,
683 "L1_eTauxRoIAlt" + postFix]
685 return slimminghelper, allVariables
690 add the list of jFEX containers for given postFix string
692 slimminghelper.AppendToDictionary.update (
693 {
"L1_jFexMETRoI"+postFix :
"xAOD::jFexMETRoIContainer",
694 "L1_jFexMETRoI"+postFix+
"Aux" :
"xAOD::jFexMETRoIAuxContainer",
695 "L1_jFexTauRoI"+postFix :
"xAOD::jFexTauRoIContainer",
696 "L1_jFexTauRoI"+postFix+
"Aux" :
"xAOD::jFexTauRoIAuxContainer",
697 "L1_jFexFwdElRoI"+postFix :
"xAOD::jFexFwdElRoIContainer",
698 "L1_jFexFwdElRoI"+postFix+
"Aux" :
"xAOD::jFexFwdElRoIAuxContainer",
699 "L1_jFexSRJetRoI"+postFix :
"xAOD::jFexSRJetRoIContainer",
700 "L1_jFexSRJetRoI"+postFix+
"Aux" :
"xAOD::jFexSRJetRoIAuxContainer",
701 "L1_jFexLRJetRoI"+postFix :
"xAOD::jFexLRJetRoIContainer",
702 "L1_jFexLRJetRoI"+postFix+
"Aux" :
"xAOD::jFexLRJetRoIAuxContainer",
703 "L1_jFexSumETRoI"+postFix :
"xAOD::jFexSumETRoIContainer",
704 "L1_jFexSumETRoI"+postFix+
"Aux" :
"xAOD::jFexSumETRoIAuxContainer",
705 "L1_jFexMETxRoI"+postFix :
"xAOD::jFexMETRoIContainer",
706 "L1_jFexMETxRoI"+postFix+
"Aux" :
"xAOD::jFexMETRoIAuxContainer",
707 "L1_jFexTauxRoI"+postFix :
"xAOD::jFexTauRoIContainer",
708 "L1_jFexTauxRoI"+postFix+
"Aux" :
"xAOD::jFexTauRoIAuxContainer",
709 "L1_jFexFwdElxRoI"+postFix :
"xAOD::jFexFwdElRoIContainer",
710 "L1_jFexFwdElxRoI"+postFix+
"Aux" :
"xAOD::jFexFwdElRoIAuxContainer",
711 "L1_jFexSRJetxRoI"+postFix :
"xAOD::jFexSRJetRoIContainer",
712 "L1_jFexSRJetxRoI"+postFix+
"Aux" :
"xAOD::jFexSRJetRoIAuxContainer",
713 "L1_jFexLRJetxRoI"+postFix :
"xAOD::jFexLRJetRoIContainer",
714 "L1_jFexLRJetxRoI"+postFix+
"Aux" :
"xAOD::jFexLRJetRoIAuxContainer",
715 "L1_jFexSumETxRoI"+postFix :
"xAOD::jFexSumETRoIContainer",
716 "L1_jFexSumETxRoI"+postFix+
"Aux" :
"xAOD::jFexSumETRoIAuxContainer"})
718 allVariables += [
"L1_jFexMETRoI" + postFix,
719 "L1_jFexTauRoI" + postFix,
720 "L1_jFexFwdElRoI" + postFix,
721 "L1_jFexSRJetRoI" + postFix,
722 "L1_jFexLRJetRoI" + postFix,
723 "L1_jFexSumETRoI" + postFix,
724 "L1_jFexMETxRoI" + postFix,
725 "L1_jFexTauxRoI" + postFix,
726 "L1_jFexFwdElxRoI" + postFix,
727 "L1_jFexSRJetxRoI" + postFix,
728 "L1_jFexLRJetxRoI" + postFix,
729 "L1_jFexSumETxRoI" + postFix]
731 return slimminghelper, allVariables
736 add the list of gFEX containers for given postFix string
738 slimminghelper.AppendToDictionary.update (
739 {
"L1_gFexRhoRoI"+postFix :
"xAOD::gFexJetRoIContainer",
740 "L1_gFexRhoRoI"+postFix+
"Aux" :
"xAOD::gFexJetRoIAuxContainer",
741 "L1_gFexSRJetRoI"+postFix :
"xAOD::gFexJetRoIContainer",
742 "L1_gFexSRJetRoI"+postFix+
"Aux" :
"xAOD::gFexJetRoIAuxContainer",
743 "L1_gScalarEJwoj"+postFix :
"xAOD::gFexGlobalRoIContainer",
744 "L1_gScalarEJwoj"+postFix+
"Aux" :
"xAOD::gFexGlobalRoIAuxContainer",
745 "L1_gFexLRJetRoI"+postFix :
"xAOD::gFexJetRoIContainer",
746 "L1_gFexLRJetRoI"+postFix+
"Aux" :
"xAOD::gFexJetRoIAuxContainer",
747 "L1_gMETComponentsJwoj"+postFix :
"xAOD::gFexGlobalRoIContainer",
748 "L1_gMETComponentsJwoj"+postFix+
"Aux" :
"xAOD::gFexGlobalRoIAuxContainer",
749 "L1_gMHTComponentsJwoj"+postFix :
"xAOD::gFexGlobalRoIContainer",
750 "L1_gMHTComponentsJwoj"+postFix+
"Aux" :
"xAOD::gFexGlobalRoIAuxContainer",
751 "L1_gMSTComponentsJwoj"+postFix :
"xAOD::gFexGlobalRoIContainer",
752 "L1_gMSTComponentsJwoj"+postFix+
"Aux" :
"xAOD::gFexGlobalRoIAuxContainer"})
754 allVariables += [
"L1_gFexRhoRoI" + postFix,
755 "L1_gFexSRJetRoI" + postFix,
756 "L1_gScalarEJwoj" + postFix,
757 "L1_gFexLRJetRoI" + postFix,
758 "L1_gMETComponentsJwoj" + postFix,
759 "L1_gMHTComponentsJwoj" + postFix,
760 "L1_gMSTComponentsJwoj" + postFix]
762 return slimminghelper, allVariables