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 'AntiKt10LCTopoJets':
'xAOD::JetContainer',
'AntiKt10LCTopoJetsAux':
'xAOD::JetAuxContainer',
186 'EMOriginTopoClusters':
'xAOD::CaloClusterContainer',
'EMOriginTopoClustersAux':
'xAOD::ShallowAuxContainer',
187 'LCOriginTopoClusters':
'xAOD::CaloClusterContainer',
'LCOriginTopoClustersAux':
'xAOD::ShallowAuxContainer',
188 'GlobalChargedParticleFlowObjects':
'xAOD::FlowElementContainer',
'GlobalChargedParticleFlowObjectsAux':
'xAOD::FlowElementAuxContainer',
189 'GlobalNeutralParticleFlowObjects':
'xAOD::FlowElementContainer',
'GlobalNeutralParticleFlowObjectsAux':
'xAOD::FlowElementAuxContainer',
190 'CHSGChargedParticleFlowObjects':
'xAOD::FlowElementContainer',
'CHSGChargedParticleFlowObjectsAux':
'xAOD::ShallowAuxContainer',
191 'CHSGNeutralParticleFlowObjects':
'xAOD::FlowElementContainer',
'CHSGNeutralParticleFlowObjectsAux':
'xAOD::ShallowAuxContainer'}
193 from DerivationFrameworkMCTruth.MCTruthCommonConfig
import addTruth3ContentToSlimmerTool
194 addTruth3ContentToSlimmerTool(PHYSVALSlimmingHelper)
195 PHYSVALSlimmingHelper.AllVariables += [
'TruthHFWithDecayParticles',
'TruthHFWithDecayVertices',
'TruthCharm',
'TruthPileupEvents',
'TruthPileupParticles',
'InTimeAntiKt4TruthJets',
'OutOfTimeAntiKt4TruthJets']
196 PHYSVALSlimmingHelper.SmartCollections += [
'AntiKt4TruthJets']
198 if flags.Trigger.EDMVersion == 3:
200 from DerivationFrameworkFlavourTag.FtagDerivationConfig
import HLTJetFTagDecorationCfg
201 acc.merge(HLTJetFTagDecorationCfg(flags))
205 PHYSVALSlimmingHelper.ExtraVariables += [
"Electrons.TruthLink",
"LRTElectrons.TruthLink",
206 "Muons.TruthLink",
"MuonsLRT.TruthLink",
208 "AntiKt4EMTopoJets.DFCommonJets_QGTagger_truthjet_nCharged.DFCommonJets_QGTagger_truthjet_pt.DFCommonJets_QGTagger_truthjet_eta.DFCommonJets_QGTagger_NTracks.DFCommonJets_QGTagger_TracksWidth.DFCommonJets_QGTagger_TracksC1.PartonTruthLabelID",
209 "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",
210 "TruthPrimaryVertices.t.x.y.z",
211 "TauNeutralParticleFlowObjects.pt.eta.phi.m.bdtPi0Score.nPi0Proto",
212 "TauChargedParticleFlowObjects.pt.eta.phi.m",
213 "TauNeutralParticleFlowObjects_MuonRM.pt.eta.phi.m.bdtPi0Score.nPi0Proto",
214 "TauChargedParticleFlowObjects_MuonRM.pt.eta.phi.m",
215 "TauNeutralParticleFlowObjects_EleRM.pt.eta.phi.m.bdtPi0Score.nPi0Proto",
216 "TauChargedParticleFlowObjects_EleRM.pt.eta.phi.m",
218 PHYSVALSlimmingHelper.ExtraVariables += GSFTracksCPDetailedContent
221 "is_selected",
"is_associated",
"is_svtrk_final",
"pt_wrtSV",
"eta_wrtSV",
222 "phi_wrtSV",
"d0_wrtSV",
"z0_wrtSV",
"errP_wrtSV",
"errd0_wrtSV",
223 "errz0_wrtSV",
"chi2_toSV"
226 for suffix
in [
"",
"_LeptonsMod_LRTR3_1p0"]:
227 PHYSVALSlimmingHelper.ExtraVariables += [
"InDetTrackParticles." +
'.'.join( [ var + suffix
for var
in VSITrackAuxVars] ) ]
228 PHYSVALSlimmingHelper.ExtraVariables += [
"InDetLargeD0TrackParticles." +
'.'.join( [ var + suffix
for var
in VSITrackAuxVars] ) ]
229 PHYSVALSlimmingHelper.ExtraVariables += [
"GSFTrackParticles." +
'.'.join( [ var + suffix
for var
in VSITrackAuxVars] ) ]
230 PHYSVALSlimmingHelper.ExtraVariables += [
"LRTGSFTrackParticles." +
'.'.join( [ var + suffix
for var
in VSITrackAuxVars] ) ]
234 PHYSVALSlimmingHelper.IncludeTriggerNavigation =
True
235 PHYSVALSlimmingHelper.IncludeJetTriggerContent =
True
236 PHYSVALSlimmingHelper.IncludeMuonTriggerContent =
True
237 PHYSVALSlimmingHelper.IncludeEGammaTriggerContent =
True
238 PHYSVALSlimmingHelper.IncludeTauTriggerContent =
True
239 PHYSVALSlimmingHelper.IncludeEtMissTriggerContent =
True
240 PHYSVALSlimmingHelper.IncludeBJetTriggerContent =
True
241 PHYSVALSlimmingHelper.IncludeBPhysTriggerContent =
True
242 PHYSVALSlimmingHelper.IncludeMinBiasTriggerContent =
True
246 if flags.Trigger.EDMVersion == 2:
247 from DerivationFrameworkPhys.TriggerMatchingCommonConfig
import AddRun2TriggerMatchingToSlimmingHelper
248 AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = PHYSVALSlimmingHelper,
249 OutputContainerPrefix =
"TrigMatch_",
250 TriggerList = PHYSVALTriggerListsHelper.Run2TriggerNamesTau)
251 AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = PHYSVALSlimmingHelper,
252 OutputContainerPrefix =
"TrigMatch_",
253 TriggerList = PHYSVALTriggerListsHelper.Run2TriggerNamesNoTau)
255 if flags.Trigger.EDMVersion == 3
or (flags.Trigger.EDMVersion == 2
and flags.Trigger.doEDMVersionConversion):
256 from TrigNavSlimmingMT.TrigNavSlimmingMTConfig
import AddRun3TrigNavSlimmingCollectionsToSlimmingHelper
257 AddRun3TrigNavSlimmingCollectionsToSlimmingHelper(PHYSVALSlimmingHelper)
260 PHYSVALSlimmingHelper.IncludeFullTriggerEDMLevel =
"ESD"
263 PHYSVALItemList = PHYSVALSlimmingHelper.GetItemList()
264 acc.merge(OutputStreamCfg(flags,
"DAOD_PHYSVAL", ItemList=PHYSVALItemList, AcceptAlgs=[
"PHYSVALKernel"]))
265 acc.merge(SetupMetaDataForStreamCfg(flags,
"DAOD_PHYSVAL", AcceptAlgs=[
"PHYSVALKernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))