CbmRoot
Loading...
Searching...
No Matches
cbm_sts_utils Namespace Reference

Namespace containing utility functions for STS detector. More...

Classes

struct  HBinning
 Structure to hold the binning for 1D histogram. More...
 

Functions

int32_t GetHitCluSizeF (CbmStsHit *hit=nullptr, TClonesArray *clusters=nullptr)
 Get the cluster size of a hit from the front side.
 
int32_t GetHitCluSizeB (CbmStsHit *hit=nullptr, TClonesArray *clusters=nullptr)
 Get the cluster size of a hit from the back side.
 
double GetHitCharge (CbmStsHit *hit=nullptr, TClonesArray *clusters=nullptr)
 Get the charge of a hit as the average of front and back cluster charges.
 
double GetHitChargeB (CbmStsHit *hit=nullptr, TClonesArray *clusters=nullptr)
 Get the charge of a hit from the back side.
 
double GetHitChargeF (CbmStsHit *hit=nullptr, TClonesArray *clusters=nullptr)
 Get the charge of a hit from the front side.
 
double GetHitTimeB (CbmStsHit *hit=nullptr, TClonesArray *clusters=nullptr)
 Get the charge of a hit from the back side.
 
double GetHitTimeF (CbmStsHit *hit=nullptr, TClonesArray *clusters=nullptr)
 Get the charge of a hit from the front side.
 
double GetHitSizeAsy (CbmStsHit *hit=nullptr, TClonesArray *clusters=nullptr)
 Get the size asymmetry of a hit.
 
double GetHitChargeAsy (CbmStsHit *hit=nullptr, TClonesArray *clusters=nullptr)
 Get the charge asymmetry of a hit.
 
std::pair< HBinning, HBinningChargeBinning (const CbmStsParModule &par_module, const uint32_t max_clu_size=1)
 Generate the charge binning from module config obj.
 
std::set< int > GetUnits (const std::vector< int32_t > addresses)
 Return the STS units from a list of addresses.
 
std::vector< int32_t > GetUnitModules (const std::vector< int32_t > addresses, const uint32_t unit)
 From a list of module address, return those that belong to a selected unit.
 

Variables

static const double kStsClock = 3.125
 
static const double kStsDx = 6. / 1024
 
static const double kStsDy = kStsDx / std::tan(7.5 * TMath::Pi() / 180)
 
static const double kStsErrX = kStsDx / sqrt(12)
 
static const double kStsErrY = kStsDy / sqrt(12)
 

Detailed Description

Namespace containing utility functions for STS detector.

Function Documentation

◆ ChargeBinning()

std::pair< cbm_sts_utils::HBinning, cbm_sts_utils::HBinning > cbm_sts_utils::ChargeBinning ( const CbmStsParModule & par_module,
const uint32_t max_clu_size = 1 )

Generate the charge binning from module config obj.

Get the charge asymmetry of a hit.

Parameters
par_moduleObj containing the module configuration
max_clu_sizemaximum cluster size to sample
Returns
pair binning structure for n(p)-side

Definition at line 85 of file CbmStsUtils.cxx.

References CbmStsParModule::GetAsicParams(), and par_asic.

Referenced by CbmStsHitAna::BookHistograms().

◆ GetHitCharge()

double cbm_sts_utils::GetHitCharge ( CbmStsHit * hit = nullptr,
TClonesArray * clusters = nullptr )

Get the charge of a hit as the average of front and back cluster charges.

Parameters
hitPointer to the STS hit
clustersPointer to the TClonesArray of clusters
Returns
Average charge of the hit

Definition at line 62 of file CbmStsUtils.cxx.

References GetHitChargeB(), and GetHitChargeF().

Referenced by CbmStsResolution::BuildResidual(), and CbmCutMap::CheckStsHit().

◆ GetHitChargeAsy()

double cbm_sts_utils::GetHitChargeAsy ( CbmStsHit * hit = nullptr,
TClonesArray * clusters = nullptr )

Get the charge asymmetry of a hit.

Parameters
hitPointer to the STS hit
clustersPointer to the TClonesArray of clusters
Returns
Charge asymmetry of the hit

Definition at line 73 of file CbmStsUtils.cxx.

References GetHitChargeB(), and GetHitChargeF().

Referenced by CbmCutMap::CheckStsHit(), and CbmStsHitAna::ProcessHit().

◆ GetHitChargeB()

double cbm_sts_utils::GetHitChargeB ( CbmStsHit * hit = nullptr,
TClonesArray * clusters = nullptr )

Get the charge of a hit from the back side.

Parameters
hitPointer to the STS hit
clustersPointer to the TClonesArray of clusters
Returns
Charge of the hit on the back side

Definition at line 36 of file CbmStsUtils.cxx.

References CbmStsHit::GetBackClusterId().

Referenced by GetHitCharge(), GetHitChargeAsy(), and CbmStsHitAna::ProcessHit().

◆ GetHitChargeF()

double cbm_sts_utils::GetHitChargeF ( CbmStsHit * hit = nullptr,
TClonesArray * clusters = nullptr )

Get the charge of a hit from the front side.

Parameters
hitPointer to the STS hit
clustersPointer to the TClonesArray of clusters
Returns
Charge of the hit on the front side

Definition at line 28 of file CbmStsUtils.cxx.

References CbmStsHit::GetFrontClusterId().

Referenced by GetHitCharge(), GetHitChargeAsy(), and CbmStsHitAna::ProcessHit().

◆ GetHitCluSizeB()

int32_t cbm_sts_utils::GetHitCluSizeB ( CbmStsHit * hit = nullptr,
TClonesArray * clusters = nullptr )

Get the cluster size of a hit from the back side.

Parameters
hitPointer to the STS hit
clustersPointer to the TClonesArray of clusters
Returns
Cluster size on the back side

Definition at line 20 of file CbmStsUtils.cxx.

References CbmStsHit::GetBackClusterId().

Referenced by CbmStsHitAna::ProcessHit().

◆ GetHitCluSizeF()

int32_t cbm_sts_utils::GetHitCluSizeF ( CbmStsHit * hit = nullptr,
TClonesArray * clusters = nullptr )

Get the cluster size of a hit from the front side.

Parameters
hitPointer to the STS hit
clustersPointer to the TClonesArray of clusters
Returns
Cluster size on the front side

Definition at line 13 of file CbmStsUtils.cxx.

References CbmStsHit::GetFrontClusterId().

Referenced by CbmStsHitAna::ProcessHit().

◆ GetHitSizeAsy()

double cbm_sts_utils::GetHitSizeAsy ( CbmStsHit * hit = nullptr,
TClonesArray * clusters = nullptr )

Get the size asymmetry of a hit.

Parameters
hitPointer to the STS hit
clustersPointer to the TClonesArray of clusters
Returns
Charge asymmetry of the hit

◆ GetHitTimeB()

double cbm_sts_utils::GetHitTimeB ( CbmStsHit * hit = nullptr,
TClonesArray * clusters = nullptr )

Get the charge of a hit from the back side.

Parameters
hitPointer to the STS hit
clustersPointer to the TClonesArray of clusters
Returns
Charge of the hit on the back side

Definition at line 53 of file CbmStsUtils.cxx.

References CbmStsHit::GetBackClusterId().

Referenced by CbmStsHitAna::ProcessHit().

◆ GetHitTimeF()

double cbm_sts_utils::GetHitTimeF ( CbmStsHit * hit = nullptr,
TClonesArray * clusters = nullptr )

Get the charge of a hit from the front side.

Parameters
hitPointer to the STS hit
clustersPointer to the TClonesArray of clusters
Returns
Charge of the hit on the front side

Definition at line 45 of file CbmStsUtils.cxx.

References CbmStsHit::GetFrontClusterId().

Referenced by CbmStsHitAna::ProcessHit().

◆ GetUnitModules()

std::vector< int32_t > cbm_sts_utils::GetUnitModules ( const std::vector< int32_t > addresses,
const uint32_t unit )

From a list of module address, return those that belong to a selected unit.

Parameters
addressesVector containing the addresses of the modules
unitSelected unit
Returns
subset of modules that belong to the selected unit

Definition at line 134 of file CbmStsUtils.cxx.

References CbmStsAddress::GetElementId(), and kStsUnit.

◆ GetUnits()

std::set< int > cbm_sts_utils::GetUnits ( const std::vector< int32_t > addresses)

Return the STS units from a list of addresses.

Parameters
addressesVector containing the addresses of the modules
Returns
set of units

Definition at line 125 of file CbmStsUtils.cxx.

References CbmStsAddress::GetElementId(), and kStsUnit.

Variable Documentation

◆ kStsClock

const double cbm_sts_utils::kStsClock = 3.125
static

Definition at line 20 of file CbmStsUtils.h.

Referenced by CbmStsHitAna::BookHistograms().

◆ kStsDx

const double cbm_sts_utils::kStsDx = 6. / 1024
static

◆ kStsDy

const double cbm_sts_utils::kStsDy = kStsDx / std::tan(7.5 * TMath::Pi() / 180)
static

◆ kStsErrX

const double cbm_sts_utils::kStsErrX = kStsDx / sqrt(12)
static

Definition at line 23 of file CbmStsUtils.h.

◆ kStsErrY

const double cbm_sts_utils::kStsErrY = kStsDy / sqrt(12)
static

Definition at line 24 of file CbmStsUtils.h.