Hi everyone, I am looking to get the ToT out of my detector. I am using the GenericPropagation, Pulse Transfer, and DefaultDigitizer modules to obtain the signal. I have added a threshold and set the qdc_offset to the negative of the threshold. I got the image below and not sure why it doesn’t look like a typical ToT plot. I used the getSignal() function in PixelHit. Am I plotting the right thing or is there a problem with the offset that is causing the signal to look this way? Thanks!
Uploading: data.root…
source_measurement.conf (1.0 KB)
detector.conf (117 Bytes)
minipix_tpx3_flex.conf (521 Bytes)
Hi @oobie2142 ,
I assume what you’re posting is the spectrum of ToT values? What’s the unit of the y axis?
And may I ask what you are expecting to see as a typical ToT plot?
I re-ran the simulation and spotted potential sources of you not seeing the desired signal:
a) In general, I’d advice to enable the output_plots for all modules to debug the simulation. It will help you spotting issues in the configuration, such as …
b) the GenericPropagation has a default integration time of 25ns, which for your detector is much too short. See the drift_time plot for this module
c) Please have a look at the cluster_size plots in the DetectorHistogrammer. You will see that you have a lot of charge sharing, which seems physical, for one thing looking at the charge collection time in your sensor, for another thing …
d) you defined your beam with a zero beam size, meaning you will be always aiming at the sensor center, which is probably the exact corner between four pixels. You could either aim at a different position or spread the beam by defining a beam_size (see documentation) to average over several incidence positions.
I hope this helps a bit 
Cheers
Paul
@pschutze Hi Paul thanks for these! I am trying to observe charge sharing and see how much energy is lost. I will make sure the beam hits a pixel directly I never thought of that so thanks! I am confused on the conversion between pixel charge [ke] to ToT. I think I asked this before in another thread you answered, but that was with the DepositionCharge module. Is there a way to get the ToT in ns?
The ToT is strongly dependent on the front-end circuits (how quickly does the signal go back to the baseline). Hence, the determination of the ToT reqiures knowledge on the front-end.
The way it works in the DefaultDigitizer is the following: also the “ToT” is initially computed in units of kiloelectrons. The explanation is maybe a bit hidden in the documentation this parameter:
qdc_resolution : Resolution of the QDC in units of bits. Thus, a value of 8 would translate to a QDC range of 0 – 255. A value of 0bit switches off the QDC simulation and returns the actual charge in electrons. Defaults to 0.
Hence, changing this parameter should provide you with a more reasonable ToT value. However, this only uses the pulse you get from the sensor and does not take into account any shaping/amplification in the front-end. You could mimic this by defining a qdc_slope.
If you require a more accurate simulation of the front-end, I suggest using the CSADigitizer, which requires a certain parameterisation of the amplification circuit, but provides you with information that would likely be more suitable for your readout chip.
Paul
@pschutze Thank you Paul I really appreciate the explaination. I will give the documentation a look again, I missed that parameter. That makes way more sense now and I think I can look at the specs on our detector in our lab and compare.
I am assuming using the CSADigitizer module will increase the computational time?
Every operation does
Depending on your simulation, it might not be significant, though. Best is to try it out and check the time scores displayed at the end of the execution, for example:
(INFO) Module GeometryBuilderGeant4 took 18.0804ms
(INFO) Module DepositionGeant4 took 1.78032s
(INFO) Module ElectricFieldReader:detector1 took 0.137525ms
@pschutze Excellent, I appreciate it Paul
@pschutze Hi Paul I thought I would ask more questions in this thread to keep it all in one place. From looking at the diagnosing plots I think I got the simulation to a place I am comfortable. My goal is to observe the behavior of the ToT output from the plots varying the energy of the pencil beam. My questions are:
- Using the
CSADigitizer the pxq vs. tot plot seems to be empty no matter what I change. Is there something I am not including to make sure it is generated correctly?
- Is there an optimal
charge_per_step and max_charge_group amount that I can gather from the output plots?
- For the
threshold in the `CSADigitizer module is there an equivalent for 500e-? From the timepix3 specs the minimum detectable charge count is 500e- from Timepix3 | Knowledge Transfer.
- If I was to use the
DefaultDigitizer module instead would the qdc_resolution=10 from the link above, correct?
I apologize for the large amounts of questions but I just wanted to know more how to connect this toolkit to actual experiments I want to run. Thank you I really appreciate the help!
source_measurement.conf (1.6 KB)
detector.conf (117 Bytes)
minipix_tpx3_flex.conf (521 Bytes)