CbmRoot
CbmStsRecoModule Class Reference

Class for reconstruction in one STS module. More...

#include <CbmStsRecoModule.h>

Inheritance diagram for CbmStsRecoModule:
[legend]
Collaboration diagram for CbmStsRecoModule:
[legend]

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...
 
CbmStsRecoModuleoperator= (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

CbmStsAlgoAnaClusterfClusterAna = nullptr
 
CbmStsAlgoFindClustersfClusterFinder = nullptr
 ///< Algo More...
 
CbmStsAlgoFindHitsfHitFinder = nullptr
 ///< Algo More...
 
std::mutex fLock {}
 ///< Algo More...
 
CbmStsModulefSetupModule = nullptr
 
const CbmStsParModulefParModule = nullptr
 
const CbmStsParSensorfParSensor = 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< CbmStsClusterfClustersF {}
 
std::vector< CbmStsClusterfClustersB {}
 
std::vector< CbmStsHitfHits {}
 
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...
 

Detailed Description

Class for reconstruction in one STS module.

Author
Volker Friese v.fri.nosp@m.ese@.nosp@m.gsi.d.nosp@m.e
Since
05.04.2017
Date
21.03.2020

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.

Constructor & Destructor Documentation

◆ CbmStsRecoModule() [1/3]

CbmStsRecoModule::CbmStsRecoModule ( )

Default constructor.

◆ CbmStsRecoModule() [2/3]

CbmStsRecoModule::CbmStsRecoModule ( CbmStsModule setupModule,
const CbmStsParModule parModule,
const CbmStsParSensor parSensor,
Double_t  lorentzShiftF,
Double_t  lorentzShiftB 
)

Standard constructor.

Parameters
setupModuleCorresponding setup element
parModuleModule parameters
parSensorSensor parameters
lorentzShiftFAverage Lorentz shift sensor front side [cm]
lorentzShiftBAverage 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().

◆ CbmStsRecoModule() [3/3]

CbmStsRecoModule::CbmStsRecoModule ( const CbmStsRecoModule )
delete

Copy constructor (disabled)

◆ ~CbmStsRecoModule()

CbmStsRecoModule::~CbmStsRecoModule ( )
virtual

Destructor.

Definition at line 52 of file CbmStsRecoModule.cxx.

Member Function Documentation

◆ AddDigiToQueue()

void CbmStsRecoModule::AddDigiToQueue ( const CbmStsDigi digi,
Int_t  digiIndex 
)

Add a digi to the processing queue.

Parameters
digiPointer to digi object
digiIndexIndex 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().

◆ ClassDef()

CbmStsRecoModule::ClassDef ( CbmStsRecoModule  ,
 
)
private

◆ GetClustersB()

const std::vector<CbmStsCluster>& CbmStsRecoModule::GetClustersB ( ) const
inline

Output back-side clusters.

Returns
Vector of back-side clusters

Definition at line 96 of file CbmStsRecoModule.h.

References fClustersB.

◆ GetClustersF()

const std::vector<CbmStsCluster>& CbmStsRecoModule::GetClustersF ( ) const
inline

Output front-side clusters.

Returns
Vector of front-side clusters

Definition at line 90 of file CbmStsRecoModule.h.

References fClustersF.

◆ GetHits()

const std::vector<CbmStsHit>& CbmStsRecoModule::GetHits ( ) const
inline

Output hits.

Returns
Vector of hits

Definition at line 102 of file CbmStsRecoModule.h.

References fHits.

◆ Init()

◆ operator=()

CbmStsRecoModule& CbmStsRecoModule::operator= ( const CbmStsRecoModule )
delete

Assignment operator (disabled)

◆ Reconstruct()

◆ Reset()

void CbmStsRecoModule::Reset ( )

Clear input queue.

Definition at line 148 of file CbmStsRecoModule.cxx.

References fDigisB, and fDigisF.

◆ ToString()

std::string CbmStsRecoModule::ToString ( ) const

Info to string.

Definition at line 221 of file CbmStsRecoModule.cxx.

References fNofStrips, fSetupModule, and CbmStsModule::ToString().

Member Data Documentation

◆ fClusterAna

CbmStsAlgoAnaCluster* CbmStsRecoModule::fClusterAna = nullptr
private

Definition at line 124 of file CbmStsRecoModule.h.

Referenced by Init(), and Reconstruct().

◆ fClusterFinder

CbmStsAlgoFindClusters* CbmStsRecoModule::fClusterFinder = nullptr
private

///< Algo

Definition at line 125 of file CbmStsRecoModule.h.

Referenced by Init(), and Reconstruct().

◆ fClustersB

std::vector<CbmStsCluster> CbmStsRecoModule::fClustersB {}
private

Definition at line 146 of file CbmStsRecoModule.h.

Referenced by GetClustersB(), and Reconstruct().

◆ fClustersF

std::vector<CbmStsCluster> CbmStsRecoModule::fClustersF {}
private

Definition at line 145 of file CbmStsRecoModule.h.

Referenced by GetClustersF(), and Reconstruct().

◆ fConnectEdgeBack

Bool_t CbmStsRecoModule::fConnectEdgeBack = kFALSE
private

Round-the edge clustering back side.

Definition at line 155 of file CbmStsRecoModule.h.

Referenced by Init(), and Reconstruct().

◆ fConnectEdgeFront

Bool_t CbmStsRecoModule::fConnectEdgeFront = kFALSE
private

Round-the edge clustering front side.

Definition at line 154 of file CbmStsRecoModule.h.

Referenced by Init(), and Reconstruct().

◆ fDigisB

std::vector<std::pair<const CbmStsDigi*, Long64_t> > CbmStsRecoModule::fDigisB {}
private

Definition at line 144 of file CbmStsRecoModule.h.

Referenced by AddDigiToQueue(), Reconstruct(), and Reset().

◆ fDigisF

std::vector<std::pair<const CbmStsDigi*, Long64_t> > CbmStsRecoModule::fDigisF {}
private

Definition at line 143 of file CbmStsRecoModule.h.

Referenced by AddDigiToQueue(), Reconstruct(), and Reset().

◆ fDyActive

Double_t CbmStsRecoModule::fDyActive = 0.
private

Active sensor size in y.

Definition at line 133 of file CbmStsRecoModule.h.

Referenced by Init(), and Reconstruct().

◆ fHitFinder

CbmStsAlgoFindHits* CbmStsRecoModule::fHitFinder = nullptr
private

///< Algo

Definition at line 126 of file CbmStsRecoModule.h.

Referenced by Init(), and Reconstruct().

◆ fHits

std::vector<CbmStsHit> CbmStsRecoModule::fHits {}
private

Definition at line 147 of file CbmStsRecoModule.h.

Referenced by GetHits(), and Reconstruct().

◆ fLock

std::mutex CbmStsRecoModule::fLock {}
private

///< Algo

Definition at line 127 of file CbmStsRecoModule.h.

Referenced by AddDigiToQueue().

◆ fLorentzShiftB

Double_t CbmStsRecoModule::fLorentzShiftB = 0.
private

Average Lorentz shift back side [cm|.

Definition at line 140 of file CbmStsRecoModule.h.

Referenced by Reconstruct().

◆ fLorentzShiftF

Double_t CbmStsRecoModule::fLorentzShiftF = 0.
private

Average Lorentz shift front side [cm|.

Definition at line 139 of file CbmStsRecoModule.h.

Referenced by Reconstruct().

◆ fMatrix

TGeoHMatrix* CbmStsRecoModule::fMatrix = nullptr
private

Sensor position in global C.S. [cm].

Definition at line 138 of file CbmStsRecoModule.h.

Referenced by Init(), and Reconstruct().

◆ fNofStrips

UInt_t CbmStsRecoModule::fNofStrips = 0
private

Number of sensor strips.

Definition at line 134 of file CbmStsRecoModule.h.

Referenced by AddDigiToQueue(), Init(), Reconstruct(), and ToString().

◆ fParModule

const CbmStsParModule* CbmStsRecoModule::fParModule = nullptr
private

Definition at line 131 of file CbmStsRecoModule.h.

Referenced by Reconstruct().

◆ fParSensor

const CbmStsParSensor* CbmStsRecoModule::fParSensor = nullptr
private

Definition at line 132 of file CbmStsRecoModule.h.

Referenced by Init().

◆ fSetupModule

CbmStsModule* CbmStsRecoModule::fSetupModule = nullptr
private

Definition at line 130 of file CbmStsRecoModule.h.

Referenced by AddDigiToQueue(), Init(), Reconstruct(), and ToString().

◆ fStereoBack

Double_t CbmStsRecoModule::fStereoBack = 0.
private

Strip stereo angle back side [deg].

Definition at line 137 of file CbmStsRecoModule.h.

Referenced by Init(), and Reconstruct().

◆ fStereoFront

Double_t CbmStsRecoModule::fStereoFront = 0.
private

Strip stereo angle front side [deg].

Definition at line 136 of file CbmStsRecoModule.h.

Referenced by Init(), and Reconstruct().

◆ fStripPitch

Double_t CbmStsRecoModule::fStripPitch = 0.
private

Sensor strip pitch [cm].

Definition at line 135 of file CbmStsRecoModule.h.

Referenced by Init(), and Reconstruct().

◆ fTimeCutClusterAbs

Double_t CbmStsRecoModule::fTimeCutClusterAbs = -1.
private

Time cut for hit finding (in sigma)

Definition at line 153 of file CbmStsRecoModule.h.

Referenced by Reconstruct().

◆ fTimeCutClusterSig

Double_t CbmStsRecoModule::fTimeCutClusterSig = 4.
private

Time cut for hit finding (in ns)

Definition at line 152 of file CbmStsRecoModule.h.

Referenced by Reconstruct().

◆ fTimeCutDigiAbs

Double_t CbmStsRecoModule::fTimeCutDigiAbs = -1.
private

Time cut for cluster finding (in ns)

Definition at line 151 of file CbmStsRecoModule.h.

Referenced by Reconstruct().

◆ fTimeCutDigiSig

Double_t CbmStsRecoModule::fTimeCutDigiSig = 3.
private

Time cut for cluster finding (in sigma)

Definition at line 150 of file CbmStsRecoModule.h.

Referenced by Reconstruct().


The documentation for this class was generated from the following files: