Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Functions
python.EGAM11 Namespace Reference

Functions

def EGAM11SkimmingToolCfg (flags)
 
def EGAM11ZeeMassTool1Cfg (flags)
 
def EGAM11ZeeMassTool2Cfg (flags)
 
def EGAM11ZeeMassTool3Cfg (flags)
 
def EGAM11ZegMassToolCfg (flags)
 
def EGAM11KernelCfg (flags, name="EGAM11Kernel", **kwargs)
 
def EGAM11Cfg (flags)
 

Function Documentation

◆ EGAM11Cfg()

def python.EGAM11.EGAM11Cfg (   flags)

Definition at line 514 of file EGAM11.py.

514 def EGAM11Cfg(flags):
515  acc = ComponentAccumulator()
516 
517  # configure skimming/thinning/augmentation tools
518  acc.merge(
520  flags,
521  name="EGAM11Kernel",
522  StreamName="StreamDAOD_EGAM11",
523  TriggerListsHelper=None,
524  )
525  )
526 
527  # configure slimming
528  from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg
529  from xAODMetaDataCnv.InfileMetaDataConfig import SetupMetaDataForStreamCfg
530  from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
531 
532  EGAM11SlimmingHelper = SlimmingHelper(
533  "EGAM11SlimmingHelper",
534  NamesAndTypes=flags.Input.TypedCollections,
535  flags=flags,
536  )
537 
538  # ------------------------------------------
539  # containers for which we save all variables
540  # -------------------------------------------
541 
542  # baseline
543  EGAM11SlimmingHelper.AllVariables = [
544  "Electrons",
545  "GSFTrackParticles",
546  "egammaClusters",
547  "AntiKt4HIJets",
548  "BTagging_AntiKt4HI"
549  ]
550 
551  # on MC we also add:
552  if flags.Input.isMC:
553  EGAM11SlimmingHelper.AllVariables += [
554  "TruthEvents",
555  "TruthParticles",
556  "TruthVertices",
557  "egammaTruthParticles",
558  ]
559 
560  # -------------------------------------------
561  # containers that we slim
562  # -------------------------------------------
563 
564  # first add variables from smart-slimming
565  # adding only also those for which we add all variables since
566  # the XXXCPContent.py files also bring in some extra variables
567  # for other collections
568  EGAM11SlimmingHelper.SmartCollections = [
569  "Photons",
570  "Muons",
571  "PrimaryVertices",
572  "InDetTrackParticles"
573  ]
574  if flags.Input.isMC:
575  EGAM11SlimmingHelper.SmartCollections += [
576  "AntiKt4TruthJets",
577  "AntiKt4TruthDressedWZJets",
578  ]
579 
580  # then add extra variables:
581 
582  # muons
583  EGAM11SlimmingHelper.ExtraVariables += [
584  "Muons.ptcone20.ptcone30.ptcone40.etcone20.etcone30.etcone40"
585  ]
586 
587  # conversion vertices
588  EGAM11SlimmingHelper.ExtraVariables += [
589  "GSFConversionVertices.x.y.z.px.py.pz.pt1.pt2.etaAtCalo.phiAtCalo",
590  "GSFConversionVertices.trackParticleLinks",
591  ]
592 
593  # primary vertices
594  EGAM11SlimmingHelper.ExtraVariables += ["PrimaryVertices.sumPt2"]
595 
596  # track jets
597  EGAM11SlimmingHelper.ExtraVariables += [
598  "AntiKt4PV0TrackJets.pt.eta.phi.e.m.btaggingLink.constituentLinks"
599  ]
600 
601  # photons: detailed shower shape variables
602  EGAM11SlimmingHelper.ExtraVariables += PhotonsCPDetailedContent
603 
604  # truth
605  if flags.Input.isMC:
606  EGAM11SlimmingHelper.ExtraVariables += [
607  "MuonTruthParticles.e.px.py.pz.status.pdgId.truthOrigin.truthType"
608  ]
609 
610  EGAM11SlimmingHelper.ExtraVariables += [
611  "Photons.truthOrigin.truthType.truthParticleLink"
612  ]
613 
614  # Add event info
615  if flags.Derivation.Egamma.doEventInfoSlimming:
616  EGAM11SlimmingHelper.SmartCollections.append("EventInfo")
617  else:
618  EGAM11SlimmingHelper.AllVariables += ["EventInfo"]
619 
620  # Add HIEventShape and CaloSums variables for heavy ions
621  EGAM11SlimmingHelper.AllVariables += ["HIEventShape"]
622  EGAM11SlimmingHelper.AllVariables += ["CaloSums"]
623 
624  # Full CellContainers not added in HI data (CaloCellContainer#AllCalo and CaloClusterCellLinkContainer#egammaClusters_links)
625 
626  EGAM11ItemList = EGAM11SlimmingHelper.GetItemList()
627  acc.merge(
629  flags,
630  "DAOD_EGAM11",
631  ItemList=EGAM11ItemList,
632  AcceptAlgs=["EGAM11Kernel"],
633  )
634  )
635  acc.merge(
637  flags,
638  "DAOD_EGAM11",
639  AcceptAlgs=["EGAM11Kernel"],
640  createMetadata=[
641  MetadataCategory.CutFlowMetaData,
642  MetadataCategory.TruthMetaData,
643  ],
644  )
645  )
646 
647  return acc

◆ EGAM11KernelCfg()

def python.EGAM11.EGAM11KernelCfg (   flags,
  name = "EGAM11Kernel",
**  kwargs 
)
Configure the derivation framework driving algorithm (kernel)
for EGAM11

Definition at line 204 of file EGAM11.py.

204 def EGAM11KernelCfg(flags, name="EGAM11Kernel", **kwargs):
205  """Configure the derivation framework driving algorithm (kernel)
206  for EGAM11"""
207  acc = ComponentAccumulator()
208 
209  # Schedule extra jets collections
210  from JetRecConfig.StandardSmallRJets import AntiKt4PV0Track
211  from JetRecConfig.JetRecConfig import JetRecCfg
212 
213  jetList = [AntiKt4PV0Track]
214  for jd in jetList:
215  acc.merge(JetRecCfg(flags, jd))
216 
217  # Common augmentations
218  # cannot use PhysCommon sequence because
219  # - no triggers
220  # - no TauJets
221  # so we have to use a modified version here
222  from DerivationFrameworkInDet.InDetCommonConfig import InDetCommonCfg
223  from DerivationFrameworkMuons.MuonsCommonConfig import MuonsCommonCfg
224  from DerivationFrameworkEGamma.EGammaCommonConfig import EGammaCommonCfg
225 
226  TrackingFlags = flags.Tracking
227  acc.merge(
229  flags,
230  DoVertexFinding=TrackingFlags.doVertexFinding,
231  AddPseudoTracks=TrackingFlags.doPseudoTracking,
232  DecoLRTTTVA=False,
233  DoR3LargeD0=flags.Tracking.doLargeD0,
234  StoreSeparateLargeD0Container=TrackingFlags.storeSeparateLargeD0Container,
235  MergeLRT=False,
236  )
237  )
238  acc.merge(MuonsCommonCfg(flags))
239  acc.merge(EGammaCommonCfg(flags))
240 
241  # jet cleaning
242  # standard way in PhysCommon is
243  # - calculate tau ID (needed for default jet OR)
244  # - decorate jets with overlap removal
245  # - do event cleaning
246  # but taus are missing in HI derivations so need to do differently
247 
248  # NO JVT criteria in HI data (see pp config for details)
249 
250  # Decorate if jet passes OR and save decoration DFCommonJets_passOR
251  # Use modified OR that does not check overlaps with tauls
252  from AssociationUtils.AssociationUtilsConfig import OverlapRemovalToolCfg
253 
254  outputLabel = "DFCommonJets_passOR"
255  bJetLabel = "" # default
256  tauLabel = "" # workaround for missing taus
257  tauKey = "" # workaround for missing taus
258  orTool = acc.popToolsAndMerge(
260  flags, outputLabel=outputLabel, bJetLabel=bJetLabel, doTaus=False
261  )
262  )
263  algOR = CompFactory.OverlapRemovalGenUseAlg(
264  "OverlapRemovalGenUseAlg",
265  OverlapLabel=outputLabel,
266  OverlapRemovalTool=orTool,
267  JetKey = 'AntiKt4HIJets',
268  TauKey=tauKey,
269  TauLabel=tauLabel,
270  BJetLabel=bJetLabel,
271  )
272  acc.addEventAlgo(algOR)
273 
274  # EGAM11 augmentations
275  augmentationTools = []
276 
277  # ====================================================================
278  # ee and egamma invariant masses
279  # ====================================================================
280  EGAM11ZeeMassTool1 = acc.popToolsAndMerge(EGAM11ZeeMassTool1Cfg(flags))
281  acc.addPublicTool(EGAM11ZeeMassTool1)
282  augmentationTools.append(EGAM11ZeeMassTool1)
283 
284  EGAM11ZeeMassTool2 = acc.popToolsAndMerge(EGAM11ZeeMassTool2Cfg(flags))
285  acc.addPublicTool(EGAM11ZeeMassTool2)
286  augmentationTools.append(EGAM11ZeeMassTool2)
287 
288  EGAM11ZeeMassTool3 = acc.popToolsAndMerge(EGAM11ZeeMassTool3Cfg(flags))
289  acc.addPublicTool(EGAM11ZeeMassTool3)
290  augmentationTools.append(EGAM11ZeeMassTool3)
291 
292  EGAM11ZegMassTool = acc.popToolsAndMerge(EGAM11ZegMassToolCfg(flags))
293  acc.addPublicTool(EGAM11ZegMassTool)
294  augmentationTools.append(EGAM11ZegMassTool)
295 
296  # thinning tools
297  thinningTools = []
298  streamName = kwargs["StreamName"]
299 
300  # Track thinning
301  if flags.Derivation.Egamma.doTrackThinning:
302  from DerivationFrameworkInDet.InDetToolsConfig import (
303  TrackParticleThinningCfg,
304  MuonTrackParticleThinningCfg,
305  TauTrackParticleThinningCfg,
306  )
307 
308  TrackThinningKeepElectronTracks = True
309  TrackThinningKeepPhotonTracks = True
310  TrackThinningKeepAllElectronTracks = True
311  TrackThinningKeepJetTracks = False
312  TrackThinningKeepMuonTracks = False
313  TrackThinningKeepTauTracks = False
314  TrackThinningKeepPVTracks = True
315 
316  # Tracks associated with Electrons
317  if TrackThinningKeepElectronTracks:
318  EGAM11ElectronTPThinningTool = (
319  CompFactory.DerivationFramework.EgammaTrackParticleThinning(
320  name="EGAM11ElectronTPThinningTool",
321  StreamName=streamName,
322  SGKey="Electrons",
323  GSFTrackParticlesKey="GSFTrackParticles",
324  InDetTrackParticlesKey="InDetTrackParticles",
325  SelectionString="Electrons.pt > 0*GeV",
326  BestMatchOnly=True,
327  ConeSize=0.3,
328  )
329  )
330  acc.addPublicTool(EGAM11ElectronTPThinningTool)
331  thinningTools.append(EGAM11ElectronTPThinningTool)
332 
333  # Tracks associated with Electrons (all tracks, large cone, for track
334  # isolation studies of the selected electrons)
335  if TrackThinningKeepAllElectronTracks:
336  EGAM11ElectronTPThinningTool2 = (
337  CompFactory.DerivationFramework.EgammaTrackParticleThinning(
338  name="EGAM11ElectronTPThinningTool2",
339  StreamName=streamName,
340  SGKey="Electrons",
341  GSFTrackParticlesKey="GSFTrackParticles",
342  InDetTrackParticlesKey="InDetTrackParticles",
343  SelectionString="Electrons.pt > 4*GeV",
344  BestMatchOnly=False,
345  ConeSize=0.6,
346  )
347  )
348  acc.addPublicTool(EGAM11ElectronTPThinningTool2)
349  thinningTools.append(EGAM11ElectronTPThinningTool2)
350 
351  # Tracks associated with Photons
352  if TrackThinningKeepPhotonTracks:
353  EGAM11PhotonTPThinningTool = (
354  CompFactory.DerivationFramework.EgammaTrackParticleThinning(
355  name="EGAM11PhotonTPThinningTool",
356  StreamName=streamName,
357  SGKey="Photons",
358  GSFTrackParticlesKey="GSFTrackParticles",
359  InDetTrackParticlesKey="InDetTrackParticles",
360  GSFConversionVerticesKey="GSFConversionVertices",
361  SelectionString="Photons.pt > 0*GeV",
362  BestMatchOnly=True,
363  ConeSize=0.3,
364  )
365  )
366  acc.addPublicTool(EGAM11PhotonTPThinningTool)
367  thinningTools.append(EGAM11PhotonTPThinningTool)
368 
369  # Tracks associated with Jets
370  if TrackThinningKeepJetTracks:
371  EGAM11JetTPThinningTool = (
372  CompFactory.DerivationFramework.JetTrackParticleThinning(
373  name="EGAM11JetTPThinningTool",
374  StreamName=streamName,
375  JetKey="AntiKt4EMTopoJets",
376  InDetTrackParticlesKey="InDetTrackParticles",
377  )
378  )
379  acc.addPublicTool(EGAM11JetTPThinningTool)
380  thinningTools.append(EGAM11JetTPThinningTool)
381 
382  # Tracks associated with Muons
383  if TrackThinningKeepMuonTracks:
384  EGAM11MuonTPThinningTool = acc.getPrimaryAndMerge(
386  flags,
387  name="EGAM11MuonTPThinningTool",
388  StreamName=streamName,
389  MuonKey="Muons",
390  InDetTrackParticlesKey="InDetTrackParticles",
391  )
392  )
393  thinningTools.append(EGAM11MuonTPThinningTool)
394 
395  # Tracks associated with Taus
396  if TrackThinningKeepTauTracks:
397  EGAM11TauTPThinningTool = acc.getPrimaryAndMerge(
399  flags,
400  name="EGAM11TauTPThinningTool",
401  StreamName=streamName,
402  TauKey="TauJets",
403  ConeSize=0.6,
404  InDetTrackParticlesKey="InDetTrackParticles",
405  DoTauTracksThinning=True,
406  TauTracksKey="TauTracks",
407  )
408  )
409  thinningTools.append(EGAM11TauTPThinningTool)
410 
411  # Tracks from primary vertex
412  thinning_expression = " && ".join(
413  [
414  "(InDetTrackParticles.DFCommonTightPrimary)",
415  "(abs(DFCommonInDetTrackZ0AtPV)*sin(InDetTrackParticles.theta)<3*mm)",
416  "(InDetTrackParticles.pt>10*GeV)",
417  ]
418  )
419  if TrackThinningKeepPVTracks:
420  EGAM11TPThinningTool = acc.getPrimaryAndMerge(
422  flags,
423  name="EGAM11TPThinningTool",
424  StreamName=streamName,
425  SelectionString=thinning_expression,
426  InDetTrackParticlesKey="InDetTrackParticles",
427  )
428  )
429  thinningTools.append(EGAM11TPThinningTool)
430 
431  # keep topoclusters around electrons
432  from DerivationFrameworkCalo.DerivationFrameworkCaloConfig import (
433  CaloClusterThinningCfg,
434  )
435 
436  EGAM11CCTCThinningTool = acc.getPrimaryAndMerge(
438  flags,
439  name="EGAM11CCTCThinningTool",
440  StreamName=streamName,
441  SGKey="Electrons",
442  SelectionString="Electrons.pt>4*GeV",
443  TopoClCollectionSGKey="SubtractedCaloCalTopoClusters",
444  ConeSize=0.5,
445  )
446  )
447  thinningTools.append(EGAM11CCTCThinningTool)
448 
449  # truth thinning
450  if flags.Input.isMC:
451  # W, Z and Higgs
452  truth_cond_WZH = " && ".join(
453  ["(abs(TruthParticles.pdgId) >= 23)", "(abs(TruthParticles.pdgId) <= 25)"]
454  )
455  # Leptons
456  truth_cond_lep = " && ".join(
457  ["(abs(TruthParticles.pdgId) >= 11)", "(abs(TruthParticles.pdgId) <= 16)"]
458  )
459  # Top quark
460  truth_cond_top = "(abs(TruthParticles.pdgId) == 6)"
461  # Photon
462  truth_cond_gam = " && ".join(
463  ["(abs(TruthParticles.pdgId) == 22)", "(TruthParticles.pt > 1*GeV)"]
464  )
465  # stable particles
466  truth_cond_finalState = "(TruthParticles.isGenStable)"
467  truth_expression = (
468  "( "
469  + truth_cond_WZH
470  + " ) || "
471  + "( "
472  + truth_cond_lep
473  + " ) || "
474  + "( "
475  + truth_cond_top
476  + " ) || "
477  + "( "
478  + truth_cond_gam
479  + " ) || "
480  + "( "
481  + truth_cond_finalState
482  + " )"
483  )
484  print("EGAM11 truth thinning expression: ", truth_expression)
485 
486  EGAM11TruthThinningTool = CompFactory.DerivationFramework.GenericTruthThinning(
487  name="EGAM11TruthThinningTool",
488  StreamName=streamName,
489  ParticleSelectionString=truth_expression,
490  PreserveDescendants=False,
491  PreserveGeneratorDescendants=True,
492  PreserveAncestors=True,
493  )
494  acc.addPublicTool(EGAM11TruthThinningTool)
495  thinningTools.append(EGAM11TruthThinningTool)
496 
497  # skimming
498  skimmingTool = acc.popToolsAndMerge(EGAM11SkimmingToolCfg(flags))
499  acc.addPublicTool(skimmingTool)
500 
501  # setup the kernel
502  acc.addEventAlgo(
503  CompFactory.DerivationFramework.DerivationKernel(
504  name,
505  SkimmingTools=[skimmingTool],
506  AugmentationTools=augmentationTools,
507  ThinningTools=thinningTools,
508  )
509  )
510 
511  return acc
512 
513 

◆ EGAM11SkimmingToolCfg()

def python.EGAM11.EGAM11SkimmingToolCfg (   flags)
Configure the EGAM11 skimming tool

Definition at line 21 of file EGAM11.py.

21 def EGAM11SkimmingToolCfg(flags):
22  """Configure the EGAM11 skimming tool"""
23  acc = ComponentAccumulator()
24 
25  expression = " || ".join(
26  [
27  "(count( EGAM11_DiElectronMass1 > 50.0*GeV ) >= 1)",
28  "(count( EGAM11_DiElectronMass2 > 50.0*GeV ) >= 1)",
29  "(count( EGAM11_DiElectronMass3 > 50.0*GeV ) >= 1)",
30  "(count( EGAM11_ElectronPhotonMass > 50.0*GeV )>=1)",
31  ]
32  )
33  print("EGAM11 skimming expression: ", expression)
34 
35  acc.setPrivateTools(
36  CompFactory.DerivationFramework.xAODStringSkimmingTool(
37  name="EGAM11SkimmingTool", expression=expression, TrigDecisionTool=""
38  )
39  )
40 
41  return acc
42 
43 

◆ EGAM11ZeeMassTool1Cfg()

def python.EGAM11.EGAM11ZeeMassTool1Cfg (   flags)
Configure the EGAM11 ee invariant mass augmentation tool 1

Definition at line 44 of file EGAM11.py.

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

◆ EGAM11ZeeMassTool2Cfg()

def python.EGAM11.EGAM11ZeeMassTool2Cfg (   flags)
Configure the EGAM11 ee invariant mass augmentation tool 2

Definition at line 85 of file EGAM11.py.

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

◆ EGAM11ZeeMassTool3Cfg()

def python.EGAM11.EGAM11ZeeMassTool3Cfg (   flags)
Configure the EGAM11 ee invariant mass augmentation tool 3

Definition at line 121 of file EGAM11.py.

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

◆ EGAM11ZegMassToolCfg()

def python.EGAM11.EGAM11ZegMassToolCfg (   flags)
Configure the EGAM11 e+photon mass augmentation tool

Definition at line 160 of file EGAM11.py.

160 def EGAM11ZegMassToolCfg(flags):
161  """Configure the EGAM11 e+photon mass augmentation tool"""
162  acc = ComponentAccumulator()
163 
164  # ====================================================================
165  # 4. Z->eg selection for reco SF (central)
166  # for tag and probe
167  #
168  # 1 tight e, central, pT>25 GeV
169  # note: use medium instead of tight for early data upon electron
170  # group request
171  # 1 gamma, pT>15 GeV, central
172  # opposite sign + same sign
173  # mey>50 GeV (cut applied in skimming step later)
174  # ====================================================================
175 
176  requirement_tag = " && ".join(
177  ["(Electrons.DFCommonElectronsLHMedium)", "(Electrons.pt > 24.5*GeV)"]
178  )
179 
180  requirement_probe = "DFCommonPhotons_et > 14.5*GeV"
181 
182  acc.setPrivateTools(
183  CompFactory.DerivationFramework.EGInvariantMassTool(
184  name="EGAM11_ZEGMassTool",
185  Object1Requirements=requirement_tag,
186  Object2Requirements=requirement_probe,
187  StoreGateEntryName="EGAM11_ElectronPhotonMass",
188  Mass1Hypothesis=0.511 * MeV,
189  Mass2Hypothesis=0.511 * MeV,
190  Container1Name="Electrons",
191  Container2Name="Photons",
192  Pt2BranchName="DFCommonPhotons_et",
193  Eta2BranchName="DFCommonPhotons_eta",
194  Phi2BranchName="DFCommonPhotons_phi",
195  CheckCharge=False,
196  DoTransverseMass=False,
197  MinDeltaR=0.0,
198  )
199  )
200  return acc
201 
202 
203 # Main algorithm config
AssociationUtilsConfig.OverlapRemovalToolCfg
def OverlapRemovalToolCfg(ConfigFlags, masterName='OverlapRemovalTool', inputLabel='selected', outputLabel='overlaps', bJetLabel='', maxElePtForBJetAwareOR=100. *1000, boostedLeptons=False, outputPassValue=False, linkOverlapObjects=False, doEleEleOR=False, doElectrons=True, doMuons=True, doJets=True, doTaus=True, doPhotons=True, doFatJets=False, **kwargs)
Definition: AssociationUtilsConfig.py:5
DerivationFrameworkCaloConfig.CaloClusterThinningCfg
def CaloClusterThinningCfg(flags, **kwargs)
Definition: DerivationFrameworkCaloConfig.py:104
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
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.InDetToolsConfig.TrackParticleThinningCfg
def TrackParticleThinningCfg(flags, name, **kwargs)
Definition: InDetToolsConfig.py:458
python.EGAM11.EGAM11ZeeMassTool1Cfg
def EGAM11ZeeMassTool1Cfg(flags)
Definition: EGAM11.py:44
python.EGammaCommonConfig.EGammaCommonCfg
def EGammaCommonCfg(ConfigFlags)
Definition: EGammaCommonConfig.py:15
python.EGAM11.EGAM11SkimmingToolCfg
def EGAM11SkimmingToolCfg(flags)
Definition: EGAM11.py:21
python.JetRecConfig.JetRecCfg
def JetRecCfg(flags, jetdef, returnConfiguredDef=False)
Top level functions returning ComponentAccumulator out of JetDefinition.
Definition: JetRecConfig.py:36
python.MuonsCommonConfig.MuonsCommonCfg
def MuonsCommonCfg(flags, suff="")
Definition: MuonsCommonConfig.py:13
python.EGAM11.EGAM11Cfg
def EGAM11Cfg(flags)
Definition: EGAM11.py:514
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.EGAM11.EGAM11ZeeMassTool2Cfg
def EGAM11ZeeMassTool2Cfg(flags)
Definition: EGAM11.py:85
TCS::join
std::string join(const std::vector< std::string > &v, const char c=',')
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/Root/StringUtils.cxx:10
python.EGAM11.EGAM11ZeeMassTool3Cfg
def EGAM11ZeeMassTool3Cfg(flags)
Definition: EGAM11.py:121
python.InDetCommonConfig.InDetCommonCfg
def InDetCommonCfg(flags, **kwargs)
Definition: InDetCommonConfig.py:16
InfileMetaDataConfig.SetupMetaDataForStreamCfg
def SetupMetaDataForStreamCfg(flags, streamName="", AcceptAlgs=None, createMetadata=None, propagateMetadataFromInput=True, *args, **kwargs)
Definition: InfileMetaDataConfig.py:222
python.EGAM11.EGAM11KernelCfg
def EGAM11KernelCfg(flags, name="EGAM11Kernel", **kwargs)
Definition: EGAM11.py:204
SlimmingHelper
Definition: SlimmingHelper.py:1
python.EGAM11.EGAM11ZegMassToolCfg
def EGAM11ZegMassToolCfg(flags)
Definition: EGAM11.py:160