ATLAS Offline Software
Public Member Functions | Public Attributes | List of all members
python.JetAnalysisConfig.LargeRJetAnalysisConfig Class Reference
Inheritance diagram for python.JetAnalysisConfig.LargeRJetAnalysisConfig:
Collaboration diagram for python.JetAnalysisConfig.LargeRJetAnalysisConfig:

Public Member Functions

def __init__ (self, containerName='', jetCollection='', jetInput='')
 
def makeAlgs (self, config)
 

Public Attributes

 jetCollection
 
 jetInput
 

Detailed Description

the ConfigBlock for the large-r jet sequence

Definition at line 497 of file JetAnalysisConfig.py.

Constructor & Destructor Documentation

◆ __init__()

def python.JetAnalysisConfig.LargeRJetAnalysisConfig.__init__ (   self,
  containerName = '',
  jetCollection = '',
  jetInput = '' 
)

Definition at line 500 of file JetAnalysisConfig.py.

500  def __init__ (self, containerName='', jetCollection='', jetInput='') :
501  super (LargeRJetAnalysisConfig, self).__init__ ()
502  self.addOption ('containerName', containerName, type=str,
503  noneAction='error',
504  info="the name of the output container after calibration.")
505  self.addOption ('jetCollection', jetCollection, type=str,
506  noneAction='error',
507  info="the jet container to run on. It is interpreted to determine "
508  "the correct config blocks to call for small- or large-R jets.")
509  # TODO: add info string
510  self.addOption ('jetInput', jetInput, type=str,
511  noneAction='error',
512  info="")
513  # TODO: add info string
514  self.addOption ('largeRMass', "Comb", type=str,
515  info="")
516  self.addOption ('recalibratePhyslite', True, type=bool,
517  info="whether to run the CP::JetCalibrationAlg on PHYSLITE "
518  "derivations. The default is True.")
519  # TODO: add info string
520  self.addOption ('configFileOverride', None, type=str,
521  info="")
522 
523 

Member Function Documentation

◆ makeAlgs()

def python.JetAnalysisConfig.LargeRJetAnalysisConfig.makeAlgs (   self,
  config 
)

Definition at line 524 of file JetAnalysisConfig.py.

524  def makeAlgs (self, config) :
525 
526  log = logging.getLogger('LargeRJetAnalysisConfig')
527 
528  configFile = None
529 
530  jetCollectionName=self.jetCollection
531  if(self.jetCollection=="AnalysisJets") :
532  jetCollectionName="AntiKt4EMPFlowJets"
533  if(self.jetCollection=="AnalysisLargeRJets") :
534  jetCollectionName="AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets"
535 
536  if self.largeRMass not in ["Comb", "Calo", "TA"]:
537  raise ValueError ("Invalid large-R mass defintion {0}!".format(self.largeRMass) )
538 
539  if self.jetInput not in ["LCTopo", "TrackCaloCluster", "UFO"]:
540  raise ValueError (
541  "Unsupported input type '{0}' for large-R jets!".format(self.jetInput) )
542 
543  if self.jetInput == "TrackCaloCluster":
544  # Only one mass defintion supported
545  if self.largeRMass != "Calo":
546  raise ValueError(
547  "Unsupported large-R TCC jet mass '{0}'!".format(self.largeRMass) )
548  configFile = "JES_MC16recommendation_FatJet_TCC_JMS_calo_30Oct2018.config"
549 
550  if self.jetInput == "LCTopo":
551  configFile = _largeLCTopoConfigFile(config, self)
552 
553  if self.jetInput == "UFO":
554  configFile = "JES_MC20PreRecommendation_R10_UFO_CSSK_SoftDrop_JMS_R21Insitu_10Mar2023.config"
555 
556  if not config.isPhyslite() or self.recalibratePhyslite:
557  # Prepare the jet calibration algorithm
558  alg = config.createAlgorithm( 'CP::JetCalibrationAlg', 'JetCalibrationAlg'+self.containerName )
559  config.addPrivateTool( 'calibrationTool', 'JetCalibrationTool' )
560  alg.calibrationTool.JetCollection = jetCollectionName[:-4]
561  if self.configFileOverride is not None:
562  configFile = self.configFileOverride
563  if configFile is None:
564  raise ValueError(
565  f'Unsupported: {self.jetInput=}, {config.dataType()=}')
566  alg.calibrationTool.ConfigFile = configFile
567  if self.jetInput == "TrackCaloCluster" or self.jetInput == "UFO" or config.dataType() is DataType.FullSim:
568  alg.calibrationTool.CalibSequence = "EtaJES_JMS"
569  elif config.dataType() is DataType.Data:
570  alg.calibrationTool.CalibSequence = "EtaJES_JMS_Insitu_InsituCombinedMass"
571  alg.calibrationTool.IsData = (config.dataType() is DataType.Data)
572  alg.jets = config.readName (self.containerName)
573 
574  # Jet uncertainties
575 
576  if self.jetInput == "UFO":
577  log.warning("Uncertainties for UFO jets are not yet released!")
578 
579  if self.jetInput != "UFO":
580  alg = config.createAlgorithm( 'CP::JetUncertaintiesAlg', 'JetUncertaintiesAlg'+self.containerName )
581  # R=1.0 jets have a validity range
582  alg.outOfValidity = 2 # SILENT
583  alg.outOfValidityDeco = 'outOfValidity'
584  config.addPrivateTool( 'uncertaintiesTool', 'JetUncertaintiesTool' )
585 
586  alg.uncertaintiesTool.JetDefinition = jetCollectionName[:-4]
587  alg.uncertaintiesTool.ConfigFile = \
588  "rel21/Moriond2018/R10_{0}Mass_all.config".format(self.largeRMass)
589  alg.uncertaintiesTool.MCType = "MC16a"
590  alg.uncertaintiesTool.IsData = (config.dataType() is DataType.Data)
591 
592  alg.jets = config.readName (self.containerName)
593  alg.jetsOut = config.copyName (self.containerName)
594  alg.preselection = config.getPreselection (self.containerName, '')
595  config.addSelection (self.containerName, '', 'outOfValidity')
596 
597  config.addOutputVar (self.containerName, 'm', 'm')
598 
599 
600 
601 
602 
603 # These algorithms set up the jet recommendations as-of 04/02/2019.
604 # Jet calibration recommendations
605 # https://twiki.cern.ch/twiki/bin/viewauth/AtlasProtected/ApplyJetCalibrationR21
606 # Jet uncertainties recommendations
607 # Small-R
608 # https://twiki.cern.ch/twiki/bin/view/AtlasProtected/JetUncertaintiesRel21Summer2018SmallR
609 # Large-R
610 # https://twiki.cern.ch/twiki/bin/viewauth/AtlasProtected/JetUncertaintiesRel21Moriond2018LargeR
611 # JVT recommendations
612 # https://twiki.cern.ch/twiki/bin/view/AtlasProtected/JVTCalibrationRel21
613 
614 @groupBlocks

Member Data Documentation

◆ jetCollection

python.JetAnalysisConfig.LargeRJetAnalysisConfig.jetCollection

Definition at line 531 of file JetAnalysisConfig.py.

◆ jetInput

python.JetAnalysisConfig.LargeRJetAnalysisConfig.jetInput

Definition at line 543 of file JetAnalysisConfig.py.


The documentation for this class was generated from the following file:
python.JetAnalysisConfig._largeLCTopoConfigFile
def _largeLCTopoConfigFile(config, self)
Definition: JetAnalysisConfig.py:477
vtune_athena.format
format
Definition: vtune_athena.py:14
python.processes.powheg.ZZ.ZZ.__init__
def __init__(self, base_directory, **kwargs)
Constructor: all process options are set here.
Definition: ZZ.py:18
if
if(febId1==febId2)
Definition: LArRodBlockPhysicsV0.cxx:569