Skip to content

Draft: Save calibration constants in JSON format & update tag for R4

Johannes Junggeburth requested to merge jojungge/athena:ATLASRECTS-8145 into main

This MR introduces a new json format to dump the MDT calibration parameters. The aim of the new format is to improve the human readability of the constants and also to get rid of the IIdToFixedIdTool on a long term. The new database-blob format is JSON based. One JSON file is written each to store the R-T constants and another one the T0 constants. The RT blobs contain extra fields to have the flexibility to store polynomial or look-up table like constants. Also, it's possible to assign multiple multilayers to the same set of constants:

  {
   "chambers": [
       {"station": "BIS", "eta":  7, "phi": 2, "ml": 1},
       {"station": "BIS", "eta":  7, "phi": 2, "ml": 2}],
   "rtRelation": {
       "type": "RtRelationLookUp",
       "tLower": 0,
       "tUpper": 187.3,
       "params": [....]},
   "rtReso": {
       "type": "RtResolutionLookUp",
       "params": [...]}
  },

The size of the blob has been evaluated on data23 to be 2MBs per IOV. The size can be further reduced by zipping each JSON blob.

The T0 blobs are organized by multi-layer Identifier. The payload is then further subdivided per tube.

{
   "station": "BIL", "eta": -6, "phi": 1, "ml": 1, "payload":[
    {"t0": 62.33, "adc": 122.8, "code": 3, "channels": [[2, 20]]},
    {"t0": 62.43, "adc": 131.8, "code": 3, "channels": [[1, 25], [1, 26], [1, 27], [1, 28], [1, 29], [1, 30], [2, 27], [2, 28], [2, 29], [2, 30], [3, 27], [3, 28], [3, 29], [3, 30], [4, 29], [4, 30]]},
    {"t0": 62.44, "adc": 144.3, "code": 3, "channels": [[1, 8]]},
    {"t0": 62.49, "adc": 126.7, "code": 3, "channels": [[4, 13]]},
    {"t0": 62.58, "adc": 113.7, "code": 3, "channels": [[1, 20]]},
    {"t0": 62.58, "adc": 126.7, "code": 3, "channels": [[2, 15]]},
    {"t0": 64.31, "adc": 132.1, "code": 3, "channels": [[2, 13]]},
    {"t0": 64.35, "adc": 145.6, "code": 3, "channels": [[3, 14]]},
    {"t0": 64.64, "adc": 120.9, "code": 3, "channels": [[1, 13]]},
    {"t0": 64.81, "adc": 134.3, "code": 3, "channels": [[1, 31], [1, 32], [1, 33], [1, 34], [1, 35], [1, 36], [2, 31], [2, 32], [2, 33], [2, 34], [2, 35], [2, 36], [3, 31], [3, 32], [3, 33], [3, 34], [3, 35], [3, 36], [4, 31], [4, 32], [4, 33], [4, 34], [4, 35], [4, 36]]},
    {"t0": 64.95, "adc": 119.9, "code": 3, "channels": [[2, 14]]},
    {"t0": 65.01, "adc": 118.5, "code": 3, "channels": [[1, 18]]},
    {"t0": 65.1, "adc": 126.9, "code": 3, "channels": [[1, 16]]},
    {"t0": 65.1, "adc": 156.4, "code": 3, "channels": [[2, 2]]},
    {"t0": 65.14, "adc": 143.2, "code": 3, "channels": [[4, 25]]},
    {"t0": 65.47, "adc": 154.6, "code": 3, "channels": [[1, 3]]},
    {"t0": 66.19, "adc": 117.4, "code": 3, "channels": [[1, 14]]}]
  },

Tagging: @diehl, @zyan, @maharris, @pscholer, @formica

Will finally close ATLASRECTS-8145

Edited by Johannes Junggeburth

Merge request reports

Loading