Skip to content

CHG: Account for dead and double-wide strips in MModuleDepthCalibration - #206

Merged
ckierans merged 6 commits into
cositools:develop/emfrom
fhagemann:feature/disabled_strips
Sep 15, 2026
Merged

ckierans merged 6 commits into
cositools:develop/emfrom
fhagemann:feature/disabled_strips

Conversation

@fhagemann

@fhagemann fhagemann commented Sep 6, 2026 •

Copy link
Copy Markdown

Addressing #157

In this PR, I am proposing a convention for disabled strips, both (dead and double-wide).

How to define disabled strips in a CSV file

The format to describe disabled strips proposed here takes the form Det ID, Side, Disabled Strip, [Read-out via]:

0 h 31    => HV strip 31 on Detector with ID 0 is dead (not read out at all)
0 l 14 15 => LV strip 14 on Detector with ID 0 is shorted to LV strip 15, and read out via LV strip 15

I have added files for all COSI SMEX flight detectors to resource/calibration/COSISMEX/unit and a combined one based on all unit-level calibration files to resource/calibration/COSISMEX/payload.

Note that most of these have HV strip 31 disabled (due to being tested with a faulty NICEv1 board)

What is changing in MModuleDepthCalibration

The depth calibration assigns the X and Y position as the center of the strip. For double-wide strips, this used to place the hits wrongly in the center of the strip that was read out, instead of at the center of the double-wide strip.

With the changes in this PR, we are now assigning hits in double-wide strips to the center of the double-wide strip, and we are also doubling the uncertainty on that position to account for the doubled strip width.
We are also not attempting any depth reconstruction for dead strips.

Accounting for disabled strips is optional and can be omitted using a check button, or by passing either no file name at all or a CSV file name pointing to an empty file:
image

What about the DEE?

I would like to discuss the current format of defining double-wide strip and get it approved in this PR, before tackling the DEE (probably in a follow-up PR).

For the DEE, I envision replacing finding dead strips (currently done by checking which strips do not appear in the energy calibration file) with the dead strips in this file, and do some more accurate charge sharing in SubModuleChargeTransport for double-wide strips.

@fhagemann fhagemann added the enhancement New feature or request label Sep 6, 2026
Comment thread src/MModuleDepthCalibration.cxx
@fhagemann fhagemann changed the title ADD: Account for dead and double-wide strips in MModuleDepthCalibration CHG: Account for dead and double-wide strips in MModuleDepthCalibration Sep 6, 2026
@fhagemann fhagemann linked an issue Sep 10, 2026 that may be closed by this pull request
@fhagemann

Copy link
Copy Markdown
Author

I have some code to account for disabled strips in the DEE, but it's based both on the code in this PR, and the code in draft PR #190 (that's still pending the hardware threshold files).
I would delay opening a PR until this and #190 are merged.

@fhagemann

Copy link
Copy Markdown
Author

This is ready for review now.

@fhagemann
fhagemann requested a review from ckierans September 11, 2026 16:00

@ckierans ckierans left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, Felix! I like the simplicity of the shorted strip handling.

Comment thread include/MGUIOptionsDepthCalibration.h
Comment thread src/MModuleDepthCalibration.cxx
Comment thread src/MModuleDepthCalibration.cxx
Comment thread src/MModuleDepthCalibration.cxx
@ckierans
ckierans merged commit 144fe51 into cositools:develop/em Sep 15, 2026
1 check passed
@fhagemann
fhagemann deleted the feature/disabled_strips branch September 15, 2026 15:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Properly handle hits in double-wide / shorted strips

2 participants