ATLAS Offline Software
Functions
PHYSVAL Namespace Reference

Functions

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

Function Documentation

◆ PHYSVALCfg()

def PHYSVAL.PHYSVALCfg (   flags)

Definition at line 53 of file PHYSVAL.py.

53 def 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  "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  # TODO: for now we don't have a ConfigFlag for this so it is set to False
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  # Truth containers
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  # Decorate Run 3 HLT jets with truth labels
202  from DerivationFrameworkFlavourTag.FtagDerivationConfig import HLTJetFTagDecorationCfg
203  acc.merge(HLTJetFTagDecorationCfg(flags))
204 
205  # End of isMC clause
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  # Trigger content
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  # Trigger matching
248  # Run 2
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  # Run 3, or Run 2 with navigation conversion
258  if flags.Trigger.EDMVersion == 3 or (flags.Trigger.EDMVersion == 2 and flags.Trigger.doEDMVersionConversion):
259  from TrigNavSlimmingMT.TrigNavSlimmingMTConfig import AddRun3TrigNavSlimmingCollectionsToSlimmingHelper
261 
262  # Full trigger content (needed for T0-style monitoring)
263  PHYSVALSlimmingHelper.IncludeFullTriggerEDMLevel = "ESD"
264 
265  # Output stream
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 

◆ PHYSVALKernelCfg()

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

Definition at line 16 of file PHYSVAL.py.

16 def 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 
python.OutputStreamConfig.OutputStreamCfg
def OutputStreamCfg(flags, streamName, ItemList=None, MetadataItemList=None, disableEventTag=False, trigNavThinningSvc=None, takeItemsFromInput=False, extendProvenanceRecord=True, keepProvenanceTagsRegEx=None, AcceptAlgs=None, HelperTools=None)
Definition: OutputStreamConfig.py:13
TrigNavSlimmingMTConfig.AddRun3TrigNavSlimmingCollectionsToSlimmingHelper
def AddRun3TrigNavSlimmingCollectionsToSlimmingHelper(slimmingHelper)
Definition: TrigNavSlimmingMTConfig.py:99
python.FtagDerivationConfig.HLTJetFTagDecorationCfg
def HLTJetFTagDecorationCfg(cfgFlags)
Definition: FtagDerivationConfig.py:11
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:342
python.EGammaLRTConfig.EGammaLRTCfg
def EGammaLRTCfg(flags)
Definition: EGammaLRTConfig.py:15
python.TriggerMatchingCommonConfig.AddRun2TriggerMatchingToSlimmingHelper
def AddRun2TriggerMatchingToSlimmingHelper(**kwargs)
Definition: TriggerMatchingCommonConfig.py:29
PHYSVAL.PHYSVALCfg
def PHYSVALCfg(flags)
Definition: PHYSVAL.py:53
python.LLPToolsConfig.LRTElectronLHSelectorsCfg
def LRTElectronLHSelectorsCfg(flags)
Definition: LLPToolsConfig.py:286
python.JetRecConfig.JetRecCfg
def JetRecCfg(flags, jetdef, returnConfiguredDef=False)
Top level functions returning ComponentAccumulator out of JetDefinition.
Definition: JetRecConfig.py:36
python.MuonsCommonConfig.MuonsCommonCfg
def MuonsCommonCfg(flags, suff="")
Definition: MuonsCommonConfig.py:13
TCS::join
std::string join(const std::vector< std::string > &v, const char c=',')
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/Root/StringUtils.cxx:10
python.MCTruthCommonConfig.addTruth3ContentToSlimmerTool
def addTruth3ContentToSlimmerTool(slimmer)
Definition: MCTruthCommonConfig.py:502
PHYSVAL.PHYSVALKernelCfg
def PHYSVALKernelCfg(flags, name='PHYSVALKernel', **kwargs)
Definition: PHYSVAL.py:16
python.PhysCommonConfig.PhysCommonAugmentationsCfg
def PhysCommonAugmentationsCfg(flags, **kwargs)
Definition: PhysCommonConfig.py:13
InfileMetaDataConfig.SetupMetaDataForStreamCfg
def SetupMetaDataForStreamCfg(flags, streamName="", AcceptAlgs=None, createMetadata=None, propagateMetadataFromInput=True, *args, **kwargs)
Definition: InfileMetaDataConfig.py:222
SlimmingHelper
Definition: SlimmingHelper.py:1
python.HION12.DerivationKernel
DerivationKernel
Definition: HION12.py:66
python.PhysValLLPConfig.PhysValLLPCfg
def PhysValLLPCfg(flags, **kwargs)
Definition: PhysValLLPConfig.py:9