ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigHypothesis
TrigLongLivedParticlesHypo
python
TrigdEdxTrackHypoConfig.py
Go to the documentation of this file.
1
# Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
2
3
from
AthenaCommon.Logging
import
logging
4
from
AthenaMonitoringKernel.GenericMonitoringTool
import
GenericMonitoringTool
5
6
from
AthenaConfiguration.ComponentFactory
import
CompFactory
7
from
AthenaConfiguration.ComponentAccumulator
import
ComponentAccumulator
8
from
AthenaConfiguration.AthConfigFlags
import
AthConfigFlags
9
10
def
TrigdEdxTrackHypoAlgCfg
(flags : AthConfigFlags, name : str) -> ComponentAccumulator:
11
12
acc = ComponentAccumulator()
13
14
# Setup the hypothesis algorithm
15
thedEdxTrackHypo = CompFactory.TrigdEdxTrackHypoAlg(name)
16
17
from
TrigEDMConfig.TriggerEDM
import
recordable
18
thedEdxTrackHypo.HPtdEdxTrk = recordable(
"HLT_HPtdEdxTrk"
)
19
20
# monitoring
21
monTool =
GenericMonitoringTool
(flags,
"IM_MonTool"
+name)
22
monTool.defineHistogram(
'trackPtGeV'
, type=
'TH1F'
, path=
'EXPERT'
, title=
"Hypo p_{T}^{track};p_{T}^{track} [GeV];Nevents"
, xbins=50, xmin=0, xmax=100)
23
monTool.defineHistogram(
'trackEta'
, type=
'TH1F'
, path=
'EXPERT'
, title=
"Hypo p_{T}^{track} (after p_{T} cut);eta;Nevents"
, xbins=60, xmin=-3.0, xmax=3.0)
24
monTool.defineHistogram(
'tracka0beam'
,type=
'TH1F'
, path=
'EXPERT'
, title=
"Hypo a0beam (after eta cut);a0beam [mm];Nevents"
, xbins=50, xmin=-5.0, xmax=5.0)
25
monTool.defineHistogram(
'trackdEdx'
, type=
'TH1F'
, path=
'EXPERT'
, title=
"Hypo dE/dx (after a0beam cut);dE/dx;Nevents"
, xbins=50, xmin=0, xmax=10)
26
monTool.defineHistogram(
'trackNhighdEdxHits'
, type=
'TH1F'
, path=
'EXPERT'
, title=
"Hypo Nr high dE/dx hits (after dEdx cut);N high dE/dx hits;Nevents"
, xbins=10, xmin=0, xmax=10)
27
28
monTool.HistPath =
'dEdxTrackHypoAlg'
29
thedEdxTrackHypo.MonTool = monTool
30
31
acc.addEventAlgo(thedEdxTrackHypo)
32
return
acc
33
34
35
def
TrigdEdxTrackHypoToolFromDict
( flags, chainDict ):
36
37
log = logging.getLogger(
'TrigdEdxTrackHypoTool'
)
38
39
""" Use menu decoded chain dictionary to configure the tool """
40
cparts = [i
for
i
in
chainDict[
'chainParts'
]
if
i[
'signature'
]==
'UnconventionalTracking'
]
41
thresholds = sum([ [cpart[
'threshold'
]]*int(cpart[
'multiplicity'
])
for
cpart
in
cparts], [])
42
43
name = chainDict[
'chainName'
]
44
from
AthenaConfiguration.ComponentFactory
import
CompFactory
45
tool = CompFactory.TrigdEdxTrackHypoTool(name)
46
47
# set thresholds
48
49
strThr =
""
50
51
thresholds = [ float(THR)
for
THR
in
thresholds]
52
53
for
THR
in
thresholds:
54
strThr += str(THR)+
", "
55
56
log.debug(
"Threshold Values are: %s"
,strThr)
57
58
tool.cutTrackPtGeV = thresholds
59
60
trackEta=[]
61
trackdEdx=[]
62
tracka0beam=[]
63
trackNhighdEdxHits=[]
64
trackHighdEdxDef=[]
65
66
for
cpart
in
cparts:
67
if
cpart[
'IDinfo'
] ==
"loose"
:
68
log.debug(
"UTT: Loose ID working point is set"
)
69
trackEta.append(2.5)
70
trackdEdx.append(1.5)
71
tracka0beam.append(5.0)
72
trackNhighdEdxHits.append(1)
73
trackHighdEdxDef.append(
"1p50"
)
74
elif
cpart[
'IDinfo'
] ==
"tight"
:
75
log.debug(
"UTT: Tight ID working point is set"
)
76
trackEta.append(2.5)
77
trackdEdx.append(1.8)
78
tracka0beam.append(1.5)
79
trackNhighdEdxHits.append(2)
80
trackHighdEdxDef.append(
"1p80"
)
81
else
:
82
log.debug(
"UTT: Medium ID working point is set"
)
83
trackEta.append(2.5)
84
trackdEdx.append(1.7)
85
tracka0beam.append(2.5)
86
trackNhighdEdxHits.append(2)
87
trackHighdEdxDef.append(
"1p70"
)
88
89
tool.cutTrackEta = trackEta
90
tool.cutTrackdEdx = trackdEdx
91
tool.cutTracka0beam = tracka0beam
92
tool.cutTrackNhighdEdxHits = trackNhighdEdxHits
93
tool.cutTrackHighdEdxDef = trackHighdEdxDef
94
95
return
tool
GenericMonitoringTool
Definition
GenericMonitoringTool.h:51
python.TrigdEdxTrackHypoConfig.TrigdEdxTrackHypoAlgCfg
ComponentAccumulator TrigdEdxTrackHypoAlgCfg(AthConfigFlags flags, str name)
Definition
TrigdEdxTrackHypoConfig.py:10
python.TrigdEdxTrackHypoConfig.TrigdEdxTrackHypoToolFromDict
TrigdEdxTrackHypoToolFromDict(flags, chainDict)
Definition
TrigdEdxTrackHypoConfig.py:35
Generated on
for ATLAS Offline Software by
1.17.0