Commit b5f064aa authored by Simon Spannagel's avatar Simon Spannagel
Browse files

First modules ported from CLICdp-Note-2019-006

parent 88d98ccd
Pipeline #1261826 passed with stages
in 15 minutes and 48 seconds
......@@ -7,31 +7,26 @@
### Description
This module performs translational and rotational DUT alignment. The alignment is performed with respect to the reference plane set in the configuration file.
This module uses tracks for alignment. The module moves the detector is is instantiated for and minimises the unbiased residuals calculated from the track intercepts with the plane.
This module uses tracks for alignment. The module moves the detector it is instantiated for and minimizes the unbiased residuals calculated from the track intercepts with the plane.
### Parameters
* `iterations`: Number of times the chosen alignment method is to be iterated. Default value is `3`.
* `align_position`: Boolean to select whether to align the X and Y displacements of the detector or not. Note that the Z displacement is never aligned. The default value is `true`.
* `align_orientation`: Boolean to select whether to align the three rotations of the detector under consideration or not. The default value is `true`.
* `prune_tracks`: Boolean to set if tracks with a number of associated clusters > `max_associated_clusters` or with a track chi^2 > `max_track_chi2ndof` should be excluded from use in the alignment. The number of discarded tracks is outputted on terminal. Default is `false`.
* `prune_tracks`: Boolean to set if tracks with a number of associated clusters > `max_associated_clusters` or with a track chi^2 > `max_track_chi2ndof` should be excluded from use in the alignment. The number of discarded tracks is written to the terminal. Default is `false`.
* `max_associated_clusters`: Maximum number of associated clusters per track allowed when `prune_tracks = true` for the track to be used in the alignment. Default value is `1`.
* `max_track_chi2ndof`: Maximum track chi^2 value allowed when `prune_tracks = true` for the track to be used in the alignment. Default value is `10.0`.
### Plots produced
For the detector under consideration, the following plots are produced:
* Residual in X (calculated in local coordinates)
* Residual in Y
* Profile plot of residual in X vs. X position
* Profile plot of residual in X vs. Y position
* Profile plot of residual in Y vs. X position
* Profile plot of residual in Y vs. Y position
For the DUT, the following plots are produced:
* Residuals in X and Y (calculated in local coordinates)
* Profile plot of residual in X vs. X, X vs. Y, Y vs. X and Y vs. Y position
### Usage
```toml
[Corryvreckan]
# The global track limit can be used to restrict the alignment:
# The global track limit can be used to reduce the run time:
number_of_tracks = 200000
[AlignmentDUTResidual]
......
......@@ -4,7 +4,7 @@
**Status**: Work in progress
### Description
This implementation of the Millepede module has been taken from the [Kepler framework](https://gitlab.cern.ch/lhcb/Kepler) used for test beam data analysis within the LHCb collaboration. It has been written by Christoph Hombach and has seen contributions from Tim Evans and Heinrich Schindler. This version is only slightly adapted to the Corryvreckan framework.
This implementation of the Millepede module has been taken from the [Kepler framework](https://gitlab.cern.ch/lhcb/Kepler) used for test beam data analysis within the LHCb collaboration. It has been written by Christoph Hombach and has seen contributions from Tim Evans and Heinrich Schindler. This version is adapted to the Corryvreckan framework.
The Millepede algorithm allows a simultaneous fit of both the tracks and the alignment constants.
......@@ -18,8 +18,8 @@ is `false`.
* `residual_cut`: Residual cut to reject a track as an outlier. Default value is `0.05mm`;
* `residual_cut_init`: Initial residual cut for outlier rejection in the first iteration. This value is applied for the first iteration and replaced by `residual_cut` thereafter. Default value is `0.6mm`.
* `number_of_stddev`: Cut to reject track candidates based on their Chi2/ndof value. Default value is `0`, i.e. the feature is disabled.
* `sigmas`: Uncertainties for each of the alignment parameters. Defaults to `0.05, 0.05, 0.5, 0.005, 0.005, 0.005`.
* `convergence`: Convergence value at which the module stops iterating. Default value is `10e-5`.
* `sigmas`: Uncertainties for each of the alignment parameters described above, in their respective units. Defaults to `50um, 50um, 50um, 0.005rad, 0.005rad, 0.005rad`.
* `convergence`: Convergence value at which the module stops iterating. It is defined as the sum of all residuals divided by the number of free parameters. Default value is `10e-5`.
### Usage
```toml
......
......@@ -18,18 +18,15 @@ For each telescope detector except the reference plane, this method moves the de
* `max_track_chi2ndof`: Maximum track chi^2 value allowed when `prune_tracks = true` for the track to be used in the alignment. Default value is `10.0`.
### Plots produced
For each detector the following plots are produced:
For each detector, the following plots are produced:
* Translational shift along X-axis vs. iteration number
* Translational shift along Y-axis vs. iteration number
* Rotational shift around X-axis vs. iteration number
* Rotational shift around Y-axis vs. iteration number
* Rotational shift around Z-axis vs. iteration number
* Graphs of the translational shifts along the X/Y-axis vs. the iteration number
* Graphs of the rotational shifts along the X/Y/Z-axis vs. the iteration number
### Usage
```toml
[Corryvreckan]
# The global track limit can be used to restrict the alignment:
# The global track limit can be used to reduce the run time:
number_of_tracks = 200000
[AlignmentTrackChi2]
......
......@@ -2,42 +2,34 @@
**Maintainer**: Simon Spannagel (<simon.spannagel@cern.ch>)
**Module Type**: *DUT*
**Detector Type**: *all*
**Status**: Work in progress
**Status**: Functional
### Description
Generic analysis module for all prototypes. This module is still work in progress, changes to functionality and behaviour are to be expected.
Generic analysis module for all prototypes.
### Parameters
* `time_cut_frameedge`: Parameter to discard telescope tracks at the frame edges (start and end of the current CLICpix2 frame). Defaults to `20ns`.
* `chi2ndof_cut`: Acceptance criterion for telescope tracks, defaults to a value of `3`.
* `use_closest_cluster`: If a track has more than one associated cluster the cluster with the smallest distance to the track is used. Defaults to `true`
* `chi2ndof_cut`: Acceptance criterion for the maximum telescope tracks chi2/ndf, defaults to a value of `3`.
* `use_closest_cluster`: If `true` the cluster with the smallest distance to the track is used if a track has more than one associated cluster. If `false`, loop over all associated clusters. Defaults to `true`.
### Plots produced
* 2D Map of associated cluster positions
* 2D Map of cluster sizes for associated clusters
* 2D Map of cluster charge values from associated clusters
* 2D Map of associated hits
* 2D Map of tracks not associated to a cluster
* 2D Map of associated hits within the defined region-of-interest
* Distribution of pixel raw value (ToT, ADC, ...) values from associated clusters
* 2D Map of pixel raw value (ToT, ADC, ...) values from associated clusters
* Number of tracks discarded by a given cut
* Track residuals in X and Y
* Track residuals for 1-pixel-clusters in X and Y
* Track residuals for 2-pixel-clusters in X and Y
* Distribution of cluster charge values from associated clusters
* Distribution of sizes from associated clusters
* Normalised distribution of sizes from associated clusters
* Distribution of sizes from associated clusters in column
* Distribution of sizes from associated clusters in rows
* 2D Map of in-pixel efficiency
* 2D Map of the chip efficiency in local coordinates
* 2D Map of the chip efficiency on global coordinates
* 2D Map of track positions associated to a cluster
* 2D Map of track positions not associated to a cluster
For the DUT, the following plots are produced:
* 2D histograms:
* Maps of the position, size, and charge/raw value of associated clusters
* Maps of all pixels of associated clusters and those within the region-of-interest
* Maps of the in-pixel efficiencies in local/global coordinates
* Maps of matched/non-matched track positions
* 1D histograms:
* Histograms of the cluster size of associated clusters in X/Y
* Histogram of the charge/raw values of associated clusters
* Various histograms for track residuals for different cluster sizes
### Usage
```toml
[CLICpix2Analysis]
timeCutFrameEdge = 50ns
[AnalysisDUT]
time_cut_frameedge = 50ns
chi2ndof_cut = 5.
use_closest_cluster = false
```
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment