Corryvreckan merge requestshttps://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests2024-03-28T11:06:04+01:00https://gitlab.cern.ch/corryvreckan/corryvreckan/-/merge_requests/681Draft: Module AnalysisBeamProfile2024-03-28T11:06:04+01:00Paul Jean SchutzeDraft: Module AnalysisBeamProfileThis implements a module called `AnalysisBeamProfile`.
This module is can be used for analysing properties of a bunched beam on an event-by-event basis. What it does is the following:
* read `Pixel` objects for the corresponding detecto...This implements a module called `AnalysisBeamProfile`.
This module is can be used for analysing properties of a bunched beam on an event-by-event basis. What it does is the following:
* read `Pixel` objects for the corresponding detector from the clipboard
* create a single cluster per event
* assign central cluster position and `errorX`&`errorY` as widths based on a fit to a gaussian distribution or from statistics to (charge-weighted) projections onto the x/y-axes
* add cluster to clipboard
* plot hitmaps, projections and width/center distributions, most of them also vs event number
Points for discussion:
- [x] Renaming? I could imagine that a more generic name like `AnalysisBeamProfile` would be more suitable. We use it for [this method](https://indico.cern.ch/event/1232761/contributions/5357414/), but in principle the functionality is very generic. Any opinions?
- [ ] `Cluster->errorX()`? I abused the `errorX`&`errorY` for storing the width of the cluster. The reason is, that here we'd like to store the width of a gaussian of the cluster projection (or StdDev, depending on the configuration), and the `columnWidth`&`rowWidth` members are [Cluster-internally coded](https://gitlab.cern.ch/corryvreckan/corryvreckan/-/blob/master/src/objects/Cluster.cpp?ref_type=heads#L28) to be the extent of the cluster along these axes, computed during `addPixel(...)`. An option would be to add setter functions for the `columnWidth`&`rowWidth` members and overwrite them in the new module after the last pixel has been added. Any opinions?