ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
Algorithms
JetAnalysisAlgorithms
python
JetReclusteringConfig.py
Go to the documentation of this file.
1
# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2
3
from
AnalysisAlgorithmsConfig.ConfigBlock
import
ConfigBlock
4
from
AthenaCommon.SystemOfUnits
import
GeV
5
6
class
JetReclusteringBlock
(ConfigBlock):
7
"""ConfigBlock for the jet reclustering algorithm:
8
run FastJet with small-R jets as input. The output
9
is a new container containing the reclustered jets.
10
The default output variables are the RC jet kinematics
11
as well as a vector of indices pointing to the
12
small-R jets that formed the RC jets.
13
---- to be updated with substructure variables!"""
14
15
def
__init__
(self):
16
super(JetReclusteringBlock, self).
__init__
()
17
self.addOption (
'containerName'
,
None
, type=str,
18
info=
'name of the output reclustered jets container.'
)
19
self.addOption (
'jets'
,
None
, type=str,
20
info=
'the input jet collection to recluster, with a possible selection, in the format `container` or `container.selection`.'
)
21
self.addOption (
'clusteringAlgorithm'
,
'AntiKt'
, type=str,
22
info=
'algorithm to use to recluster the jets: `AntiKt`, `Kt`, `CamKt`.'
)
23
self.addOption (
'reclusteredJetsRadius'
, 1.0, type=float,
24
info=
'radius parameter of the reclustering algorithm.'
)
25
self.addOption (
'minPt'
, 200*GeV, type=float,
26
info=
r'minimum $p_\mathrm{T}$ requirement (in MeV) on the reclustered jets, creating the selection `passed_sel`.'
)
27
self.addOption (
'maxEta'
, 0., type=float,
28
info=
r'maximum $\vert\eta\vert$ requirement on the reclustered jets, creating the selection `passed_sel`.'
)
29
self.addOption (
'maxRapidity'
, 2.5, type=float,
30
info=
'maximum rapidity requirement on the reclustered jets, creating the selection `passed_sel`.'
)
31
def
instanceName
(self) :
32
"""Return the instance name for this block"""
33
return
self.
containerName
34
35
def
makeAlgs
(self, config):
36
37
alg = config.createAlgorithm(
'CP::JetReclusteringAlg'
,
'JetReclusteringAlg'
)
38
39
alg.jets, alg.jetSelection = config.readNameAndSelection(self.jets)
40
alg.reclusteredJets = config.writeName(self.
containerName
)
41
alg.smallRjetIndices =
'smallRjetIndices_%SYS%'
42
alg.rcJetEnergy =
'e_%SYS%'
43
alg.clusteringAlgorithm = self.clusteringAlgorithm
44
alg.reclusteredJetsRadius = self.reclusteredJetsRadius
45
46
# prepare selection algorithm
47
if
self.minPt > 0
or
self.maxEta > 0
or
self.maxRapidity > 0 :
48
selAlg = config.createAlgorithm(
'CP::AsgSelectionAlg'
,
'RCJetsMinPtAlg'
)
49
selAlg.selectionDecoration =
'passed_sel,as_bits'
50
config.addPrivateTool(
'selectionTool'
,
'CP::AsgPtEtaSelectionTool'
)
51
selAlg.selectionTool.minPt = self.minPt
52
selAlg.selectionTool.maxEta = self.maxEta
53
selAlg.selectionTool.maxRapidity = self.maxRapidity
54
selAlg.particles = config.readName(self.
containerName
)
55
selAlg.preselection = config.getPreselection(self.
containerName
,
''
)
56
config.addSelection(self.
containerName
,
'passed_sel'
, selAlg.selectionDecoration)
57
58
config.addOutputVar(self.
containerName
,
'pt'
,
'pt'
)
59
config.addOutputVar(self.
containerName
,
'eta'
,
'eta'
)
60
config.addOutputVar(self.
containerName
,
'phi'
,
'phi'
)
61
config.addOutputVar(self.
containerName
,
'm'
,
'm'
)
62
config.addOutputVar(self.
containerName
, alg.rcJetEnergy,
'e'
)
63
config.addOutputVar(self.
containerName
, alg.smallRjetIndices,
'small_r_jet_indices'
)
python.JetReclusteringConfig.JetReclusteringBlock
Definition
JetReclusteringConfig.py:6
python.JetReclusteringConfig.JetReclusteringBlock.__init__
__init__(self)
Definition
JetReclusteringConfig.py:15
python.JetReclusteringConfig.JetReclusteringBlock.instanceName
instanceName(self)
Definition
JetReclusteringConfig.py:31
python.JetReclusteringConfig.JetReclusteringBlock.makeAlgs
makeAlgs(self, config)
Definition
JetReclusteringConfig.py:35
python.JetReclusteringConfig.JetReclusteringBlock.containerName
containerName
Definition
JetReclusteringConfig.py:56
Generated on
for ATLAS Offline Software by
1.17.0