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 + [
"otherObjectWeights"])]
144 JETM2SlimmingHelper.ExtraVariables += [
".".join([
"GlobalNeutralParticleFlowObjects"] + FlowElementVariables + [
"otherObjectWeights"])]
145 JETM2SlimmingHelper.ExtraVariables += [
".".join([
"GlobalClusterMLCorrectedChargedParticleFlowObjects"] + FlowElementVariables + [
"otherObjectWeights"])]
146 JETM2SlimmingHelper.ExtraVariables += [
".".join([
"GlobalClusterMLCorrectedNeutralParticleFlowObjects"] + FlowElementVariables + [
"otherObjectWeights"])]
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 from DerivationFrameworkJetEtMiss.JetCommonConfig
import addOriginCorrectedClustersToSlimmingTool
176 addOriginCorrectedClustersToSlimmingTool(JETM2SlimmingHelper,writeLC=
True,writeEM=
True)
181 from DerivationFrameworkMCTruth.MCTruthCommonConfig
import addTruth3ContentToSlimmerTool
182 addTruth3ContentToSlimmerTool(JETM2SlimmingHelper)
184 JETM2SlimmingHelper.AllVariables += [
"TruthTopQuarkWithDecayParticles",
"TruthTopQuarkWithDecayVertices",
"TruthHFWithDecayParticles",
185 "AntiKt4TruthJets",
"InTimeAntiKt4TruthJets",
"OutOfTimeAntiKt4TruthJets",
186 "TruthParticles",
"TruthVertices",
"TruthEvents"]
188 JETM2SlimmingHelper.SmartCollections += [
"AntiKt4TruthJets",
"AntiKt4TruthWZJets",
189 "AntiKt10TruthJets",
"AntiKt10TruthDressedWZSoftDropBeta100Zcut10Jets"]
191 JETM2SlimmingHelper.ExtraVariables += [
"AntiKt10TruthSoftDropBeta100Zcut10Jets.SizeParameter.constituentLinks",
192 "AntiKt10TruthDressedWZSoftDropBeta100Zcut10Jets.constituentLinks",
193 "AntiKt10TruthDressedWZJets.constituentLinks",
194 "AntiKt10TruthJets.constituentLinks",
195 "AntiKt4TruthJets.constituentLinks",
196 "AntiKt4TruthWZJets.IsoFixedCone5Pt.constituentLinks",
197 "AntiKt4TruthDressedWZJets.IsoFixedCone5Pt.constituentLinks",
198 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.GhostTQuarksFinalCount.GhostHBosonsCount.GhostZBosonsCount.GhostWBosonsCount",
199 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.GhostTQuarksFinalPt.GhostHBosonsPt.GhostZBosonsPt.GhostWBosonsPt",
200 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.GhostBHadronsFinalPt.GhostCHadronsFinalPt"]
203 JETM2SlimmingHelper.IncludeTriggerNavigation =
False
204 JETM2SlimmingHelper.IncludeJetTriggerContent =
False
205 JETM2SlimmingHelper.IncludeMuonTriggerContent =
False
206 JETM2SlimmingHelper.IncludeEGammaTriggerContent =
False
207 JETM2SlimmingHelper.IncludeTauTriggerContent =
False
208 JETM2SlimmingHelper.IncludeEtMissTriggerContent =
False
209 JETM2SlimmingHelper.IncludeBJetTriggerContent =
False
210 JETM2SlimmingHelper.IncludeBPhysTriggerContent =
False
211 JETM2SlimmingHelper.IncludeMinBiasTriggerContent =
False
213 jetOutputList = [
"AntiKt4UFOCSSKNoPtCutJets",
"AntiKt4EMPFlowNoPtCutJets",
"AntiKt4EMPFlowMLJets",
"AntiKt4MLTopoJets"]
214 from DerivationFrameworkJetEtMiss.JetCommonConfig
import addJetsToSlimmingTool
215 addJetsToSlimmingTool(JETM2SlimmingHelper, jetOutputList, JETM2SlimmingHelper.SmartCollections)
218 JETM2ItemList = JETM2SlimmingHelper.GetItemList()
219 acc.merge(OutputStreamCfg(flags,
"DAOD_JETM2", ItemList=JETM2ItemList, AcceptAlgs=[
"JETM2Kernel"]))
220 acc.merge(SetupMetaDataForStreamCfg(flags,
"DAOD_JETM2", AcceptAlgs=[
"JETM2Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData,MetadataCategory.TruthMetaData]))