ATLAS Offline Software
Loading...
Searching...
No Matches
PHYSVAL Namespace Reference

Functions

 PHYSVALKernelCfg (flags, name='PHYSVALKernel', **kwargs)
 PHYSVALCfg (flags)

Function Documentation

◆ PHYSVALCfg()

PHYSVAL.PHYSVALCfg ( flags)

Definition at line 53 of file PHYSVAL.py.

53def PHYSVALCfg(flags):
54
55 acc = ComponentAccumulator()
56
57 # Get the lists of triggers needed for trigger matching.
58 # This is needed at this scope (for the slimming) and further down in the config chain
59 # for actually configuring the matching, so we create it here and pass it down
60 # TODO: this should ideally be called higher up to avoid it being run multiple times in a train
61 from DerivationFrameworkPhys.TriggerListsHelper import TriggerListsHelper
62 PHYSVALTriggerListsHelper = TriggerListsHelper(flags)
63
64 # Common augmentations
65 acc.merge(PHYSVALKernelCfg(flags, name="PHYSVALKernel", StreamName = 'StreamDAOD_PHYSVAL', TriggerListsHelper = PHYSVALTriggerListsHelper))
66
67 # ============================
68 # Define contents of the format
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 "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets"]
95
96 PHYSVALSlimmingHelper.AllVariables = ["EventInfo",
97 "Electrons", "ForwardElectrons","LRTElectrons",
98 "Photons",
99 "Muons", "CombinedMuonTrackParticles","ExtrapolatedMuonTrackParticles",
100 "MuonsLRT",
101 "MuonSpectrometerTrackParticles","MSOnlyExtrapolatedMuonTrackParticles","MuonSegments",
102 "PrimaryVertices",
103 "InDetTrackParticles","InDetForwardTrackParticles",
104 "InDetLargeD0TrackParticles",
105 "AntiKt4EMTopoJets",
106 "AntiKt4EMPFlowJets",
107 "AntiKt4LCTopoJets",
108 "TauJets",
109 "TauJets_MuonRM",
110 "TauJets_EleRM",
111 "TauTracks",
112 "TauTracks_MuonRM",
113 "TauTracks_EleRM",
114 "DiTauJets",
115 "DiTauJetsLowPt",
116 "AntiKt10LCTopoJets","AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets",
117 "TruthParticles", "TruthEvents", "TruthVertices", "MuonTruthParticles", "egammaTruthParticles",
118 "MuonTruthSegments",
119 "MET_Truth","MET_TruthRegions",
120 "TruthElectrons","TruthMuons","TruthPhotons","TruthTaus","TruthNeutrinos","TruthBSM","TruthTop","TruthBoson",
121 "CaloCalTopoClusters", "EMOriginTopoClusters","LCOriginTopoClusters",
122 "JetETMissChargedParticleFlowObjects", "JetETMissNeutralParticleFlowObjects"]
123
124
125 # TODO: for now we don't have a ConfigFlag for this so it is set to False
126 AddPseudoTracks = False
127 if AddPseudoTracks:
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
142
143 excludedVertexAuxData = "-vxTrackAtVertex.-MvfFitInfo.-isInitialized.-VTAV"
144 StaticContent = []
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"]
155
156 for wp in ["","_LeptonsMod_LRTR3_1p0"]:
157 StaticContent += ["xAOD::VertexContainer#VrtSecInclusive_SecondaryVertices" + wp]
158 StaticContent += ["xAOD::VertexAuxContainer#VrtSecInclusive_SecondaryVertices" + wp + "Aux."]
159
160
161 PHYSVALSlimmingHelper.StaticContent = StaticContent
162
163 # Truth containers
164 if flags.Input.isMC:
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'}
192
193 from DerivationFrameworkMCTruth.MCTruthCommonConfig import addTruth3ContentToSlimmerTool
194 addTruth3ContentToSlimmerTool(PHYSVALSlimmingHelper)
195 PHYSVALSlimmingHelper.AllVariables += ['TruthHFWithDecayParticles','TruthHFWithDecayVertices','TruthCharm','TruthPileupEvents','TruthPileupParticles','InTimeAntiKt4TruthJets','OutOfTimeAntiKt4TruthJets']
196 PHYSVALSlimmingHelper.SmartCollections += ['AntiKt4TruthJets']
197
198 if flags.Trigger.EDMVersion == 3:
199 # Decorate Run 3 HLT jets with truth labels
200 from DerivationFrameworkFlavourTag.FtagDerivationConfig import HLTJetFTagDecorationCfg
201 acc.merge(HLTJetFTagDecorationCfg(flags))
202
203 # End of isMC clause
204
205 PHYSVALSlimmingHelper.ExtraVariables += ["Electrons.TruthLink","LRTElectrons.TruthLink",
206 "Muons.TruthLink","MuonsLRT.TruthLink",
207 "Photons.TruthLink",
208 "TruthPrimaryVertices.t.x.y.z",
209 "TauNeutralParticleFlowObjects.pt.eta.phi.m.bdtPi0Score.nPi0Proto",
210 "TauChargedParticleFlowObjects.pt.eta.phi.m",
211 "TauNeutralParticleFlowObjects_MuonRM.pt.eta.phi.m.bdtPi0Score.nPi0Proto",
212 "TauChargedParticleFlowObjects_MuonRM.pt.eta.phi.m",
213 "TauNeutralParticleFlowObjects_EleRM.pt.eta.phi.m.bdtPi0Score.nPi0Proto",
214 "TauChargedParticleFlowObjects_EleRM.pt.eta.phi.m",
215 "MET_Track.sumet"]
216 PHYSVALSlimmingHelper.ExtraVariables += GSFTracksCPDetailedContent
217
218 VSITrackAuxVars = [
219 "is_selected", "is_associated", "is_svtrk_final", "pt_wrtSV", "eta_wrtSV",
220 "phi_wrtSV", "d0_wrtSV", "z0_wrtSV", "errP_wrtSV", "errd0_wrtSV",
221 "errz0_wrtSV", "chi2_toSV"
222 ]
223
224 for suffix in ["","_LeptonsMod_LRTR3_1p0"]:
225 PHYSVALSlimmingHelper.ExtraVariables += [ "InDetTrackParticles." + '.'.join( [ var + suffix for var in VSITrackAuxVars] ) ]
226 PHYSVALSlimmingHelper.ExtraVariables += [ "InDetLargeD0TrackParticles." + '.'.join( [ var + suffix for var in VSITrackAuxVars] ) ]
227 PHYSVALSlimmingHelper.ExtraVariables += [ "GSFTrackParticles." + '.'.join( [ var + suffix for var in VSITrackAuxVars] ) ]
228 PHYSVALSlimmingHelper.ExtraVariables += [ "LRTGSFTrackParticles." + '.'.join( [ var + suffix for var in VSITrackAuxVars] ) ]
229
230
231 # Trigger content
232 PHYSVALSlimmingHelper.IncludeTriggerNavigation = True
233 PHYSVALSlimmingHelper.IncludeJetTriggerContent = True
234 PHYSVALSlimmingHelper.IncludeMuonTriggerContent = True
235 PHYSVALSlimmingHelper.IncludeEGammaTriggerContent = True
236 PHYSVALSlimmingHelper.IncludeTauTriggerContent = True
237 PHYSVALSlimmingHelper.IncludeEtMissTriggerContent = True
238 PHYSVALSlimmingHelper.IncludeBJetTriggerContent = True
239 PHYSVALSlimmingHelper.IncludeBPhysTriggerContent = True
240 PHYSVALSlimmingHelper.IncludeMinBiasTriggerContent = True
241
242 # Trigger matching
243 # Run 2
244 if flags.Trigger.EDMVersion == 2:
245 from DerivationFrameworkPhys.TriggerMatchingCommonConfig import AddRun2TriggerMatchingToSlimmingHelper
246 AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = PHYSVALSlimmingHelper,
247 OutputContainerPrefix = "TrigMatch_",
248 TriggerList = PHYSVALTriggerListsHelper.Run2TriggerNamesTau)
249 AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = PHYSVALSlimmingHelper,
250 OutputContainerPrefix = "TrigMatch_",
251 TriggerList = PHYSVALTriggerListsHelper.Run2TriggerNamesNoTau)
252 # Run 3, or Run 2 with navigation conversion
253 if flags.Trigger.EDMVersion == 3 or (flags.Trigger.EDMVersion == 2 and flags.Trigger.doEDMVersionConversion):
254 from TrigNavSlimmingMT.TrigNavSlimmingMTConfig import AddRun3TrigNavSlimmingCollectionsToSlimmingHelper
255 AddRun3TrigNavSlimmingCollectionsToSlimmingHelper(PHYSVALSlimmingHelper)
256
257 # Full trigger content (needed for T0-style monitoring)
258 PHYSVALSlimmingHelper.IncludeFullTriggerEDMLevel = "ESD"
259
260 # Output stream
261 PHYSVALItemList = PHYSVALSlimmingHelper.GetItemList()
262 acc.merge(OutputStreamCfg(flags, "DAOD_PHYSVAL", ItemList=PHYSVALItemList, AcceptAlgs=["PHYSVALKernel"]))
263 acc.merge(SetupMetaDataForStreamCfg(flags, "DAOD_PHYSVAL", AcceptAlgs=["PHYSVALKernel"], createMetadata=[MetadataCategory.CutFlowMetaData]))
264
265 return acc
266

◆ PHYSVALKernelCfg()

PHYSVAL.PHYSVALKernelCfg ( flags,
name = 'PHYSVALKernel',
** kwargs )
Configure the derivation framework driving algorithm (kernel) for PHYSVAL

Definition at line 16 of file PHYSVAL.py.

16def PHYSVALKernelCfg(flags, name='PHYSVALKernel', **kwargs):
17 """Configure the derivation framework driving algorithm (kernel) for PHYSVAL"""
18 acc = ComponentAccumulator()
19
20 # Common augmentations
21 from DerivationFrameworkPhys.PhysCommonConfig import PhysCommonAugmentationsCfg
22 acc.merge(PhysCommonAugmentationsCfg(flags, TriggerListsHelper = kwargs['TriggerListsHelper']))
23
24 # LLP-specific configs
25 from DerivationFrameworkLLP.PhysValLLPConfig import PhysValLLPCfg
26 acc.merge(PhysValLLPCfg(flags))
27
28 if flags.Tracking.doLargeD0:
29 # LRT Egamma
30 from DerivationFrameworkEGamma.EGammaLRTConfig import EGammaLRTCfg
31 acc.merge(EGammaLRTCfg(flags))
32
33 from DerivationFrameworkLLP.LLPToolsConfig import LRTElectronLHSelectorsCfg
34 acc.merge(LRTElectronLHSelectorsCfg(flags))
35
36 # LRT Muons
37 from DerivationFrameworkMuons.MuonsCommonConfig import MuonsCommonCfg
38 acc.merge(MuonsCommonCfg(flags,
39 suff="LRT"))
40
41 # R = 0.4 LCTopo jets (for tau validation)
42 from JetRecConfig.StandardSmallRJets import AntiKt4LCTopo
43 from JetRecConfig.JetRecConfig import JetRecCfg
44
45 acc.merge(JetRecCfg(flags,AntiKt4LCTopo))
46
47 # Kernel algorithm
48 DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
49 acc.addEventAlgo(DerivationKernel(name))
50 return acc
51
52