CbmRoot
|
Data Container for TRD clusters. More...
#include <CbmTrdCluster.h>
Public Types | |
enum | eCbmTrdClusterDef { kFasp = 5 , kStart , kStop } |
Public Member Functions | |
CbmTrdCluster () | |
Default constructor. | |
CbmTrdCluster (const CbmTrdCluster &ref) | |
CbmTrdCluster (const std::vector< int32_t > &indices, int32_t address) | |
CbmTrdCluster (int32_t address, int32_t idx, uint16_t chT, uint16_t chR, int32_t r, int32_t time) | |
Constructor starting from first digit (FASP specific). | |
virtual | ~CbmTrdCluster () |
Destructor. | |
CbmTrdCluster & | operator= (const CbmTrdCluster &ref) |
bool | AddChannel (bool r=true) |
Append a channel to cluster edge. The usage is to account for the masked channels. The mask status is assumed to be performed in the calling function. | |
bool | AddDigi (int32_t idx, uint16_t chT=0xffff, uint16_t chR=0, int32_t dt=0) |
Append digi to cluster. | |
void | Clear (Option_t *) |
reset cluster data | |
uint16_t | GetNCols () const |
uint16_t | GetNRows () const |
uint16_t | GetEndCh () const |
uint16_t | GetRow () const |
uint16_t | GetSize () const |
uint16_t | GetStartCh () const |
uint32_t | GetStartTime () const |
bool | HasFaspDigis () const |
bool | HasStart () const |
bool | HasStop () const |
int32_t | IsChannelInRange (uint16_t chT, uint16_t chR) const |
Query on RO channels list. | |
bool | Merge (CbmTrdCluster *second) |
Merge current cluster with info from second. | |
void | ReInit (int32_t address, int32_t row, int32_t time) |
Initialize basic parameters of the cluster. | |
void | SetNCols (uint16_t ncols) |
void | SetNRows (uint16_t nrows) |
void | SetFaspDigis (bool set=true) |
void | SetStart (bool set=true) |
void | SetStop (bool set=true) |
virtual std::string | ToString () const |
Extended functionality. | |
void | AddDigi (int32_t index) |
Add digi to cluster. | |
void | AddDigis (const std::vector< int32_t > &indices) |
Add array of digi to cluster. | |
void | SetDigis (const std::vector< int32_t > &indices) |
Set array of digi to cluster. Overwrites existing array. | |
int32_t | GetNofDigis () const |
Number of digis in cluster. | |
int32_t | GetDigi (int32_t index) const |
Get digi at position index. | |
const std::vector< int32_t > & | GetDigis () const |
Get array of digi indices. | |
void | ClearDigis () |
Remove all digis. | |
int32_t | GetAddress () const |
CbmMatch * | GetMatch () const |
void | SetAddress (int32_t address) |
void | SetMatch (CbmMatch *match) |
Protected Attributes | |
uint8_t | fNCols = 0 |
uint8_t | fNRows = 0x1f |
uint16_t | fStartCh = 0xffff |
uint32_t | fStartTime = 0xffffffff |
Private Member Functions | |
ClassDef (CbmCluster, 2) | |
Private Attributes | |
std::vector< int32_t > | fDigis |
Array of digi indices. | |
int32_t | fAddress |
Unique detector ID. | |
CbmMatch * | fMatch |
link to Monte-Carlo information | |
Data Container for TRD clusters.
Definition at line 27 of file CbmTrdCluster.h.
Enumerator | |
---|---|
kFasp | set type of FEE digis contained |
kStart | only for triangular if no T in first col |
kStop | only for triangular if no R in last col |
Definition at line 29 of file CbmTrdCluster.h.
CbmTrdCluster::CbmTrdCluster | ( | ) |
Default constructor.
Definition at line 23 of file CbmTrdCluster.cxx.
CbmTrdCluster::CbmTrdCluster | ( | const CbmTrdCluster & | ref | ) |
Definition at line 26 of file CbmTrdCluster.cxx.
CbmTrdCluster::CbmTrdCluster | ( | const std::vector< int32_t > & | indices, |
int32_t | address ) |
Definition at line 36 of file CbmTrdCluster.cxx.
CbmTrdCluster::CbmTrdCluster | ( | int32_t | address, |
int32_t | idx, | ||
uint16_t | chT, | ||
uint16_t | chR, | ||
int32_t | r, | ||
int32_t | time ) |
Constructor starting from first digit (FASP specific).
[in] | address | global module address |
[in] | idx | global digi index in the TClonesArray |
[in] | chT | RO channel address within the module for tilt pairing |
[in] | chR | RO channel address within the module for rect pairing |
[in] | r | module row for the RO channel |
[in] | time | relative buffer DAQ time |
Definition at line 42 of file CbmTrdCluster.cxx.
|
virtual |
Destructor.
Definition at line 50 of file CbmTrdCluster.cxx.
bool CbmTrdCluster::AddChannel | ( | bool | r = true | ) |
Append a channel to cluster edge. The usage is to account for the masked channels. The mask status is assumed to be performed in the calling function.
[in] | r | by default apply to the right edge. If false apply to left |
Definition at line 65 of file CbmTrdCluster.cxx.
References fNCols, and fStartCh.
Referenced by CbmTrdModuleRec2D::AddClusterEdges().
|
inlineinherited |
Add digi to cluster.
[in] | index | Digi index in TClonesArray. |
Definition at line 51 of file CbmCluster.h.
References CbmCluster::fDigis.
Referenced by AddDigi(), CbmMvdSensorClusterfinderTask::ExecFrame(), CbmRecoStsPixel::ProcessData(), and TEST().
bool CbmTrdCluster::AddDigi | ( | int32_t | idx, |
uint16_t | chT = 0xffff, | ||
uint16_t | chR = 0, | ||
int32_t | dt = 0 ) |
Append digi to cluster.
[in] | idx | index of digi in TClonesArray |
[in] | chT | RO channel for digi (tilt pairing for FASP) default 0xffff (SPADIC) |
[in] | chR | RO channel for rect pairing (only for FASP) |
[in] | dt | update start time of cluster if current digi is prompt |
Extend basic functionality of CbmCluster::AddDigi() for the case of 2D. If chT < 0 use the basic functionality [default].
For the 2D the parameters are intergpreted as follows chT : tilted paired channel [default 0x0fffffff] chR : rectangular paired channel dt : offset in clks of the prompt signal
if chT and chR positive the (chT, chR) are interpreted as the 2 channels of the digi specific to the 2D version. The following specific cases can be distinguished :
Definition at line 76 of file CbmTrdCluster.cxx.
References CbmCluster::AddDigi(), CbmCluster::AddDigis(), CbmCluster::ClearDigis(), fNCols, fStartCh, fStartTime, CbmCluster::GetDigis(), GetEndCh(), SetStart(), and SetStop().
Referenced by CbmTrdCluster().
|
inlineinherited |
Add array of digi to cluster.
[in] | indices | Array of digi indices in TClonesArray. |
Definition at line 57 of file CbmCluster.h.
References CbmCluster::fDigis.
Referenced by AddDigi(), CbmMuchClustering::ClusteringA1(), CbmMuchClustering::ClusteringSL(), CbmMuchClustering::ClusteringWard(), CbmMuchFindHitsGem::ExecClusteringPeaks(), CbmMuchFindHitsGem::ExecClusteringSimple(), CbmMuchFindHitsGem::FindClusters(), Merge(), and TEST().
|
privateinherited |
void CbmTrdCluster::Clear | ( | Option_t * | ) |
reset cluster data
Definition at line 132 of file CbmTrdCluster.cxx.
References CbmCluster::ClearDigis(), fNCols, fNRows, fStartCh, and fStartTime.
|
inlineinherited |
|
inlineinherited |
Accessors
Definition at line 90 of file CbmCluster.h.
References CbmCluster::fAddress.
Referenced by compareClusterDataMembers(), CbmMvdCluster::GetSensorNr(), CbmMvdCluster::GetStationNr(), CbmLitClusteringQa::ProcessClusters(), CbmTrdCalibTracker::ResolutionQa(), CbmMuchHitFinderQa::StatisticsQa(), CbmStsCluster::ToString(), and ToString().
|
inlineinherited |
Get digi at position index.
[in] | index | Position of digi in array. |
Definition at line 76 of file CbmCluster.h.
References CbmCluster::fDigis.
Referenced by CbmStsAlgoAnaCluster::AnaSize1(), CbmStsAlgoAnaCluster::AnaSize2(), CbmStsAlgoAnaCluster::AnaSizeN(), CbmStsTrackFinder::CalculateEloss(), CbmMuchHitFinderQa::ClusterDeconvQa(), compareClusterDataMembers(), CbmMuchFindHitsGem::CreateHits(), CbmMuchTrackFinderIdeal::DoFind(), CbmTrdHitDensityQa::Exec(), CbmTrdOccupancyQa::Exec(), CbmTrdQa::Exec(), CbmTrdRecoQa::Exec(), CbmMuchFindHitsGem::ExecClusteringPeaks(), CbmMuchFindHitsGem::ExecClusteringSimple(), CbmHadronAnalysis::ExecEvent(), CbmMuchMatchTracks::ExecPixel(), CbmTrdModuleRecR::IsClusterComplete(), CbmMatchRecoToMC::MatchClusters(), CbmMatchRecoToMC::MatchClusters(), CbmMuchHitFinderQa::PullsQa(), CbmTrdCalibTracker::ResolutionQa(), CbmKFParticleFinderPID::SetRecoPID(), CbmMuchHitFinderQa::StatisticsQa(), and CbmStsAlgoAnaCluster::WeightedMean().
|
inlineinherited |
Get array of digi indices.
Definition at line 82 of file CbmCluster.h.
References CbmCluster::fDigis.
Referenced by AddDigi(), compareClusterDataMembers(), and Merge().
|
inline |
Definition at line 78 of file CbmTrdCluster.h.
References fNCols, and fStartCh.
Referenced by CbmTrdModuleRec2D::AddClusterEdges(), and AddDigi().
|
inlineinherited |
Definition at line 91 of file CbmCluster.h.
References CbmCluster::fMatch.
Referenced by compareClusterDataMembers(), and CbmKFTrackFitQa::StsHitMatch().
|
inline |
Accessors
Definition at line 76 of file CbmTrdCluster.h.
References fNCols.
Referenced by PairAnalysisVarManager::FillVarTrdCluster(), and GetSize().
|
inlineinherited |
Number of digis in cluster.
Definition at line 69 of file CbmCluster.h.
References CbmCluster::fDigis.
Referenced by CbmStsAlgoAnaCluster::AnaSizeN(), CbmStsTrackFinder::CalculateEloss(), CbmMuchHitFinderQa::ClusterDeconvQa(), compareClusterDataMembers(), CbmMvdSensorHitfinderTask::ComputeCenterOfGravity(), CbmMuchFindHitsGem::CreateHits(), CbmMuchTrackFinderIdeal::DoFind(), CbmMvdClusterAna::Exec(), CbmStsAlgoAnaCluster::Exec(), CbmTrdHitDensityQa::Exec(), CbmTrdOccupancyQa::Exec(), CbmTrdQa::Exec(), CbmTrdRecoQa::Exec(), CbmMuchFindHitsGem::ExecClusteringPeaks(), CbmMuchFindHitsGem::ExecClusteringSimple(), CbmHadronAnalysis::ExecEvent(), CbmMuchMatchTracks::ExecPixel(), PairAnalysisVarManager::FillVarTrdCluster(), CbmTrdModuleRecR::IsClusterComplete(), CbmMatchRecoToMC::MatchClusters(), CbmMatchRecoToMC::MatchClusters(), CbmLitClusteringQa::ProcessClusters(), CbmMuchHitFinderQa::PullsQa(), CbmTrdCalibTracker::ResolutionQa(), CbmKFParticleFinderPID::SetRecoPID(), CbmMuchHitFinderQa::StatisticsQa(), CbmCluster::ToString(), CbmStsCluster::ToString(), and CbmStsAlgoAnaCluster::WeightedMean().
|
inline |
Definition at line 77 of file CbmTrdCluster.h.
References fNRows.
Referenced by PairAnalysisVarManager::FillVarTrdCluster(), and GetRow().
|
inline |
Definition at line 79 of file CbmTrdCluster.h.
References GetNRows().
Referenced by Merge(), and ToString().
|
inline |
Definition at line 80 of file CbmTrdCluster.h.
References GetNCols().
|
inline |
Definition at line 81 of file CbmTrdCluster.h.
References fStartCh.
Referenced by CbmTrdModuleRec2D::AddClusterEdges().
|
inline |
Definition at line 82 of file CbmTrdCluster.h.
References fStartTime.
|
inline |
Definition at line 83 of file CbmTrdCluster.h.
References fNRows, kFasp, and TESTBIT.
Referenced by CbmTrdModuleRec2D::MakeHit(), and ToString().
|
inline |
Definition at line 84 of file CbmTrdCluster.h.
References fNRows, kStart, and TESTBIT.
Referenced by CbmTrdHitMC::GetClShape(), Merge(), and ToString().
|
inline |
Definition at line 85 of file CbmTrdCluster.h.
References fNRows, kStop, and TESTBIT.
Referenced by CbmTrdHitMC::GetClShape(), Merge(), and ToString().
int32_t CbmTrdCluster::IsChannelInRange | ( | uint16_t | chT, |
uint16_t | chR ) const |
Query on RO channels list.
[in] | chT | tilted RO channel for digi |
[in] | chR | rectangular RO channel for digi |
Definition at line 157 of file CbmTrdCluster.cxx.
bool CbmTrdCluster::Merge | ( | CbmTrdCluster * | second | ) |
Merge current cluster with info from second.
[in] | second | cluster to be added |
[in] | typ | the type of pad-plane of the source chamber; true if Trd2d |
Definition at line 170 of file CbmTrdCluster.cxx.
References CbmCluster::AddDigis(), CbmCluster::ClearDigis(), fNCols, fStartCh, fStartTime, CbmCluster::GetDigis(), GetRow(), HasStart(), HasStop(), SetStart(), and SetStop().
CbmTrdCluster & CbmTrdCluster::operator= | ( | const CbmTrdCluster & | ref | ) |
Definition at line 52 of file CbmTrdCluster.cxx.
References fNCols, fNRows, fStartCh, fStartTime, and CbmCluster::operator=().
void CbmTrdCluster::ReInit | ( | int32_t | address, |
int32_t | row, | ||
int32_t | time ) |
Initialize basic parameters of the cluster.
[in] | address | global module address |
[in] | row | cluster row in the module |
[in] | time | cluster time in time buffer |
Definition at line 142 of file CbmTrdCluster.cxx.
References fNCols, fStartCh, fStartTime, CbmCluster::SetAddress(), SetNRows(), SetStart(), and SetStop().
Referenced by CbmTrdCluster().
|
inlineinherited |
Modifiers
Definition at line 94 of file CbmCluster.h.
References CbmCluster::fAddress.
Referenced by CbmTrdModuleRecR::addClusters(), CbmStsAlgoFindClusters::CreateCluster(), CbmMvdSensorClusterfinderTask::ExecFrame(), CbmMuchFindHitsGem::FindClusters(), CbmRecoSts::ForwardGpuClusterAndHits(), ReInit(), and TEST().
|
inlineinherited |
Set array of digi to cluster. Overwrites existing array.
[in] | indices | Array of digi indices in TClonesArray. |
Definition at line 63 of file CbmCluster.h.
References CbmCluster::fDigis.
Referenced by CbmTrdModuleRecR::addClusters(), and TEST().
|
inline |
Definition at line 112 of file CbmTrdCluster.h.
References CLRBIT, fNRows, kFasp, and SETBIT.
Referenced by CbmTrdClusterFinder::AddClusters(), CbmTrdModuleRec2D::AddDigi(), and CbmTrdModuleRec2D::FindClusters().
|
inherited |
Definition at line 80 of file CbmCluster.cxx.
References CbmCluster::fMatch.
|
inline |
Setters
Definition at line 106 of file CbmTrdCluster.h.
References fNCols.
Referenced by CbmTrdModuleRecR::addClusters().
|
inline |
|
inline |
|
inline |
|
virtual |
Extended functionality.
Reimplemented from CbmCluster.
Definition at line 207 of file CbmTrdCluster.cxx.
References fNCols, fStartCh, CbmCluster::GetAddress(), GetRow(), HasFaspDigis(), HasStart(), HasStop(), and CbmCluster::ToString().
Referenced by CbmTrdModuleRec2D::AddDigi(), CbmTrdModuleRec2D::MakeHit(), and CbmTrdHitMC::ToString().
|
privateinherited |
Unique detector ID.
Definition at line 105 of file CbmCluster.h.
Referenced by CbmCluster::GetAddress(), CbmCluster::operator=(), CbmCluster::SetAddress(), and CbmCluster::ToString().
|
privateinherited |
Array of digi indices.
Definition at line 104 of file CbmCluster.h.
Referenced by CbmCluster::AddDigi(), CbmCluster::AddDigis(), CbmCluster::CbmCluster(), CbmCluster::ClearDigis(), CbmCluster::GetDigi(), CbmCluster::GetDigis(), CbmCluster::GetNofDigis(), CbmCluster::operator=(), CbmCluster::SetDigis(), and CbmCluster::ToString().
|
privateinherited |
link to Monte-Carlo information
Definition at line 106 of file CbmCluster.h.
Referenced by CbmCluster::CbmCluster(), CbmCluster::GetMatch(), CbmCluster::operator=(), and CbmCluster::SetMatch().
|
protected |
Definition at line 120 of file CbmTrdCluster.h.
Referenced by AddChannel(), AddDigi(), Clear(), GetEndCh(), GetNCols(), IsChannelInRange(), Merge(), operator=(), ReInit(), SetNCols(), and ToString().
|
protected |
Definition at line 121 of file CbmTrdCluster.h.
Referenced by Clear(), GetNRows(), HasFaspDigis(), HasStart(), HasStop(), operator=(), SetFaspDigis(), SetNRows(), SetStart(), and SetStop().
|
protected |
Definition at line 122 of file CbmTrdCluster.h.
Referenced by AddChannel(), AddDigi(), Clear(), GetEndCh(), GetStartCh(), IsChannelInRange(), Merge(), operator=(), ReInit(), and ToString().
|
protected |
Definition at line 123 of file CbmTrdCluster.h.
Referenced by AddDigi(), Clear(), GetStartTime(), Merge(), operator=(), and ReInit().