Summary: the code is done see here https://github.com/Lycoris2017/KPiX-Analysis/blob/experimental/core/include/rawData.h
The analysis procedure is:
- Pedestal & MAD: operated on charge over all cycles, per bucket, per channel, per kpix.
- Pedestal median: left is from new, right is from old
- Exactly the same results:
- channel at bucket ==0 with charge response == 0: left from new, right from old
- DONE check into these channels and find what are the charge response of them. to understand what happened inside.
- Notice the following difference
- old one determine a median out of ADC/slope values
- new one uses the original ADCs
- how to get the slopes: old one look over fit results from every channel's calibration graph, new one take a csv input dumped from slope_vs_channel histo with a precision to a certain digits.
- Difference comes from how the slopes are dealt, Uwe's pedestal + cluster analysis code does not filter slope==0, I did it. that s why:
- if you check the pedestal value of pedestal tree output from Uwe: you get 6144 channels with bucket ==0
- do the same check with the test tree with new framework: you get 6123 channels with bucket==0
- Then you check how many channels of the calibration slopes: you have 6144 lines
- however, check it out, there are many with slope==0 or close to 0 see below:
Left is print out of running pedestal_tree.cxx, right is the slope database for new analysis
- Noise & fC response after Pedestal & CM removal: per bucket, per channel, per kpix.
- Common mode noise: calculated per cycle with conditions of MAD!=0 & slope is valid
- fC response: left is from new, right is from cluster_analysis.cxx
- Noise distribution: left is new, right is from cluster_analysis.cxx