ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
LArCalorimeter
LArCabling
python
LArCablingConfig.py
Go to the documentation of this file.
1
# Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
2
3
from
AthenaConfiguration.ComponentFactory
import
CompFactory
4
from
AthenaConfiguration.ComponentAccumulator
import
ComponentAccumulator
5
from
IOVDbSvc.IOVDbSvcConfig
import
IOVDbSvcCfg, addFolders
6
LArOnOffMappingAlg, LArFebRodMappingAlg, LArCalibLineMappingAlg,LArLATOMEMappingAlg=CompFactory.getComps(
"LArOnOffMappingAlg"
,
"LArFebRodMappingAlg"
,
"LArCalibLineMappingAlg"
,
"LArLATOMEMappingAlg"
)
7
8
def
_larCablingCfg
(configFlags,algo,folder,algName=None):
9
result=ComponentAccumulator()
10
11
result.merge(IOVDbSvcCfg(configFlags))
12
13
#MC folder-tag hack (See also ATCONDDB-49)
14
tagsperFolder={
"/LAR/Identifier/OnOffIdMap"
:
"LARIdentifierOnOffIdMap-012"
,
15
"/LAR/Identifier/FebRodMap"
:
"LARIdentifierFebRodMap-005"
,
16
"/LAR/Identifier/CalibIdMap"
:
"LARIdentifierCalibIdMap-012"
,
17
}
18
19
if
configFlags.Input.isMC:
20
db=
'LAR_OFL'
21
if
folder
in
tagsperFolder:
22
ft=tagsperFolder[folder]
23
folderwithtag=folder+
"<tag>"
+ft+
"</tag>"
24
else
:
25
folderwithtag=folder
26
else
:
27
db=
'LAR_ONL'
28
folderwithtag=folder
29
30
if
algName
is
None
:
31
result.addCondAlgo(algo(ReadKey=folder),primary=
True
)
32
else
:
33
result.addCondAlgo(algo(name=algName, ReadKey=folder),primary=
True
)
34
result.merge(addFolders(configFlags,folderwithtag,className=
"AthenaAttributeList"
,detDb=db))
35
return
result
36
37
def
_larLatomeCfg
(configFlags,algo,folder,outkey):
38
result=ComponentAccumulator()
39
40
result.merge(IOVDbSvcCfg(configFlags))
41
42
if
configFlags.Input.isMC:
43
result.merge(addFolders(configFlags,folder,tag=
"CONDBR2-BLKPA-2026-01-02"
,detDb=
"LAR_ONL"
,db=
"CONDBR2"
,className=
"CondAttrListCollection"
))
44
else
:
45
result.merge(addFolders(configFlags,folder,className=
"CondAttrListCollection"
,detDb=
'LAR_ONL'
))
46
47
result.addCondAlgo(algo(ReadKey=folder,WriteKey=outkey),primary=
True
)
48
return
result
49
50
def
LArOnOffIdMappingCfg
(configFlags):
51
return
_larCablingCfg
(configFlags,LArOnOffMappingAlg,
"/LAR/Identifier/OnOffIdMap"
)
52
53
def
LArOnOffIdMappingSCCfg
(configFlags):
54
result = ComponentAccumulator()
55
# mapping requires the geometry to be loaded
56
from
LArGeoAlgsNV.LArGMConfig
import
LArGMCfg
57
result.merge(LArGMCfg(configFlags))
58
if
configFlags.Input.isMC:
59
result.merge(
_larCablingCfg
(configFlags,LArOnOffMappingAlg,
"/LAR/IdentifierOfl/OnOffIdMap_SC"
,
"LArOnOffMappingAlgSC"
))
60
from
IOVDbSvc.IOVDbSvcConfig
import
addOverride
61
result.merge(addOverride(configFlags,
"/LAR/IdentifierOfl/OnOffIdMap_SC"
,
"LARIdentifierOflOnOffIdMap_SC-000"
))
# FIXME temporary?
62
else
:
63
result.merge(
_larCablingCfg
(configFlags,LArOnOffMappingAlg,
"/LAR/Identifier/OnOffIdMap_SC"
,
"LArOnOffMappingAlgSC"
))
64
result.getCondAlgo(
"LArOnOffMappingAlgSC"
).WriteKey =
"LArOnOffIdMapSC"
65
result.getCondAlgo(
"LArOnOffMappingAlgSC"
).isSuperCell =
True
66
return
result
67
68
def
LArFebRodMappingCfg
(configFlags):
69
return
_larCablingCfg
(configFlags,LArFebRodMappingAlg,
"/LAR/Identifier/FebRodMap"
)
70
71
def
LArCalibIdMappingCfg
(configFlags):
72
return
_larCablingCfg
(configFlags,LArCalibLineMappingAlg,
"/LAR/Identifier/CalibIdMap"
)
73
74
def
LArCalibIdMappingSCCfg
(configFlags):
75
result = ComponentAccumulator()
76
if
not
configFlags.Input.isMC:
77
result.merge(
_larCablingCfg
(configFlags,LArCalibLineMappingAlg,
"/LAR/Identifier/CalibIdMap_SC"
,
"LArCalibLineMappingAlgSC"
))
78
result.getCondAlgo(
"LArCalibLineMappingAlgSC"
).WriteKey=
"LArCalibIdMapSC"
79
result.getCondAlgo(
"LArCalibLineMappingAlgSC"
).isSuperCell=
True
80
result.getCondAlgo(
"LArCalibLineMappingAlgSC"
).MaxCL=16
81
return
result
82
83
def
LArLATOMEMappingCfg
(configFlags):
84
result = ComponentAccumulator()
85
result.merge(
_larLatomeCfg
(configFlags,LArLATOMEMappingAlg,
"/LAR/Identifier/LatomeMapping"
,
"LArLATOMEMap"
))
86
return
result
87
88
def
LArIdMapCfg
(configFlags):
89
"""Return ComponentAccumulator configured with Identifier Map in POOL/COOL"""
90
# replaces LArIdMap_MC_jobOptions.py or LArIdMap_comm_jobOptions.py
91
result =
LArOnOffIdMappingCfg
(configFlags)
92
result.merge(
LArFebRodMappingCfg
(configFlags))
93
result.merge(
LArCalibIdMappingCfg
(configFlags))
94
return
result
95
96
97
if
__name__ ==
"__main__"
:
98
from
AthenaConfiguration.AllConfigFlags
import
initConfigFlags
99
from
AthenaConfiguration.TestDefaults
import
defaultTestFiles
100
101
flags=initConfigFlags()
102
flags.Input.Files = defaultTestFiles.RAW_RUN2
103
flags.lock()
104
105
acc =
LArOnOffIdMappingCfg
( flags )
106
acc.merge(
LArFebRodMappingCfg
(flags))
107
acc.merge(
LArCalibIdMappingCfg
(flags))
108
acc.store( open(
"test.pkl"
,
"wb"
) )
109
print
(
"All OK"
)
LArCablingConfig.LArFebRodMappingCfg
LArFebRodMappingCfg(configFlags)
Definition
LArCablingConfig.py:68
LArCablingConfig._larCablingCfg
_larCablingCfg(configFlags, algo, folder, algName=None)
Definition
LArCablingConfig.py:8
LArCablingConfig.LArIdMapCfg
LArIdMapCfg(configFlags)
Definition
LArCablingConfig.py:88
LArCablingConfig.LArLATOMEMappingCfg
LArLATOMEMappingCfg(configFlags)
Definition
LArCablingConfig.py:83
LArCablingConfig.LArCalibIdMappingCfg
LArCalibIdMappingCfg(configFlags)
Definition
LArCablingConfig.py:71
LArCablingConfig.LArOnOffIdMappingSCCfg
LArOnOffIdMappingSCCfg(configFlags)
Definition
LArCablingConfig.py:53
LArCablingConfig._larLatomeCfg
_larLatomeCfg(configFlags, algo, folder, outkey)
Definition
LArCablingConfig.py:37
LArCablingConfig.LArCalibIdMappingSCCfg
LArCalibIdMappingSCCfg(configFlags)
Definition
LArCablingConfig.py:74
LArCablingConfig.LArOnOffIdMappingCfg
LArOnOffIdMappingCfg(configFlags)
Definition
LArCablingConfig.py:50
Generated on
for ATLAS Offline Software by
1.17.0