ATLAS Offline Software
METAssociatorCfg.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
2 
3 from METReconstruction.METAssocCfg import AssocConfig, METAssocConfig,getMETAssocAlg
4 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
5 
6 def METAssociatorCfg(configFlags, jetType):
7 
8  components = ComponentAccumulator()
9 
10  from TrkConfig.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg
11  extrapCfg = AtlasExtrapolatorCfg(configFlags)
12  extrapCfg.popPrivateTools()
13  components.merge(extrapCfg)
14 
15  modConstKey = ""
16  modClusColls = {}
17  if configFlags.MET.UseTracks:
18  modConstKey="OriginCorr"
19  modClusColls={
20  'LCOriginCorrClusters':'LCOriginTopoClusters',
21  'EMOriginCorrClusters':'EMOriginTopoClusters'
22  }
23 
24  if jetType == "AntiKt4LCTopo":
25  associators = [AssocConfig('LCJet'),
26  AssocConfig('Muon'),
27  AssocConfig('Ele'),
28  AssocConfig('Gamma'),
29  AssocConfig('Tau'),
30  AssocConfig('Soft')]
31  cfg_akt4lc = METAssocConfig('AntiKt4LCTopo',
32  configFlags,
33  associators,
34  doPFlow=False,
35  modConstKey=modConstKey,
36  modClusColls=modClusColls
37  )
38  components_akt4lc= getAssocCA(cfg_akt4lc,METName='AntiKt4LCTopo')
39  components.merge(components_akt4lc)
40 
41  elif jetType == "AntiKt4EMTopo":
42  associators = [AssocConfig('EMJet'),
43  AssocConfig('Muon'),
44  AssocConfig('Ele'),
45  AssocConfig('Gamma'),
46  AssocConfig('Tau'),
47  AssocConfig('Soft')]
48  cfg_akt4em = METAssocConfig('AntiKt4EMTopo',
49  configFlags,
50  associators,
51  doPFlow=False,
52  modConstKey=modConstKey,
53  modClusColls=modClusColls
54  )
55  components_akt4em= getAssocCA(cfg_akt4em,METName='AntiKt4EMTopo')
56  components.merge(components_akt4em)
57 
58  elif jetType == "AntiKt4EMPFlow":
59  associators = [AssocConfig('PFlowJet'),
60  AssocConfig('Muon'),
61  AssocConfig('Ele'),
62  AssocConfig('Gamma'),
63  AssocConfig('Tau'),
64  AssocConfig('Soft')]
65  cfg_akt4pf = METAssocConfig('AntiKt4EMPFlow',
66  configFlags,
67  associators,
68  doPFlow=True,
69  usePFOLinks=configFlags.MET.UseFELinks
70  )
71  components_akt4pf= getAssocCA(cfg_akt4pf,METName='AntiKt4EMPFlow')
72  components.merge(components_akt4pf)
73  else:
74  raise RuntimeError("Jet type not recognized by METAssociatorCfg: {}".format(jetType) )
75  return components
76 
77 
78 def getAssocCA(config,METName=''):
79  components = ComponentAccumulator()
80  components.merge(config.accumulator)
81  assocAlg = getMETAssocAlg(algName='METAssociation_'+METName,configs={config.suffix:config})
82  components.addEventAlgo(assocAlg)
83  return components
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
vtune_athena.format
format
Definition: vtune_athena.py:14
METAssociatorCfg.getAssocCA
def getAssocCA(config, METName='')
Definition: METAssociatorCfg.py:78
METAssociatorCfg.METAssociatorCfg
def METAssociatorCfg(configFlags, jetType)
Definition: METAssociatorCfg.py:6
python.AtlasExtrapolatorConfig.AtlasExtrapolatorCfg
def AtlasExtrapolatorCfg(flags, name='AtlasExtrapolator')
Definition: AtlasExtrapolatorConfig.py:63
METAssocCfg.getMETAssocAlg
def getMETAssocAlg(algName='METAssociation', configs={}, tools=[], msglvl=INFO)
Definition: METAssocCfg.py:209