Iss407 pedestal refactor - #455
Conversation
tomeichlersmith
left a comment
There was a problem hiding this comment.
This is just a first pass - I have not tried to run it myself yet, but the actual algorithm looks good. I just want to avoid one pitfall and drop one extra local variable that I don't believe is necessary.
66d513e to
9393cb4
Compare
|
I couldn't avoid running into the same issue with variance as standard deviation, so I just attempted to keep is as double the whole way rather than adding new code for a variance function. Does this work? |
tomeichlersmith
left a comment
There was a problem hiding this comment.
Can you test that this will ignore channels that we turned off?
You can turn off a channel with
> ROC
> POKE
Page: CH_##
Parameter: CHANNEL_OFF
Value: 1
where ## is the channel number you want to turn off on ROC0.
|
I'm not too surprised other channels are getting ignored (they probably correspond to the channels missing from your initial plot), but the additional channels getting ignored after turning off ch_0 is worrying. Can you repeat the test a few times to make sure? Also, do a |
|
Ok, the EcalModule follows this mapping pflib/src/pflib/EcalModule.cxx Lines 114 to 115 in 276c487 ROC2 ends up in the first 2 links with its halves in the correct order, but your code does not report ignoring channels 7 and 9 (but they are absent from the plot of Link 0 implying they have uniform pedestals). Your code reports ignoring channel 12 which is also absent from the Link 0 plot. This tells me either your code is not working as you are assuming it works or the hardware is unstable and channels are floating into/out of "working". In either case, I think this needs more careful study. I don't really care if the hardware has some channels permanently broken (that's actually helpful for testing this feature), what does matter is that it is changing. If the hardware is actually unstable at this level, that is very bad for our setup at UMN making it difficult to test any kind of EcalSMM development. |



Opening a PR but may need to do some extra work before merging.
For local pedestal leveling, change baseline
TRIM_INVfrom0to32, add adaptive support for bothECALandHCALROCs, and mask dead channels (i.e., those with 0 standard deviation). Seeing some difficulty leveling for ECAL (see image). May just be running out of range withTRIM_INV, but someone should try to run this on their own to verify behavior.Note: did not yet test for HCAL