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 197 of file JETM12.py.

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

◆ JETM12AugmentationToolsForSkimmingCfg()

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

Definition at line 162 of file JETM12.py.

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

◆ JETM12Cfg()

python.JETM12.JETM12Cfg ( flags)

Definition at line 340 of file JETM12.py.

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

◆ JETM12KernelCfg()

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

Definition at line 231 of file JETM12.py.

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

◆ 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 # Drop FTAG requirement for Run 4 as WPs are not available
38 # Should ultimately be reworked into a precomputed flag with an FTAG tool rather than hardcoding the FTAG discriminant cut
39 if flags.GeoModel.Run >= LHCPeriod.Run4:
40 jetRequirementsTtbar = '(AntiKt4EMPFlowJets.pt > 18*GeV)'
41
42 trackRequirementsNoIso = '(InDetTrackParticles.pt > 10.*GeV && abs(DFCommonInDetTrackZ0AtPV*sin(InDetTrackParticles.theta)) < 5.0*mm )'
43
44 muonsRequirements = '(Muons.pt >= 20.*GeV) && (abs(Muons.eta) < 2.6) && (Muons.DFCommonMuonPassPreselection)'
45 electronsRequirements = '(Electrons.pt > 20.*GeV) && (abs(Electrons.eta) < 2.6) && ((Electrons.Loose) || (Electrons.DFCommonElectronsLHLoose))'
46
47 #String skimming selections
48 expression_W = '( count('+trackRequirements+') >=1 )'
49 expression_Mu = '( count('+trackRequirementsMu+') >=1 )'
50 expression_ttbarEl = '( count('+electronsRequirements+') >=1 ) && ( count('+jetRequirementsTtbar+') >=1 ) && ( count('+trackRequirementsNoIso+') >=2 ) && ( count('+trackRequirements+') >=1 )'
51 expression_ttbarElNoTag = '( count('+electronsRequirements+') >=1 ) && ( count('+trackRequirements+') >=1 )'
52 expression_ttbarMu = '( count('+muonsRequirements+') >=1 ) && ( count('+jetRequirementsTtbar+') >=1 ) && ( count('+trackRequirementsNoIso+') >=2 ) && ( count('+trackRequirements+') >=1 )'
53 expression_ttbarMuNoTag = '( count('+muonsRequirements+') >=1 ) && ( count('+trackRequirements+') >=1 )'
54
55 skimmingTool_W = acc.getPrimaryAndMerge(xAODStringSkimmingToolCfg(
56 flags, name = "skimmingTool_W", expression = expression_W))
57 filterList_W = [skimmingTool_W]
58 skimmingTool_Mu = acc.getPrimaryAndMerge(xAODStringSkimmingToolCfg(
59 flags, name = "skimmingTool_mu", expression = expression_Mu))
60 filterList_Mu = [skimmingTool_Mu]
61
62 # Trigger skimming tools
63 if flags.Trigger.EDMVersion >= 0:
64 JETM12TriggerSkimmingTool_W = (
65 CompFactory.DerivationFramework.TriggerSkimmingTool(
66 name = "JETM12TriggerSkimmingTool_W",
67 TriggerListOR = metTriggers))
68 acc.addPublicTool(JETM12TriggerSkimmingTool_W)
69 filterList_W += [JETM12TriggerSkimmingTool_W]
70
71 JETM12TriggerSkimmingTool_ele = (
72 CompFactory.DerivationFramework.TriggerSkimmingTool(
73 name = "JETM12TriggerSkimmingTool_ele",
74 TriggerListOR = elTriggers))
75 acc.addPublicTool(JETM12TriggerSkimmingTool_ele)
76
77 JETM12TriggerSkimmingTool_mu = (
78 CompFactory.DerivationFramework.TriggerSkimmingTool(
79 name = "JETM12TriggerSkimmingTool_mu",
80 TriggerListOR = muTriggers))
81 acc.addPublicTool(JETM12TriggerSkimmingTool_mu)
82 filterList_Mu += [JETM12TriggerSkimmingTool_mu]
83
84 JETM12SkimmingTool_W = (
85 CompFactory.DerivationFramework.FilterCombinationAND(
86 name="JETM12SkimmingTool_W", FilterList=filterList_W))
87 acc.addPublicTool(JETM12SkimmingTool_W)
88 JETM12SkimmingTool_Mu = (
89 CompFactory.DerivationFramework.FilterCombinationAND(
90 name="JETM12SkimmingTool_Mu", FilterList=filterList_Mu))
91 acc.addPublicTool(JETM12SkimmingTool_Mu)
92
93 finalSkimmingTools = [JETM12SkimmingTool_W,JETM12SkimmingTool_Mu]
94
95 if addTtbarEvents:
96 skimmingTool_ttbarEl = acc.getPrimaryAndMerge(
97 xAODStringSkimmingToolCfg(
98 flags, name = "skimmingTool_ttbarEl",
99 expression = expression_ttbarEl))
100 acc.addPublicTool(skimmingTool_ttbarEl)
101 filterList_ttbarEl = [skimmingTool_ttbarEl]
102
103 skimmingTool_ttbarElNoTag = acc.getPrimaryAndMerge(
104 xAODStringSkimmingToolCfg(
105 flags, name = "skimmingTool_ttbarElNoTag",
106 expression = expression_ttbarElNoTag))
107 acc.addPublicTool(skimmingTool_ttbarElNoTag)
108 filterList_ttbarElNoTag = [skimmingTool_ttbarElNoTag]
109
110 skimmingTool_ttbarMu = acc.getPrimaryAndMerge(
111 xAODStringSkimmingToolCfg(
112 flags, name = "skimmingTool_ttbarMu",
113 expression = expression_ttbarMu))
114 acc.addPublicTool(skimmingTool_ttbarMu)
115 filterList_ttbarMu = [skimmingTool_ttbarMu]
116
117 skimmingTool_ttbarMuNoTag = acc.getPrimaryAndMerge(
118 xAODStringSkimmingToolCfg(
119 flags, name = "skimmingTool_ttbarMuNoTag",
120 expression = expression_ttbarMuNoTag))
121 acc.addPublicTool(skimmingTool_ttbarMuNoTag)
122 filterList_ttbarMuNoTag = [skimmingTool_ttbarMuNoTag]
123
124 if flags.Trigger.EDMVersion >= 0:
125 filterList_ttbarEl += [JETM12TriggerSkimmingTool_ele]
126 filterList_ttbarElNoTag += [JETM12TriggerSkimmingTool_ele]
127 filterList_ttbarMu += [JETM12TriggerSkimmingTool_mu]
128 filterList_ttbarMuNoTag += [JETM12TriggerSkimmingTool_mu]
129
130 JETM12SkimmingTool_ttbarEl = (
131 CompFactory.DerivationFramework.FilterCombinationAND(
132 name="JETM12SkimmingTool_ttbarEl",
133 FilterList=filterList_ttbarEl))
134 acc.addPublicTool(JETM12SkimmingTool_ttbarEl)
135 JETM12SkimmingTool_ttbarElNoTag = (
136 CompFactory.DerivationFramework.FilterCombinationAND(
137 name="JETM12SkimmingTool_ttbarElNoTag",
138 FilterList=filterList_ttbarElNoTag))
139 acc.addPublicTool(JETM12SkimmingTool_ttbarElNoTag)
140 JETM12SkimmingTool_ttbarMu = (
141 CompFactory.DerivationFramework.FilterCombinationAND(
142 name="JETM12SkimmingTool_ttbarMu",
143 FilterList=filterList_ttbarMu))
144 acc.addPublicTool(JETM12SkimmingTool_ttbarMu)
145 JETM12SkimmingTool_ttbarMuNoTag = (
146 CompFactory.DerivationFramework.FilterCombinationAND(
147 name="JETM12SkimmingTool_ttbarMuNoTag",
148 FilterList=filterList_ttbarMuNoTag))
149 acc.addPublicTool(JETM12SkimmingTool_ttbarMuNoTag)
150
151 finalSkimmingTools = [
152 JETM12SkimmingTool_W, JETM12SkimmingTool_Mu,
153 JETM12SkimmingTool_ttbarEl, JETM12SkimmingTool_ttbarMu,
154 JETM12SkimmingTool_ttbarElNoTag, JETM12SkimmingTool_ttbarMuNoTag]
155
156 JETM12SkimmingTool = CompFactory.DerivationFramework.FilterCombinationOR(
157 name="JETM12SkimmingTool", FilterList=finalSkimmingTools)
158 acc.addPublicTool(JETM12SkimmingTool, primary = True)
159
160 return(acc)
161