CbmRoot
|
Determination of cluster parameters. More...
#include <CbmStsAlgoAnaCluster.h>
Public Member Functions | |
CbmStsAlgoAnaCluster () | |
Constructor. More... | |
CbmStsAlgoAnaCluster (const CbmStsAlgoAnaCluster &)=delete | |
Copy constructor (disabled) More... | |
CbmStsAlgoAnaCluster & | operator= (const CbmStsAlgoAnaCluster &)=delete |
Assignment operator (disabled) More... | |
virtual | ~CbmStsAlgoAnaCluster () |
Destructor. More... | |
void | Exec (CbmStsCluster &cluster, const CbmStsParModule *module) |
Algorithm execution. More... | |
Private Member Functions | |
void | AnaSize1 (CbmStsCluster &cluster, const CbmStsParModule *modPar) |
Analyse single-digi cluster. More... | |
void | AnaSize2 (CbmStsCluster &cluster, const CbmStsParModule *modPar) |
Analyse two-digi cluster. More... | |
void | AnaSizeN (CbmStsCluster &cluster, const CbmStsParModule *modPar) |
Analyse cluster with more than two digis. More... | |
Double_t | WeightedMean (CbmStsCluster &cluster, const CbmStsParModule *modPar) |
Weighted mean cluster position. More... | |
ClassDef (CbmStsAlgoAnaCluster, 1) | |
Instance of physics tool. More... | |
Private Attributes | |
CbmDigiManager * | fDigiMan = nullptr |
CbmStsPhysics * | fPhysics = nullptr |
Interface to digi data. More... | |
Determination of cluster parameters.
This class implements the determination of STS cluster parameters (time, position, charge) and their errors from the digis contained in the cluster.
The mathematics is described in: H. Malygina, Hit Reconstruction for the Silicon Tracking System of the CBM experiment, PhD thesis, Goethe-Universität Frankfurt, 2018
Definition at line 31 of file CbmStsAlgoAnaCluster.h.
CbmStsAlgoAnaCluster::CbmStsAlgoAnaCluster | ( | ) |
Constructor.
|
delete |
Copy constructor (disabled)
|
inlinevirtual |
Destructor.
Definition at line 47 of file CbmStsAlgoAnaCluster.h.
|
private |
Analyse single-digi cluster.
cluster | Pointer to cluster object |
module | Pointer to module object |
Definition at line 28 of file CbmStsAlgoAnaCluster.cxx.
References fDigiMan, CbmDigiManager::Get(), CbmStsDigi::GetChannel(), CbmStsDigi::GetCharge(), CbmCluster::GetDigi(), CbmStsParModule::GetParAsic(), CbmStsDigi::GetTime(), CbmStsCluster::SetProperties(), CbmStsCluster::SetSize(), sqrt(), and x.
Referenced by Exec().
|
private |
Analyse two-digi cluster.
cluster | Pointer to cluster object |
module | Pointer to module object |
Definition at line 49 of file CbmStsAlgoAnaCluster.cxx.
References fDigiMan, fPhysics, CbmDigiManager::Get(), CbmStsDigi::GetChannel(), CbmStsDigi::GetCharge(), CbmCluster::GetDigi(), CbmStsParModule::GetNofChannels(), CbmStsParModule::GetParAsic(), CbmStsDigi::GetTime(), CbmStsPhysics::LandauWidth(), CbmStsCluster::SetProperties(), CbmStsCluster::SetSize(), and x.
Referenced by Exec().
|
private |
Analyse cluster with more than two digis.
cluster | Pointer to cluster object |
module | Pointer to module object |
Definition at line 128 of file CbmStsAlgoAnaCluster.cxx.
References fDigiMan, fPhysics, CbmDigiManager::Get(), CbmStsDigi::GetChannel(), CbmStsDigi::GetCharge(), CbmCluster::GetDigi(), CbmStsParModule::GetNofChannels(), CbmCluster::GetNofDigis(), CbmStsParAsic::GetNoise(), CbmStsParModule::GetParAsic(), CbmStsDigi::GetTime(), CbmStsPhysics::LandauWidth(), CbmStsCluster::SetProperties(), CbmStsCluster::SetSize(), WeightedMean(), and x.
Referenced by Exec().
|
private |
Instance of physics tool.
void CbmStsAlgoAnaCluster::Exec | ( | CbmStsCluster & | cluster, |
const CbmStsParModule * | module | ||
) |
Algorithm execution.
cluster | Pointer to cluster object |
module | Pointer to CbmStsRecoModule to be operated on |
Definition at line 220 of file CbmStsAlgoAnaCluster.cxx.
References AnaSize1(), AnaSize2(), AnaSizeN(), and CbmCluster::GetNofDigis().
Referenced by CbmStsRecoModule::Reconstruct().
|
delete |
Assignment operator (disabled)
|
private |
Weighted mean cluster position.
cluster | Pointer to cluster object |
module | Pointer to module object |
This procedure is used when the result obtained by AnaSizeN are outside the range of the involved channels. This can happen e.g. for incomplete clusters, e.g. those cut at the edge of sensor.
Definition at line 239 of file CbmStsAlgoAnaCluster.cxx.
References CbmStsParAsic::AdcToCharge(), fDigiMan, CbmDigiManager::Get(), CbmStsDigi::GetChannel(), CbmStsDigi::GetCharge(), CbmCluster::GetDigi(), CbmCluster::GetNofDigis(), and CbmStsParModule::GetParAsic().
Referenced by AnaSizeN().
|
private |
Definition at line 93 of file CbmStsAlgoAnaCluster.h.
Referenced by AnaSize1(), AnaSize2(), AnaSizeN(), and WeightedMean().
|
private |
Interface to digi data.
Definition at line 94 of file CbmStsAlgoAnaCluster.h.
Referenced by AnaSize2(), and AnaSizeN().