ATLAS Offline Software
Public Member Functions | Static Public Attributes | List of all members
python.L1.Config.TypeWideThresholdConfig.L1Config_eTAU Class Reference
Collaboration diagram for python.L1.Config.TypeWideThresholdConfig.L1Config_eTAU:

Public Member Functions

odict __call__ (self, do_eFex_BDT_Tau=True, do_HI_tob_thresholds=False)
 

Static Public Attributes

 rCore_fw_loose
 
 rCore_fw_medium
 
 rCore_fw_tight
 
 BDT_fw_loose
 
 BDT_fw_medium
 
 BDT_fw_tight
 
 rHad_fw_loose
 
 rHad_fw_medium
 
 rHad_fw_tight
 
 bitshift_rCore
 
 bitshift_rHad
 

Detailed Description

Definition at line 347 of file TypeWideThresholdConfig.py.

Member Function Documentation

◆ __call__()

odict python.L1.Config.TypeWideThresholdConfig.L1Config_eTAU.__call__ (   self,
  do_eFex_BDT_Tau = True,
  do_HI_tob_thresholds = False 
)

Definition at line 384 of file TypeWideThresholdConfig.py.

384  def __call__(self, do_eFex_BDT_Tau=True, do_HI_tob_thresholds=False) -> odict:
385  # Load either RCore or BDT cut thresholds
386  rCore_fw_loose = self.BDT_fw_loose if do_eFex_BDT_Tau else self.rCore_fw_loose
387  rCore_fw_medium = self.BDT_fw_medium if do_eFex_BDT_Tau else self.rCore_fw_medium
388  rCore_fw_tight = self.BDT_fw_tight if do_eFex_BDT_Tau else self.rCore_fw_tight
389 
390  confObj = odict()
391  confObj["workingPoints"] = odict()
392  confObj["workingPoints"]["Loose"] = [
393  odict([("rCore", eTAUfwToFloatConversion_bdt(rCore_fw_loose) if do_eFex_BDT_Tau else eFEXfwToFloatConversion(rCore_fw_loose, self.bitshift_rCore)), ("rCore_fw", rCore_fw_loose),
394  ("rHad", eFEXfwToFloatConversion(self.rHad_fw_loose, self.bitshift_rHad)), ("rHad_fw", self.rHad_fw_loose),
395  ]),
396  ]
397  confObj["workingPoints"]["Medium"] = [
398  odict([("rCore", eTAUfwToFloatConversion_bdt(rCore_fw_medium) if do_eFex_BDT_Tau else eFEXfwToFloatConversion(rCore_fw_medium, self.bitshift_rCore)), ("rCore_fw", rCore_fw_medium),
399  ("rHad", eFEXfwToFloatConversion(self.rHad_fw_medium, self.bitshift_rHad)), ("rHad_fw", self.rHad_fw_medium),
400  ]),
401  ]
402  confObj["workingPoints"]["Tight"] = [
403  odict([("rCore", eTAUfwToFloatConversion_bdt(rCore_fw_tight) if do_eFex_BDT_Tau else eFEXfwToFloatConversion(rCore_fw_tight, self.bitshift_rCore)), ("rCore_fw", rCore_fw_tight),
404  ("rHad", eFEXfwToFloatConversion(self.rHad_fw_tight, self.bitshift_rHad)), ("rHad_fw", self.rHad_fw_tight),
405  ]),
406  ]
407  confObj["ptMinToTopo"] = 1 if do_HI_tob_thresholds else 5 # PLACEHOLDER
408  confObj["resolutionMeV"] = 100
409  confObj["minIsoEt"] = 13.0 # Minimum Et for the BDT cut, in units of GeV (internally with 16-bit resolution, in units of 100 MeV)
410  confObj["maxEt"] = 50 # Maximum Et for the RCore/BDT/RHad cuts, in units of GeV
411  confObj["algoVersion"] = int(do_eFex_BDT_Tau)
412 
413  # Check that FW values are integers
414  for wp in confObj["workingPoints"]:
415  for ssthr in confObj["workingPoints"][wp]:
416  for ssthr_i in ssthr:
417  if "_fw" in ssthr_i:
418  if not isinstance(ssthr[ssthr_i], int):
419  raise RuntimeError("Threshold %s in eTAU configuration is not an integer!", ssthr_i )
420  elif ssthr[ssthr_i] < 0:
421  raise RuntimeError("Threshold %s in eTAU configuration is negative!", ssthr_i )
422 
423  # Check that T >= M >= L [ATR-27796]
424  for var in ["rCore_fw","rHad_fw"]:
425  validate_ordering(var,"Loose","Medium",confObj["workingPoints"])
426  validate_ordering(var,"Medium","Tight",confObj["workingPoints"])
427 
428  return confObj
429 

Member Data Documentation

◆ BDT_fw_loose

python.L1.Config.TypeWideThresholdConfig.L1Config_eTAU.BDT_fw_loose
static

Definition at line 367 of file TypeWideThresholdConfig.py.

◆ BDT_fw_medium

python.L1.Config.TypeWideThresholdConfig.L1Config_eTAU.BDT_fw_medium
static

Definition at line 368 of file TypeWideThresholdConfig.py.

◆ BDT_fw_tight

python.L1.Config.TypeWideThresholdConfig.L1Config_eTAU.BDT_fw_tight
static

Definition at line 369 of file TypeWideThresholdConfig.py.

◆ bitshift_rCore

python.L1.Config.TypeWideThresholdConfig.L1Config_eTAU.bitshift_rCore
static

Definition at line 380 of file TypeWideThresholdConfig.py.

◆ bitshift_rHad

python.L1.Config.TypeWideThresholdConfig.L1Config_eTAU.bitshift_rHad
static

Definition at line 381 of file TypeWideThresholdConfig.py.

◆ rCore_fw_loose

python.L1.Config.TypeWideThresholdConfig.L1Config_eTAU.rCore_fw_loose
static

Definition at line 360 of file TypeWideThresholdConfig.py.

◆ rCore_fw_medium

python.L1.Config.TypeWideThresholdConfig.L1Config_eTAU.rCore_fw_medium
static

Definition at line 361 of file TypeWideThresholdConfig.py.

◆ rCore_fw_tight

python.L1.Config.TypeWideThresholdConfig.L1Config_eTAU.rCore_fw_tight
static

Definition at line 362 of file TypeWideThresholdConfig.py.

◆ rHad_fw_loose

python.L1.Config.TypeWideThresholdConfig.L1Config_eTAU.rHad_fw_loose
static

Definition at line 375 of file TypeWideThresholdConfig.py.

◆ rHad_fw_medium

python.L1.Config.TypeWideThresholdConfig.L1Config_eTAU.rHad_fw_medium
static

Definition at line 376 of file TypeWideThresholdConfig.py.

◆ rHad_fw_tight

python.L1.Config.TypeWideThresholdConfig.L1Config_eTAU.rHad_fw_tight
static

Definition at line 377 of file TypeWideThresholdConfig.py.


The documentation for this class was generated from the following file:
python.L1.Config.TypeWideThresholdConfig.eFEXfwToFloatConversion
def eFEXfwToFloatConversion(fw, bitshift)
Definition: TypeWideThresholdConfig.py:77
python.L1.Config.TypeWideThresholdConfig.eTAUfwToFloatConversion_bdt
def eTAUfwToFloatConversion_bdt(fw)
Definition: TypeWideThresholdConfig.py:85
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
python.L1.Config.TypeWideThresholdConfig.validate_ordering
def validate_ordering(var, wpl, wpg, conf)
Definition: TypeWideThresholdConfig.py:64