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

Public Member Functions

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

Public Attributes

 containerName

Protected Attributes

 _efficiencyTool
 _wpOption

Detailed Description

common base for the Jvt and fJvt working point efficiency blocks

Definition at line 990 of file JetAnalysisConfig.py.

Constructor & Destructor Documentation

◆ __init__()

python.JetAnalysisConfig._JvtWorkingPointEfficiencyBase.__init__ ( self)

Definition at line 993 of file JetAnalysisConfig.py.

993 def __init__ (self) :
994 super().__init__()
995 self.addDependency('EventSelection', required=False)
996 self.addDependency('EventSelectionMerger', required=False)
997 self.addOption ('noEffSF', False, type=bool,
998 info="disables the calculation of efficiencies and scale factors. "
999 "Only useful to test a new WP for which scale factors are not available.",
1000 expertMode=True)
1001

Member Function Documentation

◆ instanceName()

python.JetAnalysisConfig._JvtWorkingPointBase.instanceName ( self)
inherited

Definition at line 958 of file JetAnalysisConfig.py.

958 def instanceName (self) :
959 return self.containerName + '_' + self.selectionName
960

◆ makeAlgs()

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

Definition at line 1002 of file JetAnalysisConfig.py.

1002 def makeAlgs (self, config) :
1003
1004 suffix = self.suffix()
1005 decorationName = f"{self._prefix}_selection{suffix},as_char"
1006
1007 if not self.noEffSF and config.dataType() is not DataType.Data:
1008 alg = config.createAlgorithm( 'CP::JvtEfficiencyAlg', f'{self._algPrefix}EfficiencyAlg_{self.workingPoint()}' )
1009 config.addPrivateTool( 'efficiencyTool', self._efficiencyTool )
1010 alg.efficiencyTool.JetContainer = config.readName(self.containerName)
1011 if self._maxPtForJvt is not None:
1012 alg.efficiencyTool.MaxPtForJvt = self._maxPtForJvt
1013 alg.efficiencyTool.WorkingPoint = self.workingPoint()
1014 if config.geometry() is LHCPeriod.Run2:
1015 alg.efficiencyTool.SFFile = f"JetJvtEfficiency/May2024/{self._sfFileStem}_Run2_EMPFlow.root"
1016 else:
1017 alg.efficiencyTool.SFFile = f"JetJvtEfficiency/May2024/{self._sfFileStem}_Run3_EMPFlow.root"
1018 alg.selection = decorationName
1019 alg.scaleFactorDecoration = f'{self._prefix}_effSF{suffix}_%SYS%'
1020 alg.outOfValidity = 2
1021 alg.outOfValidityDeco = f'no_{self._prefix}{suffix}'
1022 alg.skipBadEfficiency = False
1023 alg.jets = config.readName (self.containerName)
1024 alg.preselection = config.getPreselection (self.containerName, '')
1025
1026 config.addOutputVar (self.containerName, alg.scaleFactorDecoration, f'{self._prefix}Efficiency{suffix}')
1027
1028

◆ suffix()

python.JetAnalysisConfig._JvtWorkingPointBase.suffix ( self)
inherited

Definition at line 964 of file JetAnalysisConfig.py.

964 def suffix (self) :
965 return f"_{self.workingPoint()}" if self.useSuffix else ""
966
967

◆ workingPoint()

python.JetAnalysisConfig._JvtWorkingPointBase.workingPoint ( self)
inherited

Definition at line 961 of file JetAnalysisConfig.py.

961 def workingPoint (self) :
962 return getattr(self, self._wpOption)
963

Member Data Documentation

◆ _efficiencyTool

python.JetAnalysisConfig._JvtWorkingPointEfficiencyBase._efficiencyTool
protected

Definition at line 1009 of file JetAnalysisConfig.py.

◆ _wpOption

python.JetAnalysisConfig._JvtWorkingPointBase._wpOption
protectedinherited

Definition at line 950 of file JetAnalysisConfig.py.

◆ containerName

python.JetAnalysisConfig._JvtWorkingPointEfficiencyBase.containerName

Definition at line 1026 of file JetAnalysisConfig.py.


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