335def IDTIDECfg(flags):
336 """Main config fragment for IDTIDE"""
337 acc = ComponentAccumulator()
338
339
340 if flags.Detector.GeometryID:
341 acc.merge(IDTIDEKernelCfg(flags, StreamName='StreamDAOD_IDTIDE'))
342 if flags.Detector.GeometryITk:
343 acc.merge(ITkTIDEKernelCfg(flags, StreamName='StreamDAOD_IDTIDE'))
344
345
346
347
348 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
349 from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
350 from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
352 "IDTIDESlimmingHelper",
353 NamesAndTypes=flags.Input.TypedCollections,
354 flags=flags)
355
356 AllVariables = []
357 StaticContent = []
358 SmartCollections = []
359 ExtraVariables = []
360
361 IDTIDESlimmingHelper.AppendToDictionary.update({
362 "EventInfo": "xAOD::EventInfo", "EventInfoAux": "xAOD::EventAuxInfo",
363 "CombinedMuonTrackParticles": "xAOD::TrackParticleContainer", "CombinedMuonTrackParticlesAux": "xAOD::TrackParticleAuxContainer",
364 "Muons": "xAOD::MuonContainer", "MuonsAux": "xAOD::MuonAuxContainer",
365 "Electrons": "xAOD::ElectronContainer",
366 "ElectronsAux": "xAOD::ElectronAuxContainer",
367 "Photons": "xAOD::PhotonContainer",
368 "PhotonsAux": "xAOD::PhotonAuxContainer",
369 "JetETMissNeutralParticleFlowObjects": "xAOD::FlowElementContainer",
370 "JetETMissNeutralParticleFlowObjectsAux": "xAOD::FlowElementAuxContainer",
371 "JetETMissChargedParticleFlowObjects": "xAOD::FlowElementContainer",
372 "JetETMissChargedParticleFlowObjectsAux": "xAOD::FlowElementAuxContainer",
373 "TauJets": "xAOD::TauJetContainer",
374 "TauJetsAux": "xAOD::TauJetAuxContainer",
375 "InDetTrackParticles": "xAOD::TrackParticleContainer",
376 "InDetTrackParticlesAux": "xAOD::TrackParticleAuxContainer",
377 "InDetLargeD0TrackParticles": "xAOD::TrackParticleContainer",
378 "InDetLargeD0TrackParticlesAux": "xAOD::TrackParticleAuxContainer",
379 "Kt4EMTopoOriginEventShape": "xAOD::EventShape",
380 "Kt4EMTopoOriginEventShapeAux": "xAOD::EventShapeAuxInfo",
381 "Kt4LCTopoOriginEventShape": "xAOD::EventShape",
382 "Kt4LCTopoOriginEventShapeAux": "xAOD::EventShapeAuxInfo",
383 "NeutralParticleFlowIsoCentralEventShape": "xAOD::EventShape",
384 "NeutralParticleFlowIsoCentralEventShapeAux": "xAOD::EventShapeAuxInfo",
385 "NeutralParticleFlowIsoForwardEventShape": "xAOD::EventShape",
386 "NeutralParticleFlowIsoForwardEventShapeAux": "xAOD::EventShapeAuxInfo",
387 "TopoClusterIsoCentralEventShape": "xAOD::EventShape",
388 "TopoClusterIsoCentralEventShapeAux": "xAOD::EventShapeAuxInfo",
389 "TopoClusterIsoForwardEventShape": "xAOD::EventShape",
390 "TopoClusterIsoForwardEventShapeAux": "xAOD::EventShapeAuxInfo"}
391 )
392 if flags.Detector.GeometryID:
393 IDTIDESlimmingHelper.AppendToDictionary.update({
394 "PixelClusters": "xAOD::TrackMeasurementValidationContainer",
395 "PixelClustersAux": "xAOD::TrackMeasurementValidationAuxContainer",
396 "SCT_Clusters": "xAOD::TrackMeasurementValidationContainer",
397 "SCT_ClustersAux": "xAOD::TrackMeasurementValidationAuxContainer"
398 })
399 if flags.Detector.GeometryITk:
400 IDTIDESlimmingHelper.AppendToDictionary.update({
401 "ITkPixelMeasurements": "xAOD::TrackMeasurementValidationContainer",
402 "ITkPixelMeasurementsAux": "xAOD::TrackMeasurementValidationAuxContainer",
403 "ITkStripMeasurements": "xAOD::TrackMeasurementValidationContainer",
404 "ITkStripMeasurementsAux": "xAOD::TrackMeasurementValidationAuxContainer"
405 })
406 if flags.ITk.DAODStorePLR:
407 IDTIDESlimmingHelper.AppendToDictionary.update({
408 "PLRMeasurements": "xAOD::TrackMeasurementValidationContainer",
409 "PLRMeasurementsAux": "xAOD::TrackMeasurementValidationAuxContainer"
410 })
411
412 SmartCollections += ["Muons", "Electrons", "Photons", "TauJets"]
413
414 AllVariables += ["EventInfo",
415 "JetETMissNeutralParticleFlowObjects",
416 "JetETMissChargedParticleFlowObjects",
417 "InDetTrackParticles",
418 "InDetLargeD0TrackParticles",
419 "PixelClusters",
420 "SCT_Clusters",
421 "Kt4EMTopoOriginEventShape",
422 "Kt4LCTopoOriginEventShape",
423 "NeutralParticleFlowIsoCentralEventShape",
424 "NeutralParticleFlowIsoForwardEventShape",
425 "TopoClusterIsoCentralEventShape",
426 "TopoClusterIsoForwardEventShape",
427 ]
428 if flags.Detector.GeometryID:
429 AllVariables += ["PixelClusters", "SCT_Clusters"]
430 if flags.Detector.GeometryITk:
431 AllVariables += ["ITkPixelMeasurements", "ITkStripMeasurements"]
432 if flags.ITk.DAODStorePLR:
433 AllVariables += ["PLRMeasurements"]
434
435 IDTIDESlimmingHelper.AppendToDictionary.update({
436 "Kt4EMPFlowEventShape": "xAOD::EventShape",
437 "Kt4EMPFlowEventShapeAux": "xAOD::EventShapeAuxInfo",
438 "Kt4EMPFlowNeutEventShape": "xAOD::EventShape",
439 "Kt4EMPFlowNeutEventShapeAux": "xAOD::EventShapeAuxInfo",
440 "PrimaryVertices": "xAOD::VertexContainer",
441 "PrimaryVerticesAux": "xAOD::VertexAuxContainer",
442 "InDetTrackParticlesClusterAssociations": "xAOD::TrackParticleClusterAssociationContainer",
443 "InDetTrackParticlesClusterAssociationsAux": "xAOD::TrackParticleClusterAssociationAuxContainer",
444 "AntiKt4EMTopoJets": "xAOD::JetContainer",
445 "AntiKt4EMTopoJetsAux": "xAOD::JetAuxContainer",
446 "AntiKt4EMPFlowJets": "xAOD::JetContainer",
447 "AntiKt4EMPFlowJetsAux": "xAOD::JetAuxContainer"})
448
449 ExtraVariables += ["TauJets.ABS_ETA_LEAD_TRACK.ClusterTotalEnergy.ClustersMeanCenterLambda.ClustersMeanEMProbability.ClustersMeanFirstEngDens.ClustersMeanPresamplerFrac.ClustersMeanSecondLambda.EMFracFixed.LeadClusterFrac.NNDecayMode.NNDecayModeProb_1p0n.NNDecayModeProb_1p1n.NNDecayModeProb_1pXn.NNDecayModeProb_3p0n.NNDecayModeProb_3pXn.PFOEngRelDiff.PanTau_DecayModeExtended.UpsilonCluster.absipSigLeadTrk.chargedFELinks.etHotShotWin.etHotShotWinOverPtLeadTrk.etaCombined.hadLeakFracFixed.leadTrackProbHT.mCombined.mu.nConversionTracks.nFakeTracks.nModifiedIsolationTracks.nVtxPU.neutralFELinks.passThinning.phiCombined.ptCombined.ptIntermediateAxisEM.rho"]
450 ExtraVariables += ["PrimaryVertices.sumPt2.x.y.z"]
451
452 AllVariables += ["Kt4EMPFlowEventShape", "Kt4EMPFlowNeutEventShape",
453 "InDetTrackParticlesClusterAssociations",
454 "AntiKt4EMTopoJets", "AntiKt4EMPFlowJets"]
455
456 if flags.Detector.EnablePixel:
457 IDTIDESlimmingHelper.AppendToDictionary.update(
458 {'PixelMSOSs': 'xAOD::TrackStateValidationContainer',
459 'PixelMSOSsAux': 'xAOD::TrackStateValidationAuxContainer'})
460 AllVariables += ["PixelMSOSs"]
461
462 if flags.Detector.EnableSCT:
463 IDTIDESlimmingHelper.AppendToDictionary.update(
464 {'SCT_MSOSs': 'xAOD::TrackStateValidationContainer',
465 'SCT_MSOSsAux': 'xAOD::TrackStateValidationAuxContainer'})
466 AllVariables += ["SCT_MSOSs"]
467
468 if flags.Detector.EnableTRT:
469 IDTIDESlimmingHelper.AppendToDictionary.update(
470 {'TRT_MSOSs': 'xAOD::TrackStateValidationContainer',
471 'TRT_MSOSsAux': 'xAOD::TrackStateValidationAuxContainer'})
472 AllVariables += ["TRT_MSOSs"]
473
474 if flags.Detector.EnableITkPixel:
475 IDTIDESlimmingHelper.AppendToDictionary.update(
476 {'ITkPixelMSOSs': 'xAOD::TrackStateValidationContainer',
477 'ITkPixelMSOSsAux': 'xAOD::TrackStateValidationAuxContainer'})
478 AllVariables += ["ITkPixelMSOSs"]
479
480 if flags.Detector.EnableITkStrip:
481 IDTIDESlimmingHelper.AppendToDictionary.update(
482 {'ITkStripMSOSs': 'xAOD::TrackStateValidationContainer',
483 'ITkStripMSOSsAux': 'xAOD::TrackStateValidationAuxContainer'})
484 AllVariables += ["ITkStripMSOSs"]
485
486 if flags.Input.isMC:
487
488 IDTIDESlimmingHelper.AppendToDictionary.update({
489 "AntiKt4TruthJets": "xAOD::JetContainer",
490 "AntiKt4TruthJetsAux": "xAOD::JetAuxContainer",
491 "InTimeAntiKt4TruthJets": "xAOD::JetContainer",
492 "InTimeAntiKt4TruthJetsAux": "xAOD::JetAuxContainer",
493 "JetInputTruthParticles": "xAOD::TruthParticleContainer",
494 "JetInputTruthParticlesNoWZ": "xAOD::TruthParticleContainer",
495 "TruthEvents": "xAOD::TruthEventContainer",
496 "TruthEventsAux": "xAOD::TruthEventAuxContainer",
497 "TruthParticles": "xAOD::TruthParticleContainer",
498 "TruthParticlesAux": "xAOD::TruthParticleAuxContainer",
499 "egammaTruthParticles": "xAOD::TruthParticleContainer",
500 "egammaTruthParticlesAux": "xAOD::TruthParticleAuxContainer",
501 "MuonTruthParticles": "xAOD::TruthParticleContainer",
502 "MuonTruthParticlesAux": "xAOD::TruthParticleAuxContainer",
503 "LRTegammaTruthParticles": "xAOD::TruthParticleContainer",
504 "LRTegammaTruthParticlesAux": "xAOD::TruthParticleAuxContainer",
505 "TruthVertices": "xAOD::TruthVertexContainer",
506 "TruthVerticesAux": "xAOD::TruthVertexAuxContainer"})
507
508 AllVariables += ["AntiKt4TruthJets",
509 "InTimeAntiKt4TruthJets",
510 "JetInputTruthParticles",
511 "JetInputTruthParticlesNoWZ",
512 "TruthEvents",
513 "TruthParticles",
514 "egammaTruthParticles",
515 "MuonTruthParticles",
516 "LRTegammaTruthParticles",
517 "TruthVertices"]
518
519 list_aux = ["BHadronsFinal", "BHadronsInitial", "BQuarksFinal",
520 "CHadronsFinal", "CHadronsInitial", "CQuarksFinal",
521 "HBosons", "Partons", "TQuarksFinal", "TausFinal",
522 "WBosons", "ZBosons"]
523 for item in list_aux:
524 label = "TruthLabel"+item
525 labelAux = label+"Aux"
526 IDTIDESlimmingHelper.AppendToDictionary.update(
527 {label: "xAOD::TruthParticleContainer",
528 labelAux: "xAOD::TruthParticleAuxContainer"})
529 AllVariables += [label]
530
531
532
533 IDTIDESlimmingHelper.IncludeTriggerNavigation = True
534 IDTIDESlimmingHelper.IncludeAdditionalTriggerContent = True
535
536 IDTIDESlimmingHelper.AllVariables = AllVariables
537 IDTIDESlimmingHelper.StaticContent = StaticContent
538 IDTIDESlimmingHelper.SmartCollections = SmartCollections
539 IDTIDESlimmingHelper.ExtraVariables = ExtraVariables
540
541
542 IDTIDEItemList = IDTIDESlimmingHelper.GetItemList()
543 acc.merge(OutputStreamCfg(flags, "DAOD_IDTIDE",
544 ItemList=IDTIDEItemList, AcceptAlgs=["IDTIDEKernel"]))
545 acc.merge(SetupMetaDataForStreamCfg(
546 flags, "DAOD_IDTIDE", AcceptAlgs=["IDTIDEKernel"],
547 createMetadata=[MetadataCategory.CutFlowMetaData, MetadataCategory.TriggerMenuMetaData]))
548
549 return acc