99def JETM2Cfg(flags):
100
101 acc = ComponentAccumulator()
102
103
104
105
106
107 from DerivationFrameworkPhys.TriggerListsHelper import TriggerListsHelper
108 JETM2TriggerListsHelper = TriggerListsHelper(flags)
109
110
111 acc.merge(JETM2KernelCfg(flags, name="JETM2Kernel", StreamName = 'StreamDAOD_JETM2', TriggerListsHelper = JETM2TriggerListsHelper))
112
113
114
115
116 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
117 from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
118 from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
119
120 JETM2SlimmingHelper =
SlimmingHelper(
"JETM2SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
121
122 JETM2SlimmingHelper.SmartCollections = ["EventInfo","InDetTrackParticles", "PrimaryVertices",
123 "Electrons", "Photons", "Muons", "TauJets",
124 "MET_Baseline_AntiKt4EMPFlow",
125 "AntiKt4EMTopoNoPtCutJets", "AntiKt4EMPFlowJets",
126 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets"]
127
128 JETM2SlimmingHelper.AllVariables = ["CaloCalFwdTopoTowers",
129 "CHSGChargedParticleFlowObjects","CHSGNeutralParticleFlowObjects",
130 "CHSGlobalClusterMLCorrectedChargedParticleFlowObjects","CHSGlobalClusterMLCorrectedNeutralParticleFlowObjects",
131 "CSSKGChargedParticleFlowObjects","CSSKGNeutralParticleFlowObjects",
132 "Kt4EMTopoOriginEventShape","Kt4EMPFlowEventShape","Kt4EMPFlowPUSBEventShape",
133 "Kt4EMPFlowNeutEventShape","Kt4UFOCSSKEventShape","Kt4UFOCSSKNeutEventShape"]
134
135
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)]
148
149
150 JETM2SlimmingHelper.ExtraVariables += FELinks
151
152
153 from DerivationFrameworkJetEtMiss.CommonJETMXContent import ExtraJSSVariables
154 JETM2SlimmingHelper.ExtraVariables += [".".join(["AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets"] + ExtraJSSVariables)]
155
156
157 from DerivationFrameworkJetEtMiss.CommonJETMXContent import JSSTaggersVariables
158 JETM2SlimmingHelper.ExtraVariables += JSSTaggersVariables
159
160 JETM2SlimmingHelper.ExtraVariables += ["AntiKt4EMPFlowJets.GhostTower.IsoFixedCone5Pt.IsoFixedCone5PtPUsub",
161 "AntiKt4EMTopoNoPtCutJets.IsoFixedCone5Pt.IsoFixedCone5PtPUsub",
162 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.SizeParameter.GhostTrack",
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({'CSSKGNeutralParticleFlowObjects': 'xAOD::FlowElementContainer',
170 'CSSKGNeutralParticleFlowObjectsAux': 'xAOD::ShallowAuxContainer',
171 'CSSKGChargedParticleFlowObjects': 'xAOD::FlowElementContainer',
172 'CSSKGChargedParticleFlowObjectsAux': 'xAOD::ShallowAuxContainer',
173 'CHSGlobalClusterMLCorrectedNeutralParticleFlowObjects': 'xAOD::FlowElementContainer',
174 'CHSGlobalClusterMLCorrectedNeutralParticleFlowObjectsAux': 'xAOD::ShallowAuxContainer',
175 'CHSGlobalClusterMLCorrectedChargedParticleFlowObjects': 'xAOD::FlowElementContainer',
176 'CHSGlobalClusterMLCorrectedChargedParticleFlowObjectsAux': 'xAOD::ShallowAuxContainer',
177 'GlobalClusterMLCorrectedChargedParticleFlowObjects': 'xAOD::FlowElementContainer',
178 'GlobalClusterMLCorrectedChargedParticleFlowObjectsAux': 'xAOD::ShallowAuxContainer',
179 'GlobalClusterMLCorrectedNeutralParticleFlowObjects': 'xAOD::FlowElementContainer',
180 'GlobalClusterMLCorrectedNeutralParticleFlowObjectsAux': 'xAOD::ShallowAuxContainer',
181 'UFO': 'xAOD::FlowElementContainer',
182 'UFOAux': 'xAOD::FlowElementAuxContainer',
183 'Kt4UFOCSSKEventShape': 'xAOD::EventShape',
184 'Kt4UFOCSSKEventShapeAux': 'xAOD::EventShapeAuxInfo',
185 'Kt4UFOCSSKNeutEventShape': 'xAOD::EventShape',
186 'Kt4UFOCSSKNeutEventShapeAux': 'xAOD::EventShapeAuxInfo',
187 'AntiKt4EMTopoNoPtCutJets': 'xAOD::JetContainer',
188 'AntiKt4EMTopoNoPtCutJetsAux': 'xAOD::JetAuxContainer',
189 })
190
191 from DerivationFrameworkJetEtMiss.JetCommonConfig import addOriginCorrectedClustersToSlimmingTool
192 addOriginCorrectedClustersToSlimmingTool(JETM2SlimmingHelper,writeLC=True,writeEM=True)
193
194
195 if flags.Input.isMC:
196
197 from DerivationFrameworkMCTruth.MCTruthCommonConfig import addTruth3ContentToSlimmerTool
198 addTruth3ContentToSlimmerTool(JETM2SlimmingHelper)
199
200 JETM2SlimmingHelper.AppendToDictionary.update({'TruthParticles': 'xAOD::TruthParticleContainer',
201 'TruthParticlesAux': 'xAOD::TruthParticleAuxContainer'})
202
203 JETM2SlimmingHelper.AllVariables += ["TruthTopQuarkWithDecayParticles","TruthTopQuarkWithDecayVertices","TruthHFWithDecayParticles",
204 "AntiKt4TruthJets", "InTimeAntiKt4TruthJets", "OutOfTimeAntiKt4TruthJets",
205 "TruthParticles", "TruthVertices","TruthEvents"]
206 JETM2SlimmingHelper.ExtraVariables += ["AntiKt10TruthSoftDropBeta100Zcut10Jets.SizeParameter"]
207 JETM2SlimmingHelper.SmartCollections += ["AntiKt4TruthJets","AntiKt10TruthJets","AntiKt4TruthWZJets","AntiKt10TruthDressedWZSoftDropBeta100Zcut10Jets"]
208
209 JETM2SlimmingHelper.ExtraVariables += ["AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.GhostTQuarksFinalCount.GhostHBosonsCount.GhostZBosonsCount.GhostWBosonsCount",
210 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.GhostTQuarksFinalPt.GhostHBosonsPt.GhostZBosonsPt.GhostWBosonsPt",
211 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.GhostBHadronsFinalPt.GhostCHadronsFinalPt",
212 "AntiKt4TruthWZJets.IsoFixedCone5Pt",
213 "AntiKt4TruthDressedWZJets.IsoFixedCone5Pt"]
214
215
216 JETM2SlimmingHelper.IncludeTriggerNavigation = False
217 JETM2SlimmingHelper.IncludeJetTriggerContent = False
218 JETM2SlimmingHelper.IncludeMuonTriggerContent = False
219 JETM2SlimmingHelper.IncludeEGammaTriggerContent = False
220 JETM2SlimmingHelper.IncludeTauTriggerContent = False
221 JETM2SlimmingHelper.IncludeEtMissTriggerContent = False
222 JETM2SlimmingHelper.IncludeBJetTriggerContent = False
223 JETM2SlimmingHelper.IncludeBPhysTriggerContent = False
224 JETM2SlimmingHelper.IncludeMinBiasTriggerContent = False
225
226 jetOutputList = ["AntiKt4UFOCSSKNoPtCutJets","AntiKt4EMPFlowNoPtCutJets", "AntiKt4EMPFlowMLJets", "AntiKt4MLTopoJets"]
227 from DerivationFrameworkJetEtMiss.JetCommonConfig import addJetsToSlimmingTool
228 addJetsToSlimmingTool(JETM2SlimmingHelper, jetOutputList, JETM2SlimmingHelper.SmartCollections)
229
230
231 JETM2ItemList = JETM2SlimmingHelper.GetItemList()
232 acc.merge(OutputStreamCfg(flags, "DAOD_JETM2", ItemList=JETM2ItemList, AcceptAlgs=["JETM2Kernel"]))
233 acc.merge(SetupMetaDataForStreamCfg(flags, "DAOD_JETM2", AcceptAlgs=["JETM2Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))
234
235 return acc
236