-
Notifications
You must be signed in to change notification settings - Fork 4
Add type for HGC/CALOROC output #101
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Leaving this as draft for now while discussion progresses. One thing that was discussed in 89, was to potentially add ToT (and ToA if needed) to |
Nice work! I have a couple of questions/comments:
@wdconinc @veprbl what do you think? I believe it's important to get this right from the start as changes to the model are expensive (invalidate old files). |
Thanks for the feedback @sly2j ! I've in-lined a few thoughts below...
Since they will be configurable (@novitzky also pointed this out to me offline), I wonder if we could go ahead and make the ToT a std::vector<int32_t>?
Gotcha! Makes sense!
Good question! 😅 I'd definitely be in favor of adding a field for the phase! I feel like that would be the easiest approach for book keeping... |
Is the clock counter available in *ROC's? Also, I think, it would do us good if this structure could also be used to support ongoing beam tests data-taking. cc @tlprotzman |
What is the use case for storing the phase for every hit? This should always be easily calculatable from the global time of arrival and some calibration offset for the detector at an event level. Here, is the time stamp the 40MHz clock cycle being added by the FEB and the Time of Arrival from the ASIC in the cycle digitized to 25ps? Can these be combined at this point or might there be further calibrations dependent on having a separate Time of Arrival? |
Would be nice to check if there is any way and desire to synchronize the phases between different chips. Storing the same value should not be too expensive in columnar format with compression. |
Hi all, I wanted to summarize some of the feedback I received on this type from the 03.19.2025 meetings:
I've just pushed some changes to address this feedback:
Lastly, I have naïve question for everyone: should |
This will probably be my ignorance of how the CALOROC works, I'm not sure I understand how a single hit will have multiple ToA and ToT values. Could you point me to some documentation/presentation.
timeStamp will need to be the digitized value, presumably from the driving 40MHz clock. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix typos and make capitalizations/units consistent
Apologies for the delayed response! 😵 But, unfortunately, I've been having a tough time finding some documentation on how the multiple ToT/ToA will work in practice (e.g. in test beam or running conditions)... @novitzky do you know of any good documentation on this topic?
Gotcha! Thanks! I'll leave the units as [TDC counts], then! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Having just fixed a whole bunch of signed/unsigned comparisons, can we please use unsigned ints where appropriate?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point! Most of these can be uint32_t
s...
Briefly, what does this PR introduce?
This PR introduces the
RawCALOROCHit
type, which accommodates the output of both type 1A/1B HGC/CALOROC chips.What kind of change does this PR introduce?
Please check if this PR fulfills the following:
Does this PR introduce breaking changes? What changes might users need to make to their code?
No.
Does this PR change default behavior?
No.