Summary: the code is done see here


The analysis procedure is:

  1. Pedestal & MAD: operated on charge over all cycles, per bucket, per channel, per kpix.
    1. Pedestal median: left is from new, right is from old
    2. Exactly the same results:

    3. channel at bucket ==0 with charge response == 0: left from new, right from old

    4. DONE check into these channels and find what are the charge response of them. to understand what happened inside.
      1. Notice the following difference
        1. old one determine a median out of ADC/slope values
        2. new one uses the original ADCs
        3. 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.

      2. 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:
        1. if you check the pedestal value of pedestal tree output from Uwe: you get 6144 channels with bucket ==0
        2. do the same check with the test tree with new framework: you get 6123 channels with bucket==0
        3. Then you check how many channels of the calibration slopes: you have 6144 lines
        4. 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

  2. Noise & fC response after Pedestal & CM removal: per bucket, per channel, per kpix.
    1. Common mode noise: calculated per cycle with conditions of MAD!=0 & slope is valid
    2. fC response: left is from new, right is from cluster_analysis.cxx

    3. Noise distribution: left is new, right is from cluster_analysis.cxx