Algorithm that digitizes the Monte Carlo FIT hits simulating the response of the SIPM reading.
More...
#include <algorithms/digitization/FitDigitizerAlgo.h>
Algorithm that digitizes the Monte Carlo FIT hits simulating the response of the SIPM reading.
TODO: description to be added
Needed event objects:
name | type | store | optional | description |
fitParticleHitsCollMC | FitParticleHitsColl | evStore | yes | The particle hits in the FIT produced by MC simulation. |
Needed global objects:
name | type | store | optional | description |
fitGeoParamsColl | FitGeoParamsColl | globStore | yes | Geometric parameters of the FIT. |
Produced event objects:
name | alias | type | store | description |
fitDigHitsCollMC | fitHitsCollADC | FitHitsColl | evStore | The hits in the digitized SiPMs of the FIT. |
Produced global objects:
name | alias | type | store | description |
fitDigitizedGeoParamsColl | fitGeoParamsColl | FitGeoParamsColl | globStore | Geometric parameters of the FIT after digitization. |
fitDigitizedChannelInfoColl | fitChannelInfoColl | FitChannelInfoColl | globStore | Channel info of the FIT (if enabled). |
Parameters:
name | type | default value | description |
nTopMatsPerLayer | int | 11 | Number of mats per each top FIT layer |
nSideShortMatsPerLayer | int | 10 | Number of short mats along H for each side FIT layer segmented along V (odd layesrs) |
nSideLongMatsPerLayer | int | 7 | Number of long mats along V for each side FIT layer segmented along H (even layers) |
topMatsSize | float | undefined | Lateral size of mats on the TOP side (number of mats will be derived consequently) |
sideShortMatsSize | float | undefined | Lateral size of mats along H for each side FIT layer (number of mats will be derived consequently) |
sideLongMatsSize | float | undefined | Lateral size of mats along V for each side FIT layer (number of mats will be derived consequently) |
publishChannelInfo | bool | true | Decide if fill and publish a FitChannelInfo object |
simulateNoise | bool | true | Decide if simulate channel noise |
simulateIntraChannelXTalk | bool | true | Decide if simulate channel crosstalk |
◆ FitDigitizerAlgo()
Herd::FitDigitizerAlgo::FitDigitizerAlgo |
( |
const std::string & |
name | ) |
|
Constructor.
- Parameters
-
name | The name of the algorithm. |
◆ createChannelInfo()
◆ createGeoParams()
◆ generateSipmGains()
std::vector< float > Herd::FitDigitizerAlgo::generateSipmGains |
( |
const FitGeoParams & |
digGeoParams | ) |
|
|
private |
◆ Initialize()
bool Herd::FitDigitizerAlgo::Initialize |
( |
| ) |
|
|
override |
Initialization of the algorithm.
- Returns
- false if the aggregation parameters are not exact divisors of tile/bar numbers
◆ Process()
bool Herd::FitDigitizerAlgo::Process |
( |
| ) |
|
|
override |
Process a single event.
This method also sets the geometry parameters of digitized FIT.
- Returns
- If event processing is successful.
◆ m_adcNoise
double Herd::FitDigitizerAlgo::m_adcNoise = 0.1 |
|
private |
◆ m_digFitChannelInfoColl
◆ m_digFitGeoParamsColl
◆ m_distrFiberTool
◆ m_evStore
StorePtr Herd::FitDigitizerAlgo::m_evStore |
|
private |
◆ m_fitParticleHitsColl
FitHitsColl Herd::FitDigitizerAlgo::m_fitParticleHitsColl |
|
private |
◆ m_gauss_dist
std::normal_distribution<double> Herd::FitDigitizerAlgo::m_gauss_dist |
|
private |
◆ m_generator
std::mt19937 Herd::FitDigitizerAlgo::m_generator |
|
private |
◆ m_globStore
StorePtr Herd::FitDigitizerAlgo::m_globStore |
|
private |
◆ m_nSideLongMatsPerLayer
unsigned int Herd::FitDigitizerAlgo::m_nSideLongMatsPerLayer = 7 |
|
private |
◆ m_nSideShortMatsPerLayer
unsigned int Herd::FitDigitizerAlgo::m_nSideShortMatsPerLayer = 10 |
|
private |
◆ m_nTopMatsPerLayer
unsigned int Herd::FitDigitizerAlgo::m_nTopMatsPerLayer = 11 |
|
private |
◆ m_origFitGeoParamsColl
◆ m_photonTool
◆ m_publishChannelInfo
bool Herd::FitDigitizerAlgo::m_publishChannelInfo = true |
|
private |
◆ m_sideLongMatsSize
float Herd::FitDigitizerAlgo::m_sideLongMatsSize = defaultValue<float> |
|
private |
◆ m_sideShortMatsSize
float Herd::FitDigitizerAlgo::m_sideShortMatsSize = defaultValue<float> |
|
private |
◆ m_simulateIntraChannelXTalk
bool Herd::FitDigitizerAlgo::m_simulateIntraChannelXTalk = true |
|
private |
◆ m_simulateNoise
bool Herd::FitDigitizerAlgo::m_simulateNoise = true |
|
private |
◆ m_sipmGains
SidesArray<std::vector<std::vector<float> > > Herd::FitDigitizerAlgo::m_sipmGains |
|
private |
◆ m_sipmGainVariation
double Herd::FitDigitizerAlgo::m_sipmGainVariation = 0.0125 |
|
private |
◆ m_sipmTool
◆ m_topMatsSize
float Herd::FitDigitizerAlgo::m_topMatsSize = defaultValue<float> |
|
private |
The documentation for this class was generated from the following files: