12 """Configure the derivation framework driving algorithm (kernel) for JETM2"""
13 acc = ComponentAccumulator()
16 from DerivationFrameworkPhys.PhysCommonConfig
import PhysCommonAugmentationsCfg
17 acc.merge(PhysCommonAugmentationsCfg(flags, TriggerListsHelper = kwargs[
'TriggerListsHelper']))
20 from AssociationUtils.AssociationUtilsConfig
import FEAssociationCfg
21 acc.merge(FEAssociationCfg(flags))
25 truthThinningTool = CompFactory.DerivationFramework.MenuTruthThinning(name =
"JETM2TruthThinning",
26 StreamName = kwargs[
'StreamName'],
27 WriteAllStable =
True,
31 WriteCHadrons =
False,
35 acc.addPublicTool(truthThinningTool)
37 DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
38 acc.addEventAlgo(DerivationKernel(name, ThinningTools = [truthThinningTool]
if flags.Input.isMC
else []))
48 acc = ComponentAccumulator()
50 from JetRecConfig.JetRecConfig
import JetRecCfg, getInputAlgs, getConstitPJGAlg
51 from JetRecConfig.JetInputConfig
import buildEventShapeAlg
52 from JetRecConfig.StandardJetConstits
import stdConstitDic
as cst
53 from JetRecConfig.StandardSmallRJets
import AntiKt4UFOCSSKNoPtCut, AntiKt4EMPFlowNoPtCut, AntiKt4EMPFlowML, AntiKt4EMTopoNoPtCut, AntiKt4MLTopo
54 from JetRecConfig.StandardLargeRJets
import AntiKt10TruthDressedWZSoftDrop
60 algs = getInputAlgs(cst.UFO, flags=flags)
62 if isinstance(alg, ComponentAccumulator):
70 jetList = [AntiKt4UFOCSSKNoPtCut,AntiKt4EMPFlowNoPtCut,AntiKt4EMPFlowML,AntiKt4EMTopoNoPtCut, AntiKt4MLTopo]
76 jetList += [AntiKt10TruthDressedWZSoftDrop]
80 acc.merge(JetRecCfg(flags,jd))
86 acc.addEventAlgo(buildEventShapeAlg(cst.UFOCSSK,
'', suffix=
None))
87 acc.addEventAlgo(getConstitPJGAlg(cst.UFOCSSK, suffix=
'Neut'))
88 acc.addEventAlgo(buildEventShapeAlg(cst.UFOCSSK,
'', suffix=
'Neut'))
95 from DerivationFrameworkMCTruth.MCTruthCommonConfig
import AddTopQuarkAndDownstreamParticlesCfg, AddTruthCollectionNavigationDecorationsCfg
96 acc.merge(AddTopQuarkAndDownstreamParticlesCfg(flags))
97 acc.merge(AddTruthCollectionNavigationDecorationsCfg(flags, TruthCollections=[
"TruthTopQuarkWithDecayParticles",
"TruthBosonsWithDecayParticles"],prefix=
'Top'))
105 acc = ComponentAccumulator()
111 from DerivationFrameworkPhys.TriggerListsHelper
import TriggerListsHelper
112 JETM2TriggerListsHelper = TriggerListsHelper(flags)
115 acc.merge(
JETM2KernelCfg(flags, name=
"JETM2Kernel", StreamName =
'StreamDAOD_JETM2', TriggerListsHelper = JETM2TriggerListsHelper))
120 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
121 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
122 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
124 JETM2SlimmingHelper =
SlimmingHelper(
"JETM2SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
126 JETM2SlimmingHelper.SmartCollections = [
"EventInfo",
"InDetTrackParticles",
"PrimaryVertices",
127 "Electrons",
"Photons",
"Muons",
"TauJets",
128 "MET_Baseline_AntiKt4EMPFlow",
129 "AntiKt4EMTopoNoPtCutJets",
"AntiKt4EMPFlowJets",
130 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets"]
132 JETM2SlimmingHelper.AllVariables = [
"CaloCalFwdTopoTowers",
133 "CHSGChargedParticleFlowObjects",
"CHSGNeutralParticleFlowObjects",
134 "CHSGlobalClusterMLCorrectedChargedParticleFlowObjects",
"CHSGlobalClusterMLCorrectedNeutralParticleFlowObjects",
135 "CSSKGChargedParticleFlowObjects",
"CSSKGNeutralParticleFlowObjects",
136 "Kt4EMTopoOriginEventShape",
"Kt4EMPFlowEventShape",
"Kt4EMPFlowNeutEventShape",
137 "Kt4UFOCSSKEventShape",
"Kt4UFOCSSKNeutEventShape"]
140 from DerivationFrameworkJetEtMiss.CommonJETMXContent
import ClusterVariables, FlowElementVariables, UFOVariables, TrackingVariables, TrackingVariablesHGTD, FELinks
141 JETM2SlimmingHelper.ExtraVariables += [
".".join([
"CaloCalTopoClusters"] + ClusterVariables + [
"clusterE_ML.clusterE_ML_unc"])]
142 JETM2SlimmingHelper.ExtraVariables += [
".".join([
"EMOriginTopoClusters"] + [
'calM'])]
143 JETM2SlimmingHelper.ExtraVariables += [
".".join([
"GlobalChargedParticleFlowObjects"] + FlowElementVariables)]
144 JETM2SlimmingHelper.ExtraVariables += [
".".join([
"GlobalNeutralParticleFlowObjects"] + FlowElementVariables)]
145 JETM2SlimmingHelper.ExtraVariables += [
".".join([
"GlobalClusterMLCorrectedChargedParticleFlowObjects"] + FlowElementVariables)]
146 JETM2SlimmingHelper.ExtraVariables += [
".".join([
"GlobalClusterMLCorrectedNeutralParticleFlowObjects"] + FlowElementVariables)]
147 JETM2SlimmingHelper.ExtraVariables += [
".".join([
"UFO"] + UFOVariables)]
148 JETM2SlimmingHelper.ExtraVariables += [
".".join([
"UFOCSSK"] + UFOVariables)]
149 JETM2SlimmingHelper.ExtraVariables += [
".".join([
"InDetTrackParticles"] + TrackingVariables)]
150 if flags.GeoModel.Run >= LHCPeriod.Run4:
151 JETM2SlimmingHelper.ExtraVariables += [
".".join([
"InDetTrackParticles"] + TrackingVariablesHGTD)]
154 JETM2SlimmingHelper.ExtraVariables += FELinks
157 from DerivationFrameworkJetEtMiss.CommonJETMXContent
import ExtraJSSVariables
158 JETM2SlimmingHelper.ExtraVariables += [
".".join([
"AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets"] + ExtraJSSVariables)]
160 JETM2SlimmingHelper.ExtraVariables += [
"AntiKt4EMPFlowJets.GhostTower.IsoFixedCone5Pt.IsoFixedCone5PtPUsub.constituentLinks",
161 "AntiKt4EMTopoNoPtCutJets.IsoFixedCone5Pt.IsoFixedCone5PtPUsub.constituentLinks",
162 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.SizeParameter.GhostTrack.constituentLinks",
163 "GSFTrackParticles.particleHypothesis.vx.vy.vz",
164 "PrimaryVertices.x.y.z.covariance.trackWeights",
165 "TauJets.clusterLinks",
166 "Muons.energyLossType.EnergyLoss.ParamEnergyLoss.MeasEnergyLoss.EnergyLossSigma.MeasEnergyLossSigma.ParamEnergyLossSigmaPlus.ParamEnergyLossSigmaMinus.clusterLinks.FSR_CandidateEnergy",
167 "MuonSegments.x.y.z.px.py.pz"]
169 JETM2SlimmingHelper.AppendToDictionary.update({
170 "FEAssociationMap" :
"xAOD::MissingETAssociationMap",
171 "FEAssociationMapAux":
"xAOD::AuxContainerBase",
173 JETM2SlimmingHelper.AllVariables += [
"FEAssociationMap"]
175 JETM2SlimmingHelper.AppendToDictionary.update({
'CSSKGNeutralParticleFlowObjects':
'xAOD::FlowElementContainer',
176 'CSSKGNeutralParticleFlowObjectsAux':
'xAOD::ShallowAuxContainer',
177 'CSSKGChargedParticleFlowObjects':
'xAOD::FlowElementContainer',
178 'CSSKGChargedParticleFlowObjectsAux':
'xAOD::ShallowAuxContainer',
179 'CHSGlobalClusterMLCorrectedNeutralParticleFlowObjects':
'xAOD::FlowElementContainer',
180 'CHSGlobalClusterMLCorrectedNeutralParticleFlowObjectsAux':
'xAOD::ShallowAuxContainer',
181 'CHSGlobalClusterMLCorrectedChargedParticleFlowObjects':
'xAOD::FlowElementContainer',
182 'CHSGlobalClusterMLCorrectedChargedParticleFlowObjectsAux':
'xAOD::ShallowAuxContainer',
183 'GlobalClusterMLCorrectedChargedParticleFlowObjects':
'xAOD::FlowElementContainer',
184 'GlobalClusterMLCorrectedChargedParticleFlowObjectsAux':
'xAOD::ShallowAuxContainer',
185 'GlobalClusterMLCorrectedNeutralParticleFlowObjects':
'xAOD::FlowElementContainer',
186 'GlobalClusterMLCorrectedNeutralParticleFlowObjectsAux':
'xAOD::ShallowAuxContainer',
187 'UFO':
'xAOD::FlowElementContainer',
188 'UFOAux':
'xAOD::FlowElementAuxContainer',
189 'Kt4UFOCSSKEventShape':
'xAOD::EventShape',
190 'Kt4UFOCSSKEventShapeAux':
'xAOD::EventShapeAuxInfo',
191 'Kt4UFOCSSKNeutEventShape':
'xAOD::EventShape',
192 'Kt4UFOCSSKNeutEventShapeAux':
'xAOD::EventShapeAuxInfo',
193 'AntiKt4EMTopoNoPtCutJets':
'xAOD::JetContainer',
194 'AntiKt4EMTopoNoPtCutJetsAux':
'xAOD::JetAuxContainer',
197 from DerivationFrameworkJetEtMiss.JetCommonConfig
import addOriginCorrectedClustersToSlimmingTool
198 addOriginCorrectedClustersToSlimmingTool(JETM2SlimmingHelper,writeLC=
True,writeEM=
True)
203 from DerivationFrameworkMCTruth.MCTruthCommonConfig
import addTruth3ContentToSlimmerTool
204 addTruth3ContentToSlimmerTool(JETM2SlimmingHelper)
206 JETM2SlimmingHelper.AppendToDictionary.update({
'TruthParticles':
'xAOD::TruthParticleContainer',
207 'TruthParticlesAux':
'xAOD::TruthParticleAuxContainer'})
209 JETM2SlimmingHelper.AllVariables += [
"TruthTopQuarkWithDecayParticles",
"TruthTopQuarkWithDecayVertices",
"TruthHFWithDecayParticles",
210 "AntiKt4TruthJets",
"InTimeAntiKt4TruthJets",
"OutOfTimeAntiKt4TruthJets",
211 "TruthParticles",
"TruthVertices",
"TruthEvents"]
213 JETM2SlimmingHelper.SmartCollections += [
"AntiKt4TruthJets",
"AntiKt4TruthWZJets",
214 "AntiKt10TruthJets",
"AntiKt10TruthDressedWZSoftDropBeta100Zcut10Jets"]
216 JETM2SlimmingHelper.ExtraVariables += [
"AntiKt10TruthSoftDropBeta100Zcut10Jets.SizeParameter.constituentLinks",
217 "AntiKt10TruthDressedWZSoftDropBeta100Zcut10Jets.constituentLinks",
218 "AntiKt10TruthDressedWZJets.constituentLinks",
219 "AntiKt10TruthJets.constituentLinks",
220 "AntiKt4TruthJets.constituentLinks",
221 "AntiKt4TruthWZJets.IsoFixedCone5Pt.constituentLinks",
222 "AntiKt4TruthDressedWZJets.IsoFixedCone5Pt.constituentLinks",
223 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.GhostTQuarksFinalCount.GhostHBosonsCount.GhostZBosonsCount.GhostWBosonsCount",
224 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.GhostTQuarksFinalPt.GhostHBosonsPt.GhostZBosonsPt.GhostWBosonsPt",
225 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.GhostBHadronsFinalPt.GhostCHadronsFinalPt"]
228 JETM2SlimmingHelper.IncludeTriggerNavigation =
False
229 JETM2SlimmingHelper.IncludeJetTriggerContent =
False
230 JETM2SlimmingHelper.IncludeMuonTriggerContent =
False
231 JETM2SlimmingHelper.IncludeEGammaTriggerContent =
False
232 JETM2SlimmingHelper.IncludeTauTriggerContent =
False
233 JETM2SlimmingHelper.IncludeEtMissTriggerContent =
False
234 JETM2SlimmingHelper.IncludeBJetTriggerContent =
False
235 JETM2SlimmingHelper.IncludeBPhysTriggerContent =
False
236 JETM2SlimmingHelper.IncludeMinBiasTriggerContent =
False
238 jetOutputList = [
"AntiKt4UFOCSSKNoPtCutJets",
"AntiKt4EMPFlowNoPtCutJets",
"AntiKt4EMPFlowMLJets",
"AntiKt4MLTopoJets"]
239 from DerivationFrameworkJetEtMiss.JetCommonConfig
import addJetsToSlimmingTool
240 addJetsToSlimmingTool(JETM2SlimmingHelper, jetOutputList, JETM2SlimmingHelper.SmartCollections)
243 JETM2ItemList = JETM2SlimmingHelper.GetItemList()
244 acc.merge(OutputStreamCfg(flags,
"DAOD_JETM2", ItemList=JETM2ItemList, AcceptAlgs=[
"JETM2Kernel"]))
245 acc.merge(SetupMetaDataForStreamCfg(flags,
"DAOD_JETM2", AcceptAlgs=[
"JETM2Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))