ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonConfig
python
MuonCablingConfig.py
Go to the documentation of this file.
1
# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2
3
from
AthenaConfiguration.ComponentAccumulator
import
ComponentAccumulator
4
from
AthenaConfiguration.ComponentFactory
import
CompFactory
5
6
def
NRPCCablingConfigCfg
(flags, name = "MuonNRPC_CablingAlg", **kwargs):
7
result = ComponentAccumulator()
8
9
10
kwargs.setdefault(
"JSONFile"
,
""
)
11
if
len(kwargs[
"JSONFile"
]) == 0:
12
from
IOVDbSvc.IOVDbSvcConfig
import
addFolders
13
dbName =
'RPC_OFL'
if
flags.Input.isMC
else
'RPC'
14
cablingFolder =
"/RPC/NCABLING/JSON"
if
flags.Input.isMC
else
"/RPC/Onl/NCABLING/JSON"
15
cablingTag =
"RpcNcablingJson-RUN3-09"
16
from
AthenaConfiguration.Enums
import
LHCPeriod
17
if
flags.Muon.usePhaseIIGeoSetup:
18
if
flags.GeoModel.Run <= LHCPeriod.Run3:
19
if
flags.Input.isMC:
20
cablingTag =
"RpcNcablingJson-RUN3-FantasyCabling-5"
21
else
:
22
cablingTag =
"RpcNcablingJson-RUN3-FantasyHybridCabling-1"
23
elif
flags.Input.isMC:
#Run4 MC
24
cablingTag =
"RpcNcablingJson-RUN4-FantasyCabling-8"
25
result.merge(addFolders(flags, [cablingFolder], detDb=dbName, className=
'CondAttrListCollection'
, tag=cablingTag))
26
kwargs.setdefault(
"MapFolders"
, cablingFolder)
27
28
29
NRPCCablingAlg = CompFactory.Muon.NRpcCablingAlg(name, **kwargs)
30
31
result.addCondAlgo( NRPCCablingAlg, primary=
True
)
32
return
result
33
34
35
def
RPCCablingConfigCfg
(flags):
36
acc = ComponentAccumulator()
37
if
not
flags.Detector.GeometryRPC:
return
acc
38
if
flags.Muon.enableNRPC:
39
acc.merge(
NRPCCablingConfigCfg
(flags))
40
acc.merge(
RPCLegacyCablingConfigCfg
(flags))
41
return
acc
42
43
def
RPCLegacyCablingConfigCfg
(flags):
44
acc = ComponentAccumulator()
45
dbName =
'RPC_OFL'
if
flags.Input.isMC
else
'RPC'
46
dbRepo=
"MuonRPC_Cabling/ATLAS.data"
47
rpcCabMap=
"/RPC/CABLING/MAP_SCHEMA"
48
rpcCabMapCorr=
"/RPC/CABLING/MAP_SCHEMA_CORR"
49
rpcTrigEta=
"/RPC/TRIGGER/CM_THR_ETA"
50
rpcTrigPhi=
"/RPC/TRIGGER/CM_THR_PHI"
51
52
from
IOVDbSvc.IOVDbSvcConfig
import
addFolders
53
acc.merge(addFolders(flags, [rpcCabMap,rpcCabMapCorr], dbName, className=
'CondAttrListCollection'
))
54
55
acc.merge(addFolders(flags, [rpcTrigEta,rpcTrigPhi], dbName, className=
'CondAttrListCollection'
))
56
57
RpcCablingCondAlg=CompFactory.RpcCablingCondAlg
58
RpcCablingAlg =
RpcCablingCondAlg
(
"RpcCablingCondAlg"
,DatabaseRepository=dbRepo)
59
acc.addCondAlgo( RpcCablingAlg )
60
61
return
acc
62
63
64
def
TGCCablingConfigCfg
(flags, name="TgcCablingCondAlg", **kwargs):
65
acc = ComponentAccumulator()
66
if
not
flags.Detector.GeometryTGC:
return
acc
67
68
from
AthenaConfiguration.Enums
import
LHCPeriod
69
kwargs.setdefault(
"isRun4"
, flags.GeoModel.Run > LHCPeriod.Run3)
70
kwargs.setdefault(
"databaseASDtoPPdiff"
,
'ASD2PP_diff_12_OFL.db'
if
flags.Input.isMC
else
'ASD2PP_diff_12_ONL.db'
)
71
the_alg = CompFactory.Muon.TgcCablingCondAlg(name, **kwargs)
72
acc.addCondAlgo(the_alg, primary =
True
)
73
return
acc
74
75
# This should be checked by experts since I just wrote it based on
76
# athena/MuonSpectrometer/MuonCnv/MuonCnvExample/python/MuonCablingConfig.py
77
def
MDTCablingConfigCfg
(flags, name = "MuonMDT_CablingAlg", **kwargs):
78
acc = ComponentAccumulator()
79
if
not
flags.Detector.GeometryMDT:
return
acc
80
from
AthenaConfiguration.Enums
import
LHCPeriod
81
82
kwargs.setdefault(
"UseJSONFormat"
, flags.Muon.usePhaseIIGeoSetup
and
\
83
flags.GeoModel.Run >= LHCPeriod.Run4)
84
85
kwargs.setdefault(
"MezzanineJSON"
,
""
)
86
kwargs.setdefault(
"CablingJSON"
,
""
)
87
88
kwargs.setdefault(
"isRun3"
, flags.GeoModel.Run >= LHCPeriod.Run3 )
89
from
IOVDbSvc.IOVDbSvcConfig
import
addFolders
90
if
len(kwargs[
"MezzanineJSON"
]) == 0
and
len(kwargs[
"CablingJSON"
]) == 0:
91
if
flags.Input.isMC
is
True
:
92
dbTagMezz =
None
93
dbTagSchema =
None
94
if
flags.Muon.usePhaseIIGeoSetup
and
\
95
flags.GeoModel.Run >= LHCPeriod.Run4:
96
dbTagMezz =
"MDTMezMapSchemaJSON_RUN4BestKnowledge_v1"
97
dbTagSchema =
"MDTCablingMapSchemaJSON_RUN4BestKnowledge_v1"
98
elif
flags.GeoModel.Run >= LHCPeriod.Run4:
99
dbTagSchema =
"MDTOflCablingMapSchema_RUN124_MC15_02"
100
dbTagMezz =
"MDTOflCablingMezzanineSchema_RUN124_MC15_02"
101
if
kwargs[
"UseJSONFormat"
]:
102
kwargs.setdefault(
"MapFolders"
,
"/MDT/CABLING/MAP_SCHEMA_JSON"
)
103
kwargs.setdefault(
"MezzanineFolders"
,
"/MDT/CABLING/MEZZANINE_SCHEMA_JSON"
)
104
else
:
105
kwargs.setdefault(
"MapFolders"
,
"/MDT/Ofl/CABLING/MAP_SCHEMA"
)
106
kwargs.setdefault(
"MezzanineFolders"
,
"/MDT/Ofl/CABLING/MEZZANINE_SCHEMA"
)
107
acc.merge( addFolders( flags, [kwargs[
"MapFolders"
]],
'MDT_OFL'
,
108
className=
"CondAttrListCollection"
, tag = dbTagSchema))
109
acc.merge( addFolders( flags, [kwargs[
"MezzanineFolders"
]],
'MDT_OFL'
,
110
className=
"CondAttrListCollection"
, tag = dbTagMezz) )
111
else
:
112
if
kwargs[
"UseJSONFormat"
]:
113
kwargs.setdefault(
"MapFolders"
,
"/MDT/CABLING/MAP_SCHEMA_JSON"
)
114
kwargs.setdefault(
"MezzanineFolders"
,
"/MDT/CABLING/MEZZANINE_SCHEMA_JSON"
)
115
else
:
116
kwargs.setdefault(
"MapFolders"
,
"/MDT/CABLING/MAP_SCHEMA"
)
117
kwargs.setdefault(
"MezzanineFolders"
,
"/MDT/CABLING/MEZZANINE_SCHEMA"
)
118
acc.merge( addFolders( flags, [kwargs[
"MapFolders"
], kwargs[
"MezzanineFolders"
]],
'MDT'
,
119
className=
"CondAttrListCollection"
) )
120
121
122
MDTCablingAlg = CompFactory.MuonMDT_CablingAlg(name, **kwargs)
123
acc.addCondAlgo( MDTCablingAlg, primary =
True
)
124
125
return
acc
126
127
def
MdtTwinTubeMapCondAlgCfg
(flags, name="MdtTwinTubeCondAlg", **kwargs):
128
result = ComponentAccumulator()
129
if
not
flags.Detector.GeometryMDT:
return
result
130
kwargs.setdefault(
"JSONFile"
,
""
)
131
if
(
not
kwargs[
"JSONFile"
]):
132
kwargs.setdefault(
"FolderName"
,
"/MDT/TWINMAPPING"
)
133
from
IOVDbSvc.IOVDbSvcConfig
import
addFolders
134
result.merge(addFolders(flags,[kwargs[
"FolderName"
]], (
"MDT_OFL"
if
flags.Input.isMC
else
"MDT"
),className=
"CondAttrListCollection"
, tag=
"MDTTwinMapping_compactFormat_Run123"
))
135
else
:
136
kwargs[
"FolderName"
] =
""
137
138
the_alg = CompFactory.Muon.TwinTubeMappingCondAlg(name, **kwargs)
139
result.addCondAlgo(the_alg, primary =
True
)
140
return
result
141
142
# This should be checked by experts
143
def
CSCCablingConfigCfg
(flags):
144
acc = ComponentAccumulator()
145
if
not
flags.Detector.GeometryCSC:
return
acc
146
CSCcablingSvc=CompFactory.CSCcablingSvc
147
cscCablingSvc =
CSCcablingSvc
()
148
149
acc.addService( cscCablingSvc, primary=
True
)
150
151
return
acc
152
153
def
MmCablingCfg
(flags, name = "MuonMm_CablingAlg", **kwargs):
154
result = ComponentAccumulator()
155
156
if
flags.Input.isMC
or
(
not
flags.Detector.GeometryMM):
157
return
result
158
159
from
IOVDbSvc.IOVDbSvcConfig
import
addFolders
160
cablingFolder = [
"/MDT/MM/CABLING"
if
not
flags.Common.isOnline
else
"/MDT/Onl/MM/CABLING"
]
161
kwargs.setdefault(
"CablingFolder"
,cablingFolder)
162
result.merge(addFolders(flags, kwargs[
"CablingFolder"
], detDb=(
"MDT_OFL"
if
not
flags.Common.isOnline
else
"MDT_ONL"
), className=
"CondAttrListCollection"
))
163
164
the_alg = CompFactory.MuonNSW_CablingAlg(name, **kwargs)
165
result.addCondAlgo(the_alg, primary =
True
)
166
return
result
167
168
def
sTgcCablingCfg
(flags, name = "MuonsTgc_CablingAlg", **kwargs):
169
result = ComponentAccumulator()
170
171
if
flags.Input.isMC
or
(
not
flags.Detector.GeometrysTGC):
172
return
result
173
174
from
IOVDbSvc.IOVDbSvcConfig
import
addFolders
175
cablingFolder = [
"/TGC/NSW/CABLING"
if
not
flags.Common.isOnline
else
"/TGC/Onl/NSW/CABLING"
]
176
kwargs.setdefault(
"CablingFolder"
,cablingFolder)
177
kwargs.setdefault(
"WriteKey"
,
'stgcCablingMap'
)
178
result.merge(addFolders(flags, kwargs[
"CablingFolder"
], detDb=(
"TGC_OFL"
if
not
flags.Common.isOnline
else
"TGC_ONL"
), className=
"CondAttrListCollection"
))
179
180
the_alg = CompFactory.MuonNSW_CablingAlg(name, **kwargs)
181
result.addCondAlgo(the_alg, primary =
True
)
182
return
result
183
184
185
186
#All the cabling configs together (convenience function)
187
def
MuonCablingConfigCfg
(flags):
188
acc = ComponentAccumulator()
189
acc.merge(
RPCCablingConfigCfg
(flags) )
190
acc.merge(
TGCCablingConfigCfg
(flags) )
191
192
acc.merge(
MDTCablingConfigCfg
(flags) )
193
194
acc.merge(
CSCCablingConfigCfg
(flags) )
195
196
acc.merge(
MmCablingCfg
(flags))
197
acc.merge(
sTgcCablingCfg
(flags))
198
199
return
acc
200
201
if
__name__ ==
'__main__'
:
202
from
AthenaConfiguration.AllConfigFlags
import
initConfigFlags
203
from
AthenaConfiguration.TestDefaults
import
defaultTestFiles, defaultGeometryTags
204
flags = initConfigFlags()
205
flags.Input.Files = defaultTestFiles.RAW_RUN2
206
flags.GeoModel.AtlasVersion = defaultGeometryTags.RUN2
207
flags.lock()
208
209
acc = ComponentAccumulator()
210
211
result =
MuonCablingConfigCfg
(flags)
212
acc.merge( result )
213
214
f=open(
'MuonCabling.pkl'
,
'wb'
)
215
acc.store(f)
216
f.close()
if
if(pathvar)
Definition
SealSharedLib.cxx:168
CSCcablingSvc
Definition
CSCcablingSvc.h:18
RpcCablingCondAlg
Definition
RpcCablingCondAlg.h:21
MuonCablingConfig.MmCablingCfg
MmCablingCfg(flags, name="MuonMm_CablingAlg", **kwargs)
Definition
MuonCablingConfig.py:153
MuonCablingConfig.CSCCablingConfigCfg
CSCCablingConfigCfg(flags)
Definition
MuonCablingConfig.py:143
MuonCablingConfig.MDTCablingConfigCfg
MDTCablingConfigCfg(flags, name="MuonMDT_CablingAlg", **kwargs)
Definition
MuonCablingConfig.py:77
MuonCablingConfig.RPCCablingConfigCfg
RPCCablingConfigCfg(flags)
Definition
MuonCablingConfig.py:35
MuonCablingConfig.sTgcCablingCfg
sTgcCablingCfg(flags, name="MuonsTgc_CablingAlg", **kwargs)
Definition
MuonCablingConfig.py:168
MuonCablingConfig.TGCCablingConfigCfg
TGCCablingConfigCfg(flags, name="TgcCablingCondAlg", **kwargs)
Definition
MuonCablingConfig.py:64
MuonCablingConfig.MuonCablingConfigCfg
MuonCablingConfigCfg(flags)
Definition
MuonCablingConfig.py:187
MuonCablingConfig.MdtTwinTubeMapCondAlgCfg
MdtTwinTubeMapCondAlgCfg(flags, name="MdtTwinTubeCondAlg", **kwargs)
Definition
MuonCablingConfig.py:127
MuonCablingConfig.NRPCCablingConfigCfg
NRPCCablingConfigCfg(flags, name="MuonNRPC_CablingAlg", **kwargs)
Definition
MuonCablingConfig.py:6
MuonCablingConfig.RPCLegacyCablingConfigCfg
RPCLegacyCablingConfigCfg(flags)
Definition
MuonCablingConfig.py:43
Generated on
for ATLAS Offline Software by
1.17.0