64def TCAL2Cfg(flags):
65 """Configure the TCAL1 derivation framework"""
66
67 TCAL2Prefix = 'TCAL2_'
68
69 acc = ComponentAccumulator()
70 acc.merge(TCAL2KernelCfg(flags, name="TCAL2Kernel", StreamName = "StreamDAOD_TCAL2", Prefix=TCAL2Prefix))
71
72 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
73 from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
74 from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
75 TCAL2SlimmingHelper =
SlimmingHelper(
"TCAL2SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
76 TCAL2SlimmingHelper.SmartCollections = ["EventInfo"]
77
78 if flags.GeoModel.Run in [LHCPeriod.Run1, LHCPeriod.Run2, LHCPeriod.Run3]:
79 mbtsItems = [f'std::vector<float>#TCAL2_mbts_{item}' for item in ['energy', 'time', 'eta', 'phi']]
80 mbtsItems += [f'std::vector<int>#TCAL2_mbts_{item}' for item in ['quality', 'module', 'channel', 'type']]
81 TCAL2SlimmingHelper.StaticContent = mbtsItems
82 if flags.GeoModel.Run is LHCPeriod.Run2:
83 e4prItems = [f'std::vector<float>#TCAL2_e4pr_{item}' for item in ['energy', 'time']]
84 e4prItems += ['std::vector<int>#TCAL2_e4pr_{item}' for item in ['quality', 'module', 'channel', 'type']]
85 TCAL2SlimmingHelper.StaticContent += e4prItems
86 TCAL2ItemList = TCAL2SlimmingHelper.GetItemList()
87
88 acc.merge(OutputStreamCfg(flags, "DAOD_TCAL2", ItemList=TCAL2ItemList, AcceptAlgs=["TCAL2Kernel"]))
89 acc.merge(SetupMetaDataForStreamCfg(flags, "DAOD_TCAL2", AcceptAlgs=["TCAL2Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))
90
91 return acc