Hi everyone,
I am working with gaseous strip detectors and trying to see if we can do tracking reconstruction using Corryvreckan.
The approach that I am currently using in Corryvreckan is the following: I split the XY planes of the strip detectors into individual detectors. What this means is that, for the X-plane detectors we have 256 columns and 1 row, and for the for the Y-plane detectors we have 1 column and 256 rows. The sizes of the pixels for these detectors 100mm in one direction and 400um in the other direction. So I will have eight detectors in total from 4 GEM’s (GEMX1, GEMY1, GEMX2, …).
>> Snippet from the detectors file...
[GEMY3]
coordinates = "cartesian"
material_budget = 0.01068
number_of_pixels = 1, 256
orientation = 0deg,0deg,0deg
orientation_mode = "xyz"
pixel_pitch = 100000um,400um
position = -554.46um,826.895um,-960.05mm
spatial_resolution = 400um,400um
time_resolution = 20ns
type = "strip_gemrd51"
[GEMX3]
coordinates = "cartesian"
material_budget = 0.01068
number_of_pixels = 256, 1
orientation = 0deg,0deg,0deg
orientation_mode = "xyz"
pixel_pitch = 400um,100000um
position = 3.99586mm,1.52039mm,-960mm
spatial_resolution = 400um,400um
time_resolution = 20ns
type = "strip_gemrd51"
I have my own custom module which loads in the strip hit data. From these strip hits, I let the default module [Clustering4D] to do the clustering. The clusters that Corryvreckan does for the planes are similar that we get from our own software (comparing the distribution and the amount of clusters).
The problem then arises when I try to do tracking in Corryvreckan. The tracks that Corryvreckan does are done using untrue 2D data, or at least that is how interpret it. As we assign the “long coordinate” to be zero, the hits inside the individual plane detectors will always be in the center of the pixel. What this means is that for these plane detectors, in the global coordinate system, the clusters that Corryvreckan does will always be on the X-axis for the X-plane detectors and on the Y-axis for the Y-plane detectors (or close to the axes when the telescope is aligned). As the planes are individual detectors the tracks is then made in-between these clusters when connected by a straight line. I tried to illustrate his problem with a drawing I made.
If the X and Y clusters were matched before the tracking, I would assume that Corryvreckan would do the tracking correctly. Currently I don’t know if this is possible to do in Corryvreckan without modifying the source code.
Another possibility would be to do the tracking for the y-plane and the x-plane and then match these tracks, but then the question is how do we apply rotational corrections in this approach, as we are doing tracking on a single plane at a time?
For alignment, I don’t do any rotational alignment as with this setting the X- and Y-plane detectors would be rotated by almost 90 deg (~80 deg in X-axis for Y-plane detectors and vice versa). With alignment I am only doing translational alignment and using the first detector in my setup as the reference, so the X-plane of the first GEM detector: GEMX1. I checked that the telescope is aligned from the correlation plots that the [Correlations] module gives. When the first X-plane is the reference detector, the correlations are good for the other X-plane detectors, but for the Y-plane detectors the correlations give a vertical line as the Y is always zero. I checked the Y correlations by changing the reference detector to be the first Y-plane detector, and then the correlation plots were good for the Y-plane detectors, but again a vertical line for the X-plane detectors as one would expect.
Now with this long introduction, my questions would be:
Is it possible to resolve this tracking issue without modifying the source code?
I see that there were some other people working with strip detectors using Corryvreckan, how were you guys able to get tracking done? Did you have a different approach?