ATLAS Offline Software
Loading...
Searching...
No Matches
python.JETM12 Namespace Reference

Functions

 JETM12SkimmingToolCfg (flags)
 JETM12AugmentationToolsForSkimmingCfg (flags)
 JETM12AugmentationToolsCfg (flags)
 JETM12KernelCfg (flags, name='JETM12Kernel', **kwargs)
 JETM12Cfg (flags)

Function Documentation

◆ JETM12AugmentationToolsCfg()

python.JETM12.JETM12AugmentationToolsCfg ( flags)
Configure the augmentation tool

Definition at line 192 of file JETM12.py.

192def JETM12AugmentationToolsCfg(flags):
193 """Configure the augmentation tool"""
194 acc = ComponentAccumulator()
195
196 toolkwargs = {}
197 # Loose tracks with pT > 500 MeV
198 from InDetConfig.InDetTrackSelectionToolConfig import InDetTrackSelectionTool_Loose_Cfg
199 toolkwargs["TrackSelectionTool"] = acc.popToolsAndMerge(InDetTrackSelectionTool_Loose_Cfg(flags,
200 name = "TrackSelectionTool500_JETM12",
201 minPt = 500.))
202 #Nonprompt_All_MaxWeight TTVA
203 from TrackVertexAssociationTool.TrackVertexAssociationToolConfig import isoTTVAToolCfg
204 toolkwargs['TTVATool'] = acc.popToolsAndMerge(isoTTVAToolCfg(flags))
205
206 toolkwargs["name"] = "TrackIsolationToolPt500"
207 TrackIsoTool = CompFactory.xAOD.TrackIsolationTool(**toolkwargs)
208 acc.addPublicTool(TrackIsoTool)
209
210 from xAODPrimitives.xAODIso import xAODIso as isoPar
211 from DerivationFrameworkInDet.InDetToolsConfig import IsolationTrackDecoratorCfg
212 Pt500IsoTrackDecorator = acc.getPrimaryAndMerge(IsolationTrackDecoratorCfg(flags,
213 name = "Pt500IsoTrackDecorator",
214 TrackIsolationTool = TrackIsoTool,
215 TargetContainer = "InDetTrackParticles",
216 iso = [isoPar.ptcone40, isoPar.ptcone30, isoPar.ptcone20],
217 isoSuffix = ["ptcone40", "ptcone30", "ptcone20"],
218 Prefix = "TrkIsoPt500_"))
219
220 acc.addPublicTool(Pt500IsoTrackDecorator, primary=True)
221
222 return(acc)
223
224# Main algorithm config

◆ JETM12AugmentationToolsForSkimmingCfg()

python.JETM12.JETM12AugmentationToolsForSkimmingCfg ( flags)
Configure the augmentation tool for skimming

Definition at line 158 of file JETM12.py.

158def JETM12AugmentationToolsForSkimmingCfg(flags):
159 """Configure the augmentation tool for skimming"""
160 acc = ComponentAccumulator()
161
162 # Loose tracks with pT > 1000 MeV and Nonprompt_All_MaxWeight TTVA
163 toolkwargs = {}
164 from InDetConfig.InDetTrackSelectionToolConfig import InDetTrackSelectionTool_Loose_Cfg
165 toolkwargs["TrackSelectionTool"] = acc.popToolsAndMerge(InDetTrackSelectionTool_Loose_Cfg(flags,
166 name = "TrackSelectionTool1000_JETM12",
167 minPt = 1000.))
168
169 #Nonprompt_All_MaxWeight TTVA
170 from TrackVertexAssociationTool.TrackVertexAssociationToolConfig import isoTTVAToolCfg
171 toolkwargs['TTVATool'] = acc.popToolsAndMerge(isoTTVAToolCfg(flags))
172
173 toolkwargs["name"] = "TrackIsolationToolPt1000"
174 TrackIsoTool = CompFactory.xAOD.TrackIsolationTool(**toolkwargs)
175 acc.addPublicTool(TrackIsoTool)
176
177 from xAODPrimitives.xAODIso import xAODIso as isoPar
178
179 from DerivationFrameworkInDet.InDetToolsConfig import IsolationTrackDecoratorCfg
180 Pt1000IsoTrackDecorator = acc.getPrimaryAndMerge(IsolationTrackDecoratorCfg(flags,
181 name = "Pt1000IsoTrackDecorator",
182 TrackIsolationTool = TrackIsoTool,
183 TargetContainer = "InDetTrackParticles",
184 iso = [isoPar.ptcone40, isoPar.ptcone30, isoPar.ptcone20],
185 isoSuffix = ["ptcone40", "ptcone30", "ptcone20"],
186 Prefix = "TrkIsoPt1000_"))
187
188 acc.addPublicTool(Pt1000IsoTrackDecorator, primary=True)
189
190 return(acc)
191

◆ JETM12Cfg()

python.JETM12.JETM12Cfg ( flags)

Definition at line 334 of file JETM12.py.

334def JETM12Cfg(flags):
335
336 acc = ComponentAccumulator()
337
338 # Get the lists of triggers needed for trigger matching.
339 # This is needed at this scope (for the slimming) and further down in the config chain
340 # for actually configuring the matching, so we create it here and pass it down
341 # TODO: this should ideally be called higher up to avoid it being run multiple times in a train
342 from DerivationFrameworkPhys.TriggerListsHelper import TriggerListsHelper
343 JETM12TriggerListsHelper = TriggerListsHelper(flags)
344
345 # Skimming, thinning, augmentation, extra content
346 acc.merge(JETM12KernelCfg(flags, name="JETM12Kernel", PreselectionName="JETM12PreselectionKernel", StreamName = 'StreamDAOD_JETM12', TriggerListsHelper = JETM12TriggerListsHelper))
347
348 # ============================
349 # Define contents of the format
350 # =============================
351 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
352 from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
353 from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
354
355 JETM12SlimmingHelper = SlimmingHelper("JETM12SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
356
357 JETM12SlimmingHelper.SmartCollections = ["EventInfo",
358 "Electrons", "Photons", "Muons", "TauJets",
359 "InDetTrackParticles", "PrimaryVertices",
360 "MET_Baseline_AntiKt4EMPFlow",
361 "AntiKt4EMPFlowJets"]
362
363 JETM12SlimmingHelper.AllVariables = ["MuonSegments","InDetTrackParticles",
364 "Kt4EMTopoOriginEventShape","Kt4EMPFlowEventShape","CaloCalTopoClusters"]
365
366 JETM12SlimmingHelper.ExtraVariables = ["InDetTrackParticles.TrkIsoPt1000_ptcone40.TrkIsoPt1000_ptcone30.TrkIsoPt1000_ptcone20.TrkIsoPt500_ptcone40.TrkIsoPt500_ptcone30.TrkIsoPt500_ptcone20"]
367
368 if flags.Input.isMC:
369 from DerivationFrameworkMCTruth.MCTruthCommonConfig import addTruth3ContentToSlimmerTool
370 addTruth3ContentToSlimmerTool(JETM12SlimmingHelper)
371
372 JETM12SlimmingHelper.AppendToDictionary.update({'TruthParticles': 'xAOD::TruthParticleContainer',
373 'TruthParticlesAux': 'xAOD::TruthParticleAuxContainer'})
374
375 JETM12SlimmingHelper.SmartCollections += ["AntiKt4TruthJets"]
376 JETM12SlimmingHelper.AllVariables += ["MuonTruthParticles", "TruthParticles", "TruthVertices"]
377
378 # Trigger content
379 JETM12SlimmingHelper.IncludeTriggerNavigation = False
380 JETM12SlimmingHelper.IncludeJetTriggerContent = False
381 JETM12SlimmingHelper.IncludeMuonTriggerContent = False
382 JETM12SlimmingHelper.IncludeEGammaTriggerContent = False
383 JETM12SlimmingHelper.IncludeTauTriggerContent = False
384 JETM12SlimmingHelper.IncludeEtMissTriggerContent = False
385 JETM12SlimmingHelper.IncludeBJetTriggerContent = False
386 JETM12SlimmingHelper.IncludeBPhysTriggerContent = False
387 JETM12SlimmingHelper.IncludeMinBiasTriggerContent = False
388
389 # Output stream
390 JETM12ItemList = JETM12SlimmingHelper.GetItemList()
391 acc.merge(OutputStreamCfg(flags, "DAOD_JETM12", ItemList=JETM12ItemList, AcceptAlgs=["JETM12Kernel"]))
392 acc.merge(SetupMetaDataForStreamCfg(flags, "DAOD_JETM12", AcceptAlgs=["JETM12Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))
393
394 return acc
395

◆ JETM12KernelCfg()

python.JETM12.JETM12KernelCfg ( flags,
name = 'JETM12Kernel',
** kwargs )
Configure the derivation framework driving algorithm (kernel) for JETM12

Definition at line 225 of file JETM12.py.

225def JETM12KernelCfg(flags, name='JETM12Kernel', **kwargs):
226 """Configure the derivation framework driving algorithm (kernel) for JETM12"""
227 acc = ComponentAccumulator()
228
229 # Common augmentations
230 from DerivationFrameworkPhys.PhysCommonConfig import PhysCommonAugmentationsCfg
231 acc.merge(PhysCommonAugmentationsCfg(flags, TriggerListsHelper = kwargs['TriggerListsHelper']))
232
233 #Pre-selection kernel
234 from AthenaCommon.CFElements import seqAND
235 acc.addSequence( seqAND("JETM12Sequence") )
236 DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
237 skimmingTool = acc.getPrimaryAndMerge(JETM12SkimmingToolCfg(flags))
238 augmentationToolSkim = acc.getPrimaryAndMerge(JETM12AugmentationToolsForSkimmingCfg(flags))
239 skimmingKernel = DerivationKernel(kwargs["PreselectionName"], SkimmingTools = [skimmingTool], AugmentationTools = [augmentationToolSkim])
240 acc.addEventAlgo( skimmingKernel, sequenceName="JETM12Sequence" )
241
242 # Thinning tools...
243 from DerivationFrameworkInDet.InDetToolsConfig import TrackParticleThinningCfg, MuonTrackParticleThinningCfg, EgammaTrackParticleThinningCfg, TauTrackParticleThinningCfg
244
245 # Increased cut (w.r.t. R21) on abs(z0) for new TTVA working points
246 JETM12_thinning_expression = "( InDetTrackParticles.pt > 6*GeV && InDetTrackParticles.DFCommonTightPrimary && abs(DFCommonInDetTrackZ0AtPV*sin(InDetTrackParticles.theta)) < 5.0*mm )"
247 JETM12TrackParticleThinningTool = acc.getPrimaryAndMerge(TrackParticleThinningCfg(
248 flags,
249 name = "JETM12TrackParticleThinningTool",
250 StreamName = kwargs['StreamName'],
251 SelectionString = JETM12_thinning_expression,
252 InDetTrackParticlesKey = "InDetTrackParticles"))
253
254 # Include inner detector tracks associated with muons
255 JETM12MuonTPThinningTool = acc.getPrimaryAndMerge(MuonTrackParticleThinningCfg(
256 flags,
257 name = "JETM12MuonTPThinningTool",
258 StreamName = kwargs['StreamName'],
259 MuonKey = "Muons",
260 InDetTrackParticlesKey = "InDetTrackParticles"))
261
262 # Include inner detector tracks associated with electonrs
263 JETM12ElectronTPThinningTool = acc.getPrimaryAndMerge(EgammaTrackParticleThinningCfg(
264 flags,
265 name = "JETM12ElectronTPThinningTool",
266 StreamName = kwargs['StreamName'],
267 SGKey = "Electrons",
268 InDetTrackParticlesKey = "InDetTrackParticles"))
269
270 # Include inner detector tracks associated with photons
271 JETM12PhotonTPThinningTool = acc.getPrimaryAndMerge(EgammaTrackParticleThinningCfg(
272 flags,
273 name = "JETM12PhotonTPThinningTool",
274 StreamName = kwargs['StreamName'],
275 SGKey = "Photons",
276 InDetTrackParticlesKey = "InDetTrackParticles",
277 GSFConversionVerticesKey = "GSFConversionVertices"))
278
279 # Include inner detector tracks associated with taus
280 JETM12TauTPThinningTool = acc.getPrimaryAndMerge(TauTrackParticleThinningCfg(
281 flags,
282 name = "JETM12TauTPThinningTool",
283 StreamName = kwargs['StreamName'],
284 TauKey = "TauJets",
285 InDetTrackParticlesKey = "InDetTrackParticles",
286 DoTauTracksThinning = True,
287 TauTracksKey = "TauTracks"))
288
289 thinningTools = [JETM12TrackParticleThinningTool,
290 JETM12MuonTPThinningTool,
291 JETM12ElectronTPThinningTool,
292 JETM12PhotonTPThinningTool,
293 JETM12TauTPThinningTool]
294
295 #CaloClusterThinning
296 from DerivationFrameworkCalo.DerivationFrameworkCaloConfig import CaloClusterThinningCfg
297 selectionString = "( InDetTrackParticles.pt > 6*GeV && InDetTrackParticles.DFCommonTightPrimary && abs(DFCommonInDetTrackZ0AtPV*sin(InDetTrackParticles.theta)) < 5.0*mm )"
298 JETM12CaloThinningTool = acc.getPrimaryAndMerge(CaloClusterThinningCfg(flags,
299 name = "JETM12CaloClusterThinning",
300 StreamName = kwargs['StreamName'],
301 SGKey = "InDetTrackParticles",
302 TopoClCollectionSGKey = "CaloCalTopoClusters",
303 SelectionString = selectionString,
304 ConeSize = 0.6))
305 acc.addPublicTool(JETM12CaloThinningTool)
306 thinningTools.append(JETM12CaloThinningTool)
307
308 if flags.Input.isMC:
309 truth_cond_status = "( (TruthParticles.isGenStable) && (TruthParticles.pt > 8*GeV) )" # high pt pions for E/p
310 truth_cond_Lepton = "((abs(TruthParticles.pdgId) >= 11) && (abs(TruthParticles.pdgId) <= 16) && !(TruthParticles.isSimulationParticle))" # Leptons
311 truth_expression = '('+truth_cond_status+' || '+truth_cond_Lepton +')'
312
313 JETM12TruthThinningTool = CompFactory.DerivationFramework.GenericTruthThinning(name = "JETM12TruthThinningTool",
314 StreamName = kwargs['StreamName'],
315 ParticleSelectionString = truth_expression,
316 PreserveDescendants = False,
317 PreserveGeneratorDescendants = True,
318 PreserveAncestors = False)
319
320 acc.addPublicTool(JETM12TruthThinningTool)
321 thinningTools.append(JETM12TruthThinningTool)
322
323 # augmentation tool
324 augmentationTool = acc.getPrimaryAndMerge(JETM12AugmentationToolsCfg(flags))
325
326 # Main kernel
327 acc.addEventAlgo(DerivationKernel(name,
328 ThinningTools = thinningTools,
329 AugmentationTools = [augmentationTool]),
330 sequenceName="JETM12Sequence")
331
332 return acc
333

◆ JETM12SkimmingToolCfg()

python.JETM12.JETM12SkimmingToolCfg ( flags)
Configure the skimming tool

Definition at line 11 of file JETM12.py.

11def JETM12SkimmingToolCfg(flags):
12 """Configure the skimming tool"""
13 acc = ComponentAccumulator()
14
15 from DerivationFrameworkJetEtMiss import TriggerLists
16 metTriggers = TriggerLists.MET_Trig(flags)
17 elTriggers = TriggerLists.single_el_Trig(flags)
18 muTriggers = TriggerLists.single_mu_Trig(flags)
19
20 addTtbarEvents = True
21 if not flags.Input.isMC:
22 # Check if the solenoid was turned on to define skimming
23 from CoolConvUtilities.MagFieldUtils import getFieldForRun
24 magfield=getFieldForRun(flags.Input.RunNumbers[0],lumiblock=flags.Input.LumiBlockNumbers[0])
25 addTtbarEvents = magfield.solenoidCurrent() > 0
26
27
28 #xAODStringSkimmingTool cannot handle electron trigger names, therefore need to use TriggerSkimmingTool
29 from DerivationFrameworkTools.DerivationFrameworkToolsConfig import (
30 xAODStringSkimmingToolCfg)
31
32 tracks = 'InDetTrackParticles.TrkIsoPt1000_ptcone20 < 0.12*InDetTrackParticles.pt && InDetTrackParticles.DFCommonTightPrimary && abs(DFCommonInDetTrackZ0AtPV*sin(InDetTrackParticles.theta)) < 5.0*mm'
33
34 trackRequirements = '(InDetTrackParticles.pt > 6.*GeV && '+tracks+' )'
35 trackRequirementsMu = '(InDetTrackParticles.pt > 40.*GeV && '+tracks+' )'
36 jetRequirementsTtbar = '(AntiKt4EMPFlowJets.pt > 18*GeV && log(AntiKt4EMPFlowJets.GN2v01_pb/(0.2*AntiKt4EMPFlowJets.GN2v01_pc + (1.-0.2-0.01)*AntiKt4EMPFlowJets.GN2v01_pu + 0.01*AntiKt4EMPFlowJets.GN2v01_ptau))>=0.844)'
37
38 trackRequirementsNoIso = '(InDetTrackParticles.pt > 10.*GeV && abs(DFCommonInDetTrackZ0AtPV*sin(InDetTrackParticles.theta)) < 5.0*mm )'
39
40 muonsRequirements = '(Muons.pt >= 20.*GeV) && (abs(Muons.eta) < 2.6) && (Muons.DFCommonMuonPassPreselection)'
41 electronsRequirements = '(Electrons.pt > 20.*GeV) && (abs(Electrons.eta) < 2.6) && ((Electrons.Loose) || (Electrons.DFCommonElectronsLHLoose))'
42
43 #String skimming selections
44 expression_W = '( count('+trackRequirements+') >=1 )'
45 expression_Mu = '( count('+trackRequirementsMu+') >=1 )'
46 expression_ttbarEl = '( count('+electronsRequirements+') >=1 ) && ( count('+jetRequirementsTtbar+') >=1 ) && ( count('+trackRequirementsNoIso+') >=2 ) && ( count('+trackRequirements+') >=1 )'
47 expression_ttbarElNoTag = '( count('+electronsRequirements+') >=1 ) && ( count('+trackRequirements+') >=1 )'
48 expression_ttbarMu = '( count('+muonsRequirements+') >=1 ) && ( count('+jetRequirementsTtbar+') >=1 ) && ( count('+trackRequirementsNoIso+') >=2 ) && ( count('+trackRequirements+') >=1 )'
49 expression_ttbarMuNoTag = '( count('+muonsRequirements+') >=1 ) && ( count('+trackRequirements+') >=1 )'
50
51 skimmingTool_W = acc.getPrimaryAndMerge(xAODStringSkimmingToolCfg(
52 flags, name = "skimmingTool_W", expression = expression_W))
53 filterList_W = [skimmingTool_W]
54 skimmingTool_Mu = acc.getPrimaryAndMerge(xAODStringSkimmingToolCfg(
55 flags, name = "skimmingTool_mu", expression = expression_Mu))
56 filterList_Mu = [skimmingTool_Mu]
57
58 # Trigger skimming tools
59 if flags.Trigger.EDMVersion >= 0:
60 JETM12TriggerSkimmingTool_W = (
61 CompFactory.DerivationFramework.TriggerSkimmingTool(
62 name = "JETM12TriggerSkimmingTool_W",
63 TriggerListOR = metTriggers))
64 acc.addPublicTool(JETM12TriggerSkimmingTool_W)
65 filterList_W += [JETM12TriggerSkimmingTool_W]
66
67 JETM12TriggerSkimmingTool_ele = (
68 CompFactory.DerivationFramework.TriggerSkimmingTool(
69 name = "JETM12TriggerSkimmingTool_ele",
70 TriggerListOR = elTriggers))
71 acc.addPublicTool(JETM12TriggerSkimmingTool_ele)
72
73 JETM12TriggerSkimmingTool_mu = (
74 CompFactory.DerivationFramework.TriggerSkimmingTool(
75 name = "JETM12TriggerSkimmingTool_mu",
76 TriggerListOR = muTriggers))
77 acc.addPublicTool(JETM12TriggerSkimmingTool_mu)
78 filterList_Mu += [JETM12TriggerSkimmingTool_mu]
79
80 JETM12SkimmingTool_W = (
81 CompFactory.DerivationFramework.FilterCombinationAND(
82 name="JETM12SkimmingTool_W", FilterList=filterList_W))
83 acc.addPublicTool(JETM12SkimmingTool_W)
84 JETM12SkimmingTool_Mu = (
85 CompFactory.DerivationFramework.FilterCombinationAND(
86 name="JETM12SkimmingTool_Mu", FilterList=filterList_Mu))
87 acc.addPublicTool(JETM12SkimmingTool_Mu)
88
89 finalSkimmingTools = [JETM12SkimmingTool_W,JETM12SkimmingTool_Mu]
90
91 if addTtbarEvents:
92 skimmingTool_ttbarEl = acc.getPrimaryAndMerge(
93 xAODStringSkimmingToolCfg(
94 flags, name = "skimmingTool_ttbarEl",
95 expression = expression_ttbarEl))
96 acc.addPublicTool(skimmingTool_ttbarEl)
97 filterList_ttbarEl = [skimmingTool_ttbarEl]
98
99 skimmingTool_ttbarElNoTag = acc.getPrimaryAndMerge(
100 xAODStringSkimmingToolCfg(
101 flags, name = "skimmingTool_ttbarElNoTag",
102 expression = expression_ttbarElNoTag))
103 acc.addPublicTool(skimmingTool_ttbarElNoTag)
104 filterList_ttbarElNoTag = [skimmingTool_ttbarElNoTag]
105
106 skimmingTool_ttbarMu = acc.getPrimaryAndMerge(
107 xAODStringSkimmingToolCfg(
108 flags, name = "skimmingTool_ttbarMu",
109 expression = expression_ttbarMu))
110 acc.addPublicTool(skimmingTool_ttbarMu)
111 filterList_ttbarMu = [skimmingTool_ttbarMu]
112
113 skimmingTool_ttbarMuNoTag = acc.getPrimaryAndMerge(
114 xAODStringSkimmingToolCfg(
115 flags, name = "skimmingTool_ttbarMuNoTag",
116 expression = expression_ttbarMuNoTag))
117 acc.addPublicTool(skimmingTool_ttbarMuNoTag)
118 filterList_ttbarMuNoTag = [skimmingTool_ttbarMuNoTag]
119
120 if flags.Trigger.EDMVersion >= 0:
121 filterList_ttbarEl += [JETM12TriggerSkimmingTool_ele]
122 filterList_ttbarElNoTag += [JETM12TriggerSkimmingTool_ele]
123 filterList_ttbarMu += [JETM12TriggerSkimmingTool_mu]
124 filterList_ttbarMuNoTag += [JETM12TriggerSkimmingTool_mu]
125
126 JETM12SkimmingTool_ttbarEl = (
127 CompFactory.DerivationFramework.FilterCombinationAND(
128 name="JETM12SkimmingTool_ttbarEl",
129 FilterList=filterList_ttbarEl))
130 acc.addPublicTool(JETM12SkimmingTool_ttbarEl)
131 JETM12SkimmingTool_ttbarElNoTag = (
132 CompFactory.DerivationFramework.FilterCombinationAND(
133 name="JETM12SkimmingTool_ttbarElNoTag",
134 FilterList=filterList_ttbarElNoTag))
135 acc.addPublicTool(JETM12SkimmingTool_ttbarElNoTag)
136 JETM12SkimmingTool_ttbarMu = (
137 CompFactory.DerivationFramework.FilterCombinationAND(
138 name="JETM12SkimmingTool_ttbarMu",
139 FilterList=filterList_ttbarMu))
140 acc.addPublicTool(JETM12SkimmingTool_ttbarMu)
141 JETM12SkimmingTool_ttbarMuNoTag = (
142 CompFactory.DerivationFramework.FilterCombinationAND(
143 name="JETM12SkimmingTool_ttbarMuNoTag",
144 FilterList=filterList_ttbarMuNoTag))
145 acc.addPublicTool(JETM12SkimmingTool_ttbarMuNoTag)
146
147 finalSkimmingTools = [
148 JETM12SkimmingTool_W, JETM12SkimmingTool_Mu,
149 JETM12SkimmingTool_ttbarEl, JETM12SkimmingTool_ttbarMu,
150 JETM12SkimmingTool_ttbarElNoTag, JETM12SkimmingTool_ttbarMuNoTag]
151
152 JETM12SkimmingTool = CompFactory.DerivationFramework.FilterCombinationOR(
153 name="JETM12SkimmingTool", FilterList=finalSkimmingTools)
154 acc.addPublicTool(JETM12SkimmingTool, primary = True)
155
156 return(acc)
157