Residuals of RD53 testbeam setup

Hello,

I am simulating a testbeam setup for RD53A modules. The setup includes 6 mimosa26 telescope, 2 DUTs, enclosed in a passive Plexiglass box that is 40mm thick.

I define my RD53A module in model/ with:

type = "hybrid"
number_of_pixels = 400 192
pixel_size = 50um 50um
sensor_thickness = 100um
sensor_excess_direction = 0.0mm 0.0mm 0.6um 0.6um
bump sphere_radius = 9.0um
bump_cylinder_radius = 7.0um
bump_height = 20.0um
bump_offset = 0.0um 0.0um
chip_thickness = 100um

and my DUT setup up configuration is:

[telescope0]
type = "mimosa26"
position = 0mm 0mm 0mm
orientation_mode = "xyz"
orientation = 0deg 0deg 0deg
alignment_precision_position = 0mm 0mm 0mm

[telescope1]
type = "mimosa26"
position = 0mm 0mm 100mm
orientation_mode = "xyz"
orientation = 0deg 0deg 0deg
alignment_precision_position = 0mm 0mm 0mm

[telescope2]
type = "mimosa26"
position = 0mm 0mm 200mm
orientation_mode = "xyz"
orientation = 0deg 0deg 0deg
alignment_precision_position = 0mm 0mm 0mm

[box1]
type = "box"
size = 100mm 100mm 40mm
position = 0mm 0mm 330mm
orientation = 0deg 0deg 0deg
material = "plexiglass"
role = "passive"

[dut_0]
type = "RD53-50"
position = 0mm 0mm 400mm
orientation_mode = "xyz"
orientation = 0deg 0deg 0deg
alignment_precision_position = 0mm 0mm 0mm
alignment_precision_orientation = 0deg 0deg 0deg

[dut_1]
type = "RD53-25"
position = 0mm 0mm 420mm
orientation_mode = "xyz"
orientation = 0deg 0deg 0deg
alignment_precision_position = 0mm 0mm 0mm
alignment_precision_orientation = 0deg 0deg 0deg

[box2]
type = "box"
size = 100mm 100mm 40mm
position = 0mm 0mm 565mm
orientation = 0deg 0deg 0deg
material = "plexiglass"
role = "passive"

[telescope3]
type = "mimosa26"
position = 0mm 0mm 650mm
orientation_mode = "xyz"
orientation = 0deg 0deg 0deg
alignment_precision_position = 0mm 0mm 0mm

[telescope4]
type = "mimosa26"
position = 0mm 0mm 750mm
orientation_mode = "xyz"
orientation = 0deg 0deg 0deg
alignment_precision_position = 0mm 0mm 0mm

[telescope5]
type = "mimosa26"
position = 0mm 0mm 850mm
orientation_mode = "xyz"
orientation = 0deg 0deg 0deg
alignment_precision_position = 0mm 0mm 0mm

and my configuration file:

[AllPix]
log_level = "WARNING"
log_format = "DEFAULT"
number_of_events = 30000
detectors_file = "dut.conf"

[GeometryBuilderGeant4]
world_material = "air"
#world_minimum_margin = 1m 1m 1m

[DepositionGeant4]
physics_list = FTFP_BERT_EMZ
particle_type = "e-"
number_of_particles = 1
source_energy = 5GeV
source_position = -2um 0um 0um
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
output_plots_tep = 2um

[DefaultDigitizer]
electronics_noise = 50e
threshold = 1000e
threshold_smearing = 50e
adc_smearing = 0e
output_plots = 1
adc_resolution = 1

[DetectorHistogrammer]

From this setup I am expecting the Detector Histogrammer to draw out some reasonable results. But If I compare these results to an irradiated 100um thick detector from testbeam data as shown in attached image (keeping in mind realistic multiple scattering in real conditions) I think the residuals produced from the simulation is too narrow.

Perhaps I am missing some conditions to enable, Would any one know why is there a drastic difference between the simulation and testbeam data and very low multiple scattering effects?

Thank you very much!

100um50x50um.pdf (19.0 KB)

Hi @retaibah,

there are a few reasons for the residuals to look differently:

  • Test Beam Analysis vs. DetectorHistogrammer: The DetectorHistogrammer compares the hit position in your DUT to the Monte Carlo truth information. A test beam analysis is always influenced by the telescope, as you do not have the “truth” but can only reconstruct the track through the telescope to a certain precision. In your setup you seem to have multiple DUTs, rather large distances from the DUTs to the neighboured telescope planes, and two times 4 cm of plexiglass (is that correct?) in between. This is quite a bit of material which does a lot of scattering. This scattering is also simulated in Allpix Squared, but as it is using the Monte Carlo truth for the residual graph, this doesn’t have any effect.
  • Radiation Damage: Allpix Squared does not yet simulate any effects from radiation damage effects. In case you did not implement any, one would always expect the results to differ when comparing unirradiated detectors (simulation) to irradiated ones (the graph you showed for the test beam).

There might be more reasons, for this a more detailed look and discussion would be required.
Now, for both of the mentioned reasons there are cures. Certainly there are several, but here are my suggestions:

  • Test Beam Analysis vs. DetectorHistogrammer: Export the digitised detector data including the telescope data in the format you prefer and perform the exact same analysis on simulated data. Depending on which software you are using for the analysis, this might be very straight forward, as in Allpix Squared writers are implemented for the formats LCIO, Corryvreckan, TTrees and RCE or simply to text, so you can treat the data from Allpix Squared just as test beam data. If you require your data to be in a different file format, we can help you towards writing your own writer module.
  • Radiation Damage: To be sure the simulation works as you expect it to, I suggest comparing the simulation to data from an unirradiated detector first, otherwise it’s a bit with apples and oranges - hard to compare if you actually want them to look and taste differently.

I hope I could help you. Please let me know if there are more open questions.

Best
Paul