17 """Configure the derivation framework driving algorithm (kernel) for PHYSVAL"""
18 acc = ComponentAccumulator()
21 from DerivationFrameworkPhys.PhysCommonConfig
import PhysCommonAugmentationsCfg
22 acc.merge(PhysCommonAugmentationsCfg(flags, TriggerListsHelper = kwargs[
'TriggerListsHelper']))
25 from DerivationFrameworkLLP.PhysValLLPConfig
import PhysValLLPCfg
26 acc.merge(PhysValLLPCfg(flags))
28 if flags.Tracking.doLargeD0:
30 from DerivationFrameworkEGamma.EGammaLRTConfig
import EGammaLRTCfg
31 acc.merge(EGammaLRTCfg(flags))
33 from DerivationFrameworkLLP.LLPToolsConfig
import LRTElectronLHSelectorsCfg
34 acc.merge(LRTElectronLHSelectorsCfg(flags))
37 from DerivationFrameworkMuons.MuonsCommonConfig
import MuonsCommonCfg
38 acc.merge(MuonsCommonCfg(flags,
42 from JetRecConfig.StandardSmallRJets
import AntiKt4LCTopo
43 from JetRecConfig.JetRecConfig
import JetRecCfg
45 acc.merge(JetRecCfg(flags,AntiKt4LCTopo))
48 DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
49 acc.addEventAlgo(DerivationKernel(name))
55 acc = ComponentAccumulator()
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 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets"]
96 PHYSVALSlimmingHelper.AllVariables = [
"EventInfo",
97 "Electrons",
"ForwardElectrons",
"LRTElectrons",
99 "Muons",
"CombinedMuonTrackParticles",
"ExtrapolatedMuonTrackParticles",
101 "MuonSpectrometerTrackParticles",
"MSOnlyExtrapolatedMuonTrackParticles",
"MuonSegments",
103 "InDetTrackParticles",
"InDetForwardTrackParticles",
104 "InDetLargeD0TrackParticles",
106 "AntiKt4EMPFlowJets",
116 "AntiKt10LCTopoJets",
"AntiKt4LCTopoJets",
"AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets",
117 "TruthParticles",
"TruthEvents",
"TruthVertices",
"MuonTruthParticles",
"egammaTruthParticles",
119 "MET_Truth",
"MET_TruthRegions",
120 "TruthElectrons",
"TruthMuons",
"TruthPhotons",
"TruthTaus",
"TruthNeutrinos",
"TruthBSM",
"TruthTop",
"TruthBoson",
121 "CaloCalTopoClusters",
"EMOriginTopoClusters",
"LCOriginTopoClusters",
122 "JetETMissChargedParticleFlowObjects",
"JetETMissNeutralParticleFlowObjects"]
126 AddPseudoTracks =
False
128 PseudoTrackContainers = [
129 "InDetPseudoTrackParticles",
130 "InDetReplacedWithPseudoTrackParticles",
131 "InDetReplacedWithPseudoFromBTrackParticles",
132 "InDetReplacedWithPseudoNotFromBTrackParticles",
133 "InDetPlusPseudoTrackParticles",
134 "InDetPlusPseudoFromBTrackParticles",
135 "InDetPlusPseudoNotFromBTrackParticles",
136 "InDetNoFakesTrackParticles",
137 "InDetNoFakesFromBTrackParticles",
138 "InDetNoFakesNotFromBTrackParticles",
139 "InDetSiSPSeededTracksParticles"]
140 PHYSVALSlimmingHelper.SmartCollections += PseudoTrackContainers
141 PHYSVALSlimmingHelper.AllVariables += PseudoTrackContainers
143 excludedVertexAuxData =
"-vxTrackAtVertex.-MvfFitInfo.-isInitialized.-VTAV"
145 StaticContent += [
"xAOD::VertexContainer#SoftBVrtClusterTool_Tight_Vertices"]
146 StaticContent += [
"xAOD::VertexAuxContainer#SoftBVrtClusterTool_Tight_VerticesAux." + excludedVertexAuxData]
147 StaticContent += [
"xAOD::VertexContainer#SoftBVrtClusterTool_Medium_Vertices"]
148 StaticContent += [
"xAOD::VertexAuxContainer#SoftBVrtClusterTool_Medium_VerticesAux." + excludedVertexAuxData]
149 StaticContent += [
"xAOD::VertexContainer#SoftBVrtClusterTool_Loose_Vertices"]
150 StaticContent += [
"xAOD::VertexAuxContainer#SoftBVrtClusterTool_Loose_VerticesAux." + excludedVertexAuxData]
151 StaticContent += [
"xAOD::TauJetContainer#TauJets_MuonRM"]
152 StaticContent += [
"xAOD::TauJetAuxContainer#TauJets_MuonRMAux.-VertexedClusters"]
153 StaticContent += [
"xAOD::VertexContainer#TauSecondaryVertices_MuonRM"]
154 StaticContent += [
"xAOD::VertexAuxContainer#TauSecondaryVertices_MuonRMAux.-vxTrackAtVertex"]
156 for wp
in [
"",
"_LeptonsMod_LRTR3_1p0"]:
157 StaticContent += [
"xAOD::VertexContainer#VrtSecInclusive_SecondaryVertices" + wp]
158 StaticContent += [
"xAOD::VertexAuxContainer#VrtSecInclusive_SecondaryVertices" + wp +
"Aux."]
161 PHYSVALSlimmingHelper.StaticContent = StaticContent
165 PHYSVALSlimmingHelper.AppendToDictionary = {
'TruthEvents':
'xAOD::TruthEventContainer',
'TruthEventsAux':
'xAOD::TruthEventAuxContainer',
166 'MET_Truth':
'xAOD::MissingETContainer',
'MET_TruthAux':
'xAOD::MissingETAuxContainer',
167 'TruthElectrons':
'xAOD::TruthParticleContainer',
'TruthElectronsAux':
'xAOD::TruthParticleAuxContainer',
168 'TruthMuons':
'xAOD::TruthParticleContainer',
'TruthMuonsAux':
'xAOD::TruthParticleAuxContainer',
169 'TruthPhotons':
'xAOD::TruthParticleContainer',
'TruthPhotonsAux':
'xAOD::TruthParticleAuxContainer',
170 'TruthTaus':
'xAOD::TruthParticleContainer',
'TruthTausAux':
'xAOD::TruthParticleAuxContainer',
171 'TruthNeutrinos':
'xAOD::TruthParticleContainer',
'TruthNeutrinosAux':
'xAOD::TruthParticleAuxContainer',
172 'TruthBSM':
'xAOD::TruthParticleContainer',
'TruthBSMAux':
'xAOD::TruthParticleAuxContainer',
173 'TruthBoson':
'xAOD::TruthParticleContainer',
'TruthBosonAux':
'xAOD::TruthParticleAuxContainer',
174 'TruthTop':
'xAOD::TruthParticleContainer',
'TruthTopAux':
'xAOD::TruthParticleAuxContainer',
175 'TruthForwardProtons':
'xAOD::TruthParticleContainer',
'TruthForwardProtonsAux':
'xAOD::TruthParticleAuxContainer',
176 'BornLeptons':
'xAOD::TruthParticleContainer',
'BornLeptonsAux':
'xAOD::TruthParticleAuxContainer',
177 'TruthBosonsWithDecayParticles':
'xAOD::TruthParticleContainer',
'TruthBosonsWithDecayParticlesAux':
'xAOD::TruthParticleAuxContainer',
178 'TruthBosonsWithDecayVertices':
'xAOD::TruthVertexContainer',
'TruthBosonsWithDecayVerticesAux':
'xAOD::TruthVertexAuxContainer',
179 'TruthBSMWithDecayParticles':
'xAOD::TruthParticleContainer',
'TruthBSMWithDecayParticlesAux':
'xAOD::TruthParticleAuxContainer',
180 'TruthBSMWithDecayVertices':
'xAOD::TruthVertexContainer',
'TruthBSMWithDecayVerticesAux':
'xAOD::TruthVertexAuxContainer',
181 'TruthHFWithDecayParticles':
'xAOD::TruthParticleContainer',
'TruthHFWithDecayParticlesAux':
'xAOD::TruthParticleAuxContainer',
182 'TruthHFWithDecayVertices':
'xAOD::TruthVertexContainer',
'TruthHFWithDecayVerticesAux':
'xAOD::TruthVertexAuxContainer',
183 'TruthCharm':
'xAOD::TruthParticleContainer',
'TruthCharmAux':
'xAOD::TruthParticleAuxContainer',
184 'TruthPrimaryVertices':
'xAOD::TruthVertexContainer',
'TruthPrimaryVerticesAux':
'xAOD::TruthVertexAuxContainer',
185 'AntiKt10TruthTrimmedPtFrac5SmallR20Jets':
'xAOD::JetContainer',
'AntiKt10TruthTrimmedPtFrac5SmallR20JetsAux':
'xAOD::JetAuxContainer',
186 'AntiKt10LCTopoJets':
'xAOD::JetContainer',
'AntiKt10LCTopoJetsAux':
'xAOD::JetAuxContainer',
187 'EMOriginTopoClusters':
'xAOD::CaloClusterContainer',
'EMOriginTopoClustersAux':
'xAOD::ShallowAuxContainer',
188 'LCOriginTopoClusters':
'xAOD::CaloClusterContainer',
'LCOriginTopoClustersAux':
'xAOD::ShallowAuxContainer',
189 'GlobalChargedParticleFlowObjects':
'xAOD::FlowElementContainer',
'GlobalChargedParticleFlowObjectsAux':
'xAOD::FlowElementAuxContainer',
190 'GlobalNeutralParticleFlowObjects':
'xAOD::FlowElementContainer',
'GlobalNeutralParticleFlowObjectsAux':
'xAOD::FlowElementAuxContainer',
191 'CHSGChargedParticleFlowObjects':
'xAOD::FlowElementContainer',
'CHSGChargedParticleFlowObjectsAux':
'xAOD::ShallowAuxContainer',
192 'CHSGNeutralParticleFlowObjects':
'xAOD::FlowElementContainer',
'CHSGNeutralParticleFlowObjectsAux':
'xAOD::ShallowAuxContainer'}
194 from DerivationFrameworkMCTruth.MCTruthCommonConfig
import addTruth3ContentToSlimmerTool
195 addTruth3ContentToSlimmerTool(PHYSVALSlimmingHelper)
196 PHYSVALSlimmingHelper.AllVariables += [
'TruthHFWithDecayParticles',
'TruthHFWithDecayVertices',
'TruthCharm',
'TruthPileupEvents',
'TruthPileupParticles',
'InTimeAntiKt4TruthJets',
'OutOfTimeAntiKt4TruthJets']
197 PHYSVALSlimmingHelper.SmartCollections += [
'AntiKt4TruthJets']
199 if flags.Trigger.EDMVersion == 3:
201 from DerivationFrameworkFlavourTag.FtagDerivationConfig
import HLTJetFTagDecorationCfg
202 acc.merge(HLTJetFTagDecorationCfg(flags))
206 PHYSVALSlimmingHelper.ExtraVariables += [
"AntiKt10TruthTrimmedPtFrac5SmallR20Jets.Tau1_wta.Tau2_wta.Tau3_wta.D2.GhostBHadronsFinalCount",
207 "Electrons.TruthLink",
"LRTElectrons.TruthLink",
208 "Muons.TruthLink",
"MuonsLRT.TruthLink",
210 "AntiKt4EMTopoJets.DFCommonJets_QGTagger_truthjet_nCharged.DFCommonJets_QGTagger_truthjet_pt.DFCommonJets_QGTagger_truthjet_eta.DFCommonJets_QGTagger_NTracks.DFCommonJets_QGTagger_TracksWidth.DFCommonJets_QGTagger_TracksC1.PartonTruthLabelID",
211 "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",
212 "TruthPrimaryVertices.t.x.y.z",
213 "TauNeutralParticleFlowObjects.pt.eta.phi.m.bdtPi0Score.nPi0Proto",
214 "TauChargedParticleFlowObjects.pt.eta.phi.m",
215 "TauNeutralParticleFlowObjects_MuonRM.pt.eta.phi.m.bdtPi0Score.nPi0Proto",
216 "TauChargedParticleFlowObjects_MuonRM.pt.eta.phi.m",
217 "TauNeutralParticleFlowObjects_EleRM.pt.eta.phi.m.bdtPi0Score.nPi0Proto",
218 "TauChargedParticleFlowObjects_EleRM.pt.eta.phi.m",
220 PHYSVALSlimmingHelper.ExtraVariables += GSFTracksCPDetailedContent
223 "is_selected",
"is_associated",
"is_svtrk_final",
"pt_wrtSV",
"eta_wrtSV",
224 "phi_wrtSV",
"d0_wrtSV",
"z0_wrtSV",
"errP_wrtSV",
"errd0_wrtSV",
225 "errz0_wrtSV",
"chi2_toSV"
228 for suffix
in [
"",
"_LeptonsMod_LRTR3_1p0"]:
229 PHYSVALSlimmingHelper.ExtraVariables += [
"InDetTrackParticles." +
'.'.join( [ var + suffix
for var
in VSITrackAuxVars] ) ]
230 PHYSVALSlimmingHelper.ExtraVariables += [
"InDetLargeD0TrackParticles." +
'.'.join( [ var + suffix
for var
in VSITrackAuxVars] ) ]
231 PHYSVALSlimmingHelper.ExtraVariables += [
"GSFTrackParticles." +
'.'.join( [ var + suffix
for var
in VSITrackAuxVars] ) ]
232 PHYSVALSlimmingHelper.ExtraVariables += [
"LRTGSFTrackParticles." +
'.'.join( [ var + suffix
for var
in VSITrackAuxVars] ) ]
236 PHYSVALSlimmingHelper.IncludeTriggerNavigation =
True
237 PHYSVALSlimmingHelper.IncludeJetTriggerContent =
True
238 PHYSVALSlimmingHelper.IncludeMuonTriggerContent =
True
239 PHYSVALSlimmingHelper.IncludeEGammaTriggerContent =
True
240 PHYSVALSlimmingHelper.IncludeTauTriggerContent =
True
241 PHYSVALSlimmingHelper.IncludeEtMissTriggerContent =
True
242 PHYSVALSlimmingHelper.IncludeBJetTriggerContent =
True
243 PHYSVALSlimmingHelper.IncludeBPhysTriggerContent =
True
244 PHYSVALSlimmingHelper.IncludeMinBiasTriggerContent =
True
248 if flags.Trigger.EDMVersion == 2:
249 from DerivationFrameworkPhys.TriggerMatchingCommonConfig
import AddRun2TriggerMatchingToSlimmingHelper
250 AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = PHYSVALSlimmingHelper,
251 OutputContainerPrefix =
"TrigMatch_",
252 TriggerList = PHYSVALTriggerListsHelper.Run2TriggerNamesTau)
253 AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = PHYSVALSlimmingHelper,
254 OutputContainerPrefix =
"TrigMatch_",
255 TriggerList = PHYSVALTriggerListsHelper.Run2TriggerNamesNoTau)
257 if flags.Trigger.EDMVersion == 3
or (flags.Trigger.EDMVersion == 2
and flags.Trigger.doEDMVersionConversion):
258 from TrigNavSlimmingMT.TrigNavSlimmingMTConfig
import AddRun3TrigNavSlimmingCollectionsToSlimmingHelper
259 AddRun3TrigNavSlimmingCollectionsToSlimmingHelper(PHYSVALSlimmingHelper)
262 PHYSVALSlimmingHelper.IncludeFullTriggerEDMLevel =
"ESD"
265 PHYSVALItemList = PHYSVALSlimmingHelper.GetItemList()
266 acc.merge(OutputStreamCfg(flags,
"DAOD_PHYSVAL", ItemList=PHYSVALItemList, AcceptAlgs=[
"PHYSVALKernel"]))
267 acc.merge(SetupMetaDataForStreamCfg(flags,
"DAOD_PHYSVAL", AcceptAlgs=[
"PHYSVALKernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))