ATLAS Offline Software
Loading...
Searching...
No Matches
python.JetAnalysisConfig.RScanJetAnalysisConfig Class Reference
Inheritance diagram for python.JetAnalysisConfig.RScanJetAnalysisConfig:
Collaboration diagram for python.JetAnalysisConfig.RScanJetAnalysisConfig:

Public Member Functions

 __init__ (self)
 instanceName (self)
 makeAlgs (self, config)

Public Attributes

 recalibratePhyslite

Detailed Description

the ConfigBlock for the r-scan jet sequence

Definition at line 566 of file JetAnalysisConfig.py.

Constructor & Destructor Documentation

◆ __init__()

python.JetAnalysisConfig.RScanJetAnalysisConfig.__init__ ( self)

Definition at line 569 of file JetAnalysisConfig.py.

569 def __init__ (self) :
570 super().__init__()
571 self.addOption ('containerName', '', type=str,
572 noneAction='error',
573 info="the name of the output container after calibration.",
574 meta={'role':'container'})
575 self.addOption ('jetCollection', '', type=str,
576 noneAction='error',
577 info="the jet container to run on. It is interpreted to determine "
578 "the correct config blocks to call for small- or large-R jets.")
579 self.addOption ('recalibratePhyslite', True, type=bool,
580 info="whether to run the CP::JetCalibrationAlg on PHYSLITE "
581 "derivations. The default is True.")
582

Member Function Documentation

◆ instanceName()

python.JetAnalysisConfig.RScanJetAnalysisConfig.instanceName ( self)
Return the instance name for this block

Definition at line 583 of file JetAnalysisConfig.py.

583 def instanceName (self) :
584 """Return the instance name for this block"""
585 return self.containerName
586

◆ makeAlgs()

python.JetAnalysisConfig.RScanJetAnalysisConfig.makeAlgs ( self,
config )

Definition at line 587 of file JetAnalysisConfig.py.

587 def makeAlgs (self, config) :
588
589 # Self-select: only run for r-scan jets (radius 2 or 6)
590 radius = config.getContainerMeta(self.containerName, 'jetRadius', failOnMiss=True)
591 if radius not in [2, 6]:
592 return
593
594 jetCollectionName = config.getContainerMeta(self.containerName, 'jetCollectionName', failOnMiss=True)
595
596 jetInput = config.getContainerMeta(self.containerName, 'jetInput', failOnMiss=True)
597
598 if not config.isPhyslite() or self.recalibratePhyslite:
599 if jetInput not in ["LCTopo", "HI"]:
600 raise ValueError(
601 f"Unsupported input type '{jetInput}' for R-scan jets!" )
602 # Create calibration tool before algorithm (EventLoop ordering)
603 calibToolName = 'JetCalibTool_' + jetCollectionName[:-4]
604 calibTool = config.createPublicTool( 'JetCalibrationTool', calibToolName )
605 calibTool.JetCollection = jetCollectionName[:-4]
606 if jetInput=="LCTopo":
607 calibTool.ConfigFile = \
608 f"JES_MC16Recommendation_Rscan{radius}LC_Feb2022_R21.config"
609 if config.dataType() is DataType.Data:
610 calibTool.CalibSequence = "JetArea_Residual_EtaJES_GSC_Insitu"
611 else:
612 calibTool.CalibSequence = "JetArea_Residual_EtaJES_GSC_Smear"
613 elif jetInput=="HI":
614 calibTool.ConfigFile = \
615 "JES_MC16_HI_Jan2021_5TeV.config"
616 if config.dataType() is DataType.Data:
617 calibTool.CalibSequence = "EtaJES_Insitu"
618 else:
619 calibTool.CalibSequence = "EtaJES"
620 calibTool.IsData = (config.dataType() is DataType.Data)
621 # Prepare the jet calibration algorithm
622 alg = config.createAlgorithm( 'CP::JetCalibrationAlg', 'JetCalibrationAlg' )
623 alg.HIsetup = jetInput == "HI"
624 alg.calibrationTool = f'{calibTool.getType()}/{calibTool.getName()}'
625 alg.jets = config.readName (self.containerName)
626 warnings.warn_explicit(
627 "Uncertainties for R-Scan jets are not yet released!",
628 JetUncertaintyWarning, filename='', lineno=0)
629
630

Member Data Documentation

◆ recalibratePhyslite

python.JetAnalysisConfig.RScanJetAnalysisConfig.recalibratePhyslite

Definition at line 598 of file JetAnalysisConfig.py.


The documentation for this class was generated from the following file: