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 1002 of file JetAnalysisConfig.py.

Constructor & Destructor Documentation

◆ __init__()

python.JetAnalysisConfig.JvtWorkingPointEfficiencyConfig.__init__ ( self)

Definition at line 1005 of file JetAnalysisConfig.py.

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

Member Function Documentation

◆ instanceName()

python.JetAnalysisConfig.JvtWorkingPointEfficiencyConfig.instanceName ( self)

Definition at line 1027 of file JetAnalysisConfig.py.

1027 def instanceName (self) :
1028 return self.containerName + '_' + self.selectionName
1029

◆ makeAlgs()

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

Definition at line 1030 of file JetAnalysisConfig.py.

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

Member Data Documentation

◆ containerName

python.JetAnalysisConfig.JvtWorkingPointEfficiencyConfig.containerName

Definition at line 1053 of file JetAnalysisConfig.py.


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