Dear Experts,
I have the problem that I see very thin residuals for our telescope in Tracking4D directly after pre-alignment (with high chi2ndof). To give you an impression of our setup and data: We used 6 ALPIDE’s which are 30° rotated with respect to our low-energy beam (350-650 MeV momentum protons) coming from a target (500um Aluminum, needed because of the high-intensity primary beam where the sensors could not stay in). Distances between the planes were quite big, in the order of 10-15cm, measured to some few mm precision. Here is a simplified plot, that shows some tracks approximated with straight lines. In the plot, with red are the sensors, with blue and dark red are two 1cm plastic scintillators, the coincidence of which triggers the setup to record data. The target is some 10x10cm^2 at position z=-600mm in the plot.
You can see that we have most of the tracks coming through the telescope at some angle.
We read in the data from EUDAQ2, mask bad pixels and cluster hits. Looking at the correlation we see (reference plane: 0):
Then, we use the following prealignment config and observe the planes get shifted, so the clusters are roughly lined up behind each other or in other words so that the correlations center around 0. Since I’m new to corry this is not completely clear to me.
Is this because corry expects straight tracks, mostly perpendicular to the detectors and therefore shifting the correlations towards 0 is equal to grossly aligning the planes? Does this work for such a diverging, low-momentum beam?
[Prealignment]
damping_factor=1
max_correlation_rms=6mm
method=gauss_fit
fit_range_rel=100
time_cut_abs=1e99
(We do not use timing but trigger ID for triggering)
In our case, this means that towards the last plane we get bigger and bigger x shifts (see below). So the planes are not lined-up but the tracks are straight. At first, I would think this should not be an issue for tracking but maybe I miss something here.
[ALPIDE_0]
orientation_mode = “xyz”
position = 0um,0um,0um
role = “reference”
[ALPIDE_1]
position = -1.33433mm,-274.486um,100mm
[ALPIDE_2]
position = -3.20668mm,55.479um,200mm
role = “dut”
[ALPIDE_3]
position = -4.925mm,-71.309um,300mm
[ALPIDE_4]
position = -9.07941mm,-31.756um,400mm
[ALPIDE_5]
position = -8.04593mm,-62.991um,500mm
[Tracking4D]
Since we have low-energy particles I would like to use the gbl tracking model, to account for the multiple scattering. This is the configuration I used:
track_model=“gbl”
momentum = 455MeV
require_detectors=ALPIDE_0,ALPIDE_1,ALPIDE_2,ALPIDE_3,ALPIDE_4,ALPIDE_5
min_hits_on_track=6
time_cut_abs=1e99
spatial_cut_abs=2mm,2mm
volume_radiation_length = 304.2m
volume_scattering = true
exclude_dut = false
So when looking at the plots created I see the chi2ndof peak at some very large value of 667 (somewhat expected since we did not run any alignment – should a peak in chi2ndof be expected before the alignment step in this case?) but the residuals are unrealistically thin.
They have a std dev of around 0.5 - 2 um. When doing alignment with AlignmentTrackChi2 the chi2ndof distribution peaks around 10, the residuals do not change at all. We suspect that it somewhat has to do with the 30° data since for 0° we were able to track and align (here the distance between planes was much smaller ~2.4cm). But the tracks in the 0° data do not seem to be that angled, here the last plane is shifted by -2mm while for 30° it was -8mm.
What we tried to find the error:
It was suspected that maybe the tracking has issues finding the correct cluster to associate since we have a lot of pollution in the correlation plots (see above). Therefore I filtered the events to only contain events with one, and only one, cluster on all planes. So that we expect one clear track per event. This change did not change much regarding our issue.
I got the following warning from corry: “[C:Tracking4D] [further messages suppressed] Taking volume scattering effects into account is still WIP and causes the GBL to fail - these tracks are rejected” Since this should just result in a loss of tracks I still tried without volume scattering (no better results) and with the straight line model. This resulted in a much worse chi2ndof distribution but the residuals were accordingly bad (not anymore around 2µm). So somehow gbl gives me too good residuals for a bad chi2ndof.
A second warning: “ [C:Tracking4D] Beam energy is less than 1 GeV “ This alone should not cause the problem since it worked for 0°. But maybe together with the 30° rotation it has issues.
Here you can see how the chi2ndof and residuals look directly after prealignment.
Here are all the configs, geometries, as well as a sample of data to check this behavior. Maybe it is also helpful to add that the gbl worked for me before when using higher momentum data.
The used Corry commit is: 1e63bca062ac481fbb7c8ed436e170f1d6a556cf