ATLAS Offline Software
Loading...
Searching...
No Matches
ReclusteredJetCalibrationConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
2
3from AnalysisAlgorithmsConfig.ConfigBlock import ConfigBlock
4
6 """ConfigBlock for the jet reclustering calibration algorithm:
7 bootstrap reclustered Large-R jet calibration by manually
8 setting 4-momentum from calibrated constituent small-R jets"""
9
10 def __init__(self):
11 super().__init__()
12 self.addOption ('containerName', '', type=str,
13 info='the name of the output container after calibration.',
14 meta={'role':'container'})
15 self.addOption ('jetCollection', '', type=str,
16 info="the reclustered Large-R jet container to run on.")
17 self.addOption ('jetInput', '', type=str,
18 info='the input calibrated small-R jet collection to use.',
19 meta={'role':'containerRef'})
20
21 def instanceName (self) :
22 """Return the instance name for this block"""
23 return self.containerName
24
25 def makeAlgs(self, config):
26
27 config.setSourceName (self.containerName, self.jetCollection, originalName = self.jetCollection)
28
29 # Set up a shallow copy to decorate
30 if config.wantCopy (self.containerName) :
31 alg = config.createAlgorithm( 'CP::AsgShallowCopyAlg', 'ReclusteredJetShallowCopyAlg')
32 alg.input = config.readName (self.containerName)
33 alg.output = config.copyName (self.containerName)
34
35 alg = config.createAlgorithm('CP::ReclusteredJetCalibrationAlg', 'ReclusteredJetCalibrationAlg')
36
37 alg.reclusteredJets = config.readName(self.containerName)
38 alg.reclusteredJetsOut = config.copyName(self.containerName)
39 alg.smallRJets = config.readName(self.jetInput)
40
41 config.addOutputVar(self.containerName, 'pt', 'pt')
42 config.addOutputVar(self.containerName, 'eta', 'eta')
43 config.addOutputVar(self.containerName, 'phi', 'phi')
44 config.addOutputVar(self.containerName, 'm', 'm')
45