Dear allpix2 experts,
I am posting an issue for some guidance for my configuration setup.
I am trying to run the mimosa26 planes with RD53 DUTs, which I added the configuration for in models/.
In my main Conf file I added the ‘DetectorHistogrammer’ module to see results and it seems that the DUTs have no Hits/Tracks produced from the simulation (check empty histo below).
so my question is how to simulate hits for the RD53 module?
Perhaps you can spot and error or redundancy in my conf files added below.
Your input would be appreciated.
Thank you very much!
example.conf
[AllPix]
log_level = "WARNING"
log_format = "DEFAULT"
number_of_events = 1000000
detectors_file = "dut.conf"
root_file = "eudet_2dut_Hist"
model_paths = "../.."
[GeometryBuilderGeant4]
world_material = "air"
[DepositionGeant4]
physics_list = FTFP_BERT_EMZ
particle_type = "e-"
number_of_particles = 1
source_energy = 5GeV
source_position = 0um 0um -20mm
source_type = "beam"
beam_size = 5mm
beam_direction = 0 0 1
max_step_length = 1.0um
[ElectricFieldReader]
model = "linear"
bias_voltage = -100V
depletion_voltage = -50V
[GenericPropagation]
temperature = 293K
charge_per_step = 100
[SimpleTransfer]
max_depth_distance = 5um
[DefaultDigitizer]
electronics_noise = 13e
threshold = 60e
threshold_smearing = 4e
adc_smearing = 0e
output_plots = 1
adc_resolution = 1
[LCIOWriter]
file_name = "run000126.slcio"
dump_mc_truth = true
detector_assignment=["telescope0","zsdata_m26","0"],["telescope1","zsdata_m26","1"],["telescope2","zsdata_m26","2"],["dut_0","zsdata_dut","10"],["dut_1","zsdata_dut","11"],["telescope3","zsdata_m26","3"],["telescope4","zsdata_m26","4"],["telescope5","zsdata_m26","5"]
[DetectorHistogrammer]
detector.conf
[telescope0]
type = "mimosa26"
position = 0um 0um 0mm
orientation_mode = "xyz"
orientation = 0deg 0deg 0deg
alignment_precision_position = 0um 0um 0mm
[telescope1]
type = "mimosa26"
position = 0um 0um 250mm
orientation_mode = "xyz"
orientation = 0deg 0deg 0deg
alignment_precision_position = 0um 0um 0mm
[telescope2]
type = "mimosa26"
position = 0um 0um 300mm
orientation_mode = "xyz"
orientation = 0deg 0deg 0deg
alignment_precision_position = 0um 0um 0mm
[dut_0]
type = "RD53"
position = 0 0 350um
orientation_mode = "xyz"
orientation = 0deg 45deg 180deg
alignment_precision_position = 0um 0um 0mm
alignment_precision_orientation = 0deg 0deg 0deg
[dut_1]
type = "RD53"
position = 0 0 400um
orientation_mode = "xyz"
orientation = 0deg 45deg 180deg
alignment_precision_position = 0um 0um 0mm
alignment_precision_orientation = 0deg 0deg 0deg
[telescope3]
type = "mimosa26"
position = 0um 0um 450mm
orientation_mode = "xyz"
orientation = 0deg 0deg 0deg
alignment_precision_position = 50um 50um 1mm
[telescope4]
type = "mimosa26"
position = 0um 0um 500mm
orientation_mode = "xyz"
orientation = 0deg 0deg 0deg
alignment_precision_position = 0um 0um 0mm
[telescope5]
type = "mimosa26"
position = 0um 0um 550mm
orientation_mode = "xyz"
orientation = 0deg 0deg 0deg
alignment_precision_position = 0um 0um 0mm
models/RD53.conf
type = "hybrid"
number_of_pixels = 400 129
pixel_size = 50um 50um
sensor_thickness = 100um
sensor_excess = 200um
bump_sphere_radius = 9.0um
bump_cylinder_radius = 7.0um
bump_height = 20.0um
bump_offset = -70.0um 0
chip_thickness = 150um
Dear @retaibah
the issue most likely comes from a typo in your detector placement. In the geometry you wrote
[dut_0]
position = 0 0 350um
which places this detector inside the first telescope place which is located at 0, 0, 0
. The framework should actually print you a warning that is has detected overlapping volumes. In this case Geant4 is not capable of properly tracking the particle through the volumes and skips the respective volumes - which is why you don’t see any charge from there. Could you try fixing the units of the position and let me know if that solved your issue?
On a different note: please feel free to open a merge request adding the RD53 model to the repository - this would be very much appreciated!
All the best,
/Simon
Dear @retaibah
there is one more thing I noticed in your detector model:
You configure a pixel pitch of 50um but shift the bump bond by more than half the pitch - this will not work, it will land outside the pixel. What was your intention here?
/Simon
Thank you very much for your replies Simon,
both correction were obviously helped. they were both unintentional typos.
Sure, as soon as I have a successful reconstructed data I will send a merge request to include the RD53 type.
Great, thank you very much. By now I have added a check for the bump bond shift so such an issue would be discovered early on, see https://gitlab.cern.ch/allpix-squared/allpix-squared/-/merge_requests/382
Hello Simon,
My configuration for RD53 modules worked (Y) thanks for the help.
I do have couple of questions;
1- I assign number_of_particles=1 in [DepositionGeant4] and beam_size=5mm, so in the histogrammer (and reconstructed data afterwards) looks like one particle passing in one position all the time not spread out due to some multiple scattering as I would expect. I say this also because the residuals look a bit too slim, or ideal if you may.
So does the deposition and propagation take some scattering through the materials into account? How can I see/know that?
2- I am trying to add some passive material to the setup. I see a cleanup_passive branch with passive_volume.conf example for a hollow box. The box is defined with type “box” that doesn’t exist in the models.
so can you perhaps tell me what is or where to find the model for the ‘box’?
3- I tried to push my branch of eudet_RD53 but I cant access the gitlab, and I think I need to push the repo first to then request a merge …?
Thank you very much!
Hello Simon,
Thank you very for clarifying a lot of points.
I return to point 2 regarding the passive material, I still have a question I didn’t manage, I define in my detector.conf:
[box1]
type = "box"
role = "passive"
size = 200mm 200mm 100mm
[dut_0]
type = "RD53"
position = 0mm 0mm 200mm
orientation_mode = "xyz"
orientation = 0deg 0deg 180deg
but I don’t have any detector model of type “box” and therefore I get a fatal error.
I can see that the types of these model are defined within the [GeometryBuilderGeant4] but allpix2 is still requiring a configuration of the type in /models.
I think I’m just missing a piece of the puzzle, if you can clarify that out I’d appreciate it.
Thank you very much!
Hi @retaibah
could it be that you are using version 1.5 for this exercise? The passive material is not released yet (will be version 1.6 this week) but only available in the master
branch of the repository.
With the proper software version, the error you should be getting is:
|21:08:19.162| (FATAL) Error in the configuration:
Key 'material' in section 'box1' does not exist
The configuration needs to be updated. Cannot continue.
and after adding a material, e.g. material = "copper"
, you should probably still define its position and orientation:
[box1]
type = "box"
role = "passive"
size = 200mm 200mm 100mm
material = "copper"
position = 0 0 100mm
orientation = 0 0 0
Cheers,
Simon