ATLAS Offline Software
Public Member Functions | Public Attributes | List of all members
METAssocCfg.METAssocConfig Class Reference

Top level MET configuration. More...

Collaboration diagram for METAssocCfg.METAssocConfig:

Public Member Functions

def outputCollections (self)
 
def outputMap (self)
 
def setupAssociators (self, configFlags, buildconfigs)
 
def __init__ (self, suffix, inputFlags, buildconfigs=[], doPFlow=False, doRecoil=False, doTruth=False, usePFOLinks=False, trksel=None, modConstKey="", modClusColls={})
 

Public Attributes

 accumulator
 
 suffix
 
 doPFlow
 
 doRecoil
 
 useFELinks
 
 modConstKey
 
 modClusColls
 
 doTruth
 
 trkseltool
 
 trkisotool
 
 caloisotool
 
 associators
 
 assoclist
 

Detailed Description

Top level MET configuration.

Definition at line 120 of file METAssocCfg.py.

Constructor & Destructor Documentation

◆ __init__()

def METAssocCfg.METAssocConfig.__init__ (   self,
  suffix,
  inputFlags,
  buildconfigs = [],
  doPFlow = False,
  doRecoil = False,
  doTruth = False,
  usePFOLinks = False,
  trksel = None,
  modConstKey = "",
  modClusColls = {} 
)

Definition at line 148 of file METAssocCfg.py.

148  def __init__(self,suffix,inputFlags,buildconfigs=[],
149  doPFlow=False, doRecoil=False, doTruth=False,
150  usePFOLinks=False,
151  trksel=None,
152  modConstKey="",
153  modClusColls={}
154  ):
155  self.accumulator = ComponentAccumulator()
156  # Set some sensible defaults
157  modConstKey_tmp = modConstKey
158  modClusColls_tmp = modClusColls
159  if doPFlow:
160  # Ideally this should not be hardcoded but linked to the JetDefinition with which this MET is built
161  # TODO : in new config, if possible use something like: jetdef.inputdef.containername
162  if modConstKey_tmp == "": modConstKey_tmp = "CHSGParticleFlowObjects"
163  else:
164  if modConstKey_tmp == "": modConstKey_tmp = "OriginCorr"
165  if modClusColls_tmp == {}: modClusColls_tmp = {'LCOriginCorrClusters':'LCOriginTopoClusters',
166  'EMOriginCorrClusters':'EMOriginTopoClusters'}
167  if doTruth:
168  metlog.info("{} Creating MET TruthAssoc config {}".format(prefix,suffix))
169  else:
170  metlog.info("{} Creating MET Assoc config {}".format(prefix,suffix))
171  self.suffix = suffix
172  self.doPFlow = doPFlow
173  self.doRecoil = doRecoil
174  self.useFELinks = usePFOLinks
175  self.modConstKey=modConstKey_tmp
176  self.modClusColls=modClusColls_tmp
177  self.doTruth = doTruth
178  if trksel:
179  self.trkseltool = trksel
180  else:
181  # TODO: These Z0 and D0 cuts are left over from R21. The track vertex association can now use looser ones.
182  # To be investigated and possibly updated by the MET group.
183  self.trkseltool=CompFactory.getComp("InDet::InDetTrackSelectionTool")("IDTrkSel_METAssoc",
184  CutLevel="TightPrimary",
185  maxZ0SinTheta=3,
186  maxD0=2,
187  minPt=500)
188 
189  self.trkisotool = CompFactory.getComp("xAOD::TrackIsolationTool")("TrackIsolationTool_MET")
190  self.trkisotool.TrackSelectionTool = self.trkseltool # As configured above
191  from TrkConfig.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg
192  extrapCfg = AtlasExtrapolatorCfg(inputFlags)
193  CaloExtensionTool= CompFactory.getComp("Trk::ParticleCaloExtensionTool")(Extrapolator = self.accumulator.popToolsAndMerge(extrapCfg))
194  CaloCellAssocTool = CompFactory.getComp("Rec::ParticleCaloCellAssociationTool")(ParticleCaloExtensionTool = CaloExtensionTool)
195  self.caloisotool = CompFactory.getComp("xAOD::CaloIsolationTool")("CaloIsolationTool_MET",
196  saveOnlyRequestedCorrections=True,
197  ParticleCaloExtensionTool = CaloExtensionTool,
198  ParticleCaloCellAssociationTool = CaloCellAssocTool)
199  self.associators = {}
200  self.assoclist = [] # need an ordered list
201  #
202  self.setupAssociators(inputFlags, buildconfigs)
203 
204 # Set up a top-level tool with mostly defaults

Member Function Documentation

◆ outputCollections()

def METAssocCfg.METAssocConfig.outputCollections (   self)

Definition at line 121 of file METAssocCfg.py.

121  def outputCollections(self):
122  if self.doTruth: return 'MET_Core_'+self.suffix
123  else: return 'MET_Core_'+self.suffix,'MET_Reference_'+self.suffix

◆ outputMap()

def METAssocCfg.METAssocConfig.outputMap (   self)

Definition at line 125 of file METAssocCfg.py.

125  def outputMap(self):
126  return 'METAssoc_'+self.suffix

◆ setupAssociators()

def METAssocCfg.METAssocConfig.setupAssociators (   self,
  configFlags,
  buildconfigs 
)

Definition at line 128 of file METAssocCfg.py.

128  def setupAssociators(self, configFlags, buildconfigs):
129  metlog.info("{} Setting up associators for MET config {}".format(prefix,self.suffix))
130  for config in buildconfigs:
131  if config.objType in self.associators:
132  metlog.error("{} Config {} already contains a associator of type {}".format(prefix,self.suffix,config.objType))
133  raise LookupError
134  else:
135  associator = getAssociator(configFlags, config=config,suffix=self.suffix,
136  doPFlow=self.doPFlow,
137  doRecoil=self.doRecoil,
138  useFELinks=self.useFELinks,
139  trkseltool=self.trkseltool,
140  trkisotool=self.trkisotool,
141  caloisotool=self.caloisotool,
142  modConstKey=self.modConstKey,
143  modClusColls=self.modClusColls)
144  self.associators[config.objType] = associator
145  self.assoclist.append(associator)
146  metlog.info("{} Added {} tool named {}".format(prefix,config.objType,associator.name))

Member Data Documentation

◆ accumulator

METAssocCfg.METAssocConfig.accumulator

Definition at line 149 of file METAssocCfg.py.

◆ associators

METAssocCfg.METAssocConfig.associators

Definition at line 193 of file METAssocCfg.py.

◆ assoclist

METAssocCfg.METAssocConfig.assoclist

Definition at line 194 of file METAssocCfg.py.

◆ caloisotool

METAssocCfg.METAssocConfig.caloisotool

Definition at line 189 of file METAssocCfg.py.

◆ doPFlow

METAssocCfg.METAssocConfig.doPFlow

Definition at line 166 of file METAssocCfg.py.

◆ doRecoil

METAssocCfg.METAssocConfig.doRecoil

Definition at line 167 of file METAssocCfg.py.

◆ doTruth

METAssocCfg.METAssocConfig.doTruth

Definition at line 171 of file METAssocCfg.py.

◆ modClusColls

METAssocCfg.METAssocConfig.modClusColls

Definition at line 170 of file METAssocCfg.py.

◆ modConstKey

METAssocCfg.METAssocConfig.modConstKey

Definition at line 169 of file METAssocCfg.py.

◆ suffix

METAssocCfg.METAssocConfig.suffix

Definition at line 165 of file METAssocCfg.py.

◆ trkisotool

METAssocCfg.METAssocConfig.trkisotool

Definition at line 183 of file METAssocCfg.py.

◆ trkseltool

METAssocCfg.METAssocConfig.trkseltool

Definition at line 173 of file METAssocCfg.py.

◆ useFELinks

METAssocCfg.METAssocConfig.useFELinks

Definition at line 168 of file METAssocCfg.py.


The documentation for this class was generated from the following file:
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
vtune_athena.format
format
Definition: vtune_athena.py:14
METAssocCfg.getAssociator
def getAssociator(configFlags, config, suffix, doPFlow=False, doRecoil=False, trkseltool=None, trkisotool=None, caloisotool=None, useFELinks=False, modConstKey="", modClusColls={})
Definition: METAssocCfg.py:45
dumpHVPathFromNtuple.append
bool append
Definition: dumpHVPathFromNtuple.py:91
python.AtlasExtrapolatorConfig.AtlasExtrapolatorCfg
def AtlasExtrapolatorCfg(flags, name='AtlasExtrapolator')
Definition: AtlasExtrapolatorConfig.py:63
python.processes.powheg.ZZ.ZZ.__init__
def __init__(self, base_directory, **kwargs)
Constructor: all process options are set here.
Definition: ZZ.py:18