Commit 19f37e48 authored by Simon Spannagel's avatar Simon Spannagel
Browse files
parents dd20f6bc 4a345917
## Algorithm: ATLASpixEventLoader
**Maintainer**: Simon Spannagel (<simon.spannagel@cern.ch>)
**Status**: Outdated
#### Description
This algorithm reads in data for the ATLASpix device from an input file.
The algorithm opens and reads one data file in the specified input directory with the ending `.dat`. For each hit it, stores the detectorID, row, column, and ToT.
Outdated as data format and decoding for this device has since changed.
#### Parameters
* `inputDirectory`: Path to the directory containing the `.dat` file. This path should lead to the directory above the ALTASpix directory, as this string is added to the input directory in the algorithm.
* `DUT`: Name of the DUT plane.
#### Plots produced
* 2D Hit map
* 1D Pixel ToT histogram
* 1D Pixels per frame histogram
#### Usage
```toml
[ATLASpixEventLoader]
DUT = "W0005_H03"
inputDirectory = /user/data/directory
```
Parameters to be used in multiple algorithms can also be defined globally at the top of the configuration file. This is highly encouraged for parameters such as `DUT` and `reference`.
## Algorithm: Alignment
**Maintainer**: Daniel Hynds (<daniel.hynds@cern.ch>)
**Status**: Functional
#### Description
This algorithm performs translational and rotational telescope plane alignment.
The alignment is performed with respect to the reference plane set in the configuration file.
This algorithm uses the tracks produced by the `BasicTracking` algorithm to align the telescope planes. There are two methods available for alignment:
##### 1) Minimising the track chi^2
For each telescope detector except the reference plane, this method moves the detector, refits all of the tracks, and minimises the chi^2 of these new tracks. The parameters `detectorToAlign` and `DUT` are not used in this method as it automatically iterates through all telescope planes except the DUT.
##### 2) Minimising the track (unbiased) residuals
For the detector specified by the `detectorToAlign` parameter, this method moves the detector, refits all the tracks, and minimises the unbiased residuals calculated from the track intercepts with the plane.
#### Parameters
* `number_of_tracks`: Number of tracks used in the alignment method chosen. Default value is `20000`.
* `iterations`: Number of times the chosen alignment method is to be iterated. Default value is `3`.
* `alignmentMethod`: Determines the alignment method used. To use the track chi^2 minimisation `alignmentMethod = 0`; to use the track residual minimisation `alignmentMethod = 1`.
* `detectorToAlign`: Parameter to set a particular plane to align. This parameter is only used in the residuals method (`alignmentMethod = 1`). The default is the `DUT` plane.
* `DUT`: Name of the DUT plane.
* `reference`: Name of the detector used as the alignment reference plane. All other telescope planes are aligned with respect to the reference plane.
#### Plots 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
* Translational shift along Z-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
#### Usage
```toml
[Alignment]
alignmentMethod = 0
masked = "W0005_H03" #excluding the DUT from the alignment
number_of_tracks = 1000000
log_level = INFO
```
Parameters to be used in multiple algorithms can also be defined globally at the top of the configuration file. This is highly encouraged for parameters such as `DUT` and `reference`.
## Algorithm: BasicTracking
**Maintainer**: Simon Spannagel (<simon.spannagel@cern.ch>)
**Status**: Functional
#### Description
This algorithm performs a basic tracking method.
Clusters from the first plane in Z (named the seed plane) are related to clusters close in time on the other detector planes using straight line tracks. The DUT plane can be excluded from the track finding and DUT clusters potentially associated with the track stored.
#### Parameters
* `timingCut`: Maximum time difference allowed between clusters for association. In units of seconds. Default value is `0.0000002` (200ns).
* `spatialCut`: Maximum spatial distance in the XY plane allowed between clusters for association. In units of millimetres. Default value is `0.2` (200um).
* `minHitsOnTrack`: Minium number of associated clusters needed to create a track, equivalent to the minimum number of planes required for each track. Default value is `6`.
* `excludeDUT`: Boolean to chose if the DUT plane is included in the track finding. In either case, the DUT clusters possibly associated with the track are saved. Default value is `true`.
* `DUT`: Name of the DUT plane.
#### Plots produced
* Track chi^2 histogram
* Track chi^2 /degrees of freedom histogram
* Clusters per track histogram
* Tracks per event histogram
* Track angle with respect to X-axis histogram
* Track angle with respect to Y-axis histogram
For each detector the following plots are produced:
* Residual in X
* Residual in Y
* Residual in X for clusters with a width in X of 1
* Residual in Y for clusters with a width in X of 1
* Residual in X for clusters with a width in X of 2
* Residual in Y for clusters with a width in X of 2
* Residual in X for clusters with a width in X of 3
* Residual in Y for clusters with a width in X of 3
#### Usage
```toml
[BasicTracking]
minHitsOnTrack = 4
spatialCut = 0.3 #300um
timingCut = 0.0000002 #200ns
excludeDUT = true
```
Parameters to be used in multiple algorithms can also be defined globally at the top of the configuration file. This is highly encouraged for parameters such as `DUT` and `reference`.
## Algorithm: CLICpixEventLoader
**Maintainer**: Daniel Hynds (<daniel.hynds@cern.ch>)
**Status**: Functional
#### Description
This algorithm reads in data for a CLICpix device from an input file.
The algorithm opens and reads one data file in the specified input directory with the ending `.dat`. For each hit it stores the detectorID, row, column, and ToT. The shutter rise and fall time information are used to set the current time and event length.
#### Parameters
* `inputDirectory`: Path to the directory containing the `.dat` file. This path should lead to the directory above the CLICpix directory, as this string is added onto the input directory in the algorithm.
* `DUT`: Name of the DUT plane.
#### Plots produced
* 2D Hit map
* 1D Pixel ToT histogram
* 1D Pixels per frame histogram
* 1D Shutter length histogram
#### Usage
```toml
[CLICpixEventLoader]
DUT = "W0005_H03"
inputDirectory = /user/data/directory
```
Parameters to be used in multiple algorithms can also be defined globally at the top of the configuration file. This is highly encouraged for parameters such as `DUT` and `reference`.
......@@ -27,6 +27,8 @@ void Clicpix2Correlator::initialise() {
string name = "rotated" + std::to_string(angle);
string histo = "hTrackDiffX_" + name;
hTrackDiffX[name] = new TH1F(histo.c_str(), histo.c_str(), 4000, -20, 20);
string histo2 = "hTrackDiffY_" + name;
hTrackDiffY[name] = new TH1F(histo2.c_str(), histo2.c_str(), 4000, -20, 20);
}
// Initialise member variables
......
......@@ -5,7 +5,6 @@
#include <sstream>
#include "TCanvas.h"
#include "TH1F.h"
#include "TH2F.h"
#include "core/algorithm/Algorithm.h"
#include "objects/Cluster.h"
#include "objects/Pixel.h"
......
## Algorithm: CLICpix2Correlator
**Maintainer**: Daniel Hynds (<daniel.hynds@cern.ch>)
**Status**: Functional
#### Description
This algorithm makes plots of the correlations in X and Y for angles between 0 and 2pi in steps of 0.6 radians.
#### Parameters
* `DUT`: Name of the DUT plane.
#### Plots produced
* For each angle between 0 and 2pi in steps of 0.6 radians the following plots are produced:
* Correlation (track difference) in X
* Correlation (track difference) in Y
#### Usage
```toml
[CLICpix2Correlator]
DUT = "W0005_H03"
```
Parameters to be used in multiple algorithms can also be defined globally at the top of the configuration file. This is highly encouraged for parameters such as `DUT` and `reference`.
## Algorithm: CLICpix2EventLoader
**Maintainer**: Daniel Hynds (<daniel.hynds@cern.ch>)
**Status**: Functional
#### Description
This algorithm reads in data for a CLICpix2 device from an input file.
The algorithm opens and reads one data file in the specified input directory. For each hit it stores the detectorID, row, column, and ToT. The shutter rise and fall time information are used to set the current time and event length.
#### Parameters
* `inputDirectory`: Path to the directory containing the `.csv` file. This path should lead to the directory above the CLICpix directory, as this string is added onto the input directory in the algorithm.
* `DUT`: Name of the DUT plane.
#### Plots produced
* 2D Hit map
* 1D Pixel ToT histogram
* 1D Pixels per frame histogram
#### Usage
```toml
[CLICpix2EventLoader]
DUT = "W0005_H03"
inputDirectory = /user/data/directory
```
Parameters to be used in multiple algorithms can also be defined globally at the top of the configuration file. This is highly encouraged for parameters such as `DUT` and `reference`.
## Algorithm: CLICpixAnalysis
**Maintainer**: Daniel Hynds (<daniel.hynds@cern.ch>)
**Status**: Functional
#### Description
This algorithm associates CLICpix2 DUT clusters to tracks using a spatial cut (device type not checked). A significant number of analysis plots are produced.
#### Parameters
* `associationCut`: Maximum distance between a track and cluster for them to be associated. Units of mm. Default value is `0.05` (50um).
* `proximityCut`: Maximum distance apart two tracks are for them to be 'close' to each other. If at the CLICpix plane there are two tracks close to each other, the DUT cluster is not associated with either track. Units of mm. Default value is `0.0005` (0.5um).
* `timepix3Telescope`: Boolean to set whether the Timepix3 telescope is being used. Default value is `false`.
* `DUT`: Name of the DUT plane.
#### Plots produced
For the DUT the following plots are produced:
* 2D hitmap
* Column hits histogram
* Row hits histogram
* Cluster size histogram
* CLuster ToT histogram
* Clusters per event histogram
* Clusters vs event number
* Cluster width histogram (rows, Y-axis)
* Cluster width histogram (columns, X-axis)
* Global track difference
* Global track difference in Y
* Global residuals in X
* Global residuals in Y
* Absolute residuals
* Global residuals in X vs X
* Global residuals in X vs Y
* Global residuals in Y vs X
* Global residuals in Y vs Y
* Global residuals in X vs column width
* Global residuals in X vs row width
* Global residuals in Y vs column width
* Global residuals in Y vs row width
*
* Track intercept in rows
* Track intercept in columns
* Absolute residual map histogram
* X residual vs Y residual
* Associated clusters per event histogram
* Associated clusters vs event number
* Associated clusters vs trigger number
* Associated cluster row
* Associated cluster column
* Frame efficiency histogram
* Frame tracks
* Associated frame tracks
* Associated cluster size
* Associated cluster width (row)
* Associated cluster width (column)
* Associated 1-pixel cluster ToT
* Associated 2-pixel cluster ToT
* Associated 3-pixel cluster ToT
* Associated 4-pixel cluster ToT
* Pixel response in X
* Pixel response in X in global coordinates
* Pixel response in X for odd columns
* Pixel response in X for even columns
* Pixel response in Y
* Pixel response in Y in global coordinates
* Pixel response in Y for odd columns
* Pixel response in Y for even columns
* 2D eta distribution in X
* 2D eta distribution in Y
* Local residual for rows for 2-pixel clusters
* Local residual for columns for 2-pixel clusters
* Cluster ToT for rows for 2-pixel clusters
* Cluster ToT for columns for 2-pixel clusters
* Pixel ToT for rows for 2-pixel clusters
* Pixel ToT for columns for 2-pixel clusters
* Cluster ToT ratio for rows for 2-pixel clusters
* Cluster ToT ratio for rows for 2-pixel clusters
* Local residuals for rows for 2-pixel clusters
* 2D track intercepts
* 2D associatedd track intercepts
* 2D cluster positions in global coordinates
* 2D associated cluster positions in global coordinates
* 2D track-pixel intercepts
* 2D track-associated pixel intercepts
* 2D track-chip intercepts
* 2D track-associated chip intercepts
* 2D track-unassociated chip intercepts
* 2D track-chip intercepts lost
* 2D pixel efficiency
* 2D chip efficiency
* 2D global efficiency
* 2D intercepts for cluster size of 1-pixel
* 2D intercepts for cluster size of 2-pixel
* 2D intercepts for cluster size of 3-pixel
* 2D intercepts for cluster size of 4-pixel
* 2D Associated cluster size map
#### Usage
```toml
[CLICpixAnalysis]
associationCut = 0.005
proximityCut = 0.005
timepix3Telescope = true
DUT = "W0003_H05"
```
Parameters to be used in multiple algorithms can also be defined globally at the top of the configuration file. This is highly encouraged for parameters such as `DUT` and `reference`.
## Algorithm: DUTAnalysis
**Maintainer**: Simon Spannagel (<simon.spannagel@cern.ch>) ; Daniel Hynds (<daniel.hynds@cern.ch>)
**Status**: Functional
#### Description
This algorithm associates DUT clusters to telescope tracks.
Using the appropriate parameter settings in the configuration file, plots using power pulsing and/or Monte-Carlo truth information can be produced.
#### Parameters
* `DUT`: Name of the DUT plane.
* `useMCtruth`: Boolean to set if Monte-Carlo truth information is available and should be used. Default value is `false`.
* `digitalPowerPusling`: Boolean to set if power pulsing was used and that this information should be used. Default value is `false`.
#### Plots produced
* Tracks vs time
* Associated tracks vs time
* Residual in X
* Residual in Y
* Residual in time
* Associated cluster ToT
* Associated cluster size
* Track correlations in X
* Track correlations in Y
* Track correlations in time
* Cluster ToT vs time
* Residual in time vs time
* 2D histogram of associated track global positions
* 2D histogram of unassociated track global positions
* Residual in X using MC truth information, only produced if `usingMCtruth = true`
* Tracks vs time since power on, only produced in `digitalPowerPusling = true`
* Associated tracks vs time since power on, only produced in `digitalPowerPusling = true`
#### Usage
```toml
[DUTAnalysis]
digitalPowerPusling = false
useMCtruth = true
DUT = "W0005_H03"
```
Parameters to be used in multiple algorithms can also be defined globally at the top of the configuration file. This is highly encouraged for parameters such as `DUT` and `reference`.
......@@ -6,13 +6,7 @@
#include <iostream>
#include <sstream>
#include <stdint.h>
#include "TCanvas.h"
#include "TH1F.h"
#include "TH2F.h"
#include "core/algorithm/Algorithm.h"
#include "objects/Cluster.h"
#include "objects/Pixel.h"
#include "objects/Track.h"
namespace corryvreckan {
class DataDump : public Algorithm {
......
## Algorithm: DataDump
**Maintainer**: Daniel Hynds (<daniel.hynds@cern.ch>)
**Status**: Functional
#### Description
This algorithm reads in raw data files with extension `-1.dat`, and outputs the pixel data in hexidecimal in an output file called `outputHexDump.dat`.
#### Parameters
* `DeviceToDumpData`: The name of the device data is to be read from.
* `inputDirectory`: Path to the directory above the data directory named `DeviceToDumpData`.
#### Plots produced
No plots are produced.
#### Usage
```toml
[DataDump]
DeviceToDumpData = "W0005_H03"
inputDirectory = "path/to/directory"
```
Parameters to be used in multiple algorithms can also be defined globally at the top of the configuration file. This is highly encouraged for parameters such as `DUT` and `reference`.
## Algorithm: EtaCorrection
**Maintainer**: Daniel Hynds (<daniel.hynds@cern.ch>)
**Status**: Under development
#### Description
This algorithm takes data from Timepix3 devices from the clipboard and plots the pixel hit positions to create the eta correction. Eta correction has still to be implemented in this algorithm (under development).
#### Parameters
No parameters are used from the configuration file.
#### Plots produced
* Histogram of event numbers
For each detector the following plots are produced:
* 2D histogram of pixel hit positions
#### Usage
```toml
[EtaCorrection]
```
Parameters to be used in multiple algorithms can also be defined globally at the top of the configuration file. This is highly encouraged for parameters such as `DUT` and `reference`.
## Algorithm: FileReader
**Maintainer**: Simon Spannagel (<simon.spannagel@cern.ch>)
**Status**: Functional
#### Description
This algorithm reads in an input file containing trees with data previously written out by the `FileWriter`. The read in objects are stored on the clipboard. It reads in `pixel`, `cluster`, `track`, and/or `MCparticle` objects.
#### Parameters
* `onlyDUT`: Boolean to decide if data is read in from only the DUT. Default value is `false`.
* `readPixels`: Boolean to choose if pixel objects are to be read in. Default value is `true`.
* `readClusters`: Boolean to choose if cluster objects are to be read in. Default value is `false`.
* `readTracks`: Boolean to choose if track objects are to be read in. Default value is `false`.
* `readMCParticles`: Boolean to choose if Monte-Carlo particle objects are to be read in. Default value is `false`.
* `fileName`: Name of the file from which data will be read. Default value is `ouyputTuples.root`.
* `timeWindow`: Data with time lower than this value will be read in. Default value is `1`.
* `DUT`: Name of the DUT plane.
#### Plots produced
No plots are produced.
#### Usage
```toml
[FileReader]
onlyDUT = true
readPixels = true
readClusters = true
readTracks = false
readMCParticles = true
fileName = "input_file.root"
timeWindow = 1
DUT = "W0005_H03"
```
Parameters to be used in multiple algorithms can also be defined globally at the top of the configuration file. This is highly encouraged for parameters such as `DUT` and `reference`.
## Algorithm: FileWriter
**Maintainer**: Simon Spannagel (<simon.spannagel@cern.ch>)
**Status**: Functional
#### Description
This algorithm writes an output file and fills it with trees containing the requested data objects. `Pixel`, `cluster`, and/or `track` objects can be written into the trees.
#### Parameters
* `DUT`: Name of the DUT plane.
* `onlyDUT`: Boolean to decide if only the DUT data is to be written into the outputfile, or if all planes are to be. Default value is `true`.
* `writePixels`: Boolean to choose if pixel objects are to be written out. Default value is `true`.
* `writeClusters`: Boolean to choose if cluster objects are to be written out. Default value is `false`.
* `writeTracks`: Boolean to choose if track objects are to be written out. Default value is `true`.
* `fileName`: Name of the output file. Default value is `outputTuples.root`.
#### Plots produced
No plots are produced.
#### Usage
```toml
[FileWriter]
DUT = "W000_H03"
onlyDUT = false
writePixels = true
writeClusters = true
writeTracks = true
fileName = "output.root"
```
Parameters to be used in multiple algorithms can also be defined globally at the top of the configuration file. This is highly encouraged for parameters such as `DUT` and `reference`.
......@@ -6,8 +6,6 @@
#include "TBrowser.h"
#include "TCanvas.h"
#include "TH1F.h"
#include "TH2F.h"
#include "TH3F.h"
#include "TThread.h"
#include "core/algorithm/Algorithm.h"
......
## Algorithm: GUI
**Maintainer**: Daniel Hynds (<daniel.hynds@cern.ch>)
**Status**: Functional - needing small fix
#### Description
This algorithm is a GUI for looking at plots made during the `BasicTracking`, `DUTAnalysis`, and `TestAlgorithm` algorithms. It is not functional.
#### Parameters
* `updateNumber`: Determines how often the plots are updated on screen. Default number is `500`.
* `DUT`: Name of the DUT plane.
#### Plots produced
Plots produced on screen:
* Track chi^2 plot from `BasicTracking`
* Track angle in x from `BasicTracking`
Plots produced on screen for each device:
* Hitmap from `TestAlgorithm`
* Residual in X from `BasicTracking` for telescope planes, from `DUTAnalysis` for the DUT
* Cluster ToT histogram from `TestAlgorithm` - currently not filled
#### Usage
```toml
[GUI]
DUT = "W000_H03"
updateNumber = 400
```
Parameters to be used in multiple algorithms can also be defined globally at the top of the configuration file. This is highly encouraged for parameters such as `DUT` and `reference`.
## Algorithm: GenericAlgorithm
**Maintainer**: Daniel Hynds (<daniel.hynds@cern.ch>)
**Status**: Functional
#### Description
This algorithm takes data from a Timepix3 device from the clipboard and plots the pixel hit positions. This is to be a template to easy create other algorithms for Corryvreckan.
#### Parameters
No parameters are used from the configuration file.
#### Plots produced
* Histogram of event numbers
For each detector the following plots are produced:
* 2D histogram of pixel hit positions
#### Usage
```toml
[GenericAlgorithm]
```
Parameters to be used in multiple algorithms can also be defined globally at the top of the configuration file. This is highly encouraged for parameters such as `DUT` and `reference`.
......@@ -18,7 +18,6 @@
#include "TGMenu.h"
#include "TGTextEntry.h"
#include "TH1F.h"
#include "TH2F.h"
#include "TROOT.h"
#include "TRootEmbeddedCanvas.h"
#include "TSystem.h"
......
## Algorithm: OnlineMonitor
**Maintainer**: Daniel Hynds (<daniel.hynds@cern.ch>)
**Status**: Functional - some minor fixes needed
#### Description
This algorithm opens a GUI to monitor the progress of Corryvreckan reconstruction. Each canvas contains real time plots of the reconstruction, updated every 500 events. Plots are used from the `BasicTracking` and `TestAlgorithm` algorithms.
Users should be able to exit `OnlineMonitor` and leave the reconstruction still running, but currently this causes a crash.
#### Parameters
* `reference`: Name of the reference plane.
#### Plots produced
Overview canvas:
* Cluster ToT of reference plane
* 2D hitmap of reference plane
* Residual in X of reference plane
Tracking canvas:
* Track chi^2
* Track angle in X
For each detector the following plots are produced:
* Hitmap canvas: 2D hitmap
* Residuals canvas: residual in X histogram
* Event times canvas: event times histogram
* Correlations X canvas: correlation in X plot
* Correlations Y canvas: correlation in Y plot
* Charge distributions canvas: cluster ToT - broken at the moment
#### Usage
```toml
[OnlineMonitor]
reference = "W0013_E03"
```
Parameters to be used in multiple algorithms can also be defined globally at the top of the configuration file. This is highly encouraged for parameters such as `DUT` and `reference`.
Supports Markdown
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