-
Notifications
You must be signed in to change notification settings - Fork 2
Closed
Labels
enhancementNew feature or requestNew feature or request
Description
One of the tasks that is involved with overall pedestal alignment is "leveling" the pedestals so that they all are within noise (~few ADC) of their median.
Chelsea @rodr1001 has developed a algorithm (#162 (comment)) that is leading to decent results at UMN and so I'm going to translate into C++ so we can test it on other chips and solidify it.
Implementation
I'm going to create a new algorithm namespace to house this function and other functions like it that are higher level tasks that direct interaction with a Target, hopefully making them more portable. Another function that could fit into this namespace is the set_toa function from #177
- Baseline Run: (
sign_dacb=0, dacb=0, trim_inv=0)- defines "target" pedestal (median over all channels within a link)
- defines "baseline" pedestals (median within channels)
- Highend Run: (
sign_dacb=0, dacb=0, trim_inv=63)- defines "highend" pedestals (median within channels)
- Lowend Run: (
sign_dacb=1, dacb=31, trim_inv=0)- defines "lowend" pedestals (median within channels)
pseudo-code
for each ch in channels:
if baseline pedestal for channel < target for link:
set channel trim_inv to interpolated value between highend and baseline
else
set channel sign_dacb to 1
set channel dacb to interpolated value between lowend and baseline
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request