3 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
4 from AthenaConfiguration.ComponentFactory
import CompFactory
5 from AthenaConfiguration.Enums
import LHCPeriod, MetadataCategory
8 """ Configure the MbtsToVectorsTool augmentation tool """
12 from TileGeoModel.TileGMConfig
import TileGMCfg
15 from LArGeoAlgsNV.LArGMConfig
import LArGMCfg
18 kwargs.setdefault(
'name',
'TCAL2MbtsToVectorsTool')
19 prefix = kwargs.pop(
'Prefix',
'TCAL2_mbts_')
20 kwargs.setdefault(
"Energy", prefix +
"energy")
21 kwargs.setdefault(
"Time", prefix +
"time")
22 kwargs.setdefault(
"Eta", prefix +
"eta")
23 kwargs.setdefault(
"Phi", prefix +
"phi")
24 kwargs.setdefault(
"Quality", prefix +
"quality")
25 kwargs.setdefault(
"Type", prefix +
"type")
26 kwargs.setdefault(
"Module", prefix +
"module")
27 kwargs.setdefault(
"Channel", prefix +
"channel")
28 kwargs.setdefault(
'SaveEtaPhiInfo',
True)
29 kwargs.setdefault(
'CellContainer',
'MBTSContainer')
31 acc.setPrivateTools(CompFactory.DerivationFramework.MbtsToVectorsTool(**kwargs))
37 """ Configure the E4prToVectorsTool augmentation tool """
39 kwargs.setdefault(
'name',
'TCAL2E4prToVectorsTool')
40 kwargs.setdefault(
'Prefix',
'TCAL2_e4pr')
41 kwargs.setdefault(
'SaveEtaPhiInfo',
False)
42 kwargs.setdefault(
'CellContainer',
'E4prContainer')
47 """Configure the TCAL2 derivation framework driving algorithm (kernel)"""
51 prefix = kwargs.pop(
'Prefix',
'TCAL2_')
53 cellsToVectorstools = []
54 if flags.GeoModel.Run
in [LHCPeriod.Run1, LHCPeriod.Run2, LHCPeriod.Run3]:
55 cellsToVectorstools.append( acc.addPublicTool(acc.popToolsAndMerge(
TCAL2MbtsToVectorsToolCfg(flags, Prefix=f
'{prefix}mbts_'))) )
56 if flags.GeoModel.Run
is LHCPeriod.Run2:
57 cellsToVectorstools.append ( acc.addPublicTool(acc.popToolsAndMerge(
TCAL2E4prToVectorsToolCfg(flags, Prefix=f
'{prefix}e4pr_'))) )
59 DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
60 acc.addEventAlgo(
DerivationKernel(name, AugmentationTools = cellsToVectorstools))
65 """Configure the TCAL1 derivation framework"""
67 TCAL2Prefix =
'TCAL2_'
70 acc.merge(
TCAL2KernelCfg(flags, name=
"TCAL2Kernel", StreamName =
"StreamDAOD_TCAL2", Prefix=TCAL2Prefix))
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"]
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()
88 acc.merge(
OutputStreamCfg(flags,
"DAOD_TCAL2", ItemList=TCAL2ItemList, AcceptAlgs=[
"TCAL2Kernel"]))
89 acc.merge(
SetupMetaDataForStreamCfg(flags,
"DAOD_TCAL2", AcceptAlgs=[
"TCAL2Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))