Skip to content

Adapt SiDigitization to be a common base for Inner Detector, ITk, and HGTD

Since the HGTD will use common ReadoutGeometry base classes, it should also use a common base for Digitization.

This update allows for HGTD Digitization to use SiChargedDiode/SiChargedDiodeCollection etc by making them use ReadoutGeometryBase classes rather than InDetReadoutGeometry.

Interface classes such as ISCT_Amp, ISCT_FrontEnd etc are added such that they can be used for HGTD and ITkStrip as well. At the moment these are in SCT_Digitization, but since SCT_Digitization is only built as a component package, these Interface classes cannot be included elsewhere. In a future MR the old interfaces will be moved out of SCT_Digitization, and the inheritance of the derived implementations there updated to use the new abstract interfaces added here.

@jchapman we discussed a bit already introducing a SolidStateDigitization package as well as SiDigitization, but since it seems quite simple to make the latter sufficiently generic, probably we can save adding an extra package? The plan is that at some point in the future (after some package reorganization in ATLASSIM-5183) this will be moved to location outside InnerDetector to make it clearer that this is common code.

This was tested locally, and RDO content is identical. However, I saw the following difference:

INFO     ---------------------------------------------------------------------------------------
INFO     Running q221 Frozen Tier0 Policy Test on ESD for 10 events
INFO     Reading the reference file from location /tmp/nstyles/clean_run_q221_cb85302d-d370-42ca-b7f7-1660bb5a6388
INFO     No diff rules file exists, using the default list
ERROR    Py:diff-root         INFO  [xAOD::TrigCompositeAuxContainer_v2_HLT_TrigCostContainerAuxDyn.alg]: 15781 leaves differ

ERROR    Py:diff-root         INFO  [xAOD::TrigCompositeAuxContainer_v2_HLT_TrigCostContainerAuxDyn.roi]: 6144 leaves differ

ERROR    Py:diff-root         INFO  [xAOD::TrigCompositeAuxContainer_v2_HLT_TrigCostContainerAuxDyn.start]: 24578 leaves differ

ERROR    Py:diff-root         INFO  [xAOD::TrigCompositeAuxContainer_v2_HLT_TrigCostContainerAuxDyn.stop]: 24578 leaves differ

ERROR    Py:diff-root         INFO  [xAOD::TrigCompositeAuxContainer_v2_HLT_TrigCostContainerAuxDyn.store]: 7812 leaves differ

ERROR    Py:diff-root         INFO  [xAOD::TrigCompositeAuxContainer_v2_HLT_TrigCostContainerAuxDyn.thash]: 24578 leaves differ

ERROR    Py:diff-root         INFO  [xAOD::TrigCompositeAuxContainer_v2_HLT_TrigCostContainerAuxDyn.view]: 7729 leaves differ

ERROR    Your tag breaks the frozen tier0 policy in test q221. See run_q221/diff-root-q221.ESD.log file for more information.

but I would assume that this is unrelated (at least I can't see how it could occur if the RDOs are identical)?

FYI @tawang @cohm @dshope @tadej

Edited by Nicholas Styles

Merge request reports