10 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
11 from AthenaConfiguration.ComponentFactory
import CompFactory
12 from DerivationFrameworkEGamma.ElectronsCPDetailedContent
import GSFTracksCPDetailedContent
13 from AthenaConfiguration.Enums
import MetadataCategory
17 """Configure the derivation framework driving algorithm (kernel) for PHYSVAL"""
21 from DerivationFrameworkPhys.PhysCommonConfig
import PhysCommonAugmentationsCfg
25 from DerivationFrameworkLLP.PhysValLLPConfig
import PhysValLLPCfg
28 if flags.Tracking.doLargeD0:
30 from DerivationFrameworkEGamma.EGammaLRTConfig
import EGammaLRTCfg
33 from DerivationFrameworkLLP.LLPToolsConfig
import LRTElectronLHSelectorsCfg
37 from DerivationFrameworkMuons.MuonsCommonConfig
import MuonsCommonCfg
42 from JetRecConfig.StandardSmallRJets
import AntiKt4LCTopo
43 from JetRecConfig.JetRecConfig
import JetRecCfg
48 DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
61 from DerivationFrameworkPhys.TriggerListsHelper
import TriggerListsHelper
62 PHYSVALTriggerListsHelper = TriggerListsHelper(flags)
65 acc.merge(
PHYSVALKernelCfg(flags, name=
"PHYSVALKernel", StreamName =
'StreamDAOD_PHYSVAL', TriggerListsHelper = PHYSVALTriggerListsHelper))
70 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
71 from xAODMetaDataCnv.InfileMetaDataConfig
import SetupMetaDataForStreamCfg
72 from DerivationFrameworkCore.SlimmingHelper
import SlimmingHelper
74 PHYSVALSlimmingHelper =
SlimmingHelper(
"PHYSVALSlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
75 PHYSVALSlimmingHelper.SmartCollections = [
"EventInfo",
82 "InDetTrackParticles",
83 "InDetLargeD0TrackParticles",
87 "MET_Baseline_AntiKt4EMTopo",
88 "MET_Baseline_AntiKt4EMPFlow",
94 "AntiKt10LCTopoTrimmedPtFrac5SmallR20Jets",
95 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets"]
97 PHYSVALSlimmingHelper.AllVariables = [
"EventInfo",
98 "Electrons",
"ForwardElectrons",
"LRTElectrons",
100 "Muons",
"CombinedMuonTrackParticles",
"ExtrapolatedMuonTrackParticles",
102 "MuonSpectrometerTrackParticles",
"MSOnlyExtrapolatedMuonTrackParticles",
"MuonSegments",
104 "InDetTrackParticles",
"InDetForwardTrackParticles",
105 "InDetLargeD0TrackParticles",
107 "AntiKt4EMPFlowJets",
117 "AntiKt10LCTopoTrimmedPtFrac5SmallR20Jets",
"AntiKt10LCTopoJets",
"AntiKt4LCTopoJets",
"AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets",
118 "TruthParticles",
"TruthEvents",
"TruthVertices",
"MuonTruthParticles",
"egammaTruthParticles",
120 "MET_Truth",
"MET_TruthRegions",
121 "TruthElectrons",
"TruthMuons",
"TruthPhotons",
"TruthTaus",
"TruthNeutrinos",
"TruthBSM",
"TruthTop",
"TruthBoson",
122 "CaloCalTopoClusters",
"EMOriginTopoClusters",
"LCOriginTopoClusters",
123 "JetETMissChargedParticleFlowObjects",
"JetETMissNeutralParticleFlowObjects"]
127 AddPseudoTracks =
False
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
144 excludedVertexAuxData =
"-vxTrackAtVertex.-MvfFitInfo.-isInitialized.-VTAV"
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"]
157 for wp
in [
"",
"_LeptonsMod_LRTR3_1p0"]:
158 StaticContent += [
"xAOD::VertexContainer#VrtSecInclusive_SecondaryVertices" + wp]
159 StaticContent += [
"xAOD::VertexAuxContainer#VrtSecInclusive_SecondaryVertices" + wp +
"Aux."]
162 PHYSVALSlimmingHelper.StaticContent = StaticContent
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'}
195 from DerivationFrameworkMCTruth.MCTruthCommonConfig
import addTruth3ContentToSlimmerTool
197 PHYSVALSlimmingHelper.AllVariables += [
'TruthHFWithDecayParticles',
'TruthHFWithDecayVertices',
'TruthCharm',
'TruthPileupEvents',
'TruthPileupParticles',
'InTimeAntiKt4TruthJets',
'OutOfTimeAntiKt4TruthJets']
198 PHYSVALSlimmingHelper.SmartCollections += [
'AntiKt4TruthJets']
200 if flags.Trigger.EDMVersion == 3:
202 from DerivationFrameworkFlavourTag.FtagDerivationConfig
import HLTJetFTagDecorationCfg
207 PHYSVALSlimmingHelper.ExtraVariables += [
"AntiKt10TruthTrimmedPtFrac5SmallR20Jets.Tau1_wta.Tau2_wta.Tau3_wta.D2.GhostBHadronsFinalCount",
208 "Electrons.TruthLink",
"LRTElectrons.TruthLink",
209 "Muons.TruthLink",
"MuonsLRT.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",
221 PHYSVALSlimmingHelper.ExtraVariables += GSFTracksCPDetailedContent
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"
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] ) ]
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
249 if flags.Trigger.EDMVersion == 2:
250 from DerivationFrameworkPhys.TriggerMatchingCommonConfig
import AddRun2TriggerMatchingToSlimmingHelper
252 OutputContainerPrefix =
"TrigMatch_",
253 TriggerList = PHYSVALTriggerListsHelper.Run2TriggerNamesTau)
255 OutputContainerPrefix =
"TrigMatch_",
256 TriggerList = PHYSVALTriggerListsHelper.Run2TriggerNamesNoTau)
258 if flags.Trigger.EDMVersion == 3
or (flags.Trigger.EDMVersion == 2
and flags.Trigger.doEDMVersionConversion):
259 from TrigNavSlimmingMT.TrigNavSlimmingMTConfig
import AddRun3TrigNavSlimmingCollectionsToSlimmingHelper
263 PHYSVALSlimmingHelper.IncludeFullTriggerEDMLevel =
"ESD"
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]))