ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
TileCalorimeter
TileConditions
python
TileDSPThresholdConfig.py
Go to the documentation of this file.
1
# Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
2
3
"""Define methods to construct configured Tile DSP threshold conditions tool and algorithm"""
4
5
from
AthenaConfiguration.ComponentAccumulator
import
ComponentAccumulator
6
from
AthenaConfiguration.ComponentFactory
import
CompFactory
7
8
9
def
TileDSP_ThresholdCondAlgCfg
(flags, **kwargs):
10
"""Return component accumulator with configured Tile DSP threshold conditions algorithm
11
12
Arguments:
13
flags -- Athena configuration flags
14
Keyword arguments:
15
Source -- source of Tile auto correlation conditions (COOL, FILE). Defaults to COOL.
16
TileDSP_Threshold -- name of Tile auto correlation conditions object. Defaults to TileDSP_Threshold.
17
"""
18
19
acc = ComponentAccumulator()
20
21
source = kwargs.get(
'Source'
,
'COOL'
)
22
dspThreshold = kwargs.get(
'TileDSP_Threshold'
,
'TileDSP_Threshold'
)
23
24
name = dspThreshold +
'CondAlg'
25
26
if
source ==
'COOL'
:
27
# Connect COOL Tile conditions proxies to the algorithm (default)
28
29
from
TileConditions.TileFolders
import
TileFolders
30
folders = TileFolders(isMC = flags.Input.isMC, isOnline = flags.Common.isOnline)
31
32
if
flags.IOVDb.DatabaseInstance ==
'CONDBR2'
:
33
dspThresholdFolder = folders.addSplitOnline(
'/TILE/ONL01/DSP/THRESHOLD'
,
'/TILE/OFL02/DSP/THRESHOLD'
)
34
else
:
35
raise(Exception(
"No Tile DSP threshold folder in %s"
% flags.IOVDb.DatabaseInstancea))
36
37
TileCondProxyCoolFlt=CompFactory.getComp(
"TileCondProxyCool<TileCalibDrawerFlt>"
)
38
dspThresholdProxy =
TileCondProxyCoolFlt
(
'TileCondProxyCool_DspThreshold'
, Source = dspThresholdFolder)
39
40
from
IOVDbSvc.IOVDbSvcConfig
import
addFolderList
41
acc.merge( addFolderList(flags, folders.get()) )
42
43
elif
source ==
'FILE'
:
44
# Connect FILE Tile conditions proxies to the algorithm
45
TileCondProxyFileFlt=CompFactory.getComp(
"TileCondProxyFile<TileCalibDrawerFlt>"
)
46
dspThresholdProxy =
TileCondProxyFileFlt
(
'TileCondProxyFile_DspThreshold'
, Source =
'TileDefault.dspThreshold'
)
47
else
:
48
raise(Exception(
"Invalid source: %s"
% source))
49
50
TileCalibFltCondAlg=CompFactory.getComp(
"TileCalibCondAlg<TileCalibDrawerFlt>"
)
51
dspThresholdCondAlg =
TileCalibFltCondAlg
( name = name,
52
ConditionsProxy = dspThresholdProxy,
53
TileCalibData = dspThreshold)
54
55
acc.addCondAlgo(dspThresholdCondAlg)
56
57
return
acc
58
59
60
def
TileCondToolDspThresholdCfg
(flags, **kwargs):
61
"""Return component accumulator with configured private Tile DSP threshold tool
62
Arguments:
63
flags -- Athena configuration flags
64
Keyword arguments:
65
Source -- source of Tile DSP threshold conditions (COOL, FILE). Defaults to COOL.
66
TileDSP_Threshold -- name of Tile DSP threshold conditions object. Defaults to TileDSP_Threshold.
67
"""
68
69
acc = ComponentAccumulator()
70
71
kwargs.setdefault(
'Source'
,
'COOL'
)
72
kwargs.setdefault(
'TileDSP_Threshold'
,
'TileDSP_Threshold'
)
73
74
dspThreshold = kwargs[
'TileDSP_Threshold'
]
75
76
acc.merge(
TileDSP_ThresholdCondAlgCfg
(flags, **kwargs) )
77
78
TileCondToolDspThreshold=CompFactory.TileCondToolDspThreshold
79
acc.setPrivateTools(
TileCondToolDspThreshold
(TileDSP_Threshold = dspThreshold) )
80
81
return
acc
82
83
84
if
__name__ ==
"__main__"
:
85
86
from
AthenaConfiguration.AllConfigFlags
import
initConfigFlags
87
from
AthenaConfiguration.TestDefaults
import
defaultTestFiles
88
from
AthenaCommon.Logging
import
log
89
from
AthenaCommon.Constants
import
DEBUG
90
91
# Test setup
92
log.setLevel(DEBUG)
93
94
flags = initConfigFlags()
95
flags.Input.Files = defaultTestFiles.RAW_RUN2
96
flags.lock()
97
98
acc = ComponentAccumulator()
99
100
autoCorrelationTool = acc.popToolsAndMerge(
TileCondToolDspThresholdCfg
(flags) )
101
print
(autoCorrelationTool)
102
103
acc.printConfig(withDetails =
True
, summariseProps =
True
)
104
print
(acc.getService(
'IOVDbSvc'
))
105
acc.store( open(
'TileDSP_Threshold.pkl'
,
'wb'
) )
106
107
print
(
'All OK'
)
108
print
void print(char *figname, TCanvas *c1)
Definition
TRTCalib_StrawStatusPlots.cxx:26
TileCalibCondAlg< TileCalibDrawerFlt >
TileCondProxyCool< TileCalibDrawerFlt >
TileCondProxyFile< TileCalibDrawerFlt >
TileCondToolDspThreshold
Definition
TileCondToolDspThreshold.h:17
Constants
python.TileDSPThresholdConfig.TileDSP_ThresholdCondAlgCfg
TileDSP_ThresholdCondAlgCfg(flags, **kwargs)
Definition
TileDSPThresholdConfig.py:9
python.TileDSPThresholdConfig.TileCondToolDspThresholdCfg
TileCondToolDspThresholdCfg(flags, **kwargs)
Definition
TileDSPThresholdConfig.py:60
Generated on
for ATLAS Offline Software by
1.17.0