16def DRAW_JETKernelCfg(flags, name='DRAW_JETKernel', **kwargs):
17 """Configure DRAW_JET kernel"""
18
19 mlog = logging.getLogger(name)
20 mlog.info('Start configuration')
21
22 acc = ComponentAccumulator()
23 acc.addSequence(seqAND('DRAW_JETSequence'))
24
25
26 augmentationTools = []
27
28
29
30 filterList = []
31 if flags.Trigger.EDMVersion >=0:
32 triggerSkimmingTool = CompFactory.DerivationFramework.TriggerSkimmingTool(
33 name = "JET_TriggerSkimmingTool",
34 TriggerListOR = ["HLT_j85_L1J20",
35 "HLT_j85_a10t_lcw_nojcalib_L120",
36 "HLT_j60f_L1J20p31ETA49"] )
37 acc.addPublicTool(triggerSkimmingTool)
38 filterList += [triggerSkimmingTool]
39
40
41 forward_jet_selection = "(AntiKt4EMPFlowJets.pt > 75.0*GeV) && (abs(AntiKt4EMPFlowJets.eta) >= 3.2)"
42 expression = "count(" + forward_jet_selection + ") >= 1"
43 from DerivationFrameworkTools.DerivationFrameworkToolsConfig import (
44 xAODStringSkimmingToolCfg)
45 stringSkimmingTool = acc.getPrimaryAndMerge(xAODStringSkimmingToolCfg(
46 flags, name='JET_stringSkimmingTool', expression = expression))
47 filterList += [stringSkimmingTool]
48
49
50 combTool = CompFactory.DerivationFramework.FilterCombinationOR(
51 name="jetSkim", FilterList=filterList)
52 acc.addPublicTool(combTool,primary = True)
53
54
55 DRAW_JETKernel = CompFactory.DerivationFramework.DerivationKernel(
56 name='DRAW_JETKernel',
57 doChronoStat=(flags.Concurrency.NumThreads <= 1),
58 AugmentationTools=augmentationTools,
59 SkimmingTools=[combTool])
60
61 acc.addEventAlgo(DRAW_JETKernel, sequenceName='DRAW_JETSequence')
62 return acc
63
64