CbmRoot
|
Class for reconstruction in one STS module. More...
#include <CbmStsRecoModule.h>
Public Member Functions | |
CbmStsRecoModule () | |
Default constructor. More... | |
CbmStsRecoModule (CbmStsModule *setupModule, const CbmStsParModule &parModule, const CbmStsParSensor &parSensor, Double_t lorentzShiftF, Double_t lorentzShiftB) | |
Standard constructor. More... | |
CbmStsRecoModule (const CbmStsRecoModule &)=delete | |
Copy constructor (disabled) More... | |
CbmStsRecoModule & | operator= (const CbmStsRecoModule &)=delete |
Assignment operator (disabled) More... | |
virtual | ~CbmStsRecoModule () |
Destructor. More... | |
void | AddDigiToQueue (const CbmStsDigi *digi, Int_t digiIndex) |
Add a digi to the processing queue. More... | |
const std::vector< CbmStsCluster > & | GetClustersF () const |
Output front-side clusters. More... | |
const std::vector< CbmStsCluster > & | GetClustersB () const |
Output back-side clusters. More... | |
const std::vector< CbmStsHit > & | GetHits () const |
Output hits. More... | |
void | Reconstruct () |
Perform reconstruction. More... | |
void | Reset () |
Clear input queue. More... | |
std::string | ToString () const |
Info to string. More... | |
Private Member Functions | |
void | Init () |
Set and check the needed parameters. More... | |
ClassDef (CbmStsRecoModule, 1) | |
Private Attributes | |
CbmStsAlgoAnaCluster * | fClusterAna = nullptr |
CbmStsAlgoFindClusters * | fClusterFinder = nullptr |
///< Algo More... | |
CbmStsAlgoFindHits * | fHitFinder = nullptr |
///< Algo More... | |
std::mutex | fLock {} |
///< Algo More... | |
CbmStsModule * | fSetupModule = nullptr |
const CbmStsParModule * | fParModule = nullptr |
const CbmStsParSensor * | fParSensor = nullptr |
Double_t | fDyActive = 0. |
Active sensor size in y. More... | |
UInt_t | fNofStrips = 0 |
Number of sensor strips. More... | |
Double_t | fStripPitch = 0. |
Sensor strip pitch [cm]. More... | |
Double_t | fStereoFront = 0. |
Strip stereo angle front side [deg]. More... | |
Double_t | fStereoBack = 0. |
Strip stereo angle back side [deg]. More... | |
TGeoHMatrix * | fMatrix = nullptr |
Sensor position in global C.S. [cm]. More... | |
Double_t | fLorentzShiftF = 0. |
Average Lorentz shift front side [cm|. More... | |
Double_t | fLorentzShiftB = 0. |
Average Lorentz shift back side [cm|. More... | |
std::vector< std::pair< const CbmStsDigi *, Long64_t > > | fDigisF {} |
std::vector< std::pair< const CbmStsDigi *, Long64_t > > | fDigisB {} |
std::vector< CbmStsCluster > | fClustersF {} |
std::vector< CbmStsCluster > | fClustersB {} |
std::vector< CbmStsHit > | fHits {} |
Double_t | fTimeCutDigiSig = 3. |
Time cut for cluster finding (in sigma) More... | |
Double_t | fTimeCutDigiAbs = -1. |
Time cut for cluster finding (in ns) More... | |
Double_t | fTimeCutClusterSig = 4. |
Time cut for hit finding (in ns) More... | |
Double_t | fTimeCutClusterAbs = -1. |
Time cut for hit finding (in sigma) More... | |
Bool_t | fConnectEdgeFront = kFALSE |
Round-the edge clustering front side. More... | |
Bool_t | fConnectEdgeBack = kFALSE |
Round-the edge clustering back side. More... | |
Class for reconstruction in one STS module.
The module represents one module/sensor in the STS setup. Reconstruction in the modules is independent from other modules and can thus pe performed in parallel. The reconstruction module performs cluster finding, cluster analysis and hit finding.
The implementation assumes the module to be connected to exactly one double-sided strip sensor. The digi channel number must equal to the strip number on the front side of the sensor, and to strip number + number of strips on the back side.
Definition at line 44 of file CbmStsRecoModule.h.
CbmStsRecoModule::CbmStsRecoModule | ( | ) |
Default constructor.
CbmStsRecoModule::CbmStsRecoModule | ( | CbmStsModule * | setupModule, |
const CbmStsParModule & | parModule, | ||
const CbmStsParSensor & | parSensor, | ||
Double_t | lorentzShiftF, | ||
Double_t | lorentzShiftB | ||
) |
Standard constructor.
setupModule | Corresponding setup element |
parModule | Module parameters |
parSensor | Sensor parameters |
lorentzShiftF | Average Lorentz shift sensor front side [cm] |
lorentzShiftB | Average Lorentz shift sensor back side [cm] |
The Lorentz shift will be used to correct the hit position in hit finding.
Definition at line 36 of file CbmStsRecoModule.cxx.
References Init().
|
delete |
Copy constructor (disabled)
|
virtual |
Destructor.
Definition at line 52 of file CbmStsRecoModule.cxx.
void CbmStsRecoModule::AddDigiToQueue | ( | const CbmStsDigi * | digi, |
Int_t | digiIndex | ||
) |
Add a digi to the processing queue.
digi | Pointer to digi object |
digiIndex | Index of digi in input array |
Definition at line 57 of file CbmStsRecoModule.cxx.
References fDigisB, fDigisF, fLock, fNofStrips, fSetupModule, CbmStsDigi::GetAddress(), CbmStsElement::GetAddress(), CbmStsDigi::GetChannel(), CbmStsAddress::GetMotherAddress(), and kStsModule.
Referenced by CbmRecoSts::ProcessData().
|
private |
|
inline |
Output back-side clusters.
Definition at line 96 of file CbmStsRecoModule.h.
References fClustersB.
|
inline |
Output front-side clusters.
Definition at line 90 of file CbmStsRecoModule.h.
References fClustersF.
|
inline |
Output hits.
Definition at line 102 of file CbmStsRecoModule.h.
References fHits.
|
private |
Set and check the needed parameters.
Definition at line 156 of file CbmStsRecoModule.cxx.
References fClusterAna, fClusterFinder, fConnectEdgeBack, fConnectEdgeFront, fDyActive, fHitFinder, fMatrix, fNofStrips, fParSensor, fSetupModule, fStereoBack, fStereoFront, fStripPitch, CbmStsParSensor::GetClass(), CbmStsElement::GetDaughter(), CbmStsElement::GetNofDaughters(), CbmStsParSensor::GetPar(), CbmStsParSensor::GetParInt(), CbmStsElement::GetPnode(), kDssdStereo, and shape.
Referenced by CbmStsRecoModule().
|
delete |
Assignment operator (disabled)
void CbmStsRecoModule::Reconstruct | ( | ) |
Perform reconstruction.
Definition at line 73 of file CbmStsRecoModule.cxx.
References CbmStsAlgoAnaCluster::Exec(), CbmStsAlgoFindHits::Exec(), CbmStsAlgoFindClusters::Exec(), fClusterAna, fClusterFinder, fClustersB, fClustersF, fConnectEdgeBack, fConnectEdgeFront, fDigisB, fDigisF, fDyActive, fHitFinder, fHits, fLorentzShiftB, fLorentzShiftF, fMatrix, fNofStrips, fParModule, fSetupModule, fStereoBack, fStereoFront, fStripPitch, fTimeCutClusterAbs, fTimeCutClusterSig, fTimeCutDigiAbs, fTimeCutDigiSig, and CbmStsElement::GetAddress().
void CbmStsRecoModule::Reset | ( | ) |
Clear input queue.
Definition at line 148 of file CbmStsRecoModule.cxx.
std::string CbmStsRecoModule::ToString | ( | ) | const |
Info to string.
Definition at line 221 of file CbmStsRecoModule.cxx.
References fNofStrips, fSetupModule, and CbmStsModule::ToString().
|
private |
Definition at line 124 of file CbmStsRecoModule.h.
Referenced by Init(), and Reconstruct().
|
private |
///< Algo
Definition at line 125 of file CbmStsRecoModule.h.
Referenced by Init(), and Reconstruct().
|
private |
Definition at line 146 of file CbmStsRecoModule.h.
Referenced by GetClustersB(), and Reconstruct().
|
private |
Definition at line 145 of file CbmStsRecoModule.h.
Referenced by GetClustersF(), and Reconstruct().
|
private |
Round-the edge clustering back side.
Definition at line 155 of file CbmStsRecoModule.h.
Referenced by Init(), and Reconstruct().
|
private |
Round-the edge clustering front side.
Definition at line 154 of file CbmStsRecoModule.h.
Referenced by Init(), and Reconstruct().
|
private |
Definition at line 144 of file CbmStsRecoModule.h.
Referenced by AddDigiToQueue(), Reconstruct(), and Reset().
|
private |
Definition at line 143 of file CbmStsRecoModule.h.
Referenced by AddDigiToQueue(), Reconstruct(), and Reset().
|
private |
Active sensor size in y.
Definition at line 133 of file CbmStsRecoModule.h.
Referenced by Init(), and Reconstruct().
|
private |
///< Algo
Definition at line 126 of file CbmStsRecoModule.h.
Referenced by Init(), and Reconstruct().
|
private |
Definition at line 147 of file CbmStsRecoModule.h.
Referenced by GetHits(), and Reconstruct().
|
private |
|
private |
Average Lorentz shift back side [cm|.
Definition at line 140 of file CbmStsRecoModule.h.
Referenced by Reconstruct().
|
private |
Average Lorentz shift front side [cm|.
Definition at line 139 of file CbmStsRecoModule.h.
Referenced by Reconstruct().
|
private |
Sensor position in global C.S. [cm].
Definition at line 138 of file CbmStsRecoModule.h.
Referenced by Init(), and Reconstruct().
|
private |
Number of sensor strips.
Definition at line 134 of file CbmStsRecoModule.h.
Referenced by AddDigiToQueue(), Init(), Reconstruct(), and ToString().
|
private |
Definition at line 131 of file CbmStsRecoModule.h.
Referenced by Reconstruct().
|
private |
Definition at line 132 of file CbmStsRecoModule.h.
Referenced by Init().
|
private |
Definition at line 130 of file CbmStsRecoModule.h.
Referenced by AddDigiToQueue(), Init(), Reconstruct(), and ToString().
|
private |
Strip stereo angle back side [deg].
Definition at line 137 of file CbmStsRecoModule.h.
Referenced by Init(), and Reconstruct().
|
private |
Strip stereo angle front side [deg].
Definition at line 136 of file CbmStsRecoModule.h.
Referenced by Init(), and Reconstruct().
|
private |
Sensor strip pitch [cm].
Definition at line 135 of file CbmStsRecoModule.h.
Referenced by Init(), and Reconstruct().
|
private |
Time cut for hit finding (in sigma)
Definition at line 153 of file CbmStsRecoModule.h.
Referenced by Reconstruct().
|
private |
Time cut for hit finding (in ns)
Definition at line 152 of file CbmStsRecoModule.h.
Referenced by Reconstruct().
|
private |
Time cut for cluster finding (in ns)
Definition at line 151 of file CbmStsRecoModule.h.
Referenced by Reconstruct().
|
private |
Time cut for cluster finding (in sigma)
Definition at line 150 of file CbmStsRecoModule.h.
Referenced by Reconstruct().