Thin residuals in Tracking4D for diverging beam

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

https://cernbox.cern.ch/s/IqtvNSFrPBJzdMS

1 Like

Hi jhensler,

First of all welcome to the corry community and thank you for the detailed description of you issue. I’ll try to answer all question you have :slight_smile:. Let’s start with the ones I can directly reply to:

We make the assumption that the particles do not have a slope in your global coordinate system. That’s why we do shift the correlations to zero. In your case, there seems so be a slope, since you get an increasing shift in x with the plane numbers. I hope that ugly sketch illustrates it a bit.

Divergent beams increase the. width of you distribution, but do not change the mean values, so this should work still (beam divergence and scattering have the same effects on correlations)

I do agree with you. But I cannot open the CERN Box you’ve added at the end, so I do no see the full geometry. Have you added all rotations correctly in your geometry?

If you only select events from a real particle, this can peak at high values since the misalignment causes a fixed offset in the chi2 distribution. The shown peak is also extremely wide.

The residuals are also not shifted to a mean of zero? And how do the rotations change? How large are the kink angles on each plane, are they matching you expectations?

This warning is issued since we observe a higher fit failure rate if we add volume scattering and require 4 or 5 out of 6 planes to have a hit. It should not affect you. Did you compare the total number of tracks with and without volume scattering?

As you’ve been running at low momenta, this warning can be ignored. We print this since users have not been using units all the time and the default is MeV

I cannot find that commit - could you provide a link to the branch and repository you are using?

This also does not work for me.

Thanks again for the detailed question. Once I am able to open the CERN box I’ll take another look at the issue.

Downloading from DESY works - I’ll take a look at it.

Lennart

Hi jhensler,

Would you mind to add the raw data All configs look alright and I’d like to run a few tests

/Lennart

Hi Lennart! Thanks for all the comprehensive answers to my questions, this was already helpful.

This should be fine. We thought about this for some time because we were not sure if 30° or -30° is correct here (also tried both).

They residuals are indeed shifted. What do you mean exactly with the rotations? The rotations of the sensors? We tried with and without aligning the rotations. When using align_orientation we found reasonable changes in the rotations (max. a few degrees). For the kink angles I remember them to be reasonable but I will check this again to be sure.

The number of tracks did not change much when using volume scattering.

https://gitlab.cern.ch/alice-its3-wp3/corryvreckan
and here I am on the master branch. Hope this is sufficient for you.

And last but not least: Sorry the data should have been already in there.
https://cernbox.cern.ch/s/UbjomVUVuzDzmHU

Johannes

Hi Johannes,

If you align without the rotations, you will “only” shift the residuals around, so not observing any change in the width is fine.

I just checked with the data you’ve provided. There is a systematic shift in the kink along the x Axis that I would not expect. Maybe the alignment is not perfect.

Even one step earlier one can see that the correlations along column behave odd: I would expect diagonal lines for all layers (modulo a small rotation of the planes relative to each other). But they are heavily asymmetric.

Is it possible, that there has been some misalignment in the rotation setup?

The unbiased residuals on your DUT are comparable wide (a 100um sigma). I think, that the reconstruction works in principle. Is it possible, that you have a higher momentum? In this case it could be that the kinks are overestimated?

Sorry for not having an direct answer to the issue.
/Lennart

Yes, I agree that this is probably due to the alignment since we also fixed the rotation in this case.
I think the asymmetry in the correlations can be explained by our beam. It seems that it is not evenly diverging.
Of course misalignments in the rotation setup can not be 100% excluded but I checked also with a different data set from a different day at (supposed) the same settings.
It can very well be that the kinks are overestimated. At least this would reason what we see in the residuals. When we calculated the scattering angle with the Highland formula we get 0.001 mrad. Is it valid to compare this value here with the one we see in the kink distribution?
We also checked the Highland formula in the source code, where beta is approximated with 1. However, we have a beta of ~0.4. But this would make the kink distribution even broader and therefore the residuals thinner.
There is definitely something going on with the kinks so we will investigate this more.

Perfect - let me know if you find something. I’ll keep an eye on the thread

Yes, this should be comparable.

Feel free to change beta locally and see what the implications are.

We did some more investigation and collected some questions and information to provide more insights.


With respect to a primary proton beam of high intensity, we have our setup at a 10° angle and we extract from a thin Aluminum target some scattered particles that we measure.
We know the setup is not perfectly aligned (the last planes seem to deviate more and more from an ideal geometry) along the x-axis. Highly exaggerated in this drawing:

Apart from that, we expect this trapezoidal shape of the correlations. On top of the broadening of the line caused by multiple scattering, we have a geometrical restriction. Since the tracks are inclined, there won’t just be the diagonal in the middle, but also data points on top and below the line. These points are not symmetric around the line, because a track with a negative slope will not pass the detector anymore if they go to high pixel values or respectively tracks with a positive slope will not pass the detector for very low pixel numbers.

Not only this, but indeed we also have a track angle distribution.

Here comparison for 0° python vs Corry (straight-line tracks, all detectors)

Python:

Corry:


Here comparison for 30° python vs Corry (straightline tracks, all detectors)

Python:

Corry:


We will not be using straightline fit, but GBL, given the low momentum particles (400-700MeV). With GBL we get better chi2ndof distributions.

Q: why excess towards one side? Is this geometry?


We select events from real particles only, since we make sure there is literally no noise. We see the high values peak, so this answers our question.


Here it seemed at first that the kink angles might be overestimated, which could have caused our thin residuals, so we did further investigations. We calculated the value once and compared it to the one we see in corry after the correction to the highland formula.
Our expectation and measurement for the two cases are as follows:
0deg (p =470MeV):
Expectation:2.3cm air (x/X0 = 0.0004) between each detector planes, 50um Si (x/X0 = 0.00116) for each detector → ~1.2 mrad from the Highland formula(PDG, eq. 34.16 from https://pdg.lbl.gov/2022/reviews/rpp2022-rev-passage-particles-matter.pdf)

Measurement: from Corry with GBL (and correction of src/objects/GblTrack.cpp · master · Corryvreckan / Corryvreckan · GitLab to account for a beta factor <1 (in our case 0.45) as per the Highland formula): ~1mrad (gauss fit of inner 98% quantile, as per PDG explanation; the average for all detectors, but first and last)

30 deg (p =470MeV):
Expectation: 10cm air (x/X0 = 0.00089) between each detector planes, 57.7um Si (30deg rotated, x/X0 = 0.00125) for each detector → ~1.5 mrad from the Highland formula

Corry: ~1.55 - 1.65mrad (gauss fit of inner 98% quantile, as per PDG explanation; average for all detectors, but first and last)

So it seems that our kink angles now are reasonable. The residuals are still thin in Tracking4D. They even got thinner (now around 0.4µm) atfer correction of beta. Which makes us wonder:

Q: How is the kink angle related to the width of the residuals? For smaller beta we expect bigger angles from Highland, therefore our angles would have been under-estimated before. And intuitivly I would also think that it makes sense that the residuals are now thinner.

Q: Why is there in GblTrack a difference between mbCurrent and mbTotal?
Q: What does it mean to have a shift/offset in the kink angle distribution? We assume this is related to the (still) misaligned setup. Can this be the offset you get from multiple scattering (in MS theory you get both an offset and a change of angle)?
Q: kink angle on the first detector is always 0 and on the last is always a very large or very small value. We believe this is because there the fit for the kink is unconstrained on one side (no scatterer outside the telescope). Is this correct?


We also tested the most recent commit from corry master (e242539d) with no differences.


Q5: We still don’t understand why the residuals are so thin in Tracking4D (global or local folders). We see these residuals of 0.5 - 2 um, which are not physical (https://corryvreckan-forum.web.cern.ch/uploads/default/original/1X/d13213eedd32d9327a26d112a5d963b70826d973.png)
Running on different data sets with compact detectors (very close together 2-3cm) we don’t see this behavior. This seems to appear only when the distances are very large. As an example: we have a dataset at 0deg with planes close together (we don’t see any problems with the residuals), we have another dataset at 0deg with planes ~10cm apart (and here the residuals get unphysically thin).
For other analysis (65nm sensors, bent sensors, etc) we did not encounter this issue.


Q6: Is there some place where we can estimate the tracking error (telescope error) for straight-line tracking and/or GBL (to get the resolution)? Asking because we see very broad (tens of um RMS) residuals and we’re not sure if we should expect this or not.

Hi,

let’s try to get an answer to your questions:

Very likely. The kinks along the x-axis are also iterating between positive and negative mean in the plots shown. It might be, that this causes the asymmetry.

GBL takes scattering and hit uncertainties into account. The larger the expected sigma from Highland, the lower the penalty in the chi2. In a very simplified and mathematically incorrect picture, one can say chi2 = (res/resolution_alpide)^2+(kink/sigma_highland)^2. Hence if you increase sigma_higland the fit prefers non-zero kink angles over a larger residual. A small increase in the kink angle with a relatively large distance between two layers will create also super narrow residuals (this should explain your Q5?). That might also be the reason you are not seeing this in the close-plane configuration

The formula is taken from this publication. You can also find the explanation there:

I don’t think this has an impact. The ALPIDES are thin (at least I hope so). Even if you would have an offset, this should also be a Gaussian distribution with a mean of zero?

Yes

We are working on this since other users also asked for an implementation.

You are operating your telescope under conditions I am not really used to and are quite challenging. I am really curious to see how everything will be solved at the end.