ATLAS Offline Software
Functions
python.MUON5 Namespace Reference

Functions

def Muon5MumuSelectionCfg (flags, MuonContainer="Muons", IdTrackContainer="InDetTrackParticles", applyTrigger=False)
 
def Muon5ElElSelectionCfg (flags)
 
def MUON5KernelCfg (flags, name='MUON5Kernel', **kwargs)
 
def MUON5Cfg (flags)
 

Function Documentation

◆ MUON5Cfg()

def python.MUON5.MUON5Cfg (   flags)

Definition at line 307 of file MUON5.py.

307 def MUON5Cfg(flags):
308  stream_name = 'StreamDAOD_MUON5'
309  acc = ComponentAccumulator()
310 
311  # Get the lists of triggers needed for trigger matching.
312  # This is needed at this scope (for the slimming) and further down in the config chain
313  # for actually configuring the matching, so we create it here and pass it down
314  from DerivationFrameworkPhys.TriggerListsHelper import TriggerListsHelper
315  MUON5TriggerListsHelper = TriggerListsHelper(flags)
316 
317  # J/psi vertexing
318  from DerivationFrameworkMuons.JPsiVertexFitSetupCfg import AddMCPJPsiVertexFitCfg
319  acc.merge(AddMCPJPsiVertexFitCfg(flags, prefix = 'MUON5'))
320 
321  # Common augmentations
322  acc.merge(MUON5KernelCfg(flags, name="MUON5Kernel", StreamName = stream_name, TriggerListsHelper = MUON5TriggerListsHelper))
323 
324  #Adding Lepton Taggers
325  from LeptonTaggers.LeptonTaggersConfig import DecorateImprovedPromptLeptonAlgsCfg, DecoratePLITAlgsCfg
326  acc.merge(DecorateImprovedPromptLeptonAlgsCfg(flags))
327  acc.merge(DecoratePLITAlgsCfg(flags))
328 
329  # ============================
330  # Define contents of the format
331  # =============================
332  from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
333  from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
334  from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
335 
336  MUON5SlimmingHelper = SlimmingHelper("MUON5SlimmingHelper", NamesAndTypes = flags.Input.TypedCollections, flags = flags)
337  # Many of these are added to AllVariables below as well. We add
338  # these items in both places in case some of the smart collections
339  # add variables from some other collection.
340  MUON5SlimmingHelper.SmartCollections = ["EventInfo",
341  "PrimaryVertices",
342  "InDetTrackParticles",
343  "Electrons",
344  "Photons",
345  "Muons",
346  "AntiKt4EMPFlowJets",
347  "AntiKtVR30Rmax4Rmin02PV0TrackJets",
348  "BTagging_AntiKt4EMPFlow",
349  "MET_Baseline_AntiKt4EMPFlow",
350  ]
351 
352 
353  MUON5SlimmingHelper.AllVariables = [
354  "egammaClusters",
355  "CaloCalTopoClusters",
356  "MuonClusterCollection",
357  "TopoClusterIsoCentralEventShape",
358  "TopoClusterIsoForwardEventShape",
359  "GSFConversionVertices",
360  "GSFTrackParticles"
361  "PrimaryVertices",
362  "AntiKtVR30Rmax4Rmin02PV0TrackJets",
363  ]
364 
365  excludedVertexAuxData = "-vxTrackAtVertex.-MvfFitInfo.-isInitialized.-VTAV"
366  StaticContent = []
367  StaticContent += ["xAOD::VertexContainer#SoftBVrtClusterTool_Tight_Vertices"]
368  StaticContent += ["xAOD::VertexAuxContainer#SoftBVrtClusterTool_Tight_VerticesAux." + excludedVertexAuxData]
369  StaticContent += ["xAOD::VertexContainer#SoftBVrtClusterTool_Medium_Vertices"]
370  StaticContent += ["xAOD::VertexAuxContainer#SoftBVrtClusterTool_Medium_VerticesAux." + excludedVertexAuxData]
371  StaticContent += ["xAOD::VertexContainer#SoftBVrtClusterTool_Loose_Vertices"]
372  StaticContent += ["xAOD::VertexAuxContainer#SoftBVrtClusterTool_Loose_VerticesAux." + excludedVertexAuxData]
373  StaticContent += ["CaloCellContainer#DFMUONCellContainer"]
374  StaticContent += ["CaloClusterCellLinkContainer#MuonClusterCollection_links"]
375 
376  MUON5SlimmingHelper.StaticContent = StaticContent
377 
378  # Extra content
379  CommonEgammaContent= [
380  "ptcone20","ptcone30","ptcone40", "ptvarcone20", "ptvarcone30", "ptvarcone40", "topoetcone30",
381  "neflowisol20", "neflowisol30", "neflowisol40",
382  "ptvarcone20_Nonprompt_All_MaxWeightTTVA_pt500" ,"ptvarcone20_Nonprompt_All_MaxWeightTTVA_pt1000",
383  "ptvarcone30_Nonprompt_All_MaxWeightTTVA_pt500","ptvarcone30_Nonprompt_All_MaxWeightTTVA_pt1000",
384  "ptvarcone40_Nonprompt_All_MaxWeightTTVA_pt500","ptvarcone40_Nonprompt_All_MaxWeightTTVA_pt1000",
385  "ptcone20_Nonprompt_All_MaxWeightTTVA_pt500", "ptcone20_Nonprompt_All_MaxWeightTTVA_pt1000",
386  "ptcone30_Nonprompt_All_MaxWeightTTVA_pt500", "ptcone30_Nonprompt_All_MaxWeightTTVA_pt1000",
387  "ptcone40_Nonprompt_All_MaxWeightTTVA_pt500", "ptcone40_Nonprompt_All_MaxWeightTTVA_pt1000",
388  "topoetconecoreConeEnergyCorrection"
389  ]
390  ElectronsExtraContent = [
391  ".".join(
392  [
393  "Electrons",
394  "deltaPhiRescaled2","deltaPhiFromLastMeasurement",
395  "originalTrackParticle"
396  ] + CommonEgammaContent
397  )
398  ]
399 
400  PhotonsExtraContent = [
401  ".".join(["Photons"] + CommonEgammaContent )
402  ]
403 
404  MuonsExtraContent = [
405  ".".join(
406  [
407  "Muons",
408  "MeasEnergyLoss.MeasEnergyLossSigma.EnergyLossSigma.ParamEnergyLoss",
409  "ParamEnergyLossSigmaMinus.ParamEnergyLossSigmaPlus.clusterLink.scatteringCurvatureSignificance",
410  "deltaPhiRescaled2.deltaPhiFromLastMeasurement.scatteringNeighbourSignificance",
411  "ptcone20.ptcone30.ptcone40.ptvarcone20.ptvarcone30.ptvarcone40.topoetcone30",
412  "neflowisol20.neflowisol30.neflowisol40.ptvarcone20_Nonprompt_All_MaxWeightTTVA_pt500",
413  "ptvarcone20_Nonprompt_All_MaxWeightTTVA_pt1000.ptvarcone30_Nonprompt_All_MaxWeightTTVA_pt500",
414  "ptvarcone30_Nonprompt_All_MaxWeightTTVA_pt1000.ptvarcone40_Nonprompt_All_MaxWeightTTVA_pt500",
415  "ptvarcone40_Nonprompt_All_MaxWeightTTVA_pt1000.ptcone20_Nonprompt_All_MaxWeightTTVA_pt500",
416  "ptcone20_Nonprompt_All_MaxWeightTTVA_pt1000.ptcone30_Nonprompt_All_MaxWeightTTVA_pt500",
417  "ptcone30_Nonprompt_All_MaxWeightTTVA_pt1000.ptcone40_Nonprompt_All_MaxWeightTTVA_pt500",
418  "ptcone40_Nonprompt_All_MaxWeightTTVA_pt1000",
419  "msInnerMatchChi2",
420  ]
421  )
422  ]
423 
424  InDetTrackParticlesExtraContent = [
425  ".".join(
426  [
427  "InDetTrackParticles","TTVA_AMVFVertices.TTVA_AMVFWeights",
428  "btagIp_d0.btagIp_z0SinTheta.btagIp_d0Uncertainty.btagIp_z0SinThetaUncertainty",
429  "numberOfNextToInnermostPixelLayerHits.numberOfInnermostPixelLayerSharedHits",
430  "numberOfInnermostPixelLayerSplitHits.numberOfPixelSplitHits.leptonID"
431  ]
432  )
433  ]
434 
435  ExtraVariables = ElectronsExtraContent + PhotonsExtraContent + MuonsExtraContent + InDetTrackParticlesExtraContent
436  MUON5SlimmingHelper.ExtraVariables += ExtraVariables
437  MUON5SlimmingHelper.ExtraVariables += [
438  "CombinedMuonTrackParticles.definingParametersCovMatrix.definingParametersCovMatrix.vertexLink",
439  "ExtrapolatedMuonTrackParticles.definingParametersCovMatrix.vertexLink",
440  "MuonSpectrometerTrackParticles.definingParametersCovMatrix.vertexLink",
441  "CaloCalTopoClusters.calE.calEta.calM.calPhi.e_sampl.rawM.rawPhi.rawEta.rawE",
442  "EventInfo.GenFiltHT.GenFiltMET.GenFiltHTinclNu.GenFiltPTZ.GenFiltFatJ",
443  "TauJets.jetLink",
444  ]
445  from LeptonTaggers.LeptonTaggersConfig import GetExtraImprovedPromptVariablesForDxAOD, GetExtraPLITVariablesForDxAOD
446  MUON5SlimmingHelper.ExtraVariables += GetExtraImprovedPromptVariablesForDxAOD()
447  MUON5SlimmingHelper.ExtraVariables += GetExtraPLITVariablesForDxAOD()
448 
449  from DerivationFrameworkEGamma.ElectronsCPDetailedContent import ElectronsCPDetailedContent
450  MUON5SlimmingHelper.ExtraVariables += ElectronsCPDetailedContent
451  from DerivationFrameworkEGamma.ElectronsCPDetailedContent import GSFTracksCPDetailedContent
452  MUON5SlimmingHelper.ExtraVariables += GSFTracksCPDetailedContent
453 
454  # Truth content
455  if flags.Input.isMC:
456  MUON5SlimmingHelper.SmartCollections += [
457  "AntiKt4TruthJets",
458  "AntiKt4TruthDressedWZJets",
459  ]
460  MUON5SlimmingHelper.AllVariables += [
461  "TruthBottom",
462  "TruthCharm",
463  "TruthElectrons",
464  "TruthMuons",
465  "TruthNeutrinos",
466  "TruthPhotons",
467  "TruthTaus",
468  "TruthEvents",
469  "TruthPrimaryVertices",
470  "TruthVertices",
471  ]
472  MUON5SlimmingHelper.ExtraVariables+= [
473  "TruthPrimaryVertices.t.x.y.z",
474  "InDetTrackParticles.ftagTruthTypeLabel.ftagTruthOriginLabel.ftagTruthVertexIndex"
475  ]
476 
477 
478  # Trigger content
479  MUON5SlimmingHelper.IncludeTriggerNavigation = False
480  MUON5SlimmingHelper.IncludeJetTriggerContent = False
481  MUON5SlimmingHelper.IncludeMuonTriggerContent = False
482  MUON5SlimmingHelper.IncludeEGammaTriggerContent = False
483  MUON5SlimmingHelper.IncludeTauTriggerContent = False
484  MUON5SlimmingHelper.IncludeEtMissTriggerContent = False
485  MUON5SlimmingHelper.IncludeBJetTriggerContent = False
486  MUON5SlimmingHelper.IncludeBPhysTriggerContent = False
487  MUON5SlimmingHelper.IncludeMinBiasTriggerContent = False
488 
489  # Trigger matching
490  # Run 2
491  if flags.Trigger.EDMVersion == 2:
492  from DerivationFrameworkPhys.TriggerMatchingCommonConfig import AddRun2TriggerMatchingToSlimmingHelper
493  AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = MUON5SlimmingHelper,
494  OutputContainerPrefix = "TrigMatch_",
495  TriggerList = MUON5TriggerListsHelper.Run2TriggerNamesTau)
496  AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = MUON5SlimmingHelper,
497  OutputContainerPrefix = "TrigMatch_",
498  TriggerList = MUON5TriggerListsHelper.Run2TriggerNamesNoTau)
499  # Run 3, or Run 2 with navigation conversion
500  if flags.Trigger.EDMVersion == 3 or (flags.Trigger.EDMVersion == 2 and flags.Trigger.doEDMVersionConversion):
501  from TrigNavSlimmingMT.TrigNavSlimmingMTConfig import AddRun3TrigNavSlimmingCollectionsToSlimmingHelper
503 
504  # Output stream
505  MUON5ItemList = MUON5SlimmingHelper.GetItemList()
506  acc.merge(OutputStreamCfg(flags, "DAOD_MUON5", ItemList=MUON5ItemList, AcceptAlgs=["MUON5Kernel"]))
507  acc.merge(SetupMetaDataForStreamCfg(flags, "DAOD_MUON5", AcceptAlgs=["MUON5Kernel"], createMetadata=[MetadataCategory.CutFlowMetaData, MetadataCategory.TruthMetaData]))
508  return acc

◆ Muon5ElElSelectionCfg()

def python.MUON5.Muon5ElElSelectionCfg (   flags)

Definition at line 53 of file MUON5.py.

53 def Muon5ElElSelectionCfg(flags):
54  #copied from EGAM1
55  acc = ComponentAccumulator()
56 
57  # ====================================================================
58  # 3. di-electron invariant mass for events passing the Z->ee
59  # selection for the e efficiencies with tag and probe.
60  # Based on single e trigger, for reco (central) and ID SF(central)
61  #
62  # 1 tight e, central, pT>25 GeV
63  # 1 e, central, pT>4 GeV
64  # opposite-sign + same-sign
65  # mee>50 GeV (cut applied in skimming step later)
66  # ====================================================================
67 
68  requirement_tag = " && ".join(
69  ["(Electrons.DFCommonElectronsLHMedium)", "(Electrons.pt > 24.5*GeV)"]
70  )
71 
72  requirement_probe = " && ".join(
73  ["(Electrons.DFCommonElectronsLHLoose)", "(Electrons.pt > 3.0*GeV)"]
74  )
75 
76  acc.setPrivateTools(
77  CompFactory.DerivationFramework.EGInvariantMassTool(
78  name="EGAM1_ZEEMassTool3",
79  Object1Requirements=requirement_tag,
80  Object2Requirements=requirement_probe,
81  StoreGateEntryName="EGAM1_DiElectronMass3",
82  Mass1Hypothesis=0.511 * Units.MeV,
83  Mass2Hypothesis=0.511 * Units.MeV,
84  Container1Name="Electrons",
85  Container2Name="Electrons",
86  CheckCharge=False,
87  DoTransverseMass=False,
88  MinDeltaR=0.0,
89  )
90  )
91 
92  return acc
93 
94 
95 # Main algorithm config

◆ MUON5KernelCfg()

def python.MUON5.MUON5KernelCfg (   flags,
  name = 'MUON5Kernel',
**  kwargs 
)
Configure the derivation framework driving algorithm (kernel) for MUON5

Definition at line 96 of file MUON5.py.

96 def MUON5KernelCfg(flags, name='MUON5Kernel', **kwargs):
97  """Configure the derivation framework driving algorithm (kernel) for MUON5"""
98  acc = ComponentAccumulator()
99 
100  kwargs.setdefault("MuonContainer", "Muons")
101  kwargs.setdefault("IdTrkContainer", "InDetTrackParticles")
102  kwargs.setdefault("MsTrkContainer", "ExtrapolatedMuonTrackParticles")
103  kwargs.setdefault("scheduleThinning", True)
104 
105  # --------------------
106  # Common augmentations
107  # --------------------
108  from DerivationFrameworkPhys.PhysCommonConfig import PhysCommonAugmentationsCfg
109  acc.merge(PhysCommonAugmentationsCfg(flags, TriggerListsHelper = kwargs['TriggerListsHelper']))
110 
111 
112  diMuonSelAcc = Muon5MumuSelectionCfg(flags,
113  MuonContainer= kwargs["MuonContainer"],
114  IdTrackContainer=kwargs["IdTrkContainer"])
115  # ------------
116  # Augmentation
117  # ------------
118  # Strings for applying cuts based on augmentations
119  dimuon_flags = ["pass{flag}".format(flag = algo.BranchPrefix) for algo in diMuonSelAcc.getEventAlgos()]
120  skimmingORs = [f"DIMU_{flag} > 0" for flag in dimuon_flags ]
121  acc.merge(diMuonSelAcc)
122 
123  # ------------
124  # Augmentation
125  # ------------
126 
127  # Augmentation tools
128  MUON5AugmentTools = []
129  muonThinFlags = []
130  trkThinFlags = []
131 
132  Muon5ElElSelectionTool = acc.popToolsAndMerge(Muon5ElElSelectionCfg(flags))
133  acc.addPublicTool(Muon5ElElSelectionTool)
134  MUON5AugmentTools.append(Muon5ElElSelectionTool)
135  skimmingORs.append("(count( EGAM1_DiElectronMass3 > 60.0*GeV ) >= 1)")
136 
137 
138 
139  from DerivationFrameworkMuons.TrackIsolationDecoratorConfig import TrackIsolationCfg
140  acc.merge(TrackIsolationCfg(flags,TrackCollection="InDetTrackParticles", TrackSelections = trkThinFlags))
141  acc.merge(TrackIsolationCfg(flags,TrackCollection="ExtrapolatedMuonTrackParticles"))
142 
143  from IsolationSelection.IsolationSelectionConfig import IsoCloseByAlgsCfg
144  contNames = [ "Muons", "Electrons", "Photons" ]
145  acc.merge(IsoCloseByAlgsCfg(flags, isPhysLite = False, containerNames = contNames, useSelTools = True, stream_name = kwargs['StreamName']))
146 
147 
148  from DerivationFrameworkMuons.MuonsToolsConfig import MuonCaloDepositAlgCfg
149  acc.merge(MuonCaloDepositAlgCfg(flags,
150  ContainerKey="Muons"))
151  acc.merge(MuonCaloDepositAlgCfg(flags,
152  name = "IdTrkCaloDepsitDecorator",
153  ContainerKey="InDetTrackParticles"))
155  from BTagging.BTagTrackAugmenterAlgConfig import BTagTrackAugmenterAlgCfg
156  acc.merge(BTagTrackAugmenterAlgCfg(
157  flags,
158  prefix="btagIp_",
159  TrackCollection="InDetTrackParticles",
160  PrimaryVertexCollectionName="PrimaryVertices"
161  ))
162 
163  # --------
164  # Skimming
165  # --------
166 
167  #we are applying a Zmumu, Zee and a ttbar emu selection. At the moment tauJets selection is not included
168  #emu selection
169  elReq1 = '(Electrons.pt > 25*GeV && abs(Electrons.eta) < 2.5 && Electrons.DFCommonElectronsLHMedium)'
170  elReq2 = '(Electrons.pt > 3*GeV && abs(Electrons.eta) < 2.8 && Electrons.DFCommonElectronsLHLoose)'
171  muReq1 = '(Muons.DFCommonMuonPassPreselection && Muons.DFCommonMuonPassIDCuts && Muons.pt>25*GeV && abs(Muons.eta) <2.5)'
172  muReq2 = '(Muons.DFCommonMuonPassPreselection && Muons.DFCommonMuonPassIDCuts && Muons.pt>3*GeV && abs(Muons.eta) <2.8)'
173 
174  el1 = '(count('+elReq1+') >= 1)'
175  el2 = '(count('+elReq2+') >= 1)'
176  mu1 = '(count('+muReq1+') >= 1)'
177  mu2 = '(count('+muReq2+') >= 1)'
178 
179  emuSel='(('+el1+"&&"+mu2+')'+'||'+'('+el2+"&&"+mu1+'))'
180  skimmingORs.append(emuSel)
181 
182  lepSelection = '||'.join(skimmingORs)
183 
184  MUON5SkimmingTools = []
185  from DerivationFrameworkTools.DerivationFrameworkToolsConfig import xAODStringSkimmingToolCfg
186  # if we are running on upgrade MC (no trigger), we disable the TDT inside the skimming tool.
187  # The TDT is not actually used as we skim only on offline objects.
188  SkimArgs={}
189  if not (flags.Reco.EnableTrigger or flags.Trigger.triggerConfig == 'INFILE'):
190  SkimArgs["TrigDecisionTool"] = ""
191  MUON5SkimmingTool1 = acc.getPrimaryAndMerge(xAODStringSkimmingToolCfg(flags,
192  name = "MUON5SkimmingTool1",
193  expression = lepSelection,
194  **SkimArgs))
195  MUON5SkimmingTools.append(MUON5SkimmingTool1)
196 
197  # --------
198  # Thinning
199  # --------
200 
201  MUON5ThinningTools = []
202 
203  # Track thinning: only keep tracks with |z0| at primary vertex < 10 mm
204  from DerivationFrameworkInDet.InDetToolsConfig import TrackParticleThinningCfg
205  MUON5TrackThinningTool = acc.getPrimaryAndMerge(TrackParticleThinningCfg(flags,
206  name = "MUON5TrackThinningTool",
207  StreamName = kwargs['StreamName'],
208  SelectionString = "abs(DFCommonInDetTrackZ0AtPV) < 35.0 && abs(InDetTrackParticles.eta) < 3.2",
209  InDetTrackParticlesKey = "InDetTrackParticles")
210  )
211 
212  MUON5ThinningTools.append(MUON5TrackThinningTool)
213 
214  # Thinning tools
215  from DerivationFrameworkCalo.DerivationFrameworkCaloConfig import CaloClusterThinningCfg
216  from DerivationFrameworkCalo.CaloCellDFGetterConfig import thinCaloCellsForDFCfg
217  from DerivationFrameworkMuons.MuonsToolsConfig import AnalysisMuonThinningAlgCfg
218 
219  # protect against missing forward tracks in Upgrade
220  fwdTracks = "InDetForwardTrackParticles"
221  if fwdTracks not in flags.Input.Collections:
222  fwdTracks = ""
223  acc.merge(AnalysisMuonThinningAlgCfg(flags,
224  MuonPassFlags = muonThinFlags,
225  TrkPassFlags = trkThinFlags,
226  StreamName = kwargs['StreamName'],
227  IdTrkFwdThinning=fwdTracks))
228 
229 
230  # keep topoclusters around muons
231  MUON5ThinningTool1 = acc.getPrimaryAndMerge(CaloClusterThinningCfg(flags,
232  name = "MUON5ThinningTool1",
233  StreamName = kwargs['StreamName'],
234  SGKey = "Muons",
235  SelectionString = "Muons.pt>4*GeV",
236  TopoClCollectionSGKey = "CaloCalTopoClusters",
237  ConeSize = 0.5))
238  MUON5ThinningTools.append(MUON5ThinningTool1)
239 
240  # keep egammaclusters around electrons
241  MUON5ThinningTool2 = acc.getPrimaryAndMerge(CaloClusterThinningCfg(flags,
242  name = "MUON5ThinningTool2",
243  StreamName = kwargs['StreamName'],
244  SGKey = "Electrons",
245  SelectionString = "Electrons.pt>4*GeV",
246  CaloClCollectionSGKey = "egammaClusters",
247  ConeSize = 0.4))
248  MUON5ThinningTools.append(MUON5ThinningTool2)
249 
250  # keep egammaclusters around photons
251  MUON5ThinningTool3 = acc.getPrimaryAndMerge(CaloClusterThinningCfg(flags,
252  name = "MUON5ThinningTool3",
253  StreamName = kwargs['StreamName'],
254  SGKey = "Photons",
255  SelectionString = "Photons.pt>4*GeV",
256  CaloClCollectionSGKey = "egammaClusters",
257  ConeSize = 0.4))
258  MUON5ThinningTools.append(MUON5ThinningTool3)
259 
260 
261  acc.merge(thinCaloCellsForDFCfg(flags,
262  inputClusterKeys = ["MuonClusterCollection"],
263  streamName = kwargs['StreamName'],
264  outputCellKey = "DFMUONCellContainer"))
265 
266 
267  if flags.Input.isMC:
268  from DerivationFrameworkMCTruth.TruthDerivationToolsConfig import MenuTruthThinningCfg
269  MUON5TruthThinningTool = acc.getPrimaryAndMerge(MenuTruthThinningCfg(flags,
270  name = "MUON5TruthThinningTool",
271  StreamName = kwargs['StreamName'],
272  WritePartons = False,
273  WriteHadrons = False,
274  WriteCHadrons = True,
275  WriteBHadrons = True,
276  WriteGeant = False,
277  WriteTauHad = True,
278  PartonPtThresh = -1.0,
279  WriteBSM = True,
280  WriteBosons = True,
281  WriteBosonProducts = True,
282  WriteBSMProducts = True,
283  WriteTopAndDecays = True,
284  WriteEverything = False,
285  WriteAllLeptons = True,
286  WriteLeptonsNotFromHadrons = False,
287  WriteNotPhysical = False,
288  WriteFirstN = -1,
289  PreserveAncestors = False,
290  PreserveParentsSiblingsChildren = True,
291  PreserveGeneratorDescendants = False))
292  # Not sure what this should be set to nowadays
293  #SimBarcodeOffset = DerivationFrameworkSimBarcodeOffset)
294  MUON5ThinningTools.append(MUON5TruthThinningTool)
295 
296  # --------------------
297  # The kernel algorithm
298  # --------------------
299  DerivationKernel = CompFactory.DerivationFramework.DerivationKernel
300  acc.addEventAlgo(DerivationKernel(name,
301  AugmentationTools = MUON5AugmentTools,
302  SkimmingTools = MUON5SkimmingTools,
303  ThinningTools = MUON5ThinningTools))
304  return acc
305 
306 

◆ Muon5MumuSelectionCfg()

def python.MUON5.Muon5MumuSelectionCfg (   flags,
  MuonContainer = "Muons",
  IdTrackContainer = "InDetTrackParticles",
  applyTrigger = False 
)

Definition at line 13 of file MUON5.py.

13 def Muon5MumuSelectionCfg(flags,
14  MuonContainer="Muons",
15  IdTrackContainer="InDetTrackParticles",
16  applyTrigger = False):
17  #copied from MUON1
18  acc = ComponentAccumulator()
19  from DerivationFrameworkMuons.MuonsToolsConfig import DiMuonTaggingAlgCfg
20 
21  acc.merge(DiMuonTaggingAlgCfg(flags,
22  name = "DiMuonTaggingZmumuOC",
23  Mu1PtMin = 24*Units.GeV,
24  Mu1AbsEtaMax = 2.5,
25  Mu1RequireQual = True,
26  Mu2PtMin = 3.0*Units.GeV,
27  Mu2RequireQual = True,
28  UseTrackProbe = False,
29  MuonContainerKey = MuonContainer,
30  TrackContainerKey = IdTrackContainer,
31  InvariantMassLow = 60*Units.GeV,
32  IDTrackThinningConeSize = 0.4,
33  applyTrigger = applyTrigger,
34  BranchPrefix = "Muon1ZmumuOC"))
35 
36 
37  acc.merge(DiMuonTaggingAlgCfg(flags,
38  name = "DiMuonTaggingZmumuSC",
39  Mu1PtMin = 24*Units.GeV,
40  Mu1AbsEtaMax = 2.5,
41  Mu1RequireQual = True,
42  Mu2PtMin = 3.0*Units.GeV,
43  Mu2RequireQual = True,
44  UseTrackProbe = False,
45  MuonContainerKey = MuonContainer,
46  TrackContainerKey = IdTrackContainer,
47  OppositeCharge = False,
48  applyTrigger = applyTrigger,
49  InvariantMassLow = 60*Units.GeV,
50  BranchPrefix = "Muon1ZmumuSC"))
51  return acc
52 
python.MUON5.MUON5Cfg
def MUON5Cfg(flags)
Definition: MUON5.py:307
python.MUON5.Muon5MumuSelectionCfg
def Muon5MumuSelectionCfg(flags, MuonContainer="Muons", IdTrackContainer="InDetTrackParticles", applyTrigger=False)
Definition: MUON5.py:13
TrigNavSlimmingMTConfig.AddRun3TrigNavSlimmingCollectionsToSlimmingHelper
def AddRun3TrigNavSlimmingCollectionsToSlimmingHelper(slimmingHelper)
Definition: TrigNavSlimmingMTConfig.py:98
DerivationFrameworkCaloConfig.CaloClusterThinningCfg
def CaloClusterThinningCfg(flags, **kwargs)
Definition: DerivationFrameworkCaloConfig.py:98
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
vtune_athena.format
format
Definition: vtune_athena.py:14
python.OutputStreamConfig.OutputStreamCfg
def OutputStreamCfg(flags, streamName, ItemList=[], MetadataItemList=[], disableEventTag=False, trigNavThinningSvc=None, takeItemsFromInput=False, extendProvenanceRecord=True, AcceptAlgs=[], HelperTools=[])
Definition: OutputStreamConfig.py:12
python.MUON5.MUON5KernelCfg
def MUON5KernelCfg(flags, name='MUON5Kernel', **kwargs)
Definition: MUON5.py:96
IsolationSelectionConfig.IsoCloseByAlgsCfg
def IsoCloseByAlgsCfg(flags, suff="", isPhysLite=False, containerNames=["Muons", "Electrons", "Photons"], stream_name="", ttva_wp="Nonprompt_All_MaxWeight", useSelTools=False)
Definition: IsolationSelectionConfig.py:146
python.TruthDerivationToolsConfig.MenuTruthThinningCfg
def MenuTruthThinningCfg(flags, name, **kwargs)
Definition: TruthDerivationToolsConfig.py:369
python.MuonsToolsConfig.DiMuonTaggingAlgCfg
def DiMuonTaggingAlgCfg(ConfigFlags, name="DiMuonTaggingTool", **kwargs)
Di-muon tagging tool, for T&P studies.
Definition: MuonsToolsConfig.py:42
python.BTagTrackAugmenterAlgConfig.BTagTrackAugmenterAlgCfg
def BTagTrackAugmenterAlgCfg(flags, TrackCollection='InDetTrackParticles', PrimaryVertexCollectionName='PrimaryVertices', prefix=None)
Definition: BTagTrackAugmenterAlgConfig.py:9
python.InDetToolsConfig.TrackParticleThinningCfg
def TrackParticleThinningCfg(flags, name, **kwargs)
Definition: InDetToolsConfig.py:458
python.TriggerMatchingCommonConfig.AddRun2TriggerMatchingToSlimmingHelper
def AddRun2TriggerMatchingToSlimmingHelper(**kwargs)
Definition: TriggerMatchingCommonConfig.py:49
LeptonTaggersConfig.GetExtraPLITVariablesForDxAOD
def GetExtraPLITVariablesForDxAOD(name='')
Definition: LeptonTaggersConfig.py:562
LeptonTaggersConfig.GetExtraImprovedPromptVariablesForDxAOD
def GetExtraImprovedPromptVariablesForDxAOD(name='', onlyBDT=False)
Definition: LeptonTaggersConfig.py:522
python.DerivationFrameworkToolsConfig.xAODStringSkimmingToolCfg
def xAODStringSkimmingToolCfg(ConfigFlags, name, **kwargs)
Definition: DerivationFrameworkToolsConfig.py:29
python.MUON5.Muon5ElElSelectionCfg
def Muon5ElElSelectionCfg(flags)
Definition: MUON5.py:53
python.JPsiVertexFitSetupCfg.AddMCPJPsiVertexFitCfg
def AddMCPJPsiVertexFitCfg(flags, prefix='', IdTrkContainer="InDetTrackParticles", MuonContainer="Muons")
Definition: JPsiVertexFitSetupCfg.py:83
TCS::join
std::string join(const std::vector< std::string > &v, const char c=',')
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/Root/StringUtils.cxx:10
LeptonTaggersConfig.DecoratePLITAlgsCfg
ComponentAccumulator DecoratePLITAlgsCfg(ConfigFlags, name="DecoratePLITAlgsCfg", lepton_type="", **kwargs)
Definition: LeptonTaggersConfig.py:443
python.MuonsToolsConfig.MuonCaloDepositAlgCfg
def MuonCaloDepositAlgCfg(ConfigFlags, name="MuonCaloDepositAlg", **kwargs)
Algorithm that decorates the calorimeter deposits in form of 3 vectors to the muon.
Definition: MuonsToolsConfig.py:22
CaloCellDFGetterConfig.thinCaloCellsForDFCfg
def thinCaloCellsForDFCfg(flags, inputClusterKeys, streamName, inputCellKey='AllCalo', outputCellKey=None)
Definition: CaloCellDFGetterConfig.py:6
LeptonTaggersConfig.DecorateImprovedPromptLeptonAlgsCfg
ComponentAccumulator DecorateImprovedPromptLeptonAlgsCfg(ConfigFlags, name="DecorateImprovedPromptLeptonAlgs", lepton_type="", **kwargs)
Definition: LeptonTaggersConfig.py:399
python.TrackIsolationDecoratorConfig.TrackIsolationCfg
def TrackIsolationCfg(ConfigFlags, TrackCollection="InDetTrackParticles", TrackSelections=[])
Definition: TrackIsolationDecoratorConfig.py:73
python.PhysCommonConfig.PhysCommonAugmentationsCfg
def PhysCommonAugmentationsCfg(flags, **kwargs)
Definition: PhysCommonConfig.py:14
python.MuonsToolsConfig.AnalysisMuonThinningAlgCfg
def AnalysisMuonThinningAlgCfg(ConfigFlags, name="AnalysisMuonThinningAlg", **kwargs)
Algorithm used to thin bad muons from the analysis stream.
Definition: MuonsToolsConfig.py:31
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