ATLAS Offline Software
Loading...
Searching...
No Matches
TCAL1 Namespace Reference

Functions

 TCAL1TrackToolsCfg (flags, **kwargs)
 TCAL1TileCellsDecoratorCfg (flags, Prefix="TCAL1_", **kwargs)
 TCAL1TileCellsMuonDecoratorCfg (flags, **kwargs)
 TCAL1StringSkimmingToolCfg (flags, **kwargs)
 TCAL1MuonTPThinningToolCfg (flags, streamName, **kwargs)
 TCAL1KernelCfg (flags, name='TCAL1Kernel', **kwargs)
 TCAL1Cfg (flags)

Function Documentation

◆ TCAL1Cfg()

TCAL1.TCAL1Cfg ( flags)
Configure the TCAL1 derivation framework

Definition at line 206 of file TCAL1.py.

206def TCAL1Cfg(flags):
207 """Configure the TCAL1 derivation framework"""
208
209 TCAL1Prefix = 'TCAL1_'
210 from DerivationFrameworkPhys.TriggerListsHelper import TriggerListsHelper
211 TCAL1TriggerListsHelper = TriggerListsHelper(flags)
212
213 deltaRCones = [0.2, 0.4]
214 acc = ComponentAccumulator()
215 acc.merge(TCAL1KernelCfg(flags, name="TCAL1Kernel", StreamName="StreamDAOD_TCAL1", Prefix=TCAL1Prefix, TriggerListsHelper=TCAL1TriggerListsHelper, DeltaRCones=deltaRCones))
216
217 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
218 from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
219 from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
220 TCAL1SlimmingHelper = SlimmingHelper("TCAL1SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
221 TCAL1SlimmingHelper.SmartCollections = ['EventInfo', 'Muons', 'AntiKt4EMTopoJets', 'AntiKt4EMPFlowJets', 'MET_Baseline_AntiKt4EMTopo', 'MET_Baseline_AntiKt4EMPFlow', 'PrimaryVertices']
222
223 TCAL1ExtraVariables = f'Muons.{TCAL1Prefix}etrkcone40'
224
225 TCAL1ExtraVariables += f'.{TCAL1Prefix}cells_'.join(['', 'energy', 'et', 'eta', 'phi', 'gain', 'bad', 'time', 'quality'])
226 TCAL1ExtraVariables += f'.{TCAL1Prefix}cells_'.join(['', 'sampling', 'sinTh', 'cosTh', 'cotTh', 'x', 'y', 'z'])
227
228 TCAL1ExtraVariables += f'.{TCAL1Prefix}cells_'.join(['', 'side', 'section', 'module', 'tower', 'sample'])
229 TCAL1ExtraVariables += f'.{TCAL1Prefix}cells_'.join(['', 'r', 'dx', 'dy', 'dz', 'dr', 'dphi', 'deta', 'volume'])
230
231 TCAL1ExtraVariables += f'.{TCAL1Prefix}cells_muon_'.join(['', 'dx', 'dedx', 'x', 'y', 'z', 'eta', 'phi'])
232 TCAL1ExtraVariables += f'.{TCAL1Prefix}cells_to_muon_'.join(['', 'dx', 'dy', 'dz', 'deta', 'dphi'])
233
234 for pmt in ['pmt1', 'pmt2']:
235 TCAL1ExtraVariables += f'.{TCAL1Prefix}cells_{pmt}_'.join(['', 'ros', 'drawer', 'channel', 'energy', 'time', 'quality', 'qbit', 'bad', 'gain'])
236
237 for drCone in deltaRCones:
238 TCAL1ExtraVariables += f'.{TCAL1Prefix}elarcone{int(drCone*100)}'
239
240 TCAL1SlimmingHelper.ExtraVariables = [TCAL1ExtraVariables]
241
242 # Trigger matching
243 # Run 2
244 if flags.Trigger.EDMVersion == 2:
245 from DerivationFrameworkPhys.TriggerMatchingCommonConfig import AddRun2TriggerMatchingToSlimmingHelper
246 AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = TCAL1SlimmingHelper,
247 OutputContainerPrefix = "TrigMatch_",
248 TriggerList = TCAL1TriggerListsHelper.Run2TriggerNamesTau)
249 AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = TCAL1SlimmingHelper,
250 OutputContainerPrefix = "TrigMatch_",
251 TriggerList = TCAL1TriggerListsHelper.Run2TriggerNamesNoTau)
252 # Run 3, or Run 2 with navigation conversion
253 if flags.Trigger.EDMVersion == 3 or (flags.Trigger.EDMVersion == 2 and flags.Trigger.doEDMVersionConversion):
254 from TrigNavSlimmingMT.TrigNavSlimmingMTConfig import AddRun3TrigNavSlimmingCollectionsToSlimmingHelper
255 AddRun3TrigNavSlimmingCollectionsToSlimmingHelper(TCAL1SlimmingHelper)
256
257 TCAL1ItemList = TCAL1SlimmingHelper.GetItemList()
258 acc.merge(OutputStreamCfg(flags, "DAOD_TCAL1", ItemList=TCAL1ItemList, AcceptAlgs=["TCAL1Kernel"]))
259 acc.merge(SetupMetaDataForStreamCfg(flags, "DAOD_TCAL1", AcceptAlgs=["TCAL1Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))
260
261 return acc

◆ TCAL1KernelCfg()

TCAL1.TCAL1KernelCfg ( flags,
name = 'TCAL1Kernel',
** kwargs )
Configure the TCAL1 derivation framework driving algorithm (kernel)

Definition at line 177 of file TCAL1.py.

177def TCAL1KernelCfg(flags, name='TCAL1Kernel', **kwargs):
178 """Configure the TCAL1 derivation framework driving algorithm (kernel)"""
179
180 acc = ComponentAccumulator()
181
182 prefix = kwargs.pop('Prefix', 'TCAL1_')
183 streamName = kwargs.pop('StreamName', 'StreamDAOD_TCAL1')
184
185 # Common augmentations
186 triggerListsHelper = kwargs.pop('TriggerListsHelper', 'TriggerListsHelper')
187 from DerivationFrameworkPhys.PhysCommonConfig import PhysCommonAugmentationsCfg
188 acc.merge(PhysCommonAugmentationsCfg(flags, TriggerListsHelper = triggerListsHelper))
189
190 deltaRCones = kwargs.pop('DeltaRCones', [0.2, 0.4])
191 cellsMuonDecorator = acc.getPrimaryAndMerge( TCAL1TileCellsMuonDecoratorCfg(flags, Prefix=prefix, DeltaRCones=deltaRCones) )
192 kwargs.setdefault('AugmentationTools', [cellsMuonDecorator])
193
194 skimmingTool = acc.getPrimaryAndMerge(TCAL1StringSkimmingToolCfg(flags, Prefix=prefix))
195 kwargs.setdefault('SkimmingTools', [skimmingTool])
196
197 thinningTool = acc.getPrimaryAndMerge(TCAL1MuonTPThinningToolCfg(flags, streamName=streamName))
198 kwargs.setdefault('ThinningTools', [thinningTool])
199
200 DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
201 acc.addEventAlgo(DerivationKernel(name, **kwargs))
202
203 return acc
204
205

◆ TCAL1MuonTPThinningToolCfg()

TCAL1.TCAL1MuonTPThinningToolCfg ( flags,
streamName,
** kwargs )
Configure TCAL1 derivation framework thinning tool

Definition at line 159 of file TCAL1.py.

159def TCAL1MuonTPThinningToolCfg(flags, streamName, **kwargs):
160 """Configure TCAL1 derivation framework thinning tool"""
161
162 acc = ComponentAccumulator()
163
164 kwargs['StreamName'] = streamName
165 kwargs.setdefault('name', 'TCAL1MuonTPThinningTool')
166 kwargs.setdefault('MuonKey', 'Muons')
167 kwargs.setdefault('InDetTrackParticlesKey', 'InDetTrackParticles')
168
169 from DerivationFrameworkInDet.InDetToolsConfig import MuonTrackParticleThinningCfg
170 muonTPThinningTool = acc.getPrimaryAndMerge(MuonTrackParticleThinningCfg(flags, **kwargs))
171
172 acc.addPublicTool(muonTPThinningTool, primary = True)
173
174 return acc
175
176

◆ TCAL1StringSkimmingToolCfg()

TCAL1.TCAL1StringSkimmingToolCfg ( flags,
** kwargs )
Configure TCAL1 derivation framework skimming tool

Definition at line 132 of file TCAL1.py.

132def TCAL1StringSkimmingToolCfg(flags, **kwargs):
133 """Configure TCAL1 derivation framework skimming tool"""
134
135 prefix = kwargs.pop('Prefix', 'TCAL1_')
136
137 from TrigDecisionTool.TrigDecisionToolConfig import TrigDecisionToolCfg
138 acc = ComponentAccumulator()
139 tdt = acc.getPrimaryAndMerge(TrigDecisionToolCfg(flags))
140
141 selectionExpression = ""
142 if flags.Beam.Type is BeamType.Collisions:
143 selectionExpression = f'(Muons.ptvarcone30_Nonprompt_All_MaxWeightTTVA_pt500 + 0.4 * Muons.neflowisol20) / Muons.pt < 0.18 && Muons.{prefix}SelectedMuon'
144 else:
145 selectionExpression = 'abs(Muons.eta) < 1.7'
146
147 skimmingExpression = f'count({selectionExpression}) > 0'
148
149 kwargs.setdefault('name', 'TCAL1StringSkimmingTool')
150 kwargs.setdefault('expression', skimmingExpression)
151 kwargs.setdefault('TrigDecisionTool', tdt)
152
153 xAODStringSkimmingTool = CompFactory.DerivationFramework.xAODStringSkimmingTool
154 acc.addPublicTool(xAODStringSkimmingTool(**kwargs), primary = True)
155
156 return acc
157
158

◆ TCAL1TileCellsDecoratorCfg()

TCAL1.TCAL1TileCellsDecoratorCfg ( flags,
Prefix = "TCAL1_",
** kwargs )
Configure the Tile Cells decorator tool 

Definition at line 26 of file TCAL1.py.

26def TCAL1TileCellsDecoratorCfg(flags, Prefix="TCAL1_", **kwargs):
27 """ Configure the Tile Cells decorator tool """
28
29 acc = ComponentAccumulator()
30 kwargs.setdefault("CellsEnergy", Prefix + "cells_energy")
31 kwargs.setdefault("CellsEt", Prefix + "cells_et")
32 kwargs.setdefault("CellsEta", Prefix + "cells_eta")
33 kwargs.setdefault("CellsPhi", Prefix + "cells_phi")
34 kwargs.setdefault("CellsGain", Prefix + "cells_gain")
35 kwargs.setdefault("CellsBad", Prefix + "cells_bad")
36 kwargs.setdefault("CellsSampling", Prefix + "cells_sampling")
37 kwargs.setdefault("CellsTime", Prefix + "cells_time")
38 kwargs.setdefault("CellsQuality", Prefix + "cells_quality")
39 kwargs.setdefault("CellsSinTh", Prefix + "cells_sinTh")
40 kwargs.setdefault("CellsCosTh", Prefix + "cells_cosTh")
41 kwargs.setdefault("CellsCotTh", Prefix + "cells_cotTh")
42 kwargs.setdefault("CellsX", Prefix + "cells_x")
43 kwargs.setdefault("CellsY", Prefix + "cells_y")
44 kwargs.setdefault("CellsZ", Prefix + "cells_z")
45 kwargs.setdefault("CellsR", Prefix + "cells_r")
46 kwargs.setdefault("CellsDx", Prefix + "cells_dx")
47 kwargs.setdefault("CellsDy", Prefix + "cells_dy")
48 kwargs.setdefault("CellsDz", Prefix + "cells_dz")
49 kwargs.setdefault("CellsDr", Prefix + "cells_dr")
50 kwargs.setdefault("CellsVolume", Prefix + "cells_volume")
51 kwargs.setdefault("CellsDeta", Prefix + "cells_deta")
52 kwargs.setdefault("CellsDphi", Prefix + "cells_dphi")
53 kwargs.setdefault("CellsSide", Prefix + "cells_side")
54 kwargs.setdefault("CellsSection", Prefix + "cells_section")
55 kwargs.setdefault("CellsModule", Prefix + "cells_module")
56 kwargs.setdefault("CellsTower", Prefix + "cells_tower")
57 kwargs.setdefault("CellsSample", Prefix + "cells_sample")
58 kwargs.setdefault("CellsPmt1Ros", Prefix + "cells_pmt1_ros")
59 kwargs.setdefault("CellsPmt2Ros", Prefix + "cells_pmt2_ros")
60 kwargs.setdefault("CellsPmt1Drawer", Prefix + "cells_pmt1_drawer")
61 kwargs.setdefault("CellsPmt2Drawer", Prefix + "cells_pmt2_drawer")
62 kwargs.setdefault("CellsPmt1Channel", Prefix + "cells_pmt1_channel")
63 kwargs.setdefault("CellsPmt2Channel", Prefix + "cells_pmt2_channel")
64 kwargs.setdefault("CellsPmt1Energy", Prefix + "cells_pmt1_energy")
65 kwargs.setdefault("CellsPmt2Energy", Prefix + "cells_pmt2_energy")
66 kwargs.setdefault("CellsPmt1Time", Prefix + "cells_pmt1_time")
67 kwargs.setdefault("CellsPmt2Time", Prefix + "cells_pmt2_time")
68 kwargs.setdefault("CellsPmt1Quality", Prefix + "cells_pmt1_quality")
69 kwargs.setdefault("CellsPmt2Quality", Prefix + "cells_pmt2_quality")
70 kwargs.setdefault("CellsPmt1Qbit", Prefix + "cells_pmt1_qbit")
71 kwargs.setdefault("CellsPmt2Qbit", Prefix + "cells_pmt2_qbit")
72 kwargs.setdefault("CellsPmt1Bad", Prefix + "cells_pmt1_bad")
73 kwargs.setdefault("CellsPmt2Bad", Prefix + "cells_pmt2_bad")
74 kwargs.setdefault("CellsPmt1Gain", Prefix + "cells_pmt1_gain")
75 kwargs.setdefault("CellsPmt2Gain", Prefix + "cells_pmt2_gain")
76 acc.setPrivateTools(CompFactory.DerivationFramework.TileCellsDecorator(name="TileCellsDecorator", **kwargs))
77 return acc
78
79

◆ TCAL1TileCellsMuonDecoratorCfg()

TCAL1.TCAL1TileCellsMuonDecoratorCfg ( flags,
** kwargs )
Configure the Tile Cells Muon decorator augmentation tool 

Definition at line 80 of file TCAL1.py.

80def TCAL1TileCellsMuonDecoratorCfg(flags, **kwargs):
81 """ Configure the Tile Cells Muon decorator augmentation tool """
82
83 acc = ComponentAccumulator()
84
85 from TileGeoModel.TileGMConfig import TileGMCfg
86 acc.merge(TileGMCfg(flags))
87
88 from TileConditions.TileCablingSvcConfig import TileCablingSvcCfg
89 acc.merge(TileCablingSvcCfg(flags))
90
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")
97 # Moved logic of setting WriteDecorHandleKeys to python to make configuration clearer
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"{kwargs['MuonContainer']}.{prefix}elarcone{str(int(x*100))}" for x in kwargs['DeltaRCones']])
114
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)
119
120 kwargs.setdefault('TrackTools', acc.popToolsAndMerge(TCAL1TrackToolsCfg(flags)) )
121
122 kwargs.setdefault('CellsDecorator', acc.popToolsAndMerge(TCAL1TileCellsDecoratorCfg(flags,Prefix=prefix)))
123
124 kwargs.setdefault('TracksInConeTool', CompFactory.xAOD.TrackParticlesInConeTool())
125
126 TileCellsMuonDecorator = CompFactory.DerivationFramework.TileCellsMuonDecorator
127 acc.addPublicTool(TileCellsMuonDecorator(**kwargs), primary = True)
128
129 return acc
130
131

◆ TCAL1TrackToolsCfg()

TCAL1.TCAL1TrackToolsCfg ( flags,
** kwargs )
Configure the TrackTools tool 

Definition at line 9 of file TCAL1.py.

9def TCAL1TrackToolsCfg(flags, **kwargs):
10 """ Configure the TrackTools tool """
11
12 acc = ComponentAccumulator()
13
14 from TrackToCalo.TrackToCaloConfig import ParticleCaloExtensionToolCfg
15 kwargs.setdefault('ParticleCaloExtensionTool', acc.popToolsAndMerge(
16 ParticleCaloExtensionToolCfg(flags)))
17
18 kwargs.setdefault('IsCollision', flags.Beam.Type is BeamType.Collisions)
19
20 TrackTools = CompFactory.TileCal.TrackTools
21 acc.setPrivateTools(TrackTools(**kwargs))
22
23 return acc
24
25