ATLAS Offline Software
SlimmingHelper.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 
3 
36 
37 from DerivationFrameworkCore.CompulsoryContent import CompulsoryContent, CompulsoryTriggerNavigation, CompulsoryDynamicContent
38 from DerivationFrameworkCore.ContentHandler import ContentHandler
39 from DerivationFrameworkCore.ContainersOnTheFly import ContainersOnTheFly
40 from DerivationFrameworkCore.FullListOfSmartContainers import FullListOfSmartContainers
41 from AthenaConfiguration.Enums import LHCPeriod
42 import PyUtils.Logging as L
43 msg = L.logging.getLogger('DerivationFramework__SlimmingHelper')
44 msg.setLevel(L.logging.INFO)
45 
46 # This list base class allows the slimming helper to be locked after calling BuildFinalItemList
48  def __init__(self,data=[]):
49  list.__init__(self,data)
50  self.__dict__["_locked"] = False
51  def append(self,name):
52  if self._locked is True:
53  msg.error("Attempting to Modify SlimmingHelper after BuildFinalItemList has Been Called")
54  raise RuntimeError("Late Modification to SlimmingHelper do not modify after calling BuildFinalItemList")
55  else:
56  return list.append(self, name)
57  def __setattr__(self,name,value):
58  if self._locked is True:
59  msg.error("Attempting to Modify SlimmingHelper after BuildFinalItemList has Been Called")
60  raise RuntimeError("Late Modification to SlimmingHelper do not modify after calling BuildFinalItemList")
61  else:
62  self.__dict__[name] = value
63  def lock(self):
64  self.__dict__["_locked"] = True
65 
66 # Builds the "NamesAndTypes" map needed to set up the item list
67 def buildNamesAndTypes(*args):
68  namesAndTypes = {}
69  if len(args)==0:
70  from DerivationFrameworkCore.StaticNamesAndTypes import StaticNamesAndTypes
71  namesAndTypes = StaticNamesAndTypes
72  else:
73  for item in args[0]:
74  item = item.split('#')
75  namesAndTypes[item[1].strip('.')] = item[0]
76  return namesAndTypes
77 
79  def __init__(self, inputName, flags, **kwargs):
80  self.__dict__["_locked"] = False
81  self.name = inputName
82  self.FinalItemList = lockable_list() # The final item list that will be appended to the output stream
83  self.StaticContent = lockable_list() # Content added explicitly via old-style content lists
84  self.ExtraVariables = lockable_list() # Content added by users via variable names (dictionary type:[item1,item,..,N])
85  # Smart slimming (only variables needed for CP + kinematics)
87  self.AllVariables = lockable_list() # Containers for which all branches should be kept
89  self.flags = flags
102  self.IncludeFullTriggerEDMLevel = "" # Specify an AllowedOutputFormat from TriggerEDM.py
104  # Choice of whether user provided a typed container list or not (CA vs non-CA)
105  if "NamesAndTypes" in kwargs.keys(): self.NamesAndTypes = buildNamesAndTypes(kwargs["NamesAndTypes"])
106  else: self.NamesAndTypes = buildNamesAndTypes()
107  self.theHandler = ContentHandler(self.name+"Handler",self.NamesAndTypes)
108 
109  # This hack prevents any members from being modified after lock is set to true, this happens in AppendContentToStream
110  def __setattr__(self,name,value):
111  if self._locked is True:
112  msg.error("Attempting to Modify SlimmingHelper "+self.name+" After AppendContentToStream has Been Called")
113  raise RuntimeError("Late Modification to SlimmingHelper, do not modifiy after calling AppendContentToStream")
114  elif type(value)==list:
115  self.__dict__[name] = lockable_list(value)
116  else:
117  self.__dict__[name] = value
118 
119  # Function to check the configuration of the Smart Slimming List
120  def CheckList(self,masterList):
121  conflicted_items=[]
122  for item in CompulsoryContent:
123  if item.endswith("#*"):
124  compare_str=item[:-2].replace("xAOD::","")
125  for m_item in masterList:
126  if m_item.startswith(compare_str) and m_item.replace("Aux.","") not in CompulsoryDynamicContent:
127  conflicted_items.append(m_item)
128  if len(conflicted_items)!=0:
129  msg.error("Slimming list contains " +str(conflicted_items)+" which are already included in compulsory content: please remove these items from slimming list")
130  raise RuntimeError("Conflict in Slimming List and Compulsory Content")
131 
132 
133  # Loops over final ItemList and appends each item to the stream
134  # Used for jobs not set up in the component accumulator
135  def AppendContentToStream(self,Stream):
136  # Check if the SlimmingHelper is locked.
137  # If it is, just loop over the items and append.
138  # If not, build the item list and then append.
139  if self._locked is False:
140  self.BuildFinalItemList()
141  for item in self.FinalItemList:
142  Stream.AddItem(item)
143 
144  # Returns the final item list. Used for component accumulator jobs
145  def GetItemList(self):
146  # Check if the SlimmingHelper is locked.
147  # If it is, just return the item list.
148  # If not, build the item list and then return it.
149  if self._locked is False:
150  self.BuildFinalItemList()
151  return(self.FinalItemList)
152 
154  # Master item list: all items that must be passed to the ContentHandler for processing
155  # This will now be filled
156  masterItemList = []
157  # All variables list: where all variables are requested, no variable lists are needed
158  # This list ensures that variables are not added individually in such cases
159  allVariablesList = []
160  self.AllVariables += CompulsoryDynamicContent
161  # Add all-variable collections
162  if len(self.AllVariables)>0:
163  for item in self.AllVariables: masterItemList.extend(self.GetWholeContentItems(item))
164  for item in masterItemList:
165  if "Aux." in item:
166  allVariablesList.append(item)
167 
168  # Trigger objects: add them by hand to the smart collection list (to keep the previous interface)
169  triggerContent = False
170 
171  if (self.IncludeAdditionalTriggerContent is True):
172  triggerContent = True
173 
174  if (self.IncludeMuonTriggerContent is True):
175  triggerContent = True
176  self.SmartCollections.append("HLT_xAOD__MuonContainer_MuonEFInfo")
177 
178  if (self.IncludeEGammaTriggerContent is True):
179  triggerContent = True
180  self.SmartCollections.append("HLT_xAOD__PhotonContainer_egamma_Photons")
181 
182  if (self.IncludeJetTriggerContent is True):
183  triggerContent = True
184  self.SmartCollections.append("HLT_xAOD__JetContainer_a4tcemsubjesFS")
185  self.SmartCollections.append("HLT_AntiKt4EMPFlowJets_subresjesgscIS_ftf") # Run 3 jet collections
186  from DerivationFrameworkCore.JetTriggerFixContent import JetTriggerFixContent
187  for item in JetTriggerFixContent:
188  self.FinalItemList.append(item)
189 
190  if (self.IncludeTrackingTriggerContent is True):
191  triggerContent = True
192  self.SmartCollections.append("HLT_IDVertex_FS")
193  self.SmartCollections.append("HLT_IDTrack_FS_FTF")
194 
195  if (self.IncludeEtMissTriggerContent is True):
196  triggerContent = True
197  self.SmartCollections.append("HLT_xAOD__TrigMissingETContainer_TrigEFMissingET")
198  from DerivationFrameworkCore.EtMissTriggerFixContent import EtMissTriggerFixContent
199  for item in EtMissTriggerFixContent:
200  self.FinalItemList.append(item)
201 
202  if (self.IncludeTauTriggerContent is True):
203  triggerContent = True
204  if self.flags.Trigger.EDMVersion == 2:
205  self.SmartCollections.append("HLT_xAOD__TauJetContainer_TrigTauRecMerged")
206  elif self.flags.Trigger.EDMVersion == 3:
207  self.SmartCollections.append("HLT_TrigTauRecMerged_MVA")
208 
209  if (self.IncludeBJetTriggerContent is True):
210  triggerContent = True
211  self.SmartCollections.append("HLT_xAOD__BTaggingContainer_HLTBjetFex")
212 
213  if (self.IncludeBJetTriggerByYearContent is True):
214  triggerContent = True
215  self.SmartCollections.append("HLT_BJetTriggerByYearContent")
216 
217  if (self.IncludeBPhysTriggerContent is True):
218  triggerContent = True
219  self.SmartCollections.append("HLT_xAOD__TrigBphysContainer_EFBMuMuFex")
220 
221  if (self.IncludeMinBiasTriggerContent is True):
222  triggerContent = True
223  self.SmartCollections.append("HLT_xAOD__TrigVertexCountsContainer_vertexcounts")
224 
225  if (self.IncludeFullTriggerEDMLevel):
226  triggerContent = True
227  self.SmartCollections.append("HLT_FULL_EDM")
228 
229  # Smart items
230  if len(self.SmartCollections)>0:
231  for collection in self.SmartCollections:
232  masterItemList.extend(self.GetSmartItems(collection))
233 
234  # Run some basic tests to prevent clashes with CompulsoryContent content
235  self.CheckList(masterItemList)
236 
237  # Add extra variables
238  if len(self.ExtraVariables)>0:
239  for item in self.ExtraVariables:
240  masterItemList.extend(self.GetExtraItems(item))
241 
242  #Add on-the-fly containers to the dictionary
243  for _cont,_type in ContainersOnTheFly(self.flags):
244  if _cont not in self.AppendToDictionary:
245  self.AppendToDictionary[_cont]=_type
246 
247  # Process the master list...
248 
249  # Main containers (this is a simple list of lines, one per container X collection)
250  mainEntries = []
251  # Aux items (this is a dictionary: collection name and list of aux variables)
252  auxEntries = {}
253  self.theHandler.AppendToDictionary = self.AppendToDictionary
254  mainEntries,auxEntries = self.theHandler.GetContent(masterItemList,allVariablesList)
255 
256  # Add processed items to the stream
257  excludedAuxData = "-clusterAssociation.-PseudoJet"
258  excludedAuxEntries= [entry.strip("-") for entry in excludedAuxData.split(".")]
259  for item in mainEntries:
260  self.FinalItemList.append(item)
261  for item in auxEntries.keys():
262  theDictionary = self.NamesAndTypes.copy()
263  theDictionary.update (self.AppendToDictionary)
264  if item in theDictionary.keys():
265  if (theDictionary[item]=='xAOD::JetAuxContainer'):
266  entry = "xAOD::JetAuxContainer#"+item+"."
267  elif (theDictionary[item]=='xAOD::ShallowAuxContainer'):
268  entry = "xAOD::ShallowAuxContainer#"+item+"."
269  elif (theDictionary[item]=='xAOD::MissingETAuxAssociationMap'):
270  entry = "xAOD::MissingETAuxAssociationMap#"+item+"."
271  elif (theDictionary[item]=='xAOD::JetTrigAuxContainer'):
272  entry = "xAOD::JetTrigAuxContainer#"+item+"."
273  elif ("AuxInfo" in theDictionary[item]):
274  entry = "xAOD::AuxInfoBase!#"+item+"."
275  else:
276  entry = "xAOD::AuxContainerBase!#"+item+"."
277  for element in auxEntries[item]:
278  #Skip anything that shouldn't be written out to a DAOD for tracks or jets
279  if ('xAOD::TrackParticleContainer' in theDictionary[item]) and (element in excludedAuxEntries): continue
280  if ('xAOD::JetAuxContainer' in theDictionary[item]) and (element in excludedAuxEntries): continue
281  length = len(auxEntries[item])
282  if (element==(auxEntries[item])[length-1]):
283  entry += element
284  else:
285  entry += element+"."
286  if ('xAOD::TrackParticleContainer' in theDictionary[item] and auxEntries[item]==""):
287  entry+=excludedAuxData
288  if ('xAOD::JetAuxContainer' in theDictionary[item] and auxEntries[item]==""):
289  entry+=excludedAuxData
290  self.FinalItemList.append(entry)
291 
292  # Add compulsory items not covered by smart slimming (so no expansion)
293  for item in CompulsoryContent:
294  self.FinalItemList.append(item)
295 
296  # non xAOD collections for MinBias
297  if (self.IncludeMinBiasTriggerContent is True):
298  from DerivationFrameworkCore.MinBiasTrigger_nonxAOD_Content import MinBiasTrigger_nonxAOD_Content
299  for item in MinBiasTrigger_nonxAOD_Content:
300  self.FinalItemList.append(item)
301 
302  if (triggerContent and self.IncludeTriggerNavigation):
303  # Run2
304  for item in CompulsoryTriggerNavigation:
305  self.FinalItemList.append(item)
306  # Run3
307  from TrigDecisionTool.TrigDecisionToolHelpers import possible_keys
308  for item in possible_keys:
309  if item == "HLTNav_Summary": # This is not a compact navigation summary collection, unlike the others in this list
310  continue
311  self.FinalItemList.append('xAOD::TrigCompositeContainer#'+item)
312  self.FinalItemList.append('xAOD::TrigCompositeAuxContainer#'+item+'Aux.')
313 
314  # Add non-xAOD and on-the-fly content (not covered by smart slimming so no expansion)
315  badItemsWildcards = []
316  badItemsXAOD = []
317  for item in self.StaticContent:
318  if (self.ValidateStaticContent(item)=="OK"):
319  self.FinalItemList.append(item)
320  if (self.ValidateStaticContent(item)=="WILDCARD"):
321  badItemsWildcards.append(item)
322  if (self.ValidateStaticContent(item)=="XAOD"):
323  badItemsXAOD.append(item)
324  if (len(badItemsWildcards)>0):
325  msg.error("These static items contain wildcards: not permitted")
326  print (badItemsWildcards)
327  raise RuntimeError("Static content list contains wildcards")
328  if (len(badItemsXAOD)>0):
329  msg.error("These static items are xAOD collections: not permitted")
330  print (badItemsXAOD)
331  raise RuntimeError("Static content list contains xAOD collections")
332  #Prevent any more modifications As they will be completely ignored, and hard to debug
333  self.FinalItemList.lock()
334  self.StaticContent.lock()
335  self.ExtraVariables.lock()
336  self.SmartCollections.lock()
337  self.AllVariables.lock()
338  self._locked=True
339 
340 
342 
343 # Get full content (e.g. whole aux store) for this container
344  def GetWholeContentItems(self,collection):
345  items = [collection,collection+"Aux."]
346  return items
347 
348  # Get all branches associated with all tools needed for this container
349  def GetSmartItems(self,collectionName):
350  # Look up what is needed for this container type
351  items = []
352  if collectionName not in FullListOfSmartContainers(self.flags):
353  raise RuntimeError("Smart slimming container "+collectionName+" does not exist or does not have a smart slimming list")
354  if collectionName=="EventInfo":
355  from DerivationFrameworkCore.EventInfoContent import EventInfoContent
356  items.extend(EventInfoContent)
357  elif collectionName=="Electrons":
358  from DerivationFrameworkEGamma.ElectronsCPContent import ElectronsCPContent
359  items.extend(ElectronsCPContent)
360  elif collectionName=="LRTElectrons":
361  from DerivationFrameworkEGamma.LargeD0ElectronsCPContent import LargeD0ElectronsCPContent
362  items.extend(LargeD0ElectronsCPContent)
363  elif collectionName=="Photons":
364  from DerivationFrameworkEGamma.PhotonsCPContent import PhotonsCPContent
365  items.extend(PhotonsCPContent)
366  elif collectionName=="Muons":
367  if not self.flags:
368  raise RuntimeError("We're in the era of component accumulator. Please setup your job with CA if you want to have muons")
369  from DerivationFrameworkMuons.MuonsCommonConfig import MuonCPContentCfg
370  items.extend(MuonCPContentCfg(self.flags))
371  elif collectionName=="MuonsLRT":
372  if not self.flags:
373  raise RuntimeError("We're in the era of component accumulator. Please setup your job with CA if you want to have muons")
374  from DerivationFrameworkMuons.MuonsCommonConfig import MuonCPContentLRTCfg
375  items.extend(MuonCPContentLRTCfg(self.flags))
376  elif collectionName=="TauJets":
377  from DerivationFrameworkTau.TauJetsCPContent import TauJetsCPContent
378  items.extend(TauJetsCPContent)
379  elif collectionName=="DiTauJets":
380  from DerivationFrameworkTau.DiTauJetsCPContent import DiTauJetsCPContent
381  items.extend(DiTauJetsCPContent)
382  elif collectionName=="DiTauJetsLowPt":
383  from DerivationFrameworkTau.DiTauJetsCPContent import DiTauJetsLowPtCPContent
384  items.extend(DiTauJetsLowPtCPContent)
385  elif collectionName=="TauJets_MuonRM":
386  from DerivationFrameworkTau.TauJets_LepRMCPContent import TauJets_MuonRMCPContent
387  if "TauJets_MuonRM" not in self.AppendToDictionary:
388  self.AppendToDictionary["TauJets_MuonRM"] = 'xAOD::TauJetContainer'
389  self.AppendToDictionary["TauJets_MuonRMAux"] = 'xAOD::TauJetAuxContainer'
390  self.AppendToDictionary["TauTracks_MuonRM"] = 'xAOD::TauTrackContainer'
391  self.AppendToDictionary["TauTracks_MuonRMAux"] = 'xAOD::TauTrackAuxContainer'
392  self.AppendToDictionary["TauSecondaryVertices_MuonRM"] = 'xAOD::VertexContainer'
393  self.AppendToDictionary["TauSecondaryVertices_MuonRMAux"] = 'xAOD::VertexAuxContainer'
394  self.AppendToDictionary["TauNeutralParticleFlowObjects_MuonRM"] = 'xAOD::PFOContainer'
395  self.AppendToDictionary["TauNeutralParticleFlowObjects_MuonRMAux"] = 'xAOD::PFOAuxContainer'
396  items.extend(TauJets_MuonRMCPContent)
397  elif collectionName=="TauJets_EleRM":
398  from DerivationFrameworkTau.TauJets_LepRMCPContent import TauJets_EleRMCPContent
399  items.extend(TauJets_EleRMCPContent)
400  elif collectionName=="MET_Baseline_AntiKt4EMTopo":
401  from DerivationFrameworkJetEtMiss.MET_Baseline_AntiKt4EMTopoCPContent import MET_Baseline_AntiKt4EMTopoCPContent
402  items.extend(MET_Baseline_AntiKt4EMTopoCPContent)
403  elif collectionName=="MET_Baseline_AntiKt4EMPFlow":
404  from DerivationFrameworkJetEtMiss.MET_Baseline_AntiKt4EMPFlowCPContent import MET_Baseline_AntiKt4EMPFlowCPContent
405  items.extend(MET_Baseline_AntiKt4EMPFlowCPContent)
406  elif collectionName=="AntiKt2TruthJets":
407  from DerivationFrameworkJetEtMiss.AntiKt2TruthJetsCPContent import AntiKt2TruthJetsCPContent
408  items.extend(AntiKt2TruthJetsCPContent)
409  elif collectionName=="AntiKt4TruthJets":
410  from DerivationFrameworkJetEtMiss.AntiKt4TruthJetsCPContent import AntiKt4TruthJetsCPContent
411  items.extend(AntiKt4TruthJetsCPContent)
412  elif collectionName=="AntiKt4TruthWZJets":
413  from DerivationFrameworkJetEtMiss.AntiKt4TruthWZJetsCPContent import AntiKt4TruthWZJetsCPContent
414  items.extend(AntiKt4TruthWZJetsCPContent)
415  elif collectionName=="AntiKt4TruthDressedWZJets":
416  from DerivationFrameworkJetEtMiss.AntiKt4TruthDressedWZJetsCPContent import AntiKt4TruthDressedWZJetsCPContent
417  items.extend(AntiKt4TruthDressedWZJetsCPContent)
418  elif collectionName=="AntiKt2LCTopoJets":
419  from DerivationFrameworkJetEtMiss.AntiKt2LCTopoJetsCPContent import AntiKt2LCTopoJetsCPContent
420  items.extend(AntiKt2LCTopoJetsCPContent)
421  elif collectionName=="AntiKt4LCTopoJets":
422  from DerivationFrameworkJetEtMiss.AntiKt4LCTopoJetsCPContent import AntiKt4LCTopoJetsCPContent
423  items.extend(AntiKt4LCTopoJetsCPContent)
424  elif collectionName=="AntiKt4EMTopoJets":
425  from DerivationFrameworkJetEtMiss.AntiKt4EMTopoJetsCPContent import AntiKt4EMTopoJetsCPContent
426  items.extend(AntiKt4EMTopoJetsCPContent)
427  elif collectionName=="AntiKt4EMTopoLowPtJets":
428  from DerivationFrameworkJetEtMiss.AntiKt4EMTopoLowPtJetsCPContent import AntiKt4EMTopoLowPtJetsCPContent
429  items.extend(AntiKt4EMTopoLowPtJetsCPContent)
430  elif collectionName=="AntiKt4EMTopoNoPtCutJets":
431  from DerivationFrameworkJetEtMiss.AntiKt4EMTopoNoPtCutJetsCPContent import AntiKt4EMTopoNoPtCutJetsCPContent
432  items.extend(AntiKt4EMTopoNoPtCutJetsCPContent)
433  elif collectionName=="AntiKt4EMPFlowJets":
434  from DerivationFrameworkJetEtMiss.AntiKt4EMPFlowJetsCPContent import AntiKt4EMPFlowJetsCPContent
435  items.extend(AntiKt4EMPFlowJetsCPContent)
436  elif collectionName=="AntiKt4EMPFlowLowPtJets":
437  from DerivationFrameworkJetEtMiss.AntiKt4EMPFlowLowPtJetsCPContent import AntiKt4EMPFlowLowPtJetsCPContent
438  items.extend(AntiKt4EMPFlowLowPtJetsCPContent)
439  elif collectionName=="AntiKt4EMPFlowByVertexJets":
440  from DerivationFrameworkJetEtMiss.AntiKt4EMPFlowByVertexJetsCPContent import AntiKt4EMPFlowByVertexJetsCPContent
441  items.extend(AntiKt4EMPFlowByVertexJetsCPContent)
442  elif collectionName=="AntiKt4UFOCSSKJets":
443  from DerivationFrameworkJetEtMiss.AntiKt4UFOCSSKJetsCPContent import AntiKt4UFOCSSKJetsCPContent
444  items.extend(AntiKt4UFOCSSKJetsCPContent)
445  elif collectionName=="AntiKt4UFOCSSKLowPtJets":
446  from DerivationFrameworkJetEtMiss.AntiKt4UFOCSSKLowPtJetsCPContent import AntiKt4UFOCSSKLowPtJetsCPContent
447  items.extend(AntiKt4UFOCSSKLowPtJetsCPContent)
448  elif collectionName=="AntiKt10TruthJets":
449  from DerivationFrameworkJetEtMiss.AntiKt10TruthJetsCPContent import AntiKt10TruthJetsCPContent
450  items.extend(AntiKt10TruthJetsCPContent)
451  elif collectionName=="AntiKt10TruthWZJets":
452  from DerivationFrameworkJetEtMiss.AntiKt10TruthWZJetsCPContent import AntiKt10TruthWZJetsCPContent
453  items.extend(AntiKt10TruthWZJetsCPContent)
454  elif collectionName=="AntiKt10LCTopoJets":
455  from DerivationFrameworkJetEtMiss.AntiKt10LCTopoJetsCPContent import AntiKt10LCTopoJetsCPContent
456  items.extend(AntiKt10LCTopoJetsCPContent)
457  elif collectionName=="AntiKt10TrackCaloClusterJets":
458  from DerivationFrameworkJetEtMiss.AntiKt10TrackCaloClusterJetsCPContent import AntiKt10TrackCaloClusterJetsCPContent
459  items.extend(AntiKt10TrackCaloClusterJetsCPContent)
460  elif collectionName=="AntiKt10UFOCSSKJets":
461  from DerivationFrameworkJetEtMiss.AntiKt10UFOCSSKJetsCPContent import AntiKt10UFOCSSKJetsCPContent
462  items.extend(AntiKt10UFOCSSKJetsCPContent)
463  elif collectionName=="AntiKt10UFOCHSJets":
464  from DerivationFrameworkJetEtMiss.AntiKt10UFOCHSJetsCPContent import AntiKt10UFOCHSJetsCPContent
465  items.extend(AntiKt10UFOCHSJetsCPContent)
466  elif collectionName=="AntiKt10TruthTrimmedPtFrac5SmallR20Jets":
467  from DerivationFrameworkJetEtMiss.AntiKt10TruthTrimmedPtFrac5SmallR20JetsCPContent import AntiKt10TruthTrimmedPtFrac5SmallR20JetsCPContent
468  items.extend(AntiKt10TruthTrimmedPtFrac5SmallR20JetsCPContent)
469  elif collectionName=="AntiKt10LCTopoTrimmedPtFrac5SmallR20Jets":
470  from DerivationFrameworkJetEtMiss.AntiKt10LCTopoTrimmedPtFrac5SmallR20JetsCPContent import AntiKt10LCTopoTrimmedPtFrac5SmallR20JetsCPContent
471  items.extend(AntiKt10LCTopoTrimmedPtFrac5SmallR20JetsCPContent)
472  elif collectionName=="AntiKt10TrackCaloClusterTrimmedPtFrac5SmallR20Jets":
473  from DerivationFrameworkJetEtMiss.AntiKt10TrackCaloClusterTrimmedPtFrac5SmallR20JetsCPContent import AntiKt10TrackCaloClusterTrimmedPtFrac5SmallR20JetsCPContent
474  if "AntiKt10TrackCaloClusterTrimmedPtFrac5SmallR20Jets" not in self.AppendToDictionary:
475  self.AppendToDictionary["AntiKt10TrackCaloClusterTrimmedPtFrac5SmallR20Jets"]='xAOD::JetContainer'
476  self.AppendToDictionary["AntiKt10TrackCaloClusterTrimmedPtFrac5SmallR20JetsAux"]='xAOD::JetAuxContainer'
477  items.extend(AntiKt10TrackCaloClusterTrimmedPtFrac5SmallR20JetsCPContent)
478  elif collectionName=="AntiKt10TruthSoftDropBeta100Zcut10Jets":
479  from DerivationFrameworkJetEtMiss.AntiKt10TruthSoftDropBeta100Zcut10JetsCPContent import AntiKt10TruthSoftDropBeta100Zcut10JetsCPContent
480  items.extend(AntiKt10TruthSoftDropBeta100Zcut10JetsCPContent)
481  elif collectionName=="AntiKt10TruthDressedWZSoftDropBeta100Zcut10Jets":
482  from DerivationFrameworkJetEtMiss.AntiKt10TruthDressedWZSoftDropBeta100Zcut10JetsCPContent import AntiKt10TruthDressedWZSoftDropBeta100Zcut10JetsCPContent
483  items.extend(AntiKt10TruthDressedWZSoftDropBeta100Zcut10JetsCPContent)
484  elif collectionName=="AntiKt10UFOCHSSoftDropBeta100Zcut10Jets":
485  from DerivationFrameworkJetEtMiss.AntiKt10UFOCHSSoftDropBeta100Zcut10JetsCPContent import AntiKt10UFOCHSSoftDropBeta100Zcut10JetsCPContent
486  items.extend(AntiKt10UFOCHSSoftDropBeta100Zcut10JetsCPContent)
487  elif collectionName=="AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets":
488  from DerivationFrameworkJetEtMiss.AntiKt10UFOCSSKSoftDropBeta100Zcut10JetsCPContent import AntiKt10UFOCSSKSoftDropBeta100Zcut10JetsCPContent
489  items.extend(AntiKt10UFOCSSKSoftDropBeta100Zcut10JetsCPContent)
490  elif collectionName=="AntiKtVR30Rmax4Rmin02PV0TrackJets":
491  from DerivationFrameworkJetEtMiss.AntiKtVR30Rmax4Rmin02PV0TrackJetsCPContent import AntiKtVR30Rmax4Rmin02PV0TrackJetsCPContent
492  items.extend(AntiKtVR30Rmax4Rmin02PV0TrackJetsCPContent)
493  elif collectionName=="BTagging_AntiKt4UFOCSSK":
494  from DerivationFrameworkFlavourTag.BTaggingContent import BTaggingStandardContent
495  items.extend(BTaggingStandardContent("AntiKt4UFOCSSKJets", self.flags))
496  elif collectionName=="BTagging_AntiKt4UFOCSSK_expert":
497  from DerivationFrameworkFlavourTag.BTaggingContent import BTaggingExpertContent
498  items.extend(BTaggingExpertContent("AntiKt4UFOCSSKJets", self.flags))
499  elif collectionName=="BTagging_AntiKt4EMPFlow":
500  from DerivationFrameworkFlavourTag.BTaggingContent import BTaggingStandardContent
501  items.extend(BTaggingStandardContent("AntiKt4EMPFlowJets", self.flags))
502  elif collectionName=="BTagging_AntiKt4EMPFlow_expert":
503  from DerivationFrameworkFlavourTag.BTaggingContent import BTaggingExpertContent
504  items.extend(BTaggingExpertContent("AntiKt4EMPFlowJets", self.flags))
505  elif collectionName=="AntiKt4EMPFlowJets_FTAG":
506  from DerivationFrameworkFlavourTag.BTaggingContent import BTagginglessContent
507  items.extend(BTagginglessContent("AntiKt4EMPFlowJets", self.flags))
508  elif collectionName=="BTagging_AntiKt4EMTopo":
509  from DerivationFrameworkFlavourTag.BTaggingContent import BTaggingStandardContent
510  items.extend(BTaggingStandardContent("AntiKt4EMTopoJets", self.flags))
511  elif collectionName=="BTagging_AntiKtVR30Rmax4Rmin02Track":
512  from DerivationFrameworkFlavourTag.BTaggingContent import BTaggingStandardContent
513  items.extend(BTaggingStandardContent("AntiKtVR30Rmax4Rmin02PV0TrackJets", self.flags))
514  elif collectionName=="BTagging_AntiKtVR30Rmax4Rmin02Track_expert":
515  from DerivationFrameworkFlavourTag.BTaggingContent import BTaggingExpertContent
516  items.extend(BTaggingExpertContent("AntiKtVR30Rmax4Rmin02PV0TrackJets", self.flags))
517  elif collectionName=="BTagging_AntiKt2Track":
518  from DerivationFrameworkFlavourTag.BTaggingContent import BTaggingStandardContent
519  items.extend(BTaggingStandardContent("AntiKt2PV0TrackJets", self.flags))
520  elif collectionName=="BTagging_AntiKt3Track":
521  from DerivationFrameworkFlavourTag.BTaggingContent import BTaggingStandardContent
522  items.extend(BTaggingStandardContent("AntiKt3PV0TrackJets", self.flags))
523  elif collectionName=="BTagging_AntiKt4Track":
524  from DerivationFrameworkFlavourTag.BTaggingContent import BTaggingStandardContent
525  items.extend(BTaggingStandardContent("AntiKt4PV0TrackJets", self.flags))
526  elif collectionName=="BTagging_AntiKt8EMTopoExKt2Sub":
527  from DerivationFrameworkFlavourTag.BTaggingContent import BTaggingExpertContent
528  items.extend(BTaggingExpertContent("AntiKt8EMTopoExKt2SubJets", self.flags))
529  elif collectionName=="BTagging_AntiKt8EMTopoExKt3Sub":
530  from DerivationFrameworkFlavourTag.BTaggingContent import BTaggingExpertContent
531  items.extend(BTaggingExpertContent("AntiKt8EMTopoExKt3SubJets", self.flags))
532  elif collectionName=="BTagging_AntiKt8EMTopoExCoM2Sub":
533  from DerivationFrameworkFlavourTag.BTaggingContent import BTaggingExpertContent
534  items.extend(BTaggingExpertContent("AntiKt8EMTopoExCoM2SubJets", self.flags))
535  elif collectionName=="BTagging_AntiKt8EMPFlowExKt2Sub":
536  from DerivationFrameworkFlavourTag.BTaggingContent import BTaggingExpertContent
537  items.extend(BTaggingExpertContent("AntiKt8EMPFlowExKt2SubJets", self.flags))
538  elif collectionName=="BTagging_AntiKt8EMPFlowExKt3Sub":
539  from DerivationFrameworkFlavourTag.BTaggingContent import BTaggingExpertContent
540  items.extend(BTaggingExpertContent("AntiKt8EMPFlowExKt3SubJets", self.flags))
541  elif collectionName=="BTagging_AntiKt8EMPFlowExKt2GASub":
542  from DerivationFrameworkFlavourTag.BTaggingContent import BTaggingExpertContent
543  items.extend(BTaggingExpertContent("AntiKt8EMPFlowExKt2GASubJets", self.flags))
544  elif collectionName=="BTagging_AntiKt8EMPFlowExKt3GASub":
545  from DerivationFrameworkFlavourTag.BTaggingContent import BTaggingExpertContent
546  items.extend(BTaggingExpertContent("AntiKt8EMPFlowExKt3GASubJets", self.flags))
547  elif collectionName=="BTagging_DFAntiKt4HI":
548  from DerivationFrameworkFlavourTag.BTaggingContent import BTaggingStandardContent
549  items.extend(BTaggingStandardContent("DFAntiKt4HIJets", self.flags))
550  elif collectionName=="BTagging_AntiKt4HI":
551  from DerivationFrameworkFlavourTag.BTaggingContent import BTaggingStandardContent
552  items.extend(BTaggingStandardContent("AntiKt4HIJets", self.flags))
553  elif collectionName=="InDetTrackParticles":
554  from DerivationFrameworkInDet.InDetTrackParticlesCPContent import InDetTrackParticlesCPContent
555  items.extend(InDetTrackParticlesCPContent)
556  if self.flags.GeoModel.Run >= LHCPeriod.Run4:
557  from DerivationFrameworkInDet.InDetTrackParticlesCPContentRun4 import InDetTrackParticlesCPContentRun4
558  items.extend(InDetTrackParticlesCPContentRun4)
559  elif collectionName=="InDetPseudoTrackParticles":
560  from DerivationFrameworkInDet.InDetPseudoTrackParticlesCPContent import InDetPseudoTrackParticlesCPContent
561  items.extend(InDetPseudoTrackParticlesCPContent)
562  elif collectionName=="InDetReplacedWithPseudoTrackParticles":
563  from DerivationFrameworkInDet.InDetReplacedWithPseudoTrackParticlesCPContent import InDetReplacedWithPseudoTrackParticlesCPContent
564  items.extend(InDetReplacedWithPseudoTrackParticlesCPContent)
565  elif collectionName=="InDetReplacedWithPseudoFromBTrackParticles":
566  from DerivationFrameworkInDet.InDetReplacedWithPseudoFromBTrackParticlesCPContent import InDetReplacedWithPseudoFromBTrackParticlesCPContent
567  items.extend(InDetReplacedWithPseudoFromBTrackParticlesCPContent)
568  elif collectionName=="InDetReplacedWithPseudoNotFromBTrackParticles":
569  from DerivationFrameworkInDet.InDetReplacedWithPseudoNotFromBTrackParticlesCPContent import InDetReplacedWithPseudoNotFromBTrackParticlesCPContent
570  items.extend(InDetReplacedWithPseudoNotFromBTrackParticlesCPContent)
571  elif collectionName=="InDetPlusPseudoTrackParticles":
572  from DerivationFrameworkInDet.InDetPlusPseudoTrackParticlesCPContent import InDetPlusPseudoTrackParticlesCPContent
573  items.extend(InDetPlusPseudoTrackParticlesCPContent)
574  elif collectionName=="InDetPlusPseudoFromBTrackParticles":
575  from DerivationFrameworkInDet.InDetPlusPseudoFromBTrackParticlesCPContent import InDetPlusPseudoFromBTrackParticlesCPContent
576  items.extend(InDetPlusPseudoFromBTrackParticlesCPContent)
577  elif collectionName=="InDetPlusPseudoNotFromBTrackParticles":
578  from DerivationFrameworkInDet.InDetPlusPseudoNotFromBTrackParticlesCPContent import InDetPlusPseudoNotFromBTrackParticlesCPContent
579  items.extend(InDetPlusPseudoNotFromBTrackParticlesCPContent)
580  elif collectionName=="InDetNoFakesTrackParticles":
581  from DerivationFrameworkInDet.InDetNoFakesTrackParticlesCPContent import InDetNoFakesTrackParticlesCPContent
582  items.extend(InDetNoFakesTrackParticlesCPContent)
583  elif collectionName=="InDetNoFakesFromBTrackParticles":
584  from DerivationFrameworkInDet.InDetNoFakesFromBTrackParticlesCPContent import InDetNoFakesFromBTrackParticlesCPContent
585  items.extend(InDetNoFakesFromBTrackParticlesCPContent)
586  elif collectionName=="InDetNoFakesNotFromBTrackParticles":
587  from DerivationFrameworkInDet.InDetNoFakesNotFromBTrackParticlesCPContent import InDetNoFakesNotFromBTrackParticlesCPContent
588  items.extend(InDetNoFakesNotFromBTrackParticlesCPContent)
589  elif collectionName=="InDetSiSPSeededTracksParticles":
590  from DerivationFrameworkInDet.InDetSiSPSeededTracksParticlesCPContent import InDetSiSPSeededTracksParticlesCPContent
591  items.extend(InDetSiSPSeededTracksParticlesCPContent)
592  elif collectionName=="InDetLargeD0TrackParticles":
593  from DerivationFrameworkInDet.InDetLargeD0TrackParticlesCPContent import InDetLargeD0TrackParticlesCPContent
594  items.extend(InDetLargeD0TrackParticlesCPContent)
595  elif collectionName=="PrimaryVertices":
596  from DerivationFrameworkInDet.PrimaryVerticesCPContent import PrimaryVerticesCPContent
597  items.extend(PrimaryVerticesCPContent)
598  if self.flags.GeoModel.Run >= LHCPeriod.Run4:
599  from DerivationFrameworkInDet.PrimaryVerticesCPContentRun4 import PrimaryVerticesCPContentRun4
600  items.extend(PrimaryVerticesCPContentRun4)
601  elif self.IncludeAdditionalTriggerContent is True:
602  from DerivationFrameworkCore.AdditionalTriggerContent import AdditionalTriggerContent
603  items.extend(AdditionalTriggerContent)
604  elif collectionName=="HLT_xAOD__MuonContainer_MuonEFInfo":
605  from DerivationFrameworkMuons.MuonTriggerContent import MuonTriggerContent
606  items.extend(MuonTriggerContent)
607  elif collectionName=="HLT_xAOD__PhotonContainer_egamma_Photons":
608  from DerivationFrameworkCore.EGammaTriggerContent import EGammaTriggerContent
609  items.extend(EGammaTriggerContent)
610  elif collectionName=="HLT_xAOD__JetContainer_a4tcemsubjesFS":
611  from DerivationFrameworkCore.JetTriggerContent import JetTriggerContent
612  items.extend(JetTriggerContent)
613  elif collectionName=="HLT_IDVertex_FS":
614  from DerivationFrameworkCore.TrackingTriggerContent import TrackingTriggerContent
615  items.extend(TrackingTriggerContent)
616  elif collectionName=="HLT_IDTrack_FS_FTF":
617  from DerivationFrameworkCore.TrackingTriggerContent import TrackingTriggerContent
618  items.extend(TrackingTriggerContent)
619  elif collectionName=="HLT_xAOD__TrigMissingETContainer_TrigEFMissingET":
620  from DerivationFrameworkCore.EtMissTriggerContent import EtMissTriggerContent
621  items.extend(EtMissTriggerContent)
622  elif collectionName=="HLT_xAOD__TauJetContainer_TrigTauRecMerged":
623  from DerivationFrameworkCore.TauTriggerContent import TauTriggerContentRun2
624  items.extend(TauTriggerContentRun2)
625  elif collectionName=="HLT_TrigTauRecMerged_MVA":
626  from DerivationFrameworkCore.TauTriggerContent import TauTriggerContentRun3
627  items.extend(TauTriggerContentRun3)
628  elif collectionName=="HLT_xAOD__BTaggingContainer_HLTBjetFex":
629  from DerivationFrameworkFlavourTag.BJetTriggerContent import BJetTriggerContent
630  items.extend(BJetTriggerContent)
631  elif collectionName=="HLT_xAOD__TrigBphysContainer_EFBMuMuFex":
632  from DerivationFrameworkCore.BPhysTriggerContent import BPhysTriggerContent
633  items.extend(BPhysTriggerContent)
634  elif collectionName=="HLT_xAOD__TrigVertexCountsContainer_vertexcounts":
635  from DerivationFrameworkCore.MinBiasTriggerContent import MinBiasTriggerContent
636  items.extend(MinBiasTriggerContent)
637  elif collectionName=="HLT_AntiKt4EMPFlowJets_subresjesgscIS_ftf":
638  from DerivationFrameworkCore.JetTriggerContentRun3 import JetTriggerContentRun3
639  from DerivationFrameworkCore.JetTriggerContentRun3TLA import JetTriggerContentRun3TLA
641  items.extend(JetTriggerContentRun3)
642  else:
643  items.extend(JetTriggerContentRun3TLA)
644  elif collectionName=="HLT_BJetTriggerByYearContent":
645  from DerivationFrameworkTrigger.BJetTriggerByYearContent import getBJetTriggerContent
646  items.extend(getBJetTriggerContent(self.flags))
647  elif collectionName=="HLT_FULL_EDM":
648  from DerivationFrameworkTrigger.TrigSlimmingHelper import addTrigEDMSetToOutput
649  items.extend(addTrigEDMSetToOutput(self.flags, self, edmSet=self.IncludeFullTriggerEDMLevel))
650 
651  else:
652  raise RuntimeError("Smart slimming container "+collectionName+" does not exist or does not have a smart slimming list")
653  return items
654 
655  # Kinematics content only
656  def GetKinematicsItems(self,collectionName):
657  # Content lines in the same style as is produced by the PrintStats
658  kinematicsLine = collectionName+"Aux."+"pt.eta.phi.m"
659  items = [collectionName,kinematicsLine]
660  return items
661 
662  # Extra content, listed via container
663  def GetExtraItems(self,userInput):
664  # Build up a content list in the same style as is produced by the PrintStats
665  splitup = userInput.split(".")
666  auxContainerName = splitup[0]+"Aux"
667  items = []
668  items.append(splitup[0])
669  auxLine = ""
670  length = len(splitup)
671  for string in splitup:
672  if string==splitup[0]:
673  auxLine = auxContainerName+"."
674  continue
675  if string==splitup[length-1]:
676  auxLine = auxLine+string
677  else:
678  auxLine = auxLine+string+"."
679  items.append(auxLine)
680  return items
681 
682  # Check that static content is legit
683  def ValidateStaticContent(self,item):
684  # No wildcards
685  if ("*" in item):
686  return "WILDCARD"
687  # No xAOD containers
688  sep = item.split("#")
689  if ("xAOD::" in item and sep[1] in self.NamesAndTypes.keys()):
690  return "XAOD"
691  return "OK"
replace
std::string replace(std::string s, const std::string &s2, const std::string &s3)
Definition: hcg.cxx:307
SlimmingHelper.SlimmingHelper.FinalItemList
FinalItemList
Definition: SlimmingHelper.py:82
SlimmingHelper.SlimmingHelper.theHandler
theHandler
Definition: SlimmingHelper.py:107
SlimmingHelper.SlimmingHelper.GetItemList
def GetItemList(self)
Definition: SlimmingHelper.py:145
SlimmingHelper.lockable_list.__init__
def __init__(self, data=[])
Definition: SlimmingHelper.py:48
python.BTaggingContent.BTagginglessContent
def BTagginglessContent(jetcol, ConfigFlags=None)
Definition: BTaggingContent.py:192
SlimmingHelper.SlimmingHelper.IncludeMinBiasTriggerContent
IncludeMinBiasTriggerContent
Definition: SlimmingHelper.py:101
SlimmingHelper.SlimmingHelper.IncludeAdditionalTriggerContent
IncludeAdditionalTriggerContent
Definition: SlimmingHelper.py:91
SlimmingHelper.SlimmingHelper.flags
flags
Definition: SlimmingHelper.py:89
SlimmingHelper.SlimmingHelper.StaticContent
StaticContent
Definition: SlimmingHelper.py:83
SlimmingHelper.SlimmingHelper.AppendToDictionary
AppendToDictionary
Definition: SlimmingHelper.py:88
SlimmingHelper.SlimmingHelper.IncludeTrackingTriggerContent
IncludeTrackingTriggerContent
Definition: SlimmingHelper.py:95
SlimmingHelper.lockable_list.append
def append(self, name)
Definition: SlimmingHelper.py:51
SlimmingHelper.SlimmingHelper.ValidateStaticContent
def ValidateStaticContent(self, item)
Definition: SlimmingHelper.py:683
python.MuonsCommonConfig.MuonCPContentCfg
def MuonCPContentCfg(flags)
Definition: MuonsCommonConfig.py:201
SlimmingHelper.SlimmingHelper.NamesAndTypes
NamesAndTypes
Definition: SlimmingHelper.py:105
SlimmingHelper.lockable_list.__setattr__
def __setattr__(self, name, value)
Definition: SlimmingHelper.py:57
FullListOfSmartContainers
Definition: FullListOfSmartContainers.py:1
SlimmingHelper.SlimmingHelper.GetWholeContentItems
def GetWholeContentItems(self, collection)
Definition: SlimmingHelper.py:344
dumpHVPathFromNtuple.append
bool append
Definition: dumpHVPathFromNtuple.py:91
SlimmingHelper.SlimmingHelper.IncludeBJetTriggerByYearContent
IncludeBJetTriggerByYearContent
Definition: SlimmingHelper.py:99
SlimmingHelper.SlimmingHelper.GetKinematicsItems
def GetKinematicsItems(self, collectionName)
Definition: SlimmingHelper.py:656
ContainersOnTheFly
Definition: ContainersOnTheFly.py:1
python.BTaggingContent.BTaggingExpertContent
def BTaggingExpertContent(jetcol, ConfigFlags=None)
Definition: BTaggingContent.py:148
SlimmingHelper.SlimmingHelper.IncludeEGammaTriggerContent
IncludeEGammaTriggerContent
Definition: SlimmingHelper.py:93
SlimmingHelper.SlimmingHelper
Definition: SlimmingHelper.py:78
SlimmingHelper.SlimmingHelper.__setattr__
def __setattr__(self, name, value)
Definition: SlimmingHelper.py:110
SlimmingHelper.SlimmingHelper.SmartCollections
SmartCollections
Definition: SlimmingHelper.py:86
python.BTaggingContent.BTaggingStandardContent
def BTaggingStandardContent(jetcol, ConfigFlags=None)
Definition: BTaggingContent.py:163
SlimmingHelper.SlimmingHelper.CheckList
def CheckList(self, masterList)
Definition: SlimmingHelper.py:120
BJetTriggerByYearContent.getBJetTriggerContent
def getBJetTriggerContent(flags)
Definition: BJetTriggerByYearContent.py:27
TrigSlimmingHelper.addTrigEDMSetToOutput
def addTrigEDMSetToOutput(flags, SlimmingHelper helper, str edmSet, int edmVersion=None)
Definition: TrigSlimmingHelper.py:9
SlimmingHelper.buildNamesAndTypes
def buildNamesAndTypes(*args)
Definition: SlimmingHelper.py:67
SlimmingHelper.SlimmingHelper.IncludeBJetTriggerContent
IncludeBJetTriggerContent
Definition: SlimmingHelper.py:98
SlimmingHelper.SlimmingHelper.ExtraVariables
ExtraVariables
Definition: SlimmingHelper.py:84
SlimmingHelper.SlimmingHelper.IncludeEtMissTriggerContent
IncludeEtMissTriggerContent
Definition: SlimmingHelper.py:97
SlimmingHelper.SlimmingHelper.AllVariables
AllVariables
Definition: SlimmingHelper.py:87
SlimmingHelper.SlimmingHelper.IncludeFullTriggerEDMLevel
IncludeFullTriggerEDMLevel
Definition: SlimmingHelper.py:102
SlimmingHelper.SlimmingHelper.AppendContentToStream
def AppendContentToStream(self, Stream)
Definition: SlimmingHelper.py:135
histSizes.list
def list(name, path='/')
Definition: histSizes.py:38
SlimmingHelper.SlimmingHelper.GetSmartItems
def GetSmartItems(self, collectionName)
Definition: SlimmingHelper.py:349
SlimmingHelper.SlimmingHelper.IncludeMuonTriggerContent
IncludeMuonTriggerContent
Definition: SlimmingHelper.py:92
SlimmingHelper.SlimmingHelper.__init__
def __init__(self, inputName, flags, **kwargs)
Definition: SlimmingHelper.py:79
ContentHandler
Definition: ContentHandler.py:1
SlimmingHelper.SlimmingHelper.GetExtraItems
def GetExtraItems(self, userInput)
Definition: SlimmingHelper.py:663
SlimmingHelper.lockable_list.lock
def lock(self)
Definition: SlimmingHelper.py:63
SlimmingHelper.SlimmingHelper.IncludeJetTriggerContent
IncludeJetTriggerContent
Definition: SlimmingHelper.py:94
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
SlimmingHelper.SlimmingHelper.IncludeBPhysTriggerContent
IncludeBPhysTriggerContent
Definition: SlimmingHelper.py:100
SlimmingHelper.SlimmingHelper.IncludeTriggerNavigation
IncludeTriggerNavigation
Definition: SlimmingHelper.py:90
str
Definition: BTagTrackIpAccessor.cxx:11
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:798
python.MuonsCommonConfig.MuonCPContentLRTCfg
def MuonCPContentLRTCfg(flags)
Definition: MuonsCommonConfig.py:225
SlimmingHelper.SlimmingHelper.OverrideJetTriggerContentWithTLAContent
OverrideJetTriggerContentWithTLAContent
Definition: SlimmingHelper.py:103
calibdata.copy
bool copy
Definition: calibdata.py:27
SlimmingHelper.SlimmingHelper.BuildFinalItemList
def BuildFinalItemList(self)
Definition: SlimmingHelper.py:153
SlimmingHelper.SlimmingHelper._locked
_locked
Definition: SlimmingHelper.py:338
SlimmingHelper.SlimmingHelper.name
name
Definition: SlimmingHelper.py:81
SlimmingHelper.SlimmingHelper.IncludeTauTriggerContent
IncludeTauTriggerContent
Definition: SlimmingHelper.py:96
SlimmingHelper.lockable_list
Definition: SlimmingHelper.py:47