Corryvreckan merge requestshttps://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests2023-04-18T16:10:12+02:00https://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/626Minor fix in AnalysisTracks2023-04-18T16:10:12+02:00Miljenko SuljicMinor fix in AnalysisTracksAdd missing `sqrt`Add missing `sqrt`Miljenko SuljicMiljenko Suljichttps://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/625AnalysisTelescope: fixed coordinate transformations for MC truth2023-06-12T16:54:56+02:00Daniil RastorguevAnalysisTelescope: fixed coordinate transformations for MC truthDue to improper coordinate transformation from APSQ MC truth all MC residuals produced by this module were off by pitch/2.
This could probably be compensated for if one run APSQ misalignment + corry alignment, but in ideal case it didn't...Due to improper coordinate transformation from APSQ MC truth all MC residuals produced by this module were off by pitch/2.
This could probably be compensated for if one run APSQ misalignment + corry alignment, but in ideal case it didn't work.
Edit: change of strategy -- all the coordinate transformations are now happening on the Allpix side.
See https://gitlab.cern.ch/allpix-squared/allpix-squared/-/merge_requests/996https://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/624Fixed incorrect behavior of Tracking4D with exclude_from_seed2023-04-17T14:02:43+02:00Daniil RastorguevFixed incorrect behavior of Tracking4D with exclude_from_seedConsider an event with clusters in two detectors, one being excluded from track seed.
Then corry would try to build a seed track of two identical clusters (from the non-excluded detector), causing a crash.
Replaced a check for that, now...Consider an event with clusters in two detectors, one being excluded from track seed.
Then corry would try to build a seed track of two identical clusters (from the non-excluded detector), causing a crash.
Replaced a check for that, now instead of `tree.size() < 2` it is `reference_first == reference_last` (both null if there's no hits or equal if there's just one eligible hit).
Solves #181https://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/623Allow for asymmetric pixels in AnalysisDUT module2023-04-05T15:10:52+02:00Fabian Simon LexAllow for asymmetric pixels in AnalysisDUT moduleSame implementation as in https://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/615. Some of the in-pixel plots used static bin size of 1 um, this was also changed.Same implementation as in https://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/615. Some of the in-pixel plots used static bin size of 1 um, this was also changed.https://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/621Restructuring the plots created in the AnalysisEfficiency module2023-04-17T14:07:46+02:00Lennart HuthRestructuring the plots created in the AnalysisEfficiency moduleI've added explicit folders for
* inpixelROI:
* correlations to previous tracks
This enhances readability a lot IMHO.
There are two histograms that I'd like to remove, which plot the efficiency at the cluster position if matched, els...I've added explicit folders for
* inpixelROI:
* correlations to previous tracks
This enhances readability a lot IMHO.
There are two histograms that I'd like to remove, which plot the efficiency at the cluster position if matched, else at the track position. This mixes two different approaches and might confuse people. Any opinions on that? If there are no objections I remove them and this will be readyhttps://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/620Fixing #1822023-03-29T18:15:29+02:00Lennart HuthFixing #182Solving #182Solving #182https://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/619Fixing error in distance calculation2023-03-29T18:15:36+02:00Lennart HuthFixing error in distance calculationAs Arianna Wintle pointed out in the chat we have an mistake in calculating the abs residual - fixedAs Arianna Wintle pointed out in the chat we have an mistake in calculating the abs residual - fixedhttps://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/618ClusteringAnalog follow up of !524 & !5262023-03-24T12:19:29+01:00Miljenko SuljicClusteringAnalog follow up of !524 & !526Miljenko SuljicMiljenko Suljichttps://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/617Add cluster error plots2023-03-25T12:10:26+01:00Paul Jean SchutzeAdd cluster error plotsAdding plots that show the cluster error, useful for detectors with inhomogeneous pitch/resolution. Results e.g. in the graph below for a CMSPixel plane.
Somewhat related to !525 .
![Screenshot_from_2023-03-23_16-28-13](/uploads/c03995...Adding plots that show the cluster error, useful for detectors with inhomogeneous pitch/resolution. Results e.g. in the graph below for a CMSPixel plane.
Somewhat related to !525 .
![Screenshot_from_2023-03-23_16-28-13](/uploads/c03995284fedbcc35b1b0f272ef34423/Screenshot_from_2023-03-23_16-28-13.png)https://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/616EventLoaderEUDAQ2: add missing space in debug output2023-03-13T20:20:29+01:00Stephan Lachnitstephan.lachnit@cern.chEventLoaderEUDAQ2: add missing space in debug outputhttps://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/615Allow for asymmetric pixel sizes in the inpixel_bin_size2023-04-05T14:50:59+02:00Fabian Simon LexAllow for asymmetric pixel sizes in the inpixel_bin_size:smile: see title:smile: see titlehttps://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/614AlignmentTrackChi2: Making sure track fit is checked, before getting the chi2.2023-03-07T18:16:23+01:00Naomi Afiriyie DavisAlignmentTrackChi2: Making sure track fit is checked, before getting the chi2.The Chi2 of a track fit is only added if the fit didn't fail. Failed track fits are discarded, and not included in the alignment process.The Chi2 of a track fit is only added if the fit didn't fail. Failed track fits are discarded, and not included in the alignment process.https://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/612Update AUTHORS.md2023-03-02T11:43:45+01:00Adriana SimancasUpdate AUTHORS.mdhttps://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/610AnalysisEfficiency: Added fake rate analysis and plots.2023-03-03T11:34:27+01:00Finn FeindtAnalysisEfficiency: Added fake rate analysis and plots.The main idea is to look for clusters and hits that are far away from reconstructed tracks. Those are defined as fake, which neglects effects of tracking in-efficiency. There are two slightly different versions. The “radial” version cons...The main idea is to look for clusters and hits that are far away from reconstructed tracks. Those are defined as fake, which neglects effects of tracking in-efficiency. There are two slightly different versions. The “radial” version considers DUT clusters without reconstructed track in a configurable radius around them as fake. The other looks for events without tracks intercepting the DUT and considers all DUT activity in these events as fake. The former method is intended for large DUTs, the latter for small ones. Both are briefly described in the README.
I ran some tests on dSiPM data. Both methods give results that are compatible with expectations from DCR measurements at similar over-voltage and temperature, although the “radial” method yields systematically higher results. I would say some systematic studies are needed.Finn FeindtFinn Feindthttps://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/609allow excluding passive detectors from modules - analogous to aux detectors2023-03-02T14:03:10+01:00Annika Vauthallow excluding passive detectors from modules - analogous to aux detectorsI noticed that a detector with ```role="passive"``` will also show up in a lot of places I would not expect it - e.g. histograms created in the clustering module, the prealignment module tries to align it, ...
If my understanding of wh...I noticed that a detector with ```role="passive"``` will also show up in a lot of places I would not expect it - e.g. histograms created in the clustering module, the prealignment module tries to align it, ...
If my understanding of what a "passive" detector is supposed to be is right, wouldn't it make sense to have the option to exclude it from certain modules, same as for auxiliary detectors?https://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/608Use Pull-through cache for docker2023-03-02T11:36:41+01:00Simon SpannagelUse Pull-through cache for dockerUse Pull-through for docker images, see https://kubernetes.docs.cern.ch/docs/registry/quickstart/#pull-through-cachesUse Pull-through for docker images, see https://kubernetes.docs.cern.ch/docs/registry/quickstart/#pull-through-cacheshttps://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/607TrackingMultiplet changes to use it for a DUT (v2)2023-03-29T18:16:42+02:00Annika VauthTrackingMultiplet changes to use it for a DUT (v2)Re-implementation of !502 , to have a "clean start" after the changes in the tracking classes in the past year.
Description partially copied from there :innocent:
------
Follow-up of the discussion on mattermost:
Some changes to use ...Re-implementation of !502 , to have a "clean start" after the changes in the tracking classes in the past year.
Description partially copied from there :innocent:
------
Follow-up of the discussion on mattermost:
Some changes to use TrackingMultiplet with a DUT (rather than a scatterer) - e.g. for a use case with a scatterer behind the DUT, before the downstream telescope planes.
Contains the following changes:
`TrackingMultiplet`
- gbl refit (Thanks @lhuth !)
- options "require_detectors" and "timestamp_from" (analogous to what exists in Tracking4D)
- update README accordingly
Some more changes necessary to use the Multiplet Tracks for DUT analysis (before, unless the DUT was used for building the Multiplet, DUTAssociation etc would crash with
```
"Fatal internal error
Track Object Multiplet does not have any entry for detector <dut>
Cannot continue..."
```
--> force registration of the all planes to the multiplet (all upstream/downstream planes to the upstream/downstream tracklets).
Not sure if this is the best way to fix this issue, but I also didn't see any obvious less-messy ways to do it differently
Few related classes:
- added some debug-level log messages while debugging the changes above
(not directly related to the new functionality, so I could remove them again, if you think there's no future use)https://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/606AlignmentDUTResidual: Ensure that track fit has not failed2023-02-24T17:25:33+01:00Lennart HuthAlignmentDUTResidual: Ensure that track fit has not failedAs pointed out by @yotarid the module `AlignmentDUTResidual` is not checking if the refit has converged. This PR fixes this by
a) Checking if the refit failed this iteration
b) Refitting if it has failed in the last oneAs pointed out by @yotarid the module `AlignmentDUTResidual` is not checking if the refit has converged. This PR fixes this by
a) Checking if the refit failed this iteration
b) Refitting if it has failed in the last onehttps://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/605AnalysisEfficiency: fixed axis of global efficiency plots2023-03-02T17:24:35+01:00Adriana SimancasAnalysisEfficiency: fixed axis of global efficiency plotsChanged axis of global efficiency plots to be able to find the sensor even if it's not centered in global coordinates.
**Before the fix:**
The DUT sometimes can be quite off the center of the global coordinates, like in this picture:
!...Changed axis of global efficiency plots to be able to find the sensor even if it's not centered in global coordinates.
**Before the fix:**
The DUT sometimes can be quite off the center of the global coordinates, like in this picture:
![Screenshot_from_2023-02-22_17-12-57](/uploads/2b3ebef31dbb8affdde2e99a7a147671/Screenshot_from_2023-02-22_17-12-57.png)
And the axis of the global efficiency plots are centered at 0 with a relatively small range (1.5 times the size of the DUT), so the plot looks like this:
![Screenshot_from_2023-02-22_17-14-42](/uploads/ff2908b489c7cec828de89d447e0e3dc/Screenshot_from_2023-02-22_17-14-42.png)
**After the fix:**
The axis of the global efficiency plots are now dependent on the DUT global position and it's possible to see where the efficiency is being plotted:
![Screenshot_from_2023-02-24_14-18-57](/uploads/69dab45f3fbb324f6bb64b485d1bf805/Screenshot_from_2023-02-24_14-18-57.png)https://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/604Detector: always specify the coordinates after aligning2023-02-23T19:08:12+01:00Lennart HuthDetector: always specify the coordinates after aligningUp to now, only non-cartesian coordinate information has been stored after alignment. I think we should always add this as @yotarid has pointed out in a private chat.
Since this feature has been added by @ebuschma - any objections?Up to now, only non-cartesian coordinate information has been stored after alignment. I think we should always add this as @yotarid has pointed out in a private chat.
Since this feature has been added by @ebuschma - any objections?