Replies: 17 comments 4 replies
-
Can you create histograms for Griffin and the ZDS of energy vs time-timestamp? That should give you the CFD itself, and you should see how the correction from the CFD changes with energy. I know that for the first experiments the CFD algorithm wasn't implemented (or not working properly) yet, but I don't remember when that was fixed. |
Beta Was this translation helpful? Give feedback.
-
I build the matrices for one subrun via:
and the resultant matrix looked empty despite having 4.5024872e+09 entries. I projected out the x-axis to see where the entries were: and they only populate one value. Does this mean the CFD is not working? Or did I make a mistake in my filling loop? |
Beta Was this translation helpful? Give feedback.
-
If you bring up the underflow and overflow matrix (using setoptstat 1111111 on the optstat box), do you see that all the counts are within the plotting area? Or alternatively, is the number of counts in that bin of the 1D histogram 4.5e9? If so, that plot shows you only get one specific CFD value reported. This means that either the CFD algorithm wasn't working during that experiment, or that the calibration of the CFD is set up wrong. If you do |
Beta Was this translation helpful? Give feedback.
-
It looks like most of the entries are in the underflow bin: Is there another step to writing out the cal file besides opening the analysis tree and calling |
Beta Was this translation helpful? Give feedback.
-
If you call |
Beta Was this translation helpful? Give feedback.
-
Is
and don't see it in the source code. |
Beta Was this translation helpful? Give feedback.
-
Oh, sorry, didn't know you were using such an old version to sort the data. No idea anymore how to do this in v3. Maybe just use |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
I'm a bit confused that everything is between 0 and 10 ns (ignoring the probably very few events above 10 ns). Looking at newer data, you get a much wider distribution (there are some examples of this in the elog I think). This makes me wonder if the CFD was working correctly back then (which would also explain why the LED and CFD time spectra look the same). |
Beta Was this translation helpful? Give feedback.
-
Here is a sample output of the calibration file. All of the
|
Beta Was this translation helpful? Give feedback.
-
The main point is that there aren't any CFDCoeff defined, which means there isn't any polynomial "calibration" applied to the CFD. We normally only use the zeroth coefficient (i.e. the offset) to define a timing offset which can be used to align different detectors (on a finer basis than TimeOffset). If you had those parameters set and the first coefficient (counting from 0, so the gain) had been accidentally set to zero, the CFD value would have essentially been ignored. Another check you could do is look at the result from
or
The first one should give you a flat distribution from 0 to about 4.2e6, the second one should output the cfd values as decimal and hexadecimal numbers and those should essentially range from 0 to 0x3fffff. |
Beta Was this translation helpful? Give feedback.
-
I don't have the original fragment trees so I unpacked a subrun using
Based on your previous message this looks like it's working... |
Beta Was this translation helpful? Give feedback.
-
Yes, that looks reasonable. Do the other spectra still look the same with this new unpacked subrun? |
Beta Was this translation helpful? Give feedback.
-
The matrices now have negative entries, previously they only had positive time differences, but there still doesn't seem to be a difference between the LED and CFD times: |
Beta Was this translation helpful? Give feedback.
-
I made a mistake, I sorted the above using v3. The GRSISort v4 plots are below, but I'm not sure these are correct either... |
Beta Was this translation helpful? Give feedback.
-
No, those look kind of like we would expect. You can see that the difference between CFD and LED time (which is essentially the energy dependent walk) gets larger for low energies and does almost nothing for the high energies. You can also see that there are some artifacts (lines and entries at positive x-values, some lines at x=-1000) that could explain some weird features in the timing spectra. So this seems to be working, which raises the question whether the timing spectrum now looks better when using GetTime instead of GetTimeStamp? |
Beta Was this translation helpful? Give feedback.
-
The matrices and their projections definitely look different now. |
Beta Was this translation helpful? Give feedback.
-
I am analyzing a dataset from 2017 and the timing spectra don't look correct. The Leading Edge Time (timestamp) and the CFD corrected time look the same except from the 10 ns scaling factor. I'm including the relevant section of the selector and attached the full selector just in case.
Is there something I'm missing in building these matrices and projections? Or do you have any suggestions on other diagnostics I could use to isolate what's happening?
SingleCal_HardcodedTiming.txt
Beta Was this translation helpful? Give feedback.
All reactions