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
 eventSF

Detailed Description

the ConfigBlock for the Jvt working point efficiency

Definition at line 700 of file JetAnalysisConfig.py.

Constructor & Destructor Documentation

◆ __init__()

python.JetAnalysisConfig.JvtWorkingPointEfficiencyConfig.__init__ ( self)

Definition at line 703 of file JetAnalysisConfig.py.

703 def __init__ (self) :
704 super (JvtWorkingPointEfficiencyConfig, self).__init__ ()
705 self.setBlockName('JvtWorkingPointEfficiencyConfig')
706 self.addDependency('OverlapRemoval', required=False)
707 self.addDependency('EventSelection', required=False)
708 self.addDependency('EventSelectionMerger', required=False)
709 self.addOption ('containerName', '', type=str,
710 noneAction='error',
711 info="the name of the input container.")
712 self.addOption ('selectionName', '', type=str,
713 noneAction='error',
714 info="the name of the jet selection to define (e.g. `tight` or `loose`).")
715 self.addOption ('jvtWP', '', type=str,
716 noneAction='error',
717 info="the NNJvt WP to use. Supported WPs: `FixedEffPt`.")
718 self.addOption ('noEffSF', False, type=bool,
719 info="disables the calculation of efficiencies and scale factors. "
720 "Only useful to test a new WP for which scale factors are not available.",
721 expertMode=True)
722 self.addOption ('eventSF', True, type=bool,
723 info="add calculation of event-level efficiency SF.")
724

Member Function Documentation

◆ instanceName()

python.JetAnalysisConfig.JvtWorkingPointEfficiencyConfig.instanceName ( self)

Definition at line 725 of file JetAnalysisConfig.py.

725 def instanceName (self) :
726 return self.containerName + '_' + self.selectionName
727

◆ makeAlgs()

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

Definition at line 728 of file JetAnalysisConfig.py.

728 def makeAlgs (self, config) :
729
730 decorationName = f"jvt_selection_{self.jvtWP},as_char"
731
732 if not self.noEffSF and config.dataType() is not DataType.Data:
733 alg = config.createAlgorithm( 'CP::JvtEfficiencyAlg', f'JvtEfficiencyAlg_{self.jvtWP}' )
734 config.addPrivateTool( 'efficiencyTool', 'CP::NNJvtEfficiencyTool' )
735 alg.efficiencyTool.JetContainer = config.readName(self.containerName)
736 alg.efficiencyTool.MaxPtForJvt = 60*GeV
737 alg.efficiencyTool.WorkingPoint = self.jvtWP
738 if config.geometry() is LHCPeriod.Run2:
739 alg.efficiencyTool.SFFile = "JetJvtEfficiency/May2024/NNJvtSFFile_Run2_EMPFlow.root"
740 else:
741 alg.efficiencyTool.SFFile = "JetJvtEfficiency/May2024/NNJvtSFFile_Run3_EMPFlow.root"
742 alg.selection = decorationName
743 alg.scaleFactorDecoration = f'jvt_effSF_{self.jvtWP}_%SYS%'
744 alg.outOfValidity = 2
745 alg.outOfValidityDeco = f'no_jvt_{self.jvtWP}'
746 alg.skipBadEfficiency = False
747 alg.jets = config.readName (self.containerName)
748 alg.preselection = config.getPreselection (self.containerName, '')
749
750 config.addOutputVar (self.containerName, alg.scaleFactorDecoration, f'jvtEfficiency_{self.jvtWP}')
751
752 # Set up the per-event jet efficiency scale factor calculation algorithm
753 if self.eventSF:
754 alg = config.createAlgorithm( 'CP::AsgEventScaleFactorAlg', f'JvtEventScaleFactorAlg_{self.jvtWP}' )
755 preselection = config.getFullSelection (self.containerName, '')
756 alg.preselection = preselection + f'&&no_jvt_{self.jvtWP}' if preselection else f'no_jvt_{self.jvtWP}'
757 alg.scaleFactorInputDecoration = f'jvt_effSF_{self.jvtWP}_%SYS%'
758 alg.scaleFactorOutputDecoration = f'jvt_effSF_{self.jvtWP}_%SYS%'
759 alg.particles = config.readName (self.containerName)
760
761 config.addOutputVar('EventInfo', alg.scaleFactorOutputDecoration, f'weight_jvt_effSF_{self.jvtWP}')
762
763

Member Data Documentation

◆ containerName

python.JetAnalysisConfig.JvtWorkingPointEfficiencyConfig.containerName

Definition at line 750 of file JetAnalysisConfig.py.

◆ eventSF

python.JetAnalysisConfig.JvtWorkingPointEfficiencyConfig.eventSF

Definition at line 753 of file JetAnalysisConfig.py.


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