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-2026 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().
__init__
()
17
self.addOption (
'containerName'
,
None
, type=str,
18
noneAction=
'error'
,
19
info=
'name of the output reclustered jets container.'
,
20
meta={
'role'
:
'container'
})
21
self.addOption (
'jets'
,
None
, type=str,
22
noneAction=
'error'
,
23
info=
'the input jet collection to recluster, with a possible selection, in the format `container` or `container.selection`.'
,
24
meta={
'role'
:
'containerRef'
})
25
self.addOption (
'clusteringAlgorithm'
,
'AntiKt'
, type=str,
26
info=
'algorithm to use to recluster the jets: `AntiKt`, `Kt`, `CamKt`.'
,
27
meta={
'choices'
:([
'AntiKt'
,
'Kt'
,
'CamKt'
],1)})
28
self.addOption (
'reclusteredJetsRadius'
, 1.0, type=float,
29
info=
'radius parameter of the reclustering algorithm.'
)
30
self.addOption (
'minPt'
, 200*GeV, type=float,
31
info=
r'minimum $p_\mathrm{T}$ requirement (in MeV) on the reclustered jets, creating the selection `passed_sel`.'
)
32
self.addOption (
'maxEta'
, 0., type=float,
33
info=
r'maximum $\vert\eta\vert$ requirement on the reclustered jets, creating the selection `passed_sel`.'
)
34
self.addOption (
'maxRapidity'
, 2.5, type=float,
35
info=
'maximum rapidity requirement on the reclustered jets, creating the selection `passed_sel`.'
)
36
def
instanceName
(self) :
37
"""Return the instance name for this block"""
38
return
self.
containerName
39
40
def
makeAlgs
(self, config):
41
42
alg = config.createAlgorithm(
'CP::JetReclusteringAlg'
,
'JetReclusteringAlg'
)
43
44
alg.jets, alg.jetSelection = config.readNameAndSelection(self.jets)
45
alg.reclusteredJets = config.writeName(self.
containerName
)
46
alg.smallRjetIndices =
'smallRjetIndices_%SYS%'
47
alg.rcJetEnergy =
'e_%SYS%'
48
alg.clusteringAlgorithm = self.clusteringAlgorithm
49
alg.reclusteredJetsRadius = self.reclusteredJetsRadius
50
51
# prepare selection algorithm
52
if
self.minPt > 0
or
self.maxEta > 0
or
self.maxRapidity > 0 :
53
selAlg = config.createAlgorithm(
'CP::AsgSelectionAlg'
,
'RCJetsMinPtAlg'
)
54
selAlg.selectionDecoration =
'passed_sel,as_bits'
55
config.addPrivateTool(
'selectionTool'
,
'CP::AsgPtEtaSelectionTool'
)
56
selAlg.selectionTool.minPt = self.minPt
57
selAlg.selectionTool.maxEta = self.maxEta
58
selAlg.selectionTool.maxRapidity = self.maxRapidity
59
selAlg.particles = config.readName(self.
containerName
)
60
selAlg.preselection = config.getPreselection(self.
containerName
,
''
)
61
config.addSelection(self.
containerName
,
'passed_sel'
, selAlg.selectionDecoration)
62
63
config.addOutputVar(self.
containerName
,
'pt'
,
'pt'
, auxType=
"float"
)
64
config.addOutputVar(self.
containerName
,
'eta'
,
'eta'
, auxType=
"float"
)
65
config.addOutputVar(self.
containerName
,
'phi'
,
'phi'
, auxType=
"float"
)
66
config.addOutputVar(self.
containerName
,
'm'
,
'm'
, auxType=
"float"
)
67
config.addOutputVar(self.
containerName
, alg.rcJetEnergy,
'e'
, auxType=
"float"
)
68
config.addOutputVar(self.
containerName
, alg.smallRjetIndices,
'small_r_jet_indices'
, auxType=
"vector_int"
)
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:36
python.JetReclusteringConfig.JetReclusteringBlock.makeAlgs
makeAlgs(self, config)
Definition
JetReclusteringConfig.py:40
python.JetReclusteringConfig.JetReclusteringBlock.containerName
containerName
Definition
JetReclusteringConfig.py:61
Generated on
for ATLAS Offline Software by
1.17.0