53def PHYSVALCfg(flags):
54
55 acc = ComponentAccumulator()
56
57
58
59
60
61 from DerivationFrameworkPhys.TriggerListsHelper import TriggerListsHelper
62 PHYSVALTriggerListsHelper = TriggerListsHelper(flags)
63
64
65 acc.merge(PHYSVALKernelCfg(flags, name="PHYSVALKernel", StreamName = 'StreamDAOD_PHYSVAL', TriggerListsHelper = PHYSVALTriggerListsHelper))
66
67
68
69
70 from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
71 from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
72 from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
73
74 PHYSVALSlimmingHelper =
SlimmingHelper(
"PHYSVALSlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
75 PHYSVALSlimmingHelper.SmartCollections = ["EventInfo",
76 "Electrons",
77 "LRTElectrons",
78 "Photons",
79 "Muons",
80 "MuonsLRT",
81 "PrimaryVertices",
82 "InDetTrackParticles",
83 "InDetLargeD0TrackParticles",
84 "AntiKt4EMTopoJets",
85 "AntiKt4EMPFlowJets",
86 "AntiKt4LCTopoJets",
87 "MET_Baseline_AntiKt4EMTopo",
88 "MET_Baseline_AntiKt4EMPFlow",
89 "TauJets",
90 "TauJets_MuonRM",
91 "TauJets_EleRM",
92 "DiTauJets",
93 "DiTauJetsLowPt",
94 "AntiKt10LCTopoTrimmedPtFrac5SmallR20Jets",
95 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets"]
96
97 PHYSVALSlimmingHelper.AllVariables = ["EventInfo",
98 "Electrons", "ForwardElectrons","LRTElectrons",
99 "Photons",
100 "Muons", "CombinedMuonTrackParticles","ExtrapolatedMuonTrackParticles",
101 "MuonsLRT",
102 "MuonSpectrometerTrackParticles","MSOnlyExtrapolatedMuonTrackParticles","MuonSegments",
103 "PrimaryVertices",
104 "InDetTrackParticles","InDetForwardTrackParticles",
105 "InDetLargeD0TrackParticles",
106 "AntiKt4EMTopoJets",
107 "AntiKt4EMPFlowJets",
108 "AntiKt4LCTopoJets",
109 "TauJets",
110 "TauJets_MuonRM",
111 "TauJets_EleRM",
112 "TauTracks",
113 "TauTracks_MuonRM",
114 "TauTracks_EleRM",
115 "DiTauJets",
116 "DiTauJetsLowPt",
117 "AntiKt10LCTopoTrimmedPtFrac5SmallR20Jets","AntiKt10LCTopoJets","AntiKt4LCTopoJets","AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets",
118 "TruthParticles", "TruthEvents", "TruthVertices", "MuonTruthParticles", "egammaTruthParticles",
119 "MuonTruthSegments",
120 "MET_Truth","MET_TruthRegions",
121 "TruthElectrons","TruthMuons","TruthPhotons","TruthTaus","TruthNeutrinos","TruthBSM","TruthTop","TruthBoson",
122 "CaloCalTopoClusters", "EMOriginTopoClusters","LCOriginTopoClusters",
123 "JetETMissChargedParticleFlowObjects", "JetETMissNeutralParticleFlowObjects"]
124
125
126
127 AddPseudoTracks = False
128 if AddPseudoTracks:
129 PseudoTrackContainers = [
130 "InDetPseudoTrackParticles",
131 "InDetReplacedWithPseudoTrackParticles",
132 "InDetReplacedWithPseudoFromBTrackParticles",
133 "InDetReplacedWithPseudoNotFromBTrackParticles",
134 "InDetPlusPseudoTrackParticles",
135 "InDetPlusPseudoFromBTrackParticles",
136 "InDetPlusPseudoNotFromBTrackParticles",
137 "InDetNoFakesTrackParticles",
138 "InDetNoFakesFromBTrackParticles",
139 "InDetNoFakesNotFromBTrackParticles",
140 "InDetSiSPSeededTracksParticles"]
141 PHYSVALSlimmingHelper.SmartCollections += PseudoTrackContainers
142 PHYSVALSlimmingHelper.AllVariables += PseudoTrackContainers
143
144 excludedVertexAuxData = "-vxTrackAtVertex.-MvfFitInfo.-isInitialized.-VTAV"
145 StaticContent = []
146 StaticContent += ["xAOD::VertexContainer#SoftBVrtClusterTool_Tight_Vertices"]
147 StaticContent += ["xAOD::VertexAuxContainer#SoftBVrtClusterTool_Tight_VerticesAux." + excludedVertexAuxData]
148 StaticContent += ["xAOD::VertexContainer#SoftBVrtClusterTool_Medium_Vertices"]
149 StaticContent += ["xAOD::VertexAuxContainer#SoftBVrtClusterTool_Medium_VerticesAux." + excludedVertexAuxData]
150 StaticContent += ["xAOD::VertexContainer#SoftBVrtClusterTool_Loose_Vertices"]
151 StaticContent += ["xAOD::VertexAuxContainer#SoftBVrtClusterTool_Loose_VerticesAux." + excludedVertexAuxData]
152 StaticContent += ["xAOD::TauJetContainer#TauJets_MuonRM"]
153 StaticContent += ["xAOD::TauJetAuxContainer#TauJets_MuonRMAux.-VertexedClusters"]
154 StaticContent += ["xAOD::VertexContainer#TauSecondaryVertices_MuonRM"]
155 StaticContent += ["xAOD::VertexAuxContainer#TauSecondaryVertices_MuonRMAux.-vxTrackAtVertex"]
156
157 for wp in ["","_LeptonsMod_LRTR3_1p0"]:
158 StaticContent += ["xAOD::VertexContainer#VrtSecInclusive_SecondaryVertices" + wp]
159 StaticContent += ["xAOD::VertexAuxContainer#VrtSecInclusive_SecondaryVertices" + wp + "Aux."]
160
161
162 PHYSVALSlimmingHelper.StaticContent = StaticContent
163
164
165 if flags.Input.isMC:
166 PHYSVALSlimmingHelper.AppendToDictionary = {'TruthEvents':'xAOD::TruthEventContainer','TruthEventsAux':'xAOD::TruthEventAuxContainer',
167 'MET_Truth':'xAOD::MissingETContainer','MET_TruthAux':'xAOD::MissingETAuxContainer',
168 'TruthElectrons':'xAOD::TruthParticleContainer','TruthElectronsAux':'xAOD::TruthParticleAuxContainer',
169 'TruthMuons':'xAOD::TruthParticleContainer','TruthMuonsAux':'xAOD::TruthParticleAuxContainer',
170 'TruthPhotons':'xAOD::TruthParticleContainer','TruthPhotonsAux':'xAOD::TruthParticleAuxContainer',
171 'TruthTaus':'xAOD::TruthParticleContainer','TruthTausAux':'xAOD::TruthParticleAuxContainer',
172 'TruthNeutrinos':'xAOD::TruthParticleContainer','TruthNeutrinosAux':'xAOD::TruthParticleAuxContainer',
173 'TruthBSM':'xAOD::TruthParticleContainer','TruthBSMAux':'xAOD::TruthParticleAuxContainer',
174 'TruthBoson':'xAOD::TruthParticleContainer','TruthBosonAux':'xAOD::TruthParticleAuxContainer',
175 'TruthTop':'xAOD::TruthParticleContainer','TruthTopAux':'xAOD::TruthParticleAuxContainer',
176 'TruthForwardProtons':'xAOD::TruthParticleContainer','TruthForwardProtonsAux':'xAOD::TruthParticleAuxContainer',
177 'BornLeptons':'xAOD::TruthParticleContainer','BornLeptonsAux':'xAOD::TruthParticleAuxContainer',
178 'TruthBosonsWithDecayParticles':'xAOD::TruthParticleContainer','TruthBosonsWithDecayParticlesAux':'xAOD::TruthParticleAuxContainer',
179 'TruthBosonsWithDecayVertices':'xAOD::TruthVertexContainer','TruthBosonsWithDecayVerticesAux':'xAOD::TruthVertexAuxContainer',
180 'TruthBSMWithDecayParticles':'xAOD::TruthParticleContainer','TruthBSMWithDecayParticlesAux':'xAOD::TruthParticleAuxContainer',
181 'TruthBSMWithDecayVertices':'xAOD::TruthVertexContainer','TruthBSMWithDecayVerticesAux':'xAOD::TruthVertexAuxContainer',
182 'TruthHFWithDecayParticles':'xAOD::TruthParticleContainer','TruthHFWithDecayParticlesAux':'xAOD::TruthParticleAuxContainer',
183 'TruthHFWithDecayVertices':'xAOD::TruthVertexContainer','TruthHFWithDecayVerticesAux':'xAOD::TruthVertexAuxContainer',
184 'TruthCharm':'xAOD::TruthParticleContainer','TruthCharmAux':'xAOD::TruthParticleAuxContainer',
185 'TruthPrimaryVertices':'xAOD::TruthVertexContainer','TruthPrimaryVerticesAux':'xAOD::TruthVertexAuxContainer',
186 'AntiKt10TruthTrimmedPtFrac5SmallR20Jets':'xAOD::JetContainer', 'AntiKt10TruthTrimmedPtFrac5SmallR20JetsAux':'xAOD::JetAuxContainer',
187 'AntiKt10LCTopoJets':'xAOD::JetContainer', 'AntiKt10LCTopoJetsAux':'xAOD::JetAuxContainer',
188 'EMOriginTopoClusters':'xAOD::CaloClusterContainer', 'EMOriginTopoClustersAux':'xAOD::ShallowAuxContainer',
189 'LCOriginTopoClusters':'xAOD::CaloClusterContainer', 'LCOriginTopoClustersAux':'xAOD::ShallowAuxContainer',
190 'GlobalChargedParticleFlowObjects':'xAOD::FlowElementContainer','GlobalChargedParticleFlowObjectsAux':'xAOD::FlowElementAuxContainer',
191 'GlobalNeutralParticleFlowObjects':'xAOD::FlowElementContainer', 'GlobalNeutralParticleFlowObjectsAux':'xAOD::FlowElementAuxContainer',
192 'CHSGChargedParticleFlowObjects': 'xAOD::FlowElementContainer', 'CHSGChargedParticleFlowObjectsAux':'xAOD::ShallowAuxContainer',
193 'CHSGNeutralParticleFlowObjects': 'xAOD::FlowElementContainer', 'CHSGNeutralParticleFlowObjectsAux':'xAOD::ShallowAuxContainer'}
194
195 from DerivationFrameworkMCTruth.MCTruthCommonConfig import addTruth3ContentToSlimmerTool
196 addTruth3ContentToSlimmerTool(PHYSVALSlimmingHelper)
197 PHYSVALSlimmingHelper.AllVariables += ['TruthHFWithDecayParticles','TruthHFWithDecayVertices','TruthCharm','TruthPileupEvents','TruthPileupParticles','InTimeAntiKt4TruthJets','OutOfTimeAntiKt4TruthJets']
198 PHYSVALSlimmingHelper.SmartCollections += ['AntiKt4TruthJets']
199
200 if flags.Trigger.EDMVersion == 3:
201
202 from DerivationFrameworkFlavourTag.FtagDerivationConfig import HLTJetFTagDecorationCfg
203 acc.merge(HLTJetFTagDecorationCfg(flags))
204
205
206
207 PHYSVALSlimmingHelper.ExtraVariables += ["AntiKt10TruthTrimmedPtFrac5SmallR20Jets.Tau1_wta.Tau2_wta.Tau3_wta.D2.GhostBHadronsFinalCount",
208 "Electrons.TruthLink","LRTElectrons.TruthLink",
209 "Muons.TruthLink","MuonsLRT.TruthLink",
210 "Photons.TruthLink",
211 "AntiKt4EMTopoJets.DFCommonJets_QGTagger_truthjet_nCharged.DFCommonJets_QGTagger_truthjet_pt.DFCommonJets_QGTagger_truthjet_eta.DFCommonJets_QGTagger_NTracks.DFCommonJets_QGTagger_TracksWidth.DFCommonJets_QGTagger_TracksC1.PartonTruthLabelID",
212 "AntiKt4EMPFlowJets.DFCommonJets_QGTagger_truthjet_nCharged.DFCommonJets_QGTagger_truthjet_pt.DFCommonJets_QGTagger_truthjet_eta.DFCommonJets_QGTagger_NTracks.DFCommonJets_QGTagger_TracksWidth.DFCommonJets_QGTagger_TracksC1.PartonTruthLabelID.DFCommonJets_fJvt",
213 "TruthPrimaryVertices.t.x.y.z",
214 "TauNeutralParticleFlowObjects.pt.eta.phi.m.bdtPi0Score.nPi0Proto",
215 "TauChargedParticleFlowObjects.pt.eta.phi.m",
216 "TauNeutralParticleFlowObjects_MuonRM.pt.eta.phi.m.bdtPi0Score.nPi0Proto",
217 "TauChargedParticleFlowObjects_MuonRM.pt.eta.phi.m",
218 "TauNeutralParticleFlowObjects_EleRM.pt.eta.phi.m.bdtPi0Score.nPi0Proto",
219 "TauChargedParticleFlowObjects_EleRM.pt.eta.phi.m",
220 "MET_Track.sumet"]
221 PHYSVALSlimmingHelper.ExtraVariables += GSFTracksCPDetailedContent
222
223 VSITrackAuxVars = [
224 "is_selected", "is_associated", "is_svtrk_final", "pt_wrtSV", "eta_wrtSV",
225 "phi_wrtSV", "d0_wrtSV", "z0_wrtSV", "errP_wrtSV", "errd0_wrtSV",
226 "errz0_wrtSV", "chi2_toSV"
227 ]
228
229 for suffix in ["","_LeptonsMod_LRTR3_1p0"]:
230 PHYSVALSlimmingHelper.ExtraVariables += [ "InDetTrackParticles." + '.'.join( [ var + suffix for var in VSITrackAuxVars] ) ]
231 PHYSVALSlimmingHelper.ExtraVariables += [ "InDetLargeD0TrackParticles." + '.'.join( [ var + suffix for var in VSITrackAuxVars] ) ]
232 PHYSVALSlimmingHelper.ExtraVariables += [ "GSFTrackParticles." + '.'.join( [ var + suffix for var in VSITrackAuxVars] ) ]
233 PHYSVALSlimmingHelper.ExtraVariables += [ "LRTGSFTrackParticles." + '.'.join( [ var + suffix for var in VSITrackAuxVars] ) ]
234
235
236
237 PHYSVALSlimmingHelper.IncludeTriggerNavigation = True
238 PHYSVALSlimmingHelper.IncludeJetTriggerContent = True
239 PHYSVALSlimmingHelper.IncludeMuonTriggerContent = True
240 PHYSVALSlimmingHelper.IncludeEGammaTriggerContent = True
241 PHYSVALSlimmingHelper.IncludeTauTriggerContent = True
242 PHYSVALSlimmingHelper.IncludeEtMissTriggerContent = True
243 PHYSVALSlimmingHelper.IncludeBJetTriggerContent = True
244 PHYSVALSlimmingHelper.IncludeBPhysTriggerContent = True
245 PHYSVALSlimmingHelper.IncludeMinBiasTriggerContent = True
246
247
248
249 if flags.Trigger.EDMVersion == 2:
250 from DerivationFrameworkPhys.TriggerMatchingCommonConfig import AddRun2TriggerMatchingToSlimmingHelper
251 AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = PHYSVALSlimmingHelper,
252 OutputContainerPrefix = "TrigMatch_",
253 TriggerList = PHYSVALTriggerListsHelper.Run2TriggerNamesTau)
254 AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = PHYSVALSlimmingHelper,
255 OutputContainerPrefix = "TrigMatch_",
256 TriggerList = PHYSVALTriggerListsHelper.Run2TriggerNamesNoTau)
257
258 if flags.Trigger.EDMVersion == 3 or (flags.Trigger.EDMVersion == 2 and flags.Trigger.doEDMVersionConversion):
259 from TrigNavSlimmingMT.TrigNavSlimmingMTConfig import AddRun3TrigNavSlimmingCollectionsToSlimmingHelper
260 AddRun3TrigNavSlimmingCollectionsToSlimmingHelper(PHYSVALSlimmingHelper)
261
262
263 PHYSVALSlimmingHelper.IncludeFullTriggerEDMLevel = "ESD"
264
265
266 PHYSVALItemList = PHYSVALSlimmingHelper.GetItemList()
267 acc.merge(OutputStreamCfg(flags, "DAOD_PHYSVAL", ItemList=PHYSVALItemList, AcceptAlgs=["PHYSVALKernel"]))
268 acc.merge(SetupMetaDataForStreamCfg(flags, "DAOD_PHYSVAL", AcceptAlgs=["PHYSVALKernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))
269
270 return acc
271