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

Public Member Functions

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

Public Attributes

 containerName

Detailed Description

the ConfigBlock for the Jvt working point efficiency

Definition at line 995 of file JetAnalysisConfig.py.

Constructor & Destructor Documentation

◆ __init__()

python.JetAnalysisConfig.JvtWorkingPointEfficiencyConfig.__init__ ( self)

Definition at line 998 of file JetAnalysisConfig.py.

998 def __init__ (self) :
999 super (JvtWorkingPointEfficiencyConfig, self).__init__ ()
1000 self.setBlockName('JvtWorkingPointEfficiencyConfig')
1001 self.addDependency('EventSelection', required=False)
1002 self.addDependency('EventSelectionMerger', required=False)
1003 self.addOption ('containerName', '', type=str,
1004 noneAction='error',
1005 info="the name of the input container.")
1006 self.addOption ('selectionName', '', type=str,
1007 noneAction='error',
1008 info="the name of the jet selection to define (e.g. `tight` or `loose`).")
1009 self.addOption ('jvtWP', '', type=str,
1010 noneAction='error',
1011 info="the NNJvt WP to use. Supported WPs: `FixedEffPt`.")
1012 self.addOption ('useSuffix', True, type=bool,
1013 info="whether the working point name is to be used as suffix ."
1014 "Not to be disabled if multiple working points are scheduled.")
1015 self.addOption ('noEffSF', False, type=bool,
1016 info="disables the calculation of efficiencies and scale factors. "
1017 "Only useful to test a new WP for which scale factors are not available.",
1018 expertMode=True)
1019

Member Function Documentation

◆ instanceName()

python.JetAnalysisConfig.JvtWorkingPointEfficiencyConfig.instanceName ( self)

Definition at line 1020 of file JetAnalysisConfig.py.

1020 def instanceName (self) :
1021 return self.containerName + '_' + self.selectionName
1022

◆ makeAlgs()

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

Definition at line 1023 of file JetAnalysisConfig.py.

1023 def makeAlgs (self, config) :
1024
1025 suffix = f"_{self.jvtWP}" if self.useSuffix else ""
1026 decorationName = f"jvt_selection{suffix},as_char"
1027
1028 if not self.noEffSF and config.dataType() is not DataType.Data:
1029 alg = config.createAlgorithm( 'CP::JvtEfficiencyAlg', f'JvtEfficiencyAlg_{self.jvtWP}' )
1030 config.addPrivateTool( 'efficiencyTool', 'CP::NNJvtEfficiencyTool' )
1031 alg.efficiencyTool.JetContainer = config.readName(self.containerName)
1032 alg.efficiencyTool.MaxPtForJvt = 60*GeV
1033 alg.efficiencyTool.WorkingPoint = self.jvtWP
1034 if config.geometry() is LHCPeriod.Run2:
1035 alg.efficiencyTool.SFFile = "JetJvtEfficiency/May2024/NNJvtSFFile_Run2_EMPFlow.root"
1036 else:
1037 alg.efficiencyTool.SFFile = "JetJvtEfficiency/May2024/NNJvtSFFile_Run3_EMPFlow.root"
1038 alg.selection = decorationName
1039 alg.scaleFactorDecoration = f'jvt_effSF{suffix}_%SYS%'
1040 alg.outOfValidity = 2
1041 alg.outOfValidityDeco = f'no_jvt{suffix}'
1042 alg.skipBadEfficiency = False
1043 alg.jets = config.readName (self.containerName)
1044 alg.preselection = config.getPreselection (self.containerName, '')
1045
1046 config.addOutputVar (self.containerName, alg.scaleFactorDecoration, f'jvtEfficiency{suffix}')
1047
1048

Member Data Documentation

◆ containerName

python.JetAnalysisConfig.JvtWorkingPointEfficiencyConfig.containerName

Definition at line 1046 of file JetAnalysisConfig.py.


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