27 """Jet reconstruction needed for PHYS/PHYSLITE"""
29 from JetRecConfig.StandardSmallRJets
import AntiKt4EMTopo_deriv,AntiKt4EMPFlow_deriv,AntiKtVR30Rmax4Rmin02PV0Track
30 from JetRecConfig.StandardLargeRJets
import AntiKt10UFOCSSKSoftDrop_deriv
31 from JetRecConfig.JetRecConfig
import JetRecCfg
33 acc = ComponentAccumulator()
35 jetList = [AntiKt4EMTopo_deriv, AntiKt4EMPFlow_deriv,
36 AntiKtVR30Rmax4Rmin02PV0Track,
37 AntiKt10UFOCSSKSoftDrop_deriv]
40 acc.merge(JetRecCfg(ConfigFlags,jd))
69 """Special rho definitions for PFlow jets"""
70 from JetRecConfig.JetRecConfig
import getInputAlgs,getConstitPJGAlg,reOrderAlgs
71 from JetRecConfig.StandardJetConstits
import stdConstitDic
as cst
72 from JetRecConfig.JetInputConfig
import buildEventShapeAlg
74 acc = ComponentAccumulator()
76 constit_algs = getInputAlgs(cst.GPFlow, flags=ConfigFlags)
77 constit_algs, ca = reOrderAlgs( [a
for a
in constit_algs
if a
is not None])
80 for a
in constit_algs:
84 acc.addEventAlgo(getConstitPJGAlg(cst.GPFlow, suffix=
'Neut'))
85 acc.addEventAlgo(buildEventShapeAlg(cst.GPFlow,
'', suffix =
'Neut' ))
102 """Add event cleaning flags"""
104 acc = ComponentAccumulator()
105 acc.merge(
AddJvtDecorationAlgCfg(ConfigFlags, algName=
"JvtPassDecorAlg_EMTopo", jetContainer=
'AntiKt4EMTopo'))
108 from DerivationFrameworkTau.TauCommonConfig
import AddTauAugmentationCfg
109 acc.merge(AddTauAugmentationCfg(ConfigFlags, wp=
"GNTauLoose"))
110 acc.addSequence(CompFactory.AthSequencer(
'EventCleanSeq', Sequential=
True))
113 from AssociationUtils.AssociationUtilsConfig
import OverlapRemovalToolCfg
114 inputLabel_legacy =
'selected_eventClean_EMTopo'
115 outputLabel_legacy =
'DFCommonJets_passOR_EMTopo'
117 tauLabel =
'DFTauGNTauLoose'
118 orTool_legacy = acc.popToolsAndMerge(OverlapRemovalToolCfg(ConfigFlags,inputLabel=inputLabel_legacy,outputLabel=outputLabel_legacy,bJetLabel=bJetLabel))
119 algOR_legacy = CompFactory.OverlapRemovalGenUseAlg(
'OverlapRemovalGenUseAlg_EMTopo',
120 JetKey=
"AntiKt4EMTopoJets",
121 SelectionLabel=inputLabel_legacy,
122 OverlapLabel=outputLabel_legacy,
123 OverlapRemovalTool=orTool_legacy,
127 acc.addEventAlgo(algOR_legacy)
130 inputLabel =
'selected_eventClean_EMPFlow'
131 outputLabel =
'DFCommonJets_passOR_EMPFlow'
132 orTool = acc.popToolsAndMerge(OverlapRemovalToolCfg(ConfigFlags,inputLabel=inputLabel,outputLabel=outputLabel,bJetLabel=bJetLabel))
133 algOR = CompFactory.OverlapRemovalGenUseAlg(
'OverlapRemovalGenUseAlg',
134 SelectionLabel=inputLabel,
135 OverlapLabel=outputLabel,
136 OverlapRemovalTool=orTool,
139 acc.addEventAlgo(algOR)
141 CommonAugmentation = CompFactory.DerivationFramework.CommonAugmentation
142 from DerivationFrameworkMuons.MuonsToolsConfig
import MuonJetDrToolCfg
143 muonJetDrTool = acc.getPrimaryAndMerge(MuonJetDrToolCfg(ConfigFlags,
"MuonJetDrTool"))
144 acc.addEventAlgo(CommonAugmentation(
"DFCommonMuonsKernel2", AugmentationTools = [muonJetDrTool]))
146 from JetSelectorTools.JetSelectorToolsConfig
import EventCleaningToolCfg,JetCleaningToolCfg
148 supportedWPs = [
'Loose',
'Tight',
'LooseLLP',
'VeryLooseLLP',
'SuperLooseLLP']
149 prefix =
"DFCommonJets_"
150 evt_lvl_suppWPs_PFlow = [
'LooseBad',
'TightBad']
152 for wp
in workingPoints:
153 if wp
not in supportedWPs:
156 cleaningLevel = wp +
'Bad'
159 cleaningLevel = wp.replace(
'LLP',
'BadLLP')
163 for evt_swp
in evt_lvl_suppWPs_PFlow:
164 if evt_swp == cleaningLevel:
169 if 'Loose' in cleaningLevel:
174 jetCleaningTool_legacy = acc.popToolsAndMerge(JetCleaningToolCfg(
175 ConfigFlags,
'JetCleaningTool_'+cleaningLevel+
'_EMTopo',
176 'AntiKt4EMTopoJets', cleaningLevel,
False))
177 acc.addPublicTool(jetCleaningTool_legacy)
178 ecTool_legacy = acc.popToolsAndMerge(EventCleaningToolCfg(
179 ConfigFlags,
'EventCleaningTool_'+wp+
'_EMTopo', cleaningLevel))
180 ecTool_legacy.JetCleanPrefix = prefix
181 ecTool_legacy.OrDecorator =
"passOR_EMTopo"
182 ecTool_legacy.JetContainer =
"AntiKt4EMTopoJets"
183 ecTool_legacy.JetCleaningTool = jetCleaningTool_legacy
184 acc.addPublicTool(ecTool_legacy)
186 eventCleanAlg_legacy = CompFactory.EventCleaningTestAlg(
'EventCleaningTestAlg_'+wp+
'_EMTopo',
187 EventCleaningTool=ecTool_legacy,
188 JetCollectionName=
"AntiKt4EMTopoJets",
189 EventCleanPrefix=prefix,
190 CleaningLevel=cleaningLevel,
192 acc.addEventAlgo(eventCleanAlg_legacy)
196 jetCleaningTool = acc.popToolsAndMerge(JetCleaningToolCfg(
197 ConfigFlags,
'JetCleaningTool_'+cleaningLevel,
198 'AntiKt4EMPFlowJets', cleaningLevel,
False))
199 acc.addPublicTool(jetCleaningTool)
201 ecTool = acc.popToolsAndMerge(EventCleaningToolCfg(ConfigFlags,
'EventCleaningTool_' + wp, cleaningLevel))
202 ecTool.JetCleanPrefix = prefix
203 ecTool.OrDecorator =
"passOR_EMPFlow"
204 ecTool.JetContainer =
"AntiKt4EMPFlowJets"
205 ecTool.JetCleaningTool = jetCleaningTool
206 acc.addPublicTool(ecTool)
208 eventCleanAlg = CompFactory.EventCleaningTestAlg(
'EventCleaningTestAlg_'+wp,
209 EventCleaningTool=ecTool,
210 JetCollectionName=
"AntiKt4EMPFlowJets",
211 EventCleanPrefix=prefix,
212 CleaningLevel=cleaningLevel,
214 acc.addEventAlgo(eventCleanAlg)