Skiming.
11def HION12SkimmingToolCfg(flags):
12 """Configure the example skimming tool"""
13 acc = ComponentAccumulator()
14
15 ExtraData = []
16 ExtraData += ['xAOD::VertexContainer/PrimaryVertices']
17 if (flags.Input.ProjectName == "data15_hi" or flags.Input.ProjectName == "data18_hi"):
18 ExtraData += ['xAOD::JetContainer/AntiKt4EMTopoJets']
19 ExtraData += ['xAOD::JetContainer/AntiKt4LCTopoJets']
20 ExtraData += ['xAOD::JetContainer/AntiKt4EMPFlowJets']
21 ExtraData += ['xAOD::JetContainer/AntiKt4HIJets']
22 ExtraData += ['xAOD::JetContainer/AntiKt4HITrackJets']
23 ExtraData += ['xAOD::JetContainer/AntiKt10LCTopoJets']
24
25 acc.addSequence( seqAND("HION12Sequence") )
26 acc.getSequence("HION12Sequence").ExtraDataForDynamicConsumers = ExtraData
27 acc.getSequence("HION12Sequence").ProcessDynamicDataDependencies = True
28
29
30 from DerivationFrameworkHI import ListTriggers
31
32 objectSelection = '(count(PrimaryVertices.z < 1000) < 10)'
33 nJetCuts = ListTriggers.GetHION12nJetCuts(flags.Input.ProjectName)
34 triggers = ListTriggers.GetHION12Triggers(flags.Input.ProjectName)
35 filterList = []
36
37 expression = '('+objectSelection+ ' && ' + '(' + ' || '.join(nJetCuts) + ')' + ')'
38
39 from DerivationFrameworkTools.DerivationFrameworkToolsConfig import (
40 xAODStringSkimmingToolCfg)
41 HION12StringSkimmingTool = acc.addPublicTool(acc.getPrimaryAndMerge(
42 xAODStringSkimmingToolCfg(flags, name = "HION12StringSkimmingTool",
43 expression = expression)))
44 filterList += [HION12StringSkimmingTool]
45
46 HION12TriggerSkimmingTool = CompFactory.DerivationFramework.TriggerSkimmingTool(
47 name = "HION12TriggerSkimmingTool", TriggerListOR = triggers)
48 acc.addPublicTool(HION12TriggerSkimmingTool)
49 filterList += [HION12TriggerSkimmingTool]
50
51 HION12SkimmingTool = CompFactory.DerivationFramework.FilterCombinationAND(
52 name="HION12SkimmingTool", FilterList=filterList)
53 acc.addPublicTool(HION12SkimmingTool, primary = True)
54
55 return(acc)
56
57