27 """Jet reconstruction needed for PHYS/PHYSLITE"""
29 from JetRecConfig.StandardSmallRJets
import AntiKt4EMTopo,AntiKt4EMPFlow,AntiKtVR30Rmax4Rmin02PV0Track
30 from JetRecConfig.StandardLargeRJets
import AntiKt10UFOCSSKSoftDrop
31 from JetRecConfig.JetRecConfig
import JetRecCfg
33 acc = ComponentAccumulator()
35 AntiKt4EMTopo_deriv = AntiKt4EMTopo.clone(
36 modifiers = AntiKt4EMTopo.modifiers+(
"JetPtAssociation",
"QGTagging")
39 AntiKt4EMPFlow_deriv = AntiKt4EMPFlow.clone(
40 ghostdefs = AntiKt4EMPFlow.ghostdefs+[
"UnAssocMuonSegment"],
41 modifiers = AntiKt4EMPFlow.modifiers+(
"JetPtAssociation",
"QGTagging",
"fJVT",
"NNJVT",
"CaloEnergiesClus",
"JetPileupLabel",
"qgtransformer")
44 AntiKt10UFOCSSKSoftDrop_deriv = AntiKt10UFOCSSKSoftDrop.clone(
45 modifiers = AntiKt10UFOCSSKSoftDrop.modifiers+(
"toptransformer",
"wtransformer",
"wtransformer_massdec")
48 jetList = [AntiKt4EMTopo_deriv, AntiKt4EMPFlow_deriv,
49 AntiKtVR30Rmax4Rmin02PV0Track,
50 AntiKt10UFOCSSKSoftDrop_deriv]
53 acc.merge(JetRecCfg(ConfigFlags,jd))
82 """Special rho definitions for PFlow jets"""
83 from JetRecConfig.JetRecConfig
import getInputAlgs,getConstitPJGAlg,reOrderAlgs
84 from JetRecConfig.StandardJetConstits
import stdConstitDic
as cst
85 from JetRecConfig.JetInputConfig
import buildEventShapeAlg
87 acc = ComponentAccumulator()
89 constit_algs = getInputAlgs(cst.GPFlow, flags=ConfigFlags)
90 constit_algs, ca = reOrderAlgs( [a
for a
in constit_algs
if a
is not None])
93 for a
in constit_algs:
97 acc.addEventAlgo(getConstitPJGAlg(cst.GPFlow, suffix=
'Neut'))
98 acc.addEventAlgo(buildEventShapeAlg(cst.GPFlow,
'', suffix =
'Neut' ))
115 """Add event cleaning flags"""
117 acc = ComponentAccumulator()
118 acc.merge(
AddJvtDecorationAlgCfg(ConfigFlags, algName=
"JvtPassDecorAlg_EMTopo", jetContainer=
'AntiKt4EMTopo'))
121 from DerivationFrameworkTau.TauCommonConfig
import AddTauAugmentationCfg
122 acc.merge(AddTauAugmentationCfg(ConfigFlags, wp=
"GNTauLoose"))
123 acc.addSequence(CompFactory.AthSequencer(
'EventCleanSeq', Sequential=
True))
126 from AssociationUtils.AssociationUtilsConfig
import OverlapRemovalToolCfg
127 inputLabel_legacy =
'selected_eventClean_EMTopo'
128 outputLabel_legacy =
'DFCommonJets_passOR_EMTopo'
130 tauLabel =
'DFTauGNTauLoose'
131 orTool_legacy = acc.popToolsAndMerge(OverlapRemovalToolCfg(ConfigFlags,inputLabel=inputLabel_legacy,outputLabel=outputLabel_legacy,bJetLabel=bJetLabel))
132 algOR_legacy = CompFactory.OverlapRemovalGenUseAlg(
'OverlapRemovalGenUseAlg_EMTopo',
133 JetKey=
"AntiKt4EMTopoJets",
134 SelectionLabel=inputLabel_legacy,
135 OverlapLabel=outputLabel_legacy,
136 OverlapRemovalTool=orTool_legacy,
140 acc.addEventAlgo(algOR_legacy,
'EventCleanSeq')
143 inputLabel =
'selected_eventClean_EMPFlow'
144 outputLabel =
'DFCommonJets_passOR_EMPFlow'
145 orTool = acc.popToolsAndMerge(OverlapRemovalToolCfg(ConfigFlags,inputLabel=inputLabel,outputLabel=outputLabel,bJetLabel=bJetLabel))
146 algOR = CompFactory.OverlapRemovalGenUseAlg(
'OverlapRemovalGenUseAlg',
147 SelectionLabel=inputLabel,
148 OverlapLabel=outputLabel,
149 OverlapRemovalTool=orTool,
152 acc.addEventAlgo(algOR,
'EventCleanSeq')
154 CommonAugmentation = CompFactory.DerivationFramework.CommonAugmentation
155 from DerivationFrameworkMuons.MuonsToolsConfig
import MuonJetDrToolCfg
156 muonJetDrTool = acc.getPrimaryAndMerge(MuonJetDrToolCfg(ConfigFlags,
"MuonJetDrTool"))
157 acc.addEventAlgo(CommonAugmentation(
"DFCommonMuonsKernel2", AugmentationTools = [muonJetDrTool]),
'EventCleanSeq')
159 from JetSelectorTools.JetSelectorToolsConfig
import EventCleaningToolCfg,JetCleaningToolCfg
161 supportedWPs = [
'Loose',
'Tight',
'LooseLLP',
'VeryLooseLLP',
'SuperLooseLLP']
162 prefix =
"DFCommonJets_"
163 evt_lvl_suppWPs_PFlow = [
'LooseBad',
'TightBad']
165 for wp
in workingPoints:
166 if wp
not in supportedWPs:
169 cleaningLevel = wp +
'Bad'
172 cleaningLevel = wp.replace(
'LLP',
'BadLLP')
176 for evt_swp
in evt_lvl_suppWPs_PFlow:
177 if evt_swp == cleaningLevel:
182 if 'Loose' in cleaningLevel:
187 jetCleaningTool_legacy = acc.popToolsAndMerge(JetCleaningToolCfg(
188 ConfigFlags,
'JetCleaningTool_'+cleaningLevel+
'_EMTopo',
189 'AntiKt4EMTopoJets', cleaningLevel,
False))
190 acc.addPublicTool(jetCleaningTool_legacy)
191 ecTool_legacy = acc.popToolsAndMerge(EventCleaningToolCfg(
192 ConfigFlags,
'EventCleaningTool_'+wp+
'_EMTopo', cleaningLevel))
193 ecTool_legacy.JetCleanPrefix = prefix
194 ecTool_legacy.OrDecorator =
"passOR_EMTopo"
195 ecTool_legacy.JetContainer =
"AntiKt4EMTopoJets"
196 ecTool_legacy.JetCleaningTool = jetCleaningTool_legacy
197 acc.addPublicTool(ecTool_legacy)
199 eventCleanAlg_legacy = CompFactory.EventCleaningTestAlg(
'EventCleaningTestAlg_'+wp+
'_EMTopo',
200 EventCleaningTool=ecTool_legacy,
201 JetCollectionName=
"AntiKt4EMTopoJets",
202 EventCleanPrefix=prefix,
203 CleaningLevel=cleaningLevel,
205 acc.addEventAlgo(eventCleanAlg_legacy,
'EventCleanSeq')
209 jetCleaningTool = acc.popToolsAndMerge(JetCleaningToolCfg(
210 ConfigFlags,
'JetCleaningTool_'+cleaningLevel,
211 'AntiKt4EMPFlowJets', cleaningLevel,
False))
212 acc.addPublicTool(jetCleaningTool)
214 ecTool = acc.popToolsAndMerge(EventCleaningToolCfg(ConfigFlags,
'EventCleaningTool_' + wp, cleaningLevel))
215 ecTool.JetCleanPrefix = prefix
216 ecTool.OrDecorator =
"passOR_EMPFlow"
217 ecTool.JetContainer =
"AntiKt4EMPFlowJets"
218 ecTool.JetCleaningTool = jetCleaningTool
219 acc.addPublicTool(ecTool)
221 eventCleanAlg = CompFactory.EventCleaningTestAlg(
'EventCleaningTestAlg_'+wp,
222 EventCleaningTool=ecTool,
223 JetCollectionName=
"AntiKt4EMPFlowJets",
224 EventCleanPrefix=prefix,
225 CleaningLevel=cleaningLevel,
227 acc.addEventAlgo(eventCleanAlg,
'EventCleanSeq')