103def JETM2Cfg(flags):
104
105 acc = ComponentAccumulator()
106
107
108
109
110
111 from DerivationFrameworkPhys.TriggerListsHelper import TriggerListsHelper
112 JETM2TriggerListsHelper = TriggerListsHelper(flags)
113
114
115 acc.merge(JETM2KernelCfg(flags, name="JETM2Kernel", StreamName = 'StreamDAOD_JETM2', TriggerListsHelper = JETM2TriggerListsHelper))
116
117
118
119
120 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
121 from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
122 from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
123
124 JETM2SlimmingHelper =
SlimmingHelper(
"JETM2SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
125
126 JETM2SlimmingHelper.SmartCollections = ["EventInfo","InDetTrackParticles", "PrimaryVertices",
127 "Electrons", "Photons", "Muons", "TauJets",
128 "MET_Baseline_AntiKt4EMPFlow",
129 "AntiKt4EMTopoNoPtCutJets", "AntiKt4EMPFlowJets",
130 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets"]
131
132 JETM2SlimmingHelper.AllVariables = ["CaloCalFwdTopoTowers",
133 "CHSGChargedParticleFlowObjects","CHSGNeutralParticleFlowObjects",
134 "CHSGlobalClusterMLCorrectedChargedParticleFlowObjects","CHSGlobalClusterMLCorrectedNeutralParticleFlowObjects",
135 "CSSKGChargedParticleFlowObjects","CSSKGNeutralParticleFlowObjects",
136 "Kt4EMTopoOriginEventShape","Kt4EMPFlowEventShape","Kt4EMPFlowNeutEventShape",
137 "Kt4UFOCSSKEventShape","Kt4UFOCSSKNeutEventShape"]
138
139
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)]
152
153
154 JETM2SlimmingHelper.ExtraVariables += FELinks
155
156
157 from DerivationFrameworkJetEtMiss.CommonJETMXContent import ExtraJSSVariables
158 JETM2SlimmingHelper.ExtraVariables += [".".join(["AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets"] + ExtraJSSVariables)]
159
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"]
168
169 JETM2SlimmingHelper.AppendToDictionary.update({
170 "FEAssociationMap" : "xAOD::MissingETAssociationMap",
171 "FEAssociationMapAux": "xAOD::AuxContainerBase",
172 })
173 JETM2SlimmingHelper.AllVariables += ["FEAssociationMap"]
174
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',
195 })
196
197 from DerivationFrameworkJetEtMiss.JetCommonConfig import addOriginCorrectedClustersToSlimmingTool
198 addOriginCorrectedClustersToSlimmingTool(JETM2SlimmingHelper,writeLC=True,writeEM=True)
199
200
201 if flags.Input.isMC:
202
203 from DerivationFrameworkMCTruth.MCTruthCommonConfig import addTruth3ContentToSlimmerTool
204 addTruth3ContentToSlimmerTool(JETM2SlimmingHelper)
205
206 JETM2SlimmingHelper.AppendToDictionary.update({'TruthParticles': 'xAOD::TruthParticleContainer',
207 'TruthParticlesAux': 'xAOD::TruthParticleAuxContainer'})
208
209 JETM2SlimmingHelper.AllVariables += ["TruthTopQuarkWithDecayParticles","TruthTopQuarkWithDecayVertices","TruthHFWithDecayParticles",
210 "AntiKt4TruthJets", "InTimeAntiKt4TruthJets", "OutOfTimeAntiKt4TruthJets",
211 "TruthParticles", "TruthVertices","TruthEvents"]
212
213 JETM2SlimmingHelper.SmartCollections += ["AntiKt4TruthJets","AntiKt4TruthWZJets",
214 "AntiKt10TruthJets","AntiKt10TruthDressedWZSoftDropBeta100Zcut10Jets"]
215
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"]
226
227
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
237
238 jetOutputList = ["AntiKt4UFOCSSKNoPtCutJets","AntiKt4EMPFlowNoPtCutJets", "AntiKt4EMPFlowMLJets", "AntiKt4MLTopoJets"]
239 from DerivationFrameworkJetEtMiss.JetCommonConfig import addJetsToSlimmingTool
240 addJetsToSlimmingTool(JETM2SlimmingHelper, jetOutputList, JETM2SlimmingHelper.SmartCollections)
241
242
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]))
246
247 return acc
248