Loading [MathJax]/jax/output/SVG/config.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Functions
python.EGAM1 Namespace Reference

Functions

def EGAM1SkimmingToolCfg (flags)
 
def EGAM1ZeeMassTool1Cfg (flags)
 
def EGAM1ZeeMassTool2Cfg (flags)
 
def EGAM1ZeeMassTool3Cfg (flags)
 
def EGAM1ZegMassToolCfg (flags)
 
def EGAM1KernelCfg (flags, name="EGAM1Kernel", **kwargs)
 
def EGAM1Cfg (flags)
 

Function Documentation

◆ EGAM1Cfg()

def python.EGAM1.EGAM1Cfg (   flags)

Definition at line 478 of file EGAM1.py.

478 def EGAM1Cfg(flags):
479  acc = ComponentAccumulator()
480 
481  # Get the lists of triggers needed for trigger matching.
482  # This is needed at this scope (for the slimming) and further down
483  # in the config chain for actually configuring the matching, so we create
484  # it here and pass it down
485  # TODO: this should ideally be called higher up to avoid it being run
486  # multiple times in a train
487 
488  from DerivationFrameworkPhys.TriggerListsHelper import TriggerListsHelper
489 
490  EGAM1TriggerListsHelper = TriggerListsHelper(flags)
491 
492  # configure skimming/thinning/augmentation tools
493  acc.merge(
495  flags,
496  name="EGAM1Kernel",
497  StreamName="StreamDAOD_EGAM1",
498  TriggerListsHelper=EGAM1TriggerListsHelper,
499  )
500  )
501 
502  # configure slimming
503  from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
504  from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
505  from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
506 
507  EGAM1SlimmingHelper = SlimmingHelper(
508  "EGAM1SlimmingHelper",
509  NamesAndTypes=flags.Input.TypedCollections,
510  flags=flags,
511  )
512 
513  # ------------------------------------------
514  # containers for which we save all variables
515  # -------------------------------------------
516 
517  # baseline
518  EGAM1SlimmingHelper.AllVariables = [
519  "Electrons",
520  "GSFTrackParticles",
521  "egammaClusters",
522  "CaloCalTopoClusters",
523  ]
524 
525  # for trigger studies we also add trigger containers
526  MenuType = None
527  if flags.Trigger.EDMVersion == 2:
528  MenuType = "Run2"
529  elif flags.Trigger.EDMVersion == 3:
530  MenuType = "Run3"
531  else:
532  MenuType = ""
533  EGAM1SlimmingHelper.AllVariables += ExtraContainersTrigger[MenuType]
534  EGAM1SlimmingHelper.AllVariables += ExtraContainersElectronTrigger[MenuType]
535 
536  # and on MC we also add:
537  if flags.Input.isMC:
538  EGAM1SlimmingHelper.AllVariables += [
539  "TruthEvents",
540  "TruthParticles",
541  "TruthVertices",
542  "egammaTruthParticles",
543  ]
544 
545  # -------------------------------------------
546  # containers that we slim
547  # -------------------------------------------
548 
549  # first add variables from smart-slimming
550  # adding only also those for which we add all variables since
551  # the XXXCPContent.py files also bring in some extra variables
552  # for other collections
553  EGAM1SlimmingHelper.SmartCollections = [
554  "Electrons",
555  "Photons",
556  "Muons",
557  "TauJets",
558  "PrimaryVertices",
559  "InDetTrackParticles",
560  "AntiKt4EMPFlowJets",
561  "BTagging_AntiKt4EMPFlow",
562  "MET_Baseline_AntiKt4EMPFlow",
563  ]
564  if flags.Input.isMC:
565  EGAM1SlimmingHelper.SmartCollections += [
566  "AntiKt4TruthJets",
567  "AntiKt4TruthDressedWZJets",
568  ]
569 
570  # then add extra variables:
571 
572  # muons
573  EGAM1SlimmingHelper.ExtraVariables += [
574  "Muons.ptcone20.ptcone30.ptcone40.etcone20.etcone30.etcone40"
575  ]
576 
577  # conversion vertices
578  EGAM1SlimmingHelper.ExtraVariables += [
579  "GSFConversionVertices.x.y.z.px.py.pz.pt1.pt2.etaAtCalo.phiAtCalo",
580  "GSFConversionVertices.trackParticleLinks",
581  ]
582 
583  # primary vertices
584  EGAM1SlimmingHelper.ExtraVariables += ["PrimaryVertices.sumPt2"]
585 
586  # track jets
587  EGAM1SlimmingHelper.ExtraVariables += [
588  "AntiKt4PV0TrackJets.pt.eta.phi.e.m.btaggingLink.constituentLinks"
589  ]
590 
591  # energy density
592  EGAM1SlimmingHelper.ExtraVariables += [
593  "TopoClusterIsoCentralEventShape.Density",
594  "TopoClusterIsoForwardEventShape.Density",
595  "NeutralParticleFlowIsoCentralEventShape.Density",
596  "NeutralParticleFlowIsoForwardEventShape.Density",
597  ]
598 
599  from DerivationFrameworkEGamma import EGammaIsoConfig
600 
601  (
602  pflowIsoVar,
603  densityList,
604  densityDict,
605  acc1,
606  ) = EGammaIsoConfig.makeEGammaCommonIsoCfg(flags)
607  acc.merge(acc1)
608  EGAM1SlimmingHelper.AppendToDictionary.update(densityDict)
609  EGAM1SlimmingHelper.ExtraVariables += densityList
610 
611  # photons: detailed shower shape variables
612  EGAM1SlimmingHelper.ExtraVariables += PhotonsCPDetailedContent
613 
614  # photons: gain and cluster energy per layer
615  from DerivationFrameworkCalo.DerivationFrameworkCaloConfig import (
616  getGainDecorations,
617  getClusterEnergyPerLayerDecorations,
618  )
619 
620  gainDecorations = getGainDecorations(acc, flags, "EGAM1Kernel")
621  print("EGAM1 gain decorations: ", gainDecorations)
622  EGAM1SlimmingHelper.ExtraVariables.extend(gainDecorations)
623  clusterEnergyDecorations = getClusterEnergyPerLayerDecorations(acc, "EGAM1Kernel")
624  print("EGAM1 cluster energy decorations: ", clusterEnergyDecorations)
625  EGAM1SlimmingHelper.ExtraVariables.extend(clusterEnergyDecorations)
626 
627  # truth
628  if flags.Input.isMC:
629  EGAM1SlimmingHelper.ExtraVariables += [
630  "MuonTruthParticles.e.px.py.pz.status.pdgId.truthOrigin.truthType"
631  ]
632 
633  EGAM1SlimmingHelper.ExtraVariables += [
634  "Photons.truthOrigin.truthType.truthParticleLink"
635  ]
636 
637  # Add event info
638  if flags.Derivation.Egamma.doEventInfoSlimming:
639  EGAM1SlimmingHelper.SmartCollections.append("EventInfo")
640  else:
641  EGAM1SlimmingHelper.AllVariables += ["EventInfo"]
642 
643  # Add egamma trigger objects
644  EGAM1SlimmingHelper.IncludeEGammaTriggerContent = True
645 
646  # Trigger matching
647  # Run 2
648  if flags.Trigger.EDMVersion == 2:
649  from DerivationFrameworkPhys.TriggerMatchingCommonConfig import AddRun2TriggerMatchingToSlimmingHelper
650  AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = EGAM1SlimmingHelper,
651  OutputContainerPrefix = "TrigMatch_",
652  TriggerList = EGAM1TriggerListsHelper.Run2TriggerNamesNoTau)
653  # Run 3, or Run 2 with navigation conversion
654  if flags.Trigger.EDMVersion == 3 or (flags.Trigger.EDMVersion == 2 and flags.Trigger.doEDMVersionConversion):
655  from TrigNavSlimmingMT.TrigNavSlimmingMTConfig import AddRun3TrigNavSlimmingCollectionsToSlimmingHelper
657 
658  # Add full CellContainer
659  EGAM1SlimmingHelper.StaticContent = [
660  "CaloCellContainer#AllCalo",
661  "CaloClusterCellLinkContainer#egammaClusters_links",
662  ]
663 
664  # PLIT variables
665  if flags.Derivation.Egamma.addPLITInputs:
666  from LeptonTaggers.LeptonTaggersConfig import DecorateImprovedPromptLeptonAlgsCfg, GetExtraImprovedPromptVariablesForDxAOD
667  acc.merge(DecorateImprovedPromptLeptonAlgsCfg(flags))
668  EGAM1SlimmingHelper.ExtraVariables += [ item for item in GetExtraImprovedPromptVariablesForDxAOD() if item.startswith("Electrons")]
669  if flags.Derivation.Egamma.addPLITOutputs:
670  from LeptonTaggers.LeptonTaggersConfig import DecoratePLITAlgsCfg, GetExtraPLITVariablesForDxAOD
671  acc.merge(DecoratePLITAlgsCfg(flags))
672  EGAM1SlimmingHelper.ExtraVariables += [ item for item in GetExtraPLITVariablesForDxAOD() if item.startswith("Electrons")]
673 
674  EGAM1ItemList = EGAM1SlimmingHelper.GetItemList()
675  acc.merge(
677  flags,
678  "DAOD_EGAM1",
679  ItemList=EGAM1ItemList,
680  AcceptAlgs=["EGAM1Kernel"],
681  )
682  )
683  acc.merge(
685  flags,
686  "DAOD_EGAM1",
687  AcceptAlgs=["EGAM1Kernel"],
688  createMetadata=[
689  MetadataCategory.CutFlowMetaData,
690  MetadataCategory.TruthMetaData,
691  ],
692  )
693  )
694 
695  return acc

◆ EGAM1KernelCfg()

def python.EGAM1.EGAM1KernelCfg (   flags,
  name = "EGAM1Kernel",
**  kwargs 
)
Configure the derivation framework driving algorithm (kernel)
for EGAM1

Definition at line 209 of file EGAM1.py.

209 def EGAM1KernelCfg(flags, name="EGAM1Kernel", **kwargs):
210  """Configure the derivation framework driving algorithm (kernel)
211  for EGAM1"""
212  acc = ComponentAccumulator()
213 
214  # Schedule extra jets collections
215  from JetRecConfig.StandardSmallRJets import AntiKt4PV0Track
216  from JetRecConfig.JetRecConfig import JetRecCfg
217 
218  jetList = [AntiKt4PV0Track]
219  for jd in jetList:
220  acc.merge(JetRecCfg(flags, jd))
221 
222  # Common augmentations
223  from DerivationFrameworkPhys.PhysCommonConfig import PhysCommonAugmentationsCfg
224 
225  acc.merge(
227  flags, TriggerListsHelper=kwargs["TriggerListsHelper"]
228  )
229  )
230 
231  # EGAM1 augmentations
232  augmentationTools = []
233 
234  # ====================================================================
235  # ee and egamma invariant masses
236  # ====================================================================
237  EGAM1ZeeMassTool1 = acc.popToolsAndMerge(EGAM1ZeeMassTool1Cfg(flags))
238  acc.addPublicTool(EGAM1ZeeMassTool1)
239  augmentationTools.append(EGAM1ZeeMassTool1)
240 
241  EGAM1ZeeMassTool2 = acc.popToolsAndMerge(EGAM1ZeeMassTool2Cfg(flags))
242  acc.addPublicTool(EGAM1ZeeMassTool2)
243  augmentationTools.append(EGAM1ZeeMassTool2)
244 
245  EGAM1ZeeMassTool3 = acc.popToolsAndMerge(EGAM1ZeeMassTool3Cfg(flags))
246  acc.addPublicTool(EGAM1ZeeMassTool3)
247  augmentationTools.append(EGAM1ZeeMassTool3)
248 
249  EGAM1ZegMassTool = acc.popToolsAndMerge(EGAM1ZegMassToolCfg(flags))
250  acc.addPublicTool(EGAM1ZegMassTool)
251  augmentationTools.append(EGAM1ZegMassTool)
252 
253  # ====================================================================
254  # Common calo decoration tools
255  # ====================================================================
256  from DerivationFrameworkCalo.DerivationFrameworkCaloConfig import (
257  CaloDecoratorKernelCfg)
258  acc.merge(CaloDecoratorKernelCfg(flags))
259 
260  # thinning tools
261  thinningTools = []
262  streamName = kwargs["StreamName"]
263 
264  # Track thinning
265  if flags.Derivation.Egamma.doTrackThinning:
266  from DerivationFrameworkInDet.InDetToolsConfig import (
267  TrackParticleThinningCfg,
268  MuonTrackParticleThinningCfg,
269  TauTrackParticleThinningCfg,
270  )
271 
272  TrackThinningKeepElectronTracks = True
273  TrackThinningKeepPhotonTracks = True
274  TrackThinningKeepAllElectronTracks = True
275  TrackThinningKeepJetTracks = False
276  TrackThinningKeepMuonTracks = False
277  TrackThinningKeepTauTracks = False
278  TrackThinningKeepPVTracks = True
279 
280  # Tracks associated with Electrons
281  if TrackThinningKeepElectronTracks:
282  EGAM1ElectronTPThinningTool = (
283  CompFactory.DerivationFramework.EgammaTrackParticleThinning(
284  name="EGAM1ElectronTPThinningTool",
285  StreamName=streamName,
286  SGKey="Electrons",
287  GSFTrackParticlesKey="GSFTrackParticles",
288  InDetTrackParticlesKey="InDetTrackParticles",
289  SelectionString="Electrons.pt > 0*GeV",
290  BestMatchOnly=True,
291  ConeSize=0.3,
292  )
293  )
294  acc.addPublicTool(EGAM1ElectronTPThinningTool)
295  thinningTools.append(EGAM1ElectronTPThinningTool)
296 
297  # Tracks associated with Electrons (all tracks, large cone, for track
298  # isolation studies of the selected electrons)
299  if TrackThinningKeepAllElectronTracks:
300  EGAM1ElectronTPThinningTool2 = (
301  CompFactory.DerivationFramework.EgammaTrackParticleThinning(
302  name="EGAM1ElectronTPThinningTool2",
303  StreamName=streamName,
304  SGKey="Electrons",
305  GSFTrackParticlesKey="GSFTrackParticles",
306  InDetTrackParticlesKey="InDetTrackParticles",
307  SelectionString="Electrons.pt > 4*GeV",
308  BestMatchOnly=False,
309  ConeSize=0.6,
310  )
311  )
312  acc.addPublicTool(EGAM1ElectronTPThinningTool2)
313  thinningTools.append(EGAM1ElectronTPThinningTool2)
314 
315  # Tracks associated with Photons
316  if TrackThinningKeepPhotonTracks:
317  EGAM1PhotonTPThinningTool = (
318  CompFactory.DerivationFramework.EgammaTrackParticleThinning(
319  name="EGAM1PhotonTPThinningTool",
320  StreamName=streamName,
321  SGKey="Photons",
322  GSFTrackParticlesKey="GSFTrackParticles",
323  InDetTrackParticlesKey="InDetTrackParticles",
324  GSFConversionVerticesKey="GSFConversionVertices",
325  SelectionString="Photons.pt > 0*GeV",
326  BestMatchOnly=True,
327  ConeSize=0.3,
328  )
329  )
330  acc.addPublicTool(EGAM1PhotonTPThinningTool)
331  thinningTools.append(EGAM1PhotonTPThinningTool)
332 
333  # Tracks associated with Jets
334  if TrackThinningKeepJetTracks:
335  EGAM1JetTPThinningTool = (
336  CompFactory.DerivationFramework.JetTrackParticleThinning(
337  name="EGAM1JetTPThinningTool",
338  StreamName=streamName,
339  JetKey="AntiKt4EMPFlowJets",
340  InDetTrackParticlesKey="InDetTrackParticles",
341  )
342  )
343  acc.addPublicTool(EGAM1JetTPThinningTool)
344  thinningTools.append(EGAM1JetTPThinningTool)
345 
346  # Tracks associated with Muons
347  if TrackThinningKeepMuonTracks:
348  EGAM1MuonTPThinningTool = acc.getPrimaryAndMerge(
350  flags,
351  name="EGAM1MuonTPThinningTool",
352  StreamName=streamName,
353  MuonKey="Muons",
354  InDetTrackParticlesKey="InDetTrackParticles",
355  )
356  )
357  thinningTools.append(EGAM1MuonTPThinningTool)
358 
359  # Tracks associated with Taus
360  if TrackThinningKeepTauTracks:
361  EGAM1TauTPThinningTool = acc.getPrimaryAndMerge(
363  flags,
364  name="EGAM1TauTPThinningTool",
365  StreamName=streamName,
366  TauKey="TauJets",
367  ConeSize=0.6,
368  InDetTrackParticlesKey="InDetTrackParticles",
369  DoTauTracksThinning=True,
370  TauTracksKey="TauTracks",
371  )
372  )
373  thinningTools.append(EGAM1TauTPThinningTool)
374 
375  # Tracks from primary vertex
376  thinning_expression = " && ".join(
377  [
378  "(InDetTrackParticles.DFCommonTightPrimary)",
379  "(abs(DFCommonInDetTrackZ0AtPV)*sin(InDetTrackParticles.theta)<3*mm)",
380  "(InDetTrackParticles.pt>10*GeV)",
381  ]
382  )
383  if TrackThinningKeepPVTracks:
384  EGAM1TPThinningTool = acc.getPrimaryAndMerge(
386  flags,
387  name="EGAM1TPThinningTool",
388  StreamName=streamName,
389  SelectionString=thinning_expression,
390  InDetTrackParticlesKey="InDetTrackParticles",
391  )
392  )
393  thinningTools.append(EGAM1TPThinningTool)
394 
395  # keep topoclusters around electrons
396  from DerivationFrameworkCalo.DerivationFrameworkCaloConfig import (
397  CaloClusterThinningCfg,
398  )
399 
400  EGAM1CCTCThinningTool = acc.getPrimaryAndMerge(
402  flags,
403  name="EGAM1CCTCThinningTool",
404  StreamName=streamName,
405  SGKey="Electrons",
406  SelectionString="Electrons.pt>4*GeV",
407  TopoClCollectionSGKey="CaloCalTopoClusters",
408  ConeSize=0.5,
409  )
410  )
411  thinningTools.append(EGAM1CCTCThinningTool)
412 
413  # truth thinning
414  if flags.Input.isMC:
415  # W, Z and Higgs
416  truth_cond_WZH = " && ".join(
417  ["(abs(TruthParticles.pdgId) >= 23)", "(abs(TruthParticles.pdgId) <= 25)"]
418  )
419  # Leptons
420  truth_cond_lep = " && ".join(
421  ["(abs(TruthParticles.pdgId) >= 11)", "(abs(TruthParticles.pdgId) <= 16)"]
422  )
423  # Top quark
424  truth_cond_top = "(abs(TruthParticles.pdgId) == 6)"
425  # Photon
426  truth_cond_gam = " && ".join(
427  ["(abs(TruthParticles.pdgId) == 22)", "(TruthParticles.pt > 1*GeV)"]
428  )
429  # stable particles
430  truth_cond_finalState = "(TruthParticles.isGenStable)"
431  truth_expression = (
432  "( "
433  + truth_cond_WZH
434  + " ) || "
435  + "( "
436  + truth_cond_lep
437  + " ) || "
438  + "( "
439  + truth_cond_top
440  + " ) || "
441  + "( "
442  + truth_cond_gam
443  + " ) || "
444  + "( "
445  + truth_cond_finalState
446  + " )"
447  )
448  print("EGAM1 truth thinning expression: ", truth_expression)
449 
450  EGAM1TruthThinningTool = CompFactory.DerivationFramework.GenericTruthThinning(
451  name="EGAM1TruthThinningTool",
452  StreamName=streamName,
453  ParticleSelectionString=truth_expression,
454  PreserveDescendants=False,
455  PreserveGeneratorDescendants=True,
456  PreserveAncestors=True,
457  )
458  acc.addPublicTool(EGAM1TruthThinningTool)
459  thinningTools.append(EGAM1TruthThinningTool)
460 
461  # skimming
462  skimmingTool = acc.popToolsAndMerge(EGAM1SkimmingToolCfg(flags))
463  acc.addPublicTool(skimmingTool)
464 
465  # setup the kernel
466  acc.addEventAlgo(
467  CompFactory.DerivationFramework.DerivationKernel(
468  name,
469  SkimmingTools=[skimmingTool],
470  AugmentationTools=augmentationTools,
471  ThinningTools=thinningTools,
472  )
473  )
474 
475  return acc
476 
477 

◆ EGAM1SkimmingToolCfg()

def python.EGAM1.EGAM1SkimmingToolCfg (   flags)
Configure the EGAM1 skimming tool

Definition at line 25 of file EGAM1.py.

25 def EGAM1SkimmingToolCfg(flags):
26  """Configure the EGAM1 skimming tool"""
27  acc = ComponentAccumulator()
28 
29  expression = " || ".join(
30  [
31  "(count( EGAM1_DiElectronMass1 > 50.0*GeV ) >= 1)",
32  "(count( EGAM1_DiElectronMass2 > 50.0*GeV ) >= 1)",
33  "(count( EGAM1_DiElectronMass3 > 50.0*GeV ) >= 1)",
34  "(count( EGAM1_ElectronPhotonMass > 50.0*GeV )>=1)",
35  ]
36  )
37  print("EGAM1 skimming expression: ", expression)
38 
39  acc.setPrivateTools(
40  CompFactory.DerivationFramework.xAODStringSkimmingTool(
41  name="EGAM1SkimmingTool", expression=expression
42  )
43  )
44 
45  return acc
46 
47 

◆ EGAM1ZeeMassTool1Cfg()

def python.EGAM1.EGAM1ZeeMassTool1Cfg (   flags)
Configure the EGAM1 ee invariant mass augmentation tool 1

Definition at line 48 of file EGAM1.py.

48 def EGAM1ZeeMassTool1Cfg(flags):
49  """Configure the EGAM1 ee invariant mass augmentation tool 1"""
50  acc = ComponentAccumulator()
51 
52  # ====================================================================
53  # 1. di-electron invariant mass for events passing the Z->ee
54  # selection for the e-gamma calibration, based on single e trigger
55  #
56  # 1 tight e, central, pT>25 GeV
57  # 1 medium e, pT>20 GeV
58  # opposite-sign
59  # mee>50 GeV (cut applied in skimming step later)
60  # ====================================================================
61 
62  requirement_tag = " && ".join(
63  ["(Electrons.DFCommonElectronsLHTight)", "(Electrons.pt > 24.5*GeV)"]
64  )
65 
66  requirement_probe = " && ".join(
67  ["(Electrons.DFCommonElectronsLHMedium)", "(Electrons.pt > 19.5*GeV)"]
68  )
69 
70  acc.setPrivateTools(
71  CompFactory.DerivationFramework.EGInvariantMassTool(
72  name="EGAM1_ZEEMassTool1",
73  Object1Requirements=requirement_tag,
74  Object2Requirements=requirement_probe,
75  StoreGateEntryName="EGAM1_DiElectronMass1",
76  Mass1Hypothesis=0.511 * MeV,
77  Mass2Hypothesis=0.511 * MeV,
78  Container1Name="Electrons",
79  Container2Name="Electrons",
80  CheckCharge=True,
81  DoTransverseMass=False,
82  MinDeltaR=0.0,
83  )
84  )
85 
86  return acc
87 
88 

◆ EGAM1ZeeMassTool2Cfg()

def python.EGAM1.EGAM1ZeeMassTool2Cfg (   flags)
Configure the EGAM1 ee invariant mass augmentation tool 2

Definition at line 89 of file EGAM1.py.

89 def EGAM1ZeeMassTool2Cfg(flags):
90  """Configure the EGAM1 ee invariant mass augmentation tool 2"""
91  acc = ComponentAccumulator()
92 
93  # ====================================================================
94  # 2. di-electron invariant mass for events passing the Z->e selection
95  # for the e-gamma calibration, based on di-electron triggers
96  #
97  # 2 medium e, central, pT>20 GeV
98  # opposite-sign
99  # mee>50 GeV (cut applied in skimming step later)
100  # ====================================================================
101 
102  requirement = " && ".join(
103  ["(Electrons.DFCommonElectronsLHMedium)", "(Electrons.pt > 19.5*GeV)"]
104  )
105 
106  acc.setPrivateTools(
107  CompFactory.DerivationFramework.EGInvariantMassTool(
108  name="EGAM1_ZEEMassTool2",
109  Object1Requirements=requirement,
110  Object2Requirements=requirement,
111  StoreGateEntryName="EGAM1_DiElectronMass2",
112  Mass1Hypothesis=0.511 * MeV,
113  Mass2Hypothesis=0.511 * MeV,
114  Container1Name="Electrons",
115  Container2Name="Electrons",
116  CheckCharge=True,
117  DoTransverseMass=False,
118  MinDeltaR=0.0,
119  )
120  )
121 
122  return acc
123 
124 

◆ EGAM1ZeeMassTool3Cfg()

def python.EGAM1.EGAM1ZeeMassTool3Cfg (   flags)
Configure the EGAM1 ee invariant mass augmentation tool 3

Definition at line 125 of file EGAM1.py.

125 def EGAM1ZeeMassTool3Cfg(flags):
126  """Configure the EGAM1 ee invariant mass augmentation tool 3"""
127  acc = ComponentAccumulator()
128 
129  # ====================================================================
130  # 3. di-electron invariant mass for events passing the Z->ee
131  # selection for the e efficiencies with tag and probe.
132  # Based on single e trigger, for reco (central) and ID SF(central)
133  #
134  # 1 tight e, central, pT>25 GeV
135  # 1 e, central, pT>4 GeV
136  # opposite-sign + same-sign
137  # mee>50 GeV (cut applied in skimming step later)
138  # ====================================================================
139 
140  requirement_tag = " && ".join(
141  ["(Electrons.DFCommonElectronsLHMedium)", "(Electrons.pt > 24.5*GeV)"]
142  )
143 
144  requirement_probe = "Electrons.pt > 4*GeV"
145 
146  acc.setPrivateTools(
147  CompFactory.DerivationFramework.EGInvariantMassTool(
148  name="EGAM1_ZEEMassTool3",
149  Object1Requirements=requirement_tag,
150  Object2Requirements=requirement_probe,
151  StoreGateEntryName="EGAM1_DiElectronMass3",
152  Mass1Hypothesis=0.511 * MeV,
153  Mass2Hypothesis=0.511 * MeV,
154  Container1Name="Electrons",
155  Container2Name="Electrons",
156  CheckCharge=False,
157  DoTransverseMass=False,
158  MinDeltaR=0.0,
159  )
160  )
161 
162  return acc
163 
164 

◆ EGAM1ZegMassToolCfg()

def python.EGAM1.EGAM1ZegMassToolCfg (   flags)
Configure the EGAM1 e+photon mass augmentation tool

Definition at line 165 of file EGAM1.py.

165 def EGAM1ZegMassToolCfg(flags):
166  """Configure the EGAM1 e+photon mass augmentation tool"""
167  acc = ComponentAccumulator()
168 
169  # ====================================================================
170  # 4. Z->eg selection based on single e trigger, for reco SF (central)
171  # for tag and probe
172  #
173  # 1 tight e, central, pT>25 GeV
174  # note: use medium instead of tight for early data upon electron
175  # group request
176  # 1 gamma, pT>15 GeV, central
177  # opposite sign + same sign
178  # mey>50 GeV (cut applied in skimming step later)
179  # ====================================================================
180 
181  requirement_tag = " && ".join(
182  ["(Electrons.DFCommonElectronsLHMedium)", "(Electrons.pt > 24.5*GeV)"]
183  )
184 
185  requirement_probe = "DFCommonPhotons_et > 14.5*GeV"
186 
187  acc.setPrivateTools(
188  CompFactory.DerivationFramework.EGInvariantMassTool(
189  name="EGAM1_ZEGMassTool",
190  Object1Requirements=requirement_tag,
191  Object2Requirements=requirement_probe,
192  StoreGateEntryName="EGAM1_ElectronPhotonMass",
193  Mass1Hypothesis=0.511 * MeV,
194  Mass2Hypothesis=0.511 * MeV,
195  Container1Name="Electrons",
196  Container2Name="Photons",
197  Pt2BranchName="DFCommonPhotons_et",
198  Eta2BranchName="DFCommonPhotons_eta",
199  Phi2BranchName="DFCommonPhotons_phi",
200  CheckCharge=False,
201  DoTransverseMass=False,
202  MinDeltaR=0.0,
203  )
204  )
205  return acc
206 
207 
208 # Main algorithm config
TrigNavSlimmingMTConfig.AddRun3TrigNavSlimmingCollectionsToSlimmingHelper
def AddRun3TrigNavSlimmingCollectionsToSlimmingHelper(slimmingHelper)
Definition: TrigNavSlimmingMTConfig.py:98
DerivationFrameworkCaloConfig.CaloClusterThinningCfg
def CaloClusterThinningCfg(flags, **kwargs)
Definition: DerivationFrameworkCaloConfig.py:104
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.EGAM1.EGAM1ZegMassToolCfg
def EGAM1ZegMassToolCfg(flags)
Definition: EGAM1.py:165
python.OutputStreamConfig.OutputStreamCfg
def OutputStreamCfg(flags, streamName, ItemList=[], MetadataItemList=[], disableEventTag=False, trigNavThinningSvc=None, takeItemsFromInput=False, extendProvenanceRecord=True, keepProvenanceTagsRegEx=None, AcceptAlgs=[], HelperTools=[])
Definition: OutputStreamConfig.py:16
python.EGAM1.EGAM1KernelCfg
def EGAM1KernelCfg(flags, name="EGAM1Kernel", **kwargs)
Definition: EGAM1.py:209
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:586
LeptonTaggersConfig.GetExtraImprovedPromptVariablesForDxAOD
def GetExtraImprovedPromptVariablesForDxAOD(name='', onlyBDT=False)
Definition: LeptonTaggersConfig.py:546
python.EGAM1.EGAM1Cfg
def EGAM1Cfg(flags)
Definition: EGAM1.py:478
python.JetRecConfig.JetRecCfg
def JetRecCfg(flags, jetdef, returnConfiguredDef=False)
Top level functions returning ComponentAccumulator out of JetDefinition.
Definition: JetRecConfig.py:36
python.EGAM1.EGAM1ZeeMassTool3Cfg
def EGAM1ZeeMassTool3Cfg(flags)
Definition: EGAM1.py:125
python.InDetToolsConfig.MuonTrackParticleThinningCfg
def MuonTrackParticleThinningCfg(flags, name, **kwargs)
Definition: InDetToolsConfig.py:542
python.InDetToolsConfig.TauTrackParticleThinningCfg
def TauTrackParticleThinningCfg(flags, name, **kwargs)
Definition: InDetToolsConfig.py:553
print
void print(char *figname, TCanvas *c1)
Definition: TRTCalib_StrawStatusPlots.cxx:25
python.EGAM1.EGAM1SkimmingToolCfg
def EGAM1SkimmingToolCfg(flags)
Definition: EGAM1.py:25
TCS::join
std::string join(const std::vector< std::string > &v, const char c=',')
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/Root/StringUtils.cxx:10
python.EGAM1.EGAM1ZeeMassTool2Cfg
def EGAM1ZeeMassTool2Cfg(flags)
Definition: EGAM1.py:89
LeptonTaggersConfig.DecoratePLITAlgsCfg
ComponentAccumulator DecoratePLITAlgsCfg(ConfigFlags, name="DecoratePLITAlgsCfg", lepton_type="", **kwargs)
Definition: LeptonTaggersConfig.py:456
DerivationFrameworkCaloConfig.CaloDecoratorKernelCfg
def CaloDecoratorKernelCfg(flags, name="CaloDecoratorKernel", **kwargs)
Definition: DerivationFrameworkCaloConfig.py:82
LeptonTaggersConfig.DecorateImprovedPromptLeptonAlgsCfg
ComponentAccumulator DecorateImprovedPromptLeptonAlgsCfg(ConfigFlags, name="DecorateImprovedPromptLeptonAlgs", lepton_type="", **kwargs)
Definition: LeptonTaggersConfig.py:411
DerivationFrameworkCaloConfig.getClusterEnergyPerLayerDecorations
def getClusterEnergyPerLayerDecorations(acc, kernel)
Definition: DerivationFrameworkCaloConfig.py:164
DerivationFrameworkCaloConfig.getGainDecorations
def getGainDecorations(acc, flags, kernel, collections=None, info=["E", "nCells"])
Definition: DerivationFrameworkCaloConfig.py:132
python.PhysCommonConfig.PhysCommonAugmentationsCfg
def PhysCommonAugmentationsCfg(flags, **kwargs)
Definition: PhysCommonConfig.py:14
InfileMetaDataConfig.SetupMetaDataForStreamCfg
def SetupMetaDataForStreamCfg(flags, streamName="", AcceptAlgs=None, createMetadata=None, propagateMetadataFromInput=True, *args, **kwargs)
Definition: InfileMetaDataConfig.py:222
SlimmingHelper
Definition: SlimmingHelper.py:1
python.EGAM1.EGAM1ZeeMassTool1Cfg
def EGAM1ZeeMassTool1Cfg(flags)
Definition: EGAM1.py:48