ATLAS Offline Software
Loading...
Searching...
No Matches
TileTBBeamChambersCalibration.py
Go to the documentation of this file.
2# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3#
4'''
5@file TileBeamChambersCalibration.py
6@brief Python configuration of calibration for TileTB beam chambers
7'''
8
10 '''
11 This function returns TileTB beam chambers calbirations
12
13 This function supposed to be used for beam chambers calibrations
14 for the following algorithms: TileTBBeamMonitorAlgorithm, TileTBAANtuple
15 '''
16
17 calibrations = {}
18 if run < 2110000:
19 # It is not supposed to be used for these runs
20 return calibrations
21
22 calibrations['BC1Z'] = 17348.8
23 calibrations['BC1Z_0'] = 17348.8
24 calibrations['BC1Z_90'] = 15594.05
25 calibrations['BC1Z_min90'] = 15571.8
26
27 calibrations['BC2Z'] = 4404.2
28 calibrations['BC2Z_0'] = 4420.7
29 calibrations['BC2Z_90'] = 2649.45
30 calibrations['BC2Z_min90'] = 2627.2
31
32 if run <= 2110503:
33 # September TB2021
34 calibrations['BC1HorizontalOffset'] = calibrations['BC1X1'] = -0.156736
35 calibrations['BC1HorizontalSlope'] = calibrations['BC1X2'] = -0.178455
36 calibrations['BC1VerticalOffset'] = calibrations['BC1Y1'] = -0.452977
37 calibrations['BC1VerticalSlope'] = calibrations['BC1Y2'] = -0.17734
38
39 calibrations['BC2HorizontalOffset'] = calibrations['BC2X1'] = 2.88152
40 calibrations['BC2HorizontalSlope'] = calibrations['BC2X2'] = -0.187192
41 calibrations['BC2VerticalOffset'] = calibrations['BC2Y1'] = -1.79832
42 calibrations['BC2VerticalSlope'] = calibrations['BC2Y2'] = -0.190846
43 elif run <= 2200000:
44 # November TB2021
45 calibrations['BC1HorizontalOffset'] = calibrations['BC1X1'] = -0.0107769
46 calibrations['BC1HorizontalSlope'] = calibrations['BC1X2'] = -0.178204
47 calibrations['BC1VerticalOffset'] = calibrations['BC1Y1'] = -0.625063
48 calibrations['BC1VerticalSlope'] = calibrations['BC1Y2'] = -0.178842
49
50 calibrations['BC2HorizontalOffset'] = calibrations['BC2X1'] = 0.746517
51 calibrations['BC2HorizontalSlope'] = calibrations['BC2X2'] = -0.176083
52 calibrations['BC2VerticalOffset'] = calibrations['BC2Y1'] = 0.49177
53 calibrations['BC2VerticalSlope'] = calibrations['BC2Y2'] = -0.18221
54 elif run <= 2310000:
55 # June TB2022
56 calibrations['BC1HorizontalOffset'] = calibrations['BC1X1'] = -0.566211
57 calibrations['BC1HorizontalSlope'] = calibrations['BC1X2'] = -0.0513049
58 calibrations['BC1VerticalOffset'] = calibrations['BC1Y1'] = 1.15376
59 calibrations['BC1VerticalSlope'] = calibrations['BC1Y2'] = -0.0514167
60
61 calibrations['BC2HorizontalOffset'] = calibrations['BC2X1'] = -0.163869
62 calibrations['BC2HorizontalSlope'] = calibrations['BC2X2'] = -0.0523055
63 calibrations['BC2VerticalOffset'] = calibrations['BC2Y1'] = -0.0602012
64 calibrations['BC2VerticalSlope'] = calibrations['BC2Y2'] = -0.0532108
65 elif run <= 2410000:
66 # July TB2023
67 calibrations['BC1HorizontalOffset'] = calibrations['BC1X1'] = 2.465295
68 calibrations['BC1HorizontalSlope'] = calibrations['BC1X2'] = -0.072135
69 calibrations['BC1VerticalOffset'] = calibrations['BC1Y1'] = 2.127854
70 calibrations['BC1VerticalSlope'] = calibrations['BC1Y2'] = -0.073442
71
72 calibrations['BC2HorizontalOffset'] = calibrations['BC2X1'] = -0.317171
73 calibrations['BC2HorizontalSlope'] = calibrations['BC2X2'] = -0.075384
74 calibrations['BC2VerticalOffset'] = calibrations['BC2Y1'] = 1.875657
75 calibrations['BC2VerticalSlope'] = calibrations['BC2Y2'] = -0.076717
76 else:
77 # May TB2024
78 calibrations['BC1HorizontalOffset'] = calibrations['BC1X1'] = 3.095518
79 calibrations['BC1HorizontalSlope'] = calibrations['BC1X2'] = -0.070485
80 calibrations['BC1VerticalOffset'] = calibrations['BC1Y1'] = 1.324992
81 calibrations['BC1VerticalSlope'] = calibrations['BC1Y2'] = -0.071980
82
83 calibrations['BC2HorizontalOffset'] = calibrations['BC2X1'] = -0.114170
84 calibrations['BC2HorizontalSlope'] = calibrations['BC2X2'] = -0.070819
85 calibrations['BC2VerticalOffset'] = calibrations['BC2Y1'] = -0.001407
86 calibrations['BC2VerticalSlope'] = calibrations['BC2Y2'] = -0.072557
87
88
89 return calibrations
90
91
93 '''
94 This function updates TileTB beam chambers calbirations for the algorithm
95
96 This function supposed to be used for beam chambers calibrations
97 for the following algorithms: TileTBBeamMonitorAlgorithm, TileTBAANtuple
98 '''
99
100 # Setup logs
101 from AthenaCommon.Constants import INFO
102 from AthenaCommon.Logging import logging
103 log = logging.getLogger('updateBeamChambersCalibrations')
104 log.setLevel(INFO)
105
106 calibrations = getBeamChambersCalibrations(run)
107 for k in calibrations:
108 if hasattr(alg, k):
109 log.info(f'{alg.name}.{k}={calibrations[k]}')
110 setattr(alg, k, calibrations[k])