5from AthenaConfiguration.Enums
import BeamType, MetadataCategory
10 """ Configure the TrackTools tool """
12 acc = ComponentAccumulator()
14 from TrackToCalo.TrackToCaloConfig
import ParticleCaloExtensionToolCfg
15 kwargs.setdefault(
'ParticleCaloExtensionTool', acc.popToolsAndMerge(
16 ParticleCaloExtensionToolCfg(flags)))
18 kwargs.setdefault(
'IsCollision', flags.Beam.Type
is BeamType.Collisions)
20 TrackTools = CompFactory.TileCal.TrackTools
81 """ Configure the Tile Cells Muon decorator augmentation tool """
83 acc = ComponentAccumulator()
85 from TileGeoModel.TileGMConfig
import TileGMCfg
86 acc.merge(TileGMCfg(flags))
88 from TileConditions.TileCablingSvcConfig
import TileCablingSvcCfg
89 acc.merge(TileCablingSvcCfg(flags))
91 kwargs.setdefault(
'name',
'TCAL1TileCellsMuonDecorator')
92 prefix = kwargs.pop(
'Prefix',
'TCAL1_')
93 kwargs.setdefault(
'IsoCone', 0.4)
94 kwargs.setdefault(
'DeltaRCones', [0.2, 0.4])
95 kwargs.setdefault(
'MuonContainer',
'Muons')
96 kwargs.setdefault(
'ClusterContainer',
"CaloCalTopoClusters")
98 kwargs.setdefault(
"SelectedMuon", prefix +
"SelectedMuon")
99 kwargs.setdefault(
"Etrkcone", prefix +
"etrkcone" + str(int(kwargs[
'IsoCone'] * 100)))
100 kwargs.setdefault(
"CellsMuonX", prefix +
"cells_muon_x")
101 kwargs.setdefault(
"CellsMuonY", prefix +
"cells_muon_y")
102 kwargs.setdefault(
"CellsMuonZ", prefix +
"cells_muon_z")
103 kwargs.setdefault(
"CellsMuonEta", prefix +
"cells_muon_eta")
104 kwargs.setdefault(
"CellsMuonPhi", prefix +
"cells_muon_phi")
105 kwargs.setdefault(
"CellsToMuonDx", prefix +
"cells_to_muon_dx")
106 kwargs.setdefault(
"CellsToMuonDy", prefix +
"cells_to_muon_dy")
107 kwargs.setdefault(
"CellsToMuonDz", prefix +
"cells_to_muon_dz")
108 kwargs.setdefault(
"CellsToMuonDeta", prefix +
"cells_to_muon_deta")
109 kwargs.setdefault(
"CellsToMuonDphi", prefix +
"cells_to_muon_dphi")
110 kwargs.setdefault(
"CellsMuonDx", prefix +
"cells_muon_dx")
111 kwargs.setdefault(
"CellsMuonDeDx", prefix +
"cells_muon_dedx")
112 if len(kwargs[
'ClusterContainer']) > 0:
113 kwargs.setdefault(
"LArEnergyInCone", [f
"{prefix}elarcone{str(int(x*100))}" for x
in kwargs[
'DeltaRCones']])
115 kwargs.setdefault(
'SelectMuons', flags.Beam.Type
is BeamType.Collisions)
116 kwargs.setdefault(
'MinMuonPt', 10 * GeV)
117 kwargs.setdefault(
'MaxAbsMuonEta', 1.7)
118 kwargs.setdefault(
'MaxRelETrkInIsoCone', 100000)
124 kwargs.setdefault(
'TracksInConeTool', CompFactory.xAOD.TrackParticlesInConeTool())
126 TileCellsMuonDecorator = CompFactory.DerivationFramework.TileCellsMuonDecorator
127 acc.addPublicTool(TileCellsMuonDecorator(**kwargs), primary =
True)
154 """Configure TCAL1 derivation framework thinning tool"""
156 acc = ComponentAccumulator()
158 kwargs[
'StreamName'] = streamName
159 kwargs.setdefault(
'name',
'TCAL1MuonTPThinningTool')
160 kwargs.setdefault(
'MuonKey',
'Muons')
161 kwargs.setdefault(
'InDetTrackParticlesKey',
'InDetTrackParticles')
163 from DerivationFrameworkInDet.InDetToolsConfig
import MuonTrackParticleThinningCfg
164 muonTPThinningTool = acc.getPrimaryAndMerge(MuonTrackParticleThinningCfg(flags, **kwargs))
166 acc.addPublicTool(muonTPThinningTool, primary =
True)
172 """Configure the TCAL1 derivation framework driving algorithm (kernel)"""
174 acc = ComponentAccumulator()
176 prefix = kwargs.pop(
'Prefix',
'TCAL1_')
177 streamName = kwargs.pop(
'StreamName',
'StreamDAOD_TCAL1')
180 triggerListsHelper = kwargs.pop(
'TriggerListsHelper',
'TriggerListsHelper')
181 from DerivationFrameworkPhys.PhysCommonConfig
import PhysCommonAugmentationsCfg
182 acc.merge(PhysCommonAugmentationsCfg(flags, TriggerListsHelper = triggerListsHelper))
184 deltaRCones = kwargs.pop(
'DeltaRCones', [0.2, 0.4])
186 kwargs.setdefault(
'AugmentationTools', [cellsMuonDecorator])
189 kwargs.setdefault(
'SkimmingTools', [skimmingTool])
192 kwargs.setdefault(
'ThinningTools', [thinningTool])
194 DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
195 acc.addEventAlgo(DerivationKernel(name, **kwargs))
201 """Configure the TCAL1 derivation framework"""
203 TCAL1Prefix =
'TCAL1_'
204 from DerivationFrameworkPhys.TriggerListsHelper
import TriggerListsHelper
205 TCAL1TriggerListsHelper = TriggerListsHelper(flags)
207 deltaRCones = [0.2, 0.4]
208 acc = ComponentAccumulator()
209 acc.merge(
TCAL1KernelCfg(flags, name=
"TCAL1Kernel", StreamName=
"StreamDAOD_TCAL1", Prefix=TCAL1Prefix, TriggerListsHelper=TCAL1TriggerListsHelper, DeltaRCones=deltaRCones))
211 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
212 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
213 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
214 TCAL1SlimmingHelper =
SlimmingHelper(
"TCAL1SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
215 TCAL1SlimmingHelper.SmartCollections = [
'EventInfo',
'Muons',
'AntiKt4EMTopoJets',
'AntiKt4EMPFlowJets',
'MET_Baseline_AntiKt4EMTopo',
'MET_Baseline_AntiKt4EMPFlow',
'PrimaryVertices']
217 TCAL1ExtraVariables = f
'Muons.{TCAL1Prefix}etrkcone40'
219 TCAL1ExtraVariables += f
'.{TCAL1Prefix}cells_'.join([
'',
'energy',
'et',
'eta',
'phi',
'gain',
'bad',
'time',
'quality'])
220 TCAL1ExtraVariables += f
'.{TCAL1Prefix}cells_'.join([
'',
'sampling',
'sinTh',
'cosTh',
'cotTh',
'x',
'y',
'z'])
222 TCAL1ExtraVariables += f
'.{TCAL1Prefix}cells_'.join([
'',
'side',
'section',
'module',
'tower',
'sample'])
223 TCAL1ExtraVariables += f
'.{TCAL1Prefix}cells_'.join([
'',
'r',
'dx',
'dy',
'dz',
'dr',
'dphi',
'deta',
'volume'])
225 TCAL1ExtraVariables += f
'.{TCAL1Prefix}cells_muon_'.join([
'',
'dx',
'dedx',
'x',
'y',
'z',
'eta',
'phi'])
226 TCAL1ExtraVariables += f
'.{TCAL1Prefix}cells_to_muon_'.join([
'',
'dx',
'dy',
'dz',
'deta',
'dphi'])
228 for pmt
in [
'pmt1',
'pmt2']:
229 TCAL1ExtraVariables += f
'.{TCAL1Prefix}cells_{pmt}_'.join([
'',
'ros',
'drawer',
'channel',
'energy',
'time',
'quality',
'qbit',
'bad',
'gain'])
231 for drCone
in deltaRCones:
232 TCAL1ExtraVariables += f
'.{TCAL1Prefix}elarcone{int(drCone*100)}'
234 TCAL1SlimmingHelper.ExtraVariables = [TCAL1ExtraVariables]
238 if flags.Trigger.EDMVersion == 2:
239 from DerivationFrameworkPhys.TriggerMatchingCommonConfig
import AddRun2TriggerMatchingToSlimmingHelper
240 AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = TCAL1SlimmingHelper,
241 OutputContainerPrefix =
"TrigMatch_",
242 TriggerList = TCAL1TriggerListsHelper.Run2TriggerNamesTau)
243 AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = TCAL1SlimmingHelper,
244 OutputContainerPrefix =
"TrigMatch_",
245 TriggerList = TCAL1TriggerListsHelper.Run2TriggerNamesNoTau)
247 if flags.Trigger.EDMVersion == 3
or (flags.Trigger.EDMVersion == 2
and flags.Trigger.doEDMVersionConversion):
248 from TrigNavSlimmingMT.TrigNavSlimmingMTConfig
import AddRun3TrigNavSlimmingCollectionsToSlimmingHelper
249 AddRun3TrigNavSlimmingCollectionsToSlimmingHelper(TCAL1SlimmingHelper)
251 TCAL1ItemList = TCAL1SlimmingHelper.GetItemList()
252 acc.merge(OutputStreamCfg(flags,
"DAOD_TCAL1", ItemList=TCAL1ItemList, AcceptAlgs=[
"TCAL1Kernel"]))
253 acc.merge(SetupMetaDataForStreamCfg(flags,
"DAOD_TCAL1", AcceptAlgs=[
"TCAL1Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))