ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigHypothesis
TrigDitauHypo
python
TrigDiTauHypoTool.py
Go to the documentation of this file.
1
# Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
2
import
re
3
from
AthenaCommon.SystemOfUnits
import
GeV
4
5
from
AthenaCommon.Logging
import
logging
6
log = logging.getLogger(
'TrigHLTDiTauHypoTool'
)
7
8
9
def
TrigDiTauHypoToolFromDict
(flags, chainDict):
10
name = chainDict[
'chainName'
]
11
chainPart = chainDict[
'chainParts'
][0]
12
cut_pt = float(chainPart[
'threshold'
]) * GeV
13
ditau_tag_str = chainPart[
'ditauTag'
]
14
pattern =
r"ditauOmni([0-9]+)Trk([0-9])"
15
match = re.match(pattern, ditau_tag_str)
16
if
match
is
None
:
17
log.error(f
"Invalid ditau tag: {ditau_tag_str}"
)
18
raise
ValueError(f
"Invalid ditau tag: {ditau_tag_str}"
)
19
id_cut = float(f
'0.{match.group(1)}'
)
20
n_trk = int(match.group(2))
21
if
n_trk < 3:
22
log.error(f
"Invalid ditau tag: {ditau_tag_str}"
)
23
log.error(
"it doesn't make sense to require less than 3 tracks in a ditau subjet"
)
24
raise
ValueError(f
"Invalid ditau tag: {ditau_tag_str}"
)
25
26
from
AthenaConfiguration.ComponentFactory
import
CompFactory
27
currentHypo = CompFactory.TrigDiTauHypoTool(
28
name,
29
ditau_pt_threshold=cut_pt,
30
ditau_id_score=id_cut,
31
ditau_lead_max_trk=n_trk,
32
ditau_subl_max_trk=n_trk,
33
)
34
35
return
currentHypo
TrigDiTauHypoTool.TrigDiTauHypoToolFromDict
TrigDiTauHypoToolFromDict(flags, chainDict)
Definition
TrigDiTauHypoTool.py:9
Generated on
for ATLAS Offline Software by
1.17.0