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 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"]
164
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',
185 })
186
187 from DerivationFrameworkJetEtMiss.JetCommonConfig import addOriginCorrectedClustersToSlimmingTool
188 addOriginCorrectedClustersToSlimmingTool(JETM2SlimmingHelper,writeLC=True,writeEM=True)
189
190
191 if flags.Input.isMC:
192
193 from DerivationFrameworkMCTruth.MCTruthCommonConfig import addTruth3ContentToSlimmerTool
194 addTruth3ContentToSlimmerTool(JETM2SlimmingHelper)
195
196 JETM2SlimmingHelper.AppendToDictionary.update({'TruthParticles': 'xAOD::TruthParticleContainer',
197 'TruthParticlesAux': 'xAOD::TruthParticleAuxContainer'})
198
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"]
204
205 JETM2SlimmingHelper.ExtraVariables += ["AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.GhostTQuarksFinalCount.GhostHBosonsCount.GhostZBosonsCount.GhostWBosonsCount",
206 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.GhostTQuarksFinalPt.GhostHBosonsPt.GhostZBosonsPt.GhostWBosonsPt",
207 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets.GhostBHadronsFinalPt.GhostCHadronsFinalPt",
208 "AntiKt4TruthWZJets.IsoFixedCone5Pt",
209 "AntiKt4TruthDressedWZJets.IsoFixedCone5Pt"]
210
211
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
221
222 jetOutputList = ["AntiKt4UFOCSSKNoPtCutJets","AntiKt4EMPFlowNoPtCutJets", "AntiKt4EMPFlowMLJets", "AntiKt4MLTopoJets"]
223 from DerivationFrameworkJetEtMiss.JetCommonConfig import addJetsToSlimmingTool
224 addJetsToSlimmingTool(JETM2SlimmingHelper, jetOutputList, JETM2SlimmingHelper.SmartCollections)
225
226
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]))
230
231 return acc
232