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']))
21 truthThinningTool = CompFactory.DerivationFramework.MenuTruthThinning(name =
"JETM2TruthThinning",
22 StreamName = kwargs[
'StreamName'],
23 WriteAllStable =
True,
27 WriteCHadrons =
False,
31 acc.addPublicTool(truthThinningTool)
33 DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
34 acc.addEventAlgo(DerivationKernel(name, ThinningTools = [truthThinningTool]
if flags.Input.isMC
else []))
44 acc = ComponentAccumulator()
46 from JetRecConfig.JetRecConfig
import JetRecCfg, getInputAlgs, getConstitPJGAlg
47 from JetRecConfig.JetInputConfig
import buildEventShapeAlg
48 from JetRecConfig.StandardJetConstits
import stdConstitDic
as cst
49 from JetRecConfig.StandardSmallRJets
import AntiKt4UFOCSSKNoPtCut, AntiKt4EMPFlowNoPtCut, AntiKt4EMPFlowML, AntiKt4EMTopoNoPtCut, AntiKt4MLTopo
50 from JetRecConfig.StandardLargeRJets
import AntiKt10TruthDressedWZSoftDrop
56 algs = getInputAlgs(cst.UFO, flags=flags)
58 if isinstance(alg, ComponentAccumulator):
66 jetList = [AntiKt4UFOCSSKNoPtCut,AntiKt4EMPFlowNoPtCut,AntiKt4EMPFlowML,AntiKt4EMTopoNoPtCut, AntiKt4MLTopo]
72 jetList += [AntiKt10TruthDressedWZSoftDrop]
76 acc.merge(JetRecCfg(flags,jd))
82 acc.addEventAlgo(buildEventShapeAlg(cst.UFOCSSK,
'', suffix=
None))
83 acc.addEventAlgo(getConstitPJGAlg(cst.UFOCSSK, suffix=
'Neut'))
84 acc.addEventAlgo(buildEventShapeAlg(cst.UFOCSSK,
'', suffix=
'Neut'))
91 from DerivationFrameworkMCTruth.MCTruthCommonConfig
import AddTopQuarkAndDownstreamParticlesCfg, AddTruthCollectionNavigationDecorationsCfg
92 acc.merge(AddTopQuarkAndDownstreamParticlesCfg(flags))
93 acc.merge(AddTruthCollectionNavigationDecorationsCfg(flags, TruthCollections=[
"TruthTopQuarkWithDecayParticles",
"TruthBosonsWithDecayParticles"],prefix=
'Top'))
101 acc = ComponentAccumulator()
107 from DerivationFrameworkPhys.TriggerListsHelper
import TriggerListsHelper
108 JETM2TriggerListsHelper = TriggerListsHelper(flags)
111 acc.merge(
JETM2KernelCfg(flags, name=
"JETM2Kernel", StreamName =
'StreamDAOD_JETM2', TriggerListsHelper = JETM2TriggerListsHelper))
116 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
117 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
118 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
120 JETM2SlimmingHelper =
SlimmingHelper(
"JETM2SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
122 JETM2SlimmingHelper.SmartCollections = [
"EventInfo",
"InDetTrackParticles",
"PrimaryVertices",
123 "Electrons",
"Photons",
"Muons",
"TauJets",
124 "MET_Baseline_AntiKt4EMPFlow",
125 "AntiKt4EMTopoNoPtCutJets",
"AntiKt4EMPFlowJets",
126 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets"]
128 JETM2SlimmingHelper.AllVariables = [
"CaloCalFwdTopoTowers",
129 "CHSGChargedParticleFlowObjects",
"CHSGNeutralParticleFlowObjects",
130 "CHSGlobalClusterMLCorrectedChargedParticleFlowObjects",
"CHSGlobalClusterMLCorrectedNeutralParticleFlowObjects",
131 "CSSKGChargedParticleFlowObjects",
"CSSKGNeutralParticleFlowObjects",
132 "Kt4EMTopoOriginEventShape",
"Kt4EMPFlowEventShape",
"Kt4EMPFlowPUSBEventShape",
133 "Kt4EMPFlowNeutEventShape",
"Kt4UFOCSSKEventShape",
"Kt4UFOCSSKNeutEventShape"]
136 from DerivationFrameworkJetEtMiss.CommonJETMXContent
import ClusterVariables, FlowElementVariables, UFOVariables, TrackingVariables, TrackingVariablesHGTD, FELinks
137 JETM2SlimmingHelper.ExtraVariables += [
".".join([
"CaloCalTopoClusters"] + ClusterVariables + [
"clusterE_ML.clusterE_ML_unc"])]
138 JETM2SlimmingHelper.ExtraVariables += [
".".join([
"EMOriginTopoClusters"] + [
'calM'])]
139 JETM2SlimmingHelper.ExtraVariables += [
".".join([
"GlobalChargedParticleFlowObjects"] + FlowElementVariables)]
140 JETM2SlimmingHelper.ExtraVariables += [
".".join([
"GlobalNeutralParticleFlowObjects"] + FlowElementVariables)]
141 JETM2SlimmingHelper.ExtraVariables += [
".".join([
"GlobalClusterMLCorrectedChargedParticleFlowObjects"] + FlowElementVariables)]
142 JETM2SlimmingHelper.ExtraVariables += [
".".join([
"GlobalClusterMLCorrectedNeutralParticleFlowObjects"] + FlowElementVariables)]
143 JETM2SlimmingHelper.ExtraVariables += [
".".join([
"UFO"] + UFOVariables)]
144 JETM2SlimmingHelper.ExtraVariables += [
".".join([
"UFOCSSK"] + UFOVariables)]
145 JETM2SlimmingHelper.ExtraVariables += [
".".join([
"InDetTrackParticles"] + TrackingVariables)]
146 if flags.GeoModel.Run >= LHCPeriod.Run4:
147 JETM2SlimmingHelper.ExtraVariables += [
".".join([
"InDetTrackParticles"] + TrackingVariablesHGTD)]
150 JETM2SlimmingHelper.ExtraVariables += FELinks
153 from DerivationFrameworkJetEtMiss.CommonJETMXContent
import ExtraJSSVariables
154 JETM2SlimmingHelper.ExtraVariables += [
".".join([
"AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets"] + ExtraJSSVariables)]
156 JETM2SlimmingHelper.ExtraVariables += [
"AntiKt4EMPFlowJets.GhostTower.IsoFixedCone5Pt.IsoFixedCone5PtPUsub",
157 "AntiKt4EMTopoNoPtCutJets.IsoFixedCone5Pt.IsoFixedCone5PtPUsub",
158 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.SizeParameter.GhostTrack",
159 "GSFTrackParticles.particleHypothesis.vx.vy.vz",
160 "PrimaryVertices.x.y.z.covariance.trackWeights",
161 "TauJets.clusterLinks",
162 "Muons.energyLossType.EnergyLoss.ParamEnergyLoss.MeasEnergyLoss.EnergyLossSigma.MeasEnergyLossSigma.ParamEnergyLossSigmaPlus.ParamEnergyLossSigmaMinus.clusterLinks.FSR_CandidateEnergy",
163 "MuonSegments.x.y.z.px.py.pz"]
165 JETM2SlimmingHelper.AppendToDictionary.update({
'CSSKGNeutralParticleFlowObjects':
'xAOD::FlowElementContainer',
166 'CSSKGNeutralParticleFlowObjectsAux':
'xAOD::ShallowAuxContainer',
167 'CSSKGChargedParticleFlowObjects':
'xAOD::FlowElementContainer',
168 'CSSKGChargedParticleFlowObjectsAux':
'xAOD::ShallowAuxContainer',
169 'CHSGlobalClusterMLCorrectedNeutralParticleFlowObjects':
'xAOD::FlowElementContainer',
170 'CHSGlobalClusterMLCorrectedNeutralParticleFlowObjectsAux':
'xAOD::ShallowAuxContainer',
171 'CHSGlobalClusterMLCorrectedChargedParticleFlowObjects':
'xAOD::FlowElementContainer',
172 'CHSGlobalClusterMLCorrectedChargedParticleFlowObjectsAux':
'xAOD::ShallowAuxContainer',
173 'GlobalClusterMLCorrectedChargedParticleFlowObjects':
'xAOD::FlowElementContainer',
174 'GlobalClusterMLCorrectedChargedParticleFlowObjectsAux':
'xAOD::ShallowAuxContainer',
175 'GlobalClusterMLCorrectedNeutralParticleFlowObjects':
'xAOD::FlowElementContainer',
176 'GlobalClusterMLCorrectedNeutralParticleFlowObjectsAux':
'xAOD::ShallowAuxContainer',
177 'UFO':
'xAOD::FlowElementContainer',
178 'UFOAux':
'xAOD::FlowElementAuxContainer',
179 'Kt4UFOCSSKEventShape':
'xAOD::EventShape',
180 'Kt4UFOCSSKEventShapeAux':
'xAOD::EventShapeAuxInfo',
181 'Kt4UFOCSSKNeutEventShape':
'xAOD::EventShape',
182 'Kt4UFOCSSKNeutEventShapeAux':
'xAOD::EventShapeAuxInfo',
183 'AntiKt4EMTopoNoPtCutJets':
'xAOD::JetContainer',
184 'AntiKt4EMTopoNoPtCutJetsAux':
'xAOD::JetAuxContainer',
187 from DerivationFrameworkJetEtMiss.JetCommonConfig
import addOriginCorrectedClustersToSlimmingTool
188 addOriginCorrectedClustersToSlimmingTool(JETM2SlimmingHelper,writeLC=
True,writeEM=
True)
193 from DerivationFrameworkMCTruth.MCTruthCommonConfig
import addTruth3ContentToSlimmerTool
194 addTruth3ContentToSlimmerTool(JETM2SlimmingHelper)
196 JETM2SlimmingHelper.AppendToDictionary.update({
'TruthParticles':
'xAOD::TruthParticleContainer',
197 'TruthParticlesAux':
'xAOD::TruthParticleAuxContainer'})
199 JETM2SlimmingHelper.AllVariables += [
"TruthTopQuarkWithDecayParticles",
"TruthTopQuarkWithDecayVertices",
"TruthHFWithDecayParticles",
200 "AntiKt4TruthJets",
"InTimeAntiKt4TruthJets",
"OutOfTimeAntiKt4TruthJets",
201 "TruthParticles",
"TruthVertices",
"TruthEvents"]
202 JETM2SlimmingHelper.ExtraVariables += [
"AntiKt10TruthSoftDropBeta100Zcut10Jets.SizeParameter"]
203 JETM2SlimmingHelper.SmartCollections += [
"AntiKt4TruthJets",
"AntiKt10TruthJets",
"AntiKt4TruthWZJets",
"AntiKt10TruthDressedWZSoftDropBeta100Zcut10Jets"]
205 JETM2SlimmingHelper.ExtraVariables += [
"AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.GhostTQuarksFinalCount.GhostHBosonsCount.GhostZBosonsCount.GhostWBosonsCount",
206 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.GhostTQuarksFinalPt.GhostHBosonsPt.GhostZBosonsPt.GhostWBosonsPt",
207 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.GhostBHadronsFinalPt.GhostCHadronsFinalPt",
208 "AntiKt4TruthWZJets.IsoFixedCone5Pt",
209 "AntiKt4TruthDressedWZJets.IsoFixedCone5Pt"]
212 JETM2SlimmingHelper.IncludeTriggerNavigation =
False
213 JETM2SlimmingHelper.IncludeJetTriggerContent =
False
214 JETM2SlimmingHelper.IncludeMuonTriggerContent =
False
215 JETM2SlimmingHelper.IncludeEGammaTriggerContent =
False
216 JETM2SlimmingHelper.IncludeTauTriggerContent =
False
217 JETM2SlimmingHelper.IncludeEtMissTriggerContent =
False
218 JETM2SlimmingHelper.IncludeBJetTriggerContent =
False
219 JETM2SlimmingHelper.IncludeBPhysTriggerContent =
False
220 JETM2SlimmingHelper.IncludeMinBiasTriggerContent =
False
222 jetOutputList = [
"AntiKt4UFOCSSKNoPtCutJets",
"AntiKt4EMPFlowNoPtCutJets",
"AntiKt4EMPFlowMLJets",
"AntiKt4MLTopoJets"]
223 from DerivationFrameworkJetEtMiss.JetCommonConfig
import addJetsToSlimmingTool
224 addJetsToSlimmingTool(JETM2SlimmingHelper, jetOutputList, JETM2SlimmingHelper.SmartCollections)
227 JETM2ItemList = JETM2SlimmingHelper.GetItemList()
228 acc.merge(OutputStreamCfg(flags,
"DAOD_JETM2", ItemList=JETM2ItemList, AcceptAlgs=[
"JETM2Kernel"]))
229 acc.merge(SetupMetaDataForStreamCfg(flags,
"DAOD_JETM2", AcceptAlgs=[
"JETM2Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))