6 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
7 from AthenaConfiguration.ComponentFactory
import CompFactory
8 from AthenaConfiguration.Enums
import MetadataCategory, LHCPeriod
12 """Configure the derivation framework driving algorithm (kernel) for JETM2"""
16 from DerivationFrameworkPhys.PhysCommonConfig
import PhysCommonAugmentationsCfg
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 []))
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, AntiKt4EMTopoNoPtCut
50 from JetRecConfig.StandardLargeRJets
import AntiKt10TruthDressedWZSoftDrop
58 if isinstance(alg, ComponentAccumulator):
66 jetList = [AntiKt4UFOCSSKNoPtCut,AntiKt4EMPFlowNoPtCut,AntiKt4EMTopoNoPtCut]
72 jetList += [AntiKt10TruthDressedWZSoftDrop]
91 from DerivationFrameworkMCTruth.MCTruthCommonConfig
import AddTopQuarkAndDownstreamParticlesCfg, AddTruthCollectionNavigationDecorationsCfg
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",
127 "AntiKt4EMPFlowJets_FTAG",
128 "BTagging_AntiKt4EMPFlow",
129 "BTagging_AntiKtVR30Rmax4Rmin02Track"]
131 JETM2SlimmingHelper.AllVariables = [
"CaloCalFwdTopoTowers",
132 "CHSGChargedParticleFlowObjects",
"CHSGNeutralParticleFlowObjects",
133 "CSSKGChargedParticleFlowObjects",
"CSSKGNeutralParticleFlowObjects",
134 "Kt4EMTopoOriginEventShape",
"Kt4EMPFlowEventShape",
"Kt4EMPFlowPUSBEventShape",
135 "Kt4EMPFlowNeutEventShape",
"Kt4UFOCSSKEventShape",
"Kt4UFOCSSKNeutEventShape"]
138 from DerivationFrameworkJetEtMiss.CommonJETMXContent
import ClusterVariables, FlowElementVariables, UFOVariables, TrackingVariables, TrackingVariablesHGTD, FELinks
139 JETM2SlimmingHelper.ExtraVariables += [
".".
join([
"CaloCalTopoClusters"] + ClusterVariables)]
140 JETM2SlimmingHelper.ExtraVariables += [
".".
join([
"GlobalChargedParticleFlowObjects"] + FlowElementVariables)]
141 JETM2SlimmingHelper.ExtraVariables += [
".".
join([
"GlobalNeutralParticleFlowObjects"] + FlowElementVariables)]
142 JETM2SlimmingHelper.ExtraVariables += [
".".
join([
"UFO"] + UFOVariables)]
143 JETM2SlimmingHelper.ExtraVariables += [
".".
join([
"UFOCSSK"] + UFOVariables)]
144 JETM2SlimmingHelper.ExtraVariables += [
".".
join([
"InDetTrackParticles"] + TrackingVariables)]
145 if flags.GeoModel.Run >= LHCPeriod.Run4:
146 JETM2SlimmingHelper.ExtraVariables += [
".".
join([
"InDetTrackParticles"] + TrackingVariablesHGTD)]
149 JETM2SlimmingHelper.ExtraVariables += FELinks
152 from DerivationFrameworkJetEtMiss.CommonJETMXContent
import ExtraJSSVariables
153 JETM2SlimmingHelper.ExtraVariables += [
".".
join([
"AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets"] + ExtraJSSVariables)]
156 from DerivationFrameworkJetEtMiss.CommonJETMXContent
import JSSTaggersVariables
157 JETM2SlimmingHelper.ExtraVariables += JSSTaggersVariables
159 JETM2SlimmingHelper.ExtraVariables += [
"AntiKt4EMPFlowJets.GhostTower.IsoFixedCone5Pt.IsoFixedCone5PtPUsub",
160 "AntiKt4EMTopoNoPtCutJets.IsoFixedCone5Pt.IsoFixedCone5PtPUsub",
161 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.SizeParameter.GhostTrack",
162 "GSFTrackParticles.particleHypothesis.vx.vy.vz",
163 "PrimaryVertices.x.y.z.covariance.trackWeights",
164 "TauJets.clusterLinks",
165 "Muons.energyLossType.EnergyLoss.ParamEnergyLoss.MeasEnergyLoss.EnergyLossSigma.MeasEnergyLossSigma.ParamEnergyLossSigmaPlus.ParamEnergyLossSigmaMinus.clusterLinks.FSR_CandidateEnergy",
166 "MuonSegments.x.y.z.px.py.pz",
167 "BTagging_AntiKt4EMPFlow.jetLink",
168 "BTagging_AntiKtVR30Rmax4Rmin02Track.jetLink"]
170 JETM2SlimmingHelper.AppendToDictionary.update({
'CSSKGNeutralParticleFlowObjects':
'xAOD::FlowElementContainer',
171 'CSSKGNeutralParticleFlowObjectsAux':
'xAOD::ShallowAuxContainer',
172 'CSSKGChargedParticleFlowObjects':
'xAOD::FlowElementContainer',
173 'CSSKGChargedParticleFlowObjectsAux':
'xAOD::ShallowAuxContainer',
174 'UFO':
'xAOD::FlowElementContainer',
175 'UFOAux':
'xAOD::FlowElementAuxContainer',
176 'Kt4UFOCSSKEventShape':
'xAOD::EventShape',
177 'Kt4UFOCSSKEventShapeAux':
'xAOD::EventShapeAuxInfo',
178 'Kt4UFOCSSKNeutEventShape':
'xAOD::EventShape',
179 'Kt4UFOCSSKNeutEventShapeAux':
'xAOD::EventShapeAuxInfo',
180 'AntiKt4EMTopoNoPtCutJets':
'xAOD::JetContainer',
181 'AntiKt4EMTopoNoPtCutJetsAux':
'xAOD::JetAuxContainer'})
183 from DerivationFrameworkJetEtMiss.JetCommonConfig
import addOriginCorrectedClustersToSlimmingTool
189 from DerivationFrameworkMCTruth.MCTruthCommonConfig
import addTruth3ContentToSlimmerTool
192 JETM2SlimmingHelper.AppendToDictionary.update({
'TruthParticles':
'xAOD::TruthParticleContainer',
193 'TruthParticlesAux':
'xAOD::TruthParticleAuxContainer'})
195 JETM2SlimmingHelper.AllVariables += [
"TruthTopQuarkWithDecayParticles",
"TruthTopQuarkWithDecayVertices",
"TruthHFWithDecayParticles",
196 "AntiKt4TruthJets",
"InTimeAntiKt4TruthJets",
"OutOfTimeAntiKt4TruthJets",
197 "TruthParticles",
"TruthVertices",
"TruthEvents"]
198 JETM2SlimmingHelper.ExtraVariables += [
"AntiKt10TruthSoftDropBeta100Zcut10Jets.SizeParameter"]
199 JETM2SlimmingHelper.SmartCollections += [
"AntiKt4TruthJets",
"AntiKt10TruthJets",
"AntiKt4TruthWZJets",
"AntiKt10TruthDressedWZSoftDropBeta100Zcut10Jets"]
201 JETM2SlimmingHelper.ExtraVariables += [
"AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.GhostTQuarksFinalCount.GhostHBosonsCount.GhostZBosonsCount.GhostWBosonsCount",
202 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.GhostTQuarksFinalPt.GhostHBosonsPt.GhostZBosonsPt.GhostWBosonsPt",
203 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.GhostBHadronsFinalPt.GhostCHadronsFinalPt",
204 "AntiKt4TruthWZJets.IsoFixedCone5Pt",
205 "AntiKt4TruthDressedWZJets.IsoFixedCone5Pt"]
208 JETM2SlimmingHelper.IncludeTriggerNavigation =
False
209 JETM2SlimmingHelper.IncludeJetTriggerContent =
False
210 JETM2SlimmingHelper.IncludeMuonTriggerContent =
False
211 JETM2SlimmingHelper.IncludeEGammaTriggerContent =
False
212 JETM2SlimmingHelper.IncludeTauTriggerContent =
False
213 JETM2SlimmingHelper.IncludeEtMissTriggerContent =
False
214 JETM2SlimmingHelper.IncludeBJetTriggerContent =
False
215 JETM2SlimmingHelper.IncludeBPhysTriggerContent =
False
216 JETM2SlimmingHelper.IncludeMinBiasTriggerContent =
False
218 jetOutputList = [
"AntiKt4UFOCSSKNoPtCutJets",
"AntiKt4EMPFlowNoPtCutJets"]
219 from DerivationFrameworkJetEtMiss.JetCommonConfig
import addJetsToSlimmingTool
223 JETM2ItemList = JETM2SlimmingHelper.GetItemList()
224 acc.merge(
OutputStreamCfg(flags,
"DAOD_JETM2", ItemList=JETM2ItemList, AcceptAlgs=[
"JETM2Kernel"]))
225 acc.merge(
SetupMetaDataForStreamCfg(flags,
"DAOD_JETM2", AcceptAlgs=[
"JETM2Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))