CbmRoot
Loading...
Searching...
No Matches
CbmTrdModuleRec2D Class Reference

Cluster finding and hit reconstruction algorithms for the TRD(2D) module. More...

#include <CbmTrdModuleRec2D.h>

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

Public Types

enum  ECbmTrdModuleRec2D { kVerbCluster = 0 , kVerbReco = 1 , kDraw = 2 , kHelpers = 3 }
 

Public Member Functions

 CbmTrdModuleRec2D ()
 Default constructor.
 
 CbmTrdModuleRec2D (Int_t mod, Int_t ly=-1, Int_t rot=0)
 Constructor with placement.
 
virtual ~CbmTrdModuleRec2D ()
 
virtual Bool_t AddDigi (const CbmTrdDigi *d, Int_t id)
 Add digi to local module.
 
virtual void DrawHit (CbmTrdHit *) const
 
virtual Int_t GetOverThreshold () const
 Count RO channels (R or T) with data.
 
virtual Bool_t PreProcessHits ()
 Check hit quality (deconvolute pile-ups, etc)
 
virtual Bool_t PostProcessHits ()
 Finalize hits (merge RC hits, etc)
 
virtual Int_t FindClusters (bool clr)
 Finalize clusters.
 
virtual Bool_t MakeHits ()
 Steering routine for building hits.
 
virtual CbmTrdHitMakeHit (Int_t cId, const CbmTrdCluster *c, std::vector< const CbmTrdDigi * > *digis)
 Steering routine for converting cluster to hit.
 
Int_t LoadDigis (vector< const CbmTrdDigi * > *din, Int_t cid)
 Load RAW digis into working array of RECO digis.
 
Int_t ProjectDigis (Int_t cid, Int_t cjd=-1)
 
Int_t CheckMerge (Int_t cid, Int_t cjd)
 Implement topologic cuts for hit merging.
 
Bool_t MergeHits (CbmTrdHit *h, Int_t a0)
 Algorithm for hit merging.
 
Bool_t BuildHit (CbmTrdHit *h)
 
UShort_t GetHitMap () const
 
Double_t GetXcorr (Double_t dx, Int_t typ, Int_t cls=0) const
 x position correction based on LUT
 
Double_t GetYcorr (Double_t dy, Int_t cls=0) const
 y position correction based on LUT
 
void RecenterXoffset (Double_t &dx)
 Shift graph representation to [-0.5, 0.5].
 
void RecenterYoffset (Double_t &dy)
 Shift graph representation to [-0.5, 0.5].
 
Int_t GetHitClass () const
 Hit classification wrt center pad.
 
Int_t GetHitRcClass (Int_t a0) const
 Hit classification wrt signal bias.
 
void SetUseHelpers (bool use=true)
 Steer usage of helper graphs for computing time and energy per hit. A cost wrt the additional performance vs. CPU has to be performed.
 
void SetHitTimeOffset (int dt)
 Time offset to synchronize TRD2D hits to the rest of detectors.
 
virtual void Clear (Option_t *opt="")
 Clear local storage.
 
virtual TClonesArray * GetClusters ()
 
virtual const TClonesArray * GetClusters () const
 
virtual TClonesArray * GetHits ()
 
virtual const TClonesArray * GetHits () const
 
virtual Double_t GetDx () const
 Shortcut getter size x/2 [cm].
 
virtual Double_t GetDy () const
 Shortcut getter size y/2 [cm].
 
virtual Double_t GetDz () const
 Shortcut getter size z/2 [cm].
 
virtual Int_t GetNasics () const
 Shortcut getter ASICs number module wise.
 
virtual Int_t GetNcols () const
 Shortcut getter column size.
 
virtual Int_t GetNrows () const
 Shortcut getter row wise.
 
virtual Int_t GetAsicAddress (Int_t id) const
 Addressing ASIC on module based on id.
 
virtual Int_t GetPadAddress (Int_t r, Int_t c) const
 Addressing read-out pads on module based on (row,col)
 
virtual Int_t GetPadRowCol (Int_t address, Int_t &c) const
 Addressing read-out pads based on module address.
 
virtual const Char_t * GetPath () const
 
bool IsChannelMasked (int ch) const
 Inquire the ASIC par set.
 
virtual void LocalToMaster (Double_t in[3], Double_t out[3])
 
virtual void SetAsicPar (CbmTrdParModAsic *p=nullptr)
 
virtual void SetChmbPar (const CbmTrdParModGas *p)
 
virtual void SetDigiPar (const CbmTrdParModDigi *p)
 
virtual void SetGainPar (const CbmTrdParModGain *p)
 
virtual void SetGeoPar (const CbmTrdParModGeo *p)
 

Protected Attributes

UInt_t fCalled
 counter for the number of calls
 
TClonesArray * fClusters
 module wise storage of reconstructed cluster
 
TClonesArray * fHits
 module wise storage of reconstructed hits
 
UShort_t fModAddress = 0
 unique identifier for current module
 
Char_t fLayerId = -1
 layer identifier
 
UChar_t fRotation = 0
 rotation angle for current module
 
const CbmTrdParModDigifDigiPar = nullptr
 read-out description of module
 
const CbmTrdParModGasfChmbPar = nullptr
 detection description (HV, drift) of module
 
CbmTrdParModAsicfAsicPar = nullptr
 the set of ASIC operating on the module (owned)
 
const CbmTrdParModGainfGainPar = nullptr
 Analog to digital conversion for module.
 
const CbmTrdParModGeofGeoPar = nullptr
 link to gGeometry for module
 

Private Member Functions

 CbmTrdModuleRec2D (const CbmTrdModuleRec2D &ref)
 
const CbmTrdModuleRec2Doperator= (const CbmTrdModuleRec2D &ref)
 
virtual void Config (Bool_t vcl, Bool_t vrc, Bool_t dw)
 Config task with the following settings.
 
Bool_t CDRAW () const
 
Bool_t CWRITE (int level) const
 
Bool_t CHELPERS () const
 
int AddClusterEdges (CbmTrdCluster *cl)
 Add left and right edge channels to the cluster in case this are masked channels.
 
Bool_t CheckConvolution (CbmTrdHit *h) const
 Implement cuts for hit convolution definition.
 
Bool_t Deconvolute (CbmTrdHit *h)
 Algorithm for cluster spliting.
 
Double_t GetXoffset (Int_t n0=0) const
 
Double_t GetYoffset (Int_t n0=0) const
 
const CbmTrdParFaspChannelGetFaspChCalibrator (uint16_t ch) const
 Retrive FASP ch calibrator by RO ch number in the module.
 
Int_t LoadDigis (std::vector< const CbmTrdDigi * > *digis, std::vector< CbmTrdDigi * > *vdgM, std::vector< Bool_t > *vmask, ULong64_t &t0, Int_t &cM)
 Load digis info into local data structures.
 
Int_t LoadDigisRC (vector< const CbmTrdDigi * > *digis, const Int_t r0, const Int_t a0, ULong64_t &t0, Int_t &cM)
 
Bool_t MergeDigis (std::vector< const CbmTrdDigi * > *digis, std::vector< CbmTrdDigi * > *vdgM, std::vector< Bool_t > *vmask)
 Merge R/T signals to digis if topological conditions in cluster are fulfilled.
 
Bool_t HasLeftSgn () const
 
Bool_t HasOvf () const
 
Bool_t IsBiasX () const
 
Bool_t IsBiasXleft () const
 
Bool_t IsBiasXmid () const
 
Bool_t IsBiasXright () const
 
Bool_t IsBiasY () const
 
Bool_t IsBiasYleft () const
 
Bool_t IsLeftHit () const
 
Bool_t IsMaxTilt () const
 
Bool_t IsOpenLeft () const
 
Bool_t IsOpenRight () const
 
Bool_t IsSymmHit () const
 
void SetBiasX (Bool_t set=1)
 
void SetBiasXleft (Bool_t set=1)
 
void SetBiasXmid (Bool_t set=1)
 
void SetBiasXright (Bool_t set=1)
 
void SetBiasY (Bool_t set=1)
 
void SetBiasYleft (Bool_t set=1)
 
void SetBiasYmid (Bool_t set=1)
 
void SetBiasYright (Bool_t set=1)
 
void SetLeftSgn (Bool_t set=1)
 
void SetLeftHit (Bool_t set=1)
 
void SetSymmHit (Bool_t set=1)
 
void SetMaxTilt (Bool_t set=1)
 
void SetOvf (Bool_t set=1)
 

Private Attributes

UChar_t fConfigMap = 0
 
ULong64_t fT0 = 0
 task configuration settings
 
UInt_t fTimeLast = 0
 start time of event/time slice [clk]
 
UInt_t fTimeWinKeep = 11
 time of last digi processed in module [clk]
 
std::map< Int_t, std::list< CbmTrdCluster * > > fBuffer
 time interval to still keep clusters in buffer [clk]
 
std::map< Int_t, vector< CbmTrdDigiRec * > > fDigis
 
ULong64_t vt0 = 0
 cluster-wise organized calibrated digi
 
UChar_t vcM = 0
 start time of current hit [clk]
 
UChar_t vrM = 0
 maximum col
 
UChar_t viM = 0
 maximum row
 
UShort_t vyM = 0
 index of maximum signal in the projection
 
int fHitTimeOff = 0
 bit map for cluster topology classification
 
std::vector< Double_t > vs
 hit time offset for synchronization
 
std::vector< Double_t > vse
 working copy of signals from cluster
 
std::vector< Char_t > vt
 working copy of signal errors from cluster
 
std::vector< Double_t > vx
 working copy of signal relative timing
 
std::vector< Double_t > vxe
 working copy of signal relative positions
 

Static Private Attributes

static Float_t fgCorrXdx = 0.01
 working copy of signal relative position errors
 
static Float_t fgCorrXval [3][NBINSCORRX]
 step of the discretized correction LUT
 
static Float_t fgCorrYval [NBINSCORRY][2]
 discretized correction LUT
 
static Float_t fgCorrRcXval [2][NBINSCORRX]
 discretized correction params
 
static Float_t fgCorrRcXbiasXval [3][NBINSCORRX]
 discretized correction LUT
 
static Double_t fgDT [3] = {4.181e-6, 1586, 24}
 discretized correction LUT
 
static TGraphErrors * fgEdep = nullptr
 FASP delay wrt signal.
 
static TF1 * fgPRF = nullptr
 data handler for cluster PRF
 
static TGraphErrors * fgT = nullptr
 fitter for cluster PRF
 

Detailed Description

Cluster finding and hit reconstruction algorithms for the TRD(2D) module.

Author
Alexandru Bercucic aberc.nosp@m.uci@.nosp@m.niham.nosp@m..nip.nosp@m.ne.ro
Since
01.02.2019
Date
01.10.2021

Extend the TRD module reconstructor for the particular case of inner TRD-2D modules. The class is a collection of algorithms to :

  • identify time and spatially correlated digis and build clusters
  • identify the type of clusters and apply further merging/deconvolution
  • apply FEE (channel gain, baseline) and detector (energy gain, maps, etc) calibration
  • steer the calculation of hit 4D parameters (x, y, t, E)

Definition at line 37 of file CbmTrdModuleRec2D.h.

Member Enumeration Documentation

◆ ECbmTrdModuleRec2D

Enumerator
kVerbCluster 

steer clusterizer verbosity on/off

kVerbReco 

steer reconstructor verbosity on/off

kDraw 

steer graphic representation on/off

kHelpers 

use helper graph for time and energy estimation

Definition at line 39 of file CbmTrdModuleRec2D.h.

Constructor & Destructor Documentation

◆ CbmTrdModuleRec2D() [1/3]

CbmTrdModuleRec2D::CbmTrdModuleRec2D ( )

Default constructor.

Definition at line 34 of file CbmTrdModuleRec2D.cxx.

◆ CbmTrdModuleRec2D() [2/3]

CbmTrdModuleRec2D::CbmTrdModuleRec2D ( Int_t mod,
Int_t ly = -1,
Int_t rot = 0 )

Constructor with placement.

Definition at line 37 of file CbmTrdModuleRec2D.cxx.

◆ ~CbmTrdModuleRec2D()

CbmTrdModuleRec2D::~CbmTrdModuleRec2D ( )
virtual

Definition at line 44 of file CbmTrdModuleRec2D.cxx.

◆ CbmTrdModuleRec2D() [3/3]

CbmTrdModuleRec2D::CbmTrdModuleRec2D ( const CbmTrdModuleRec2D & ref)
private

Member Function Documentation

◆ AddClusterEdges()

int CbmTrdModuleRec2D::AddClusterEdges ( CbmTrdCluster * cl)
private

Add left and right edge channels to the cluster in case this are masked channels.

Returns
no of edges added to cluster

Definition at line 174 of file CbmTrdModuleRec2D.cxx.

References CbmTrdCluster::AddChannel(), CbmTrdCluster::GetEndCh(), GetFaspChCalibrator(), CbmTrdModuleAbstract::GetNcols(), CbmTrdCluster::GetStartCh(), CbmTrdParFaspChannel::IsMasked(), NFASPCH, and NFASPMOD.

◆ AddDigi()

Bool_t CbmTrdModuleRec2D::AddDigi ( const CbmTrdDigi * d,
Int_t id )
virtual

Add digi to local module.

Add digi to cluster fragments. At first clusters are ordered on pad rows and time. No channel ordering is assumed. The time condition for a digi to enter a cluster chunk is to have abs(dt)<5 wrt cluster t0

Reimplemented from CbmTrdModuleRec.

Definition at line 47 of file CbmTrdModuleRec2D.cxx.

References CWRITE(), CbmTrdModuleAbstract::fAsicPar, fBuffer, CbmTrdModuleAbstract::fModAddress, fT0, fTimeLast, CbmTrdDigi::GetAddressChannel(), CbmTrdDigi::GetCharge(), CbmTrdParModAsic::GetFaspChannelPar(), CbmTrdModuleAbstract::GetPadRowCol(), CbmTrdDigi::GetTimeDAQ(), CbmTrdDigi::GetType(), CbmTrdParFaspChannel::IsMasked(), CbmTrdDigi::kFASP, CbmTrdParFaspChannel::Print(), CbmTrdCluster::SetFaspDigis(), CbmTrdCluster::ToString(), and CbmTrdDigi::ToString().

◆ BuildHit()

◆ CDRAW()

Bool_t CbmTrdModuleRec2D::CDRAW ( ) const
inlineprivate

Definition at line 141 of file CbmTrdModuleRec2D.h.

References fConfigMap, kDraw, and TESTBIT.

Referenced by Config(), and MakeHit().

◆ CheckConvolution()

Bool_t CbmTrdModuleRec2D::CheckConvolution ( CbmTrdHit * h) const
private

Implement cuts for hit convolution definition.

Parameters
[in]hhit to be analysed.
Returns
TRUE if double cluster

Definition at line 281 of file CbmTrdModuleRec2D.cxx.

Referenced by PreProcessHits().

◆ CheckMerge()

Int_t CbmTrdModuleRec2D::CheckMerge ( Int_t cid,
Int_t cjd )

Implement topologic cuts for hit merging.

Returns
index of anode wire wrt to boundary or 0 if check fails

Check topologic conditions if the 2 clusters (in digi representation) can be merged. The first pair is always from the bottom row return the anode candidate wrt boundary 1, 2, 3 for the first 3 anodes of the upper row; -1, -2, -3 for the bottom row (r0) or 0 if the check fails

Definition at line 352 of file CbmTrdModuleRec2D.cxx.

References fDigis, and CbmTrdModuleAbstract::GetPadRowCol().

Referenced by PostProcessHits().

◆ CHELPERS()

Bool_t CbmTrdModuleRec2D::CHELPERS ( ) const
inlineprivate

Definition at line 149 of file CbmTrdModuleRec2D.h.

References fConfigMap, kHelpers, and TESTBIT.

Referenced by MakeHit().

◆ Clear()

void CbmTrdModuleRec::Clear ( Option_t * opt = "")
virtualinherited

Clear local storage.

Reimplemented in CbmTrdModuleRecR.

Definition at line 41 of file CbmTrdModuleRec.cxx.

References CbmTrdModuleRec::fCalled, CbmTrdModuleRec::fClusters, and CbmTrdModuleRec::fHits.

Referenced by CbmTrdModuleRecR::Clear().

◆ Config()

void CbmTrdModuleRec2D::Config ( Bool_t vcl,
Bool_t vrc,
Bool_t dw )
inlineprivatevirtual

Config task with the following settings.

Parameters
[in]vcltoggle verbosity clusterizer
[in]vrctoggle verbosity reconsructor
[in]dwdrawing toggle

Definition at line 252 of file CbmTrdModuleRec2D.h.

References CDRAW(), CLRBIT, CWRITE(), fConfigMap, kDraw, kVerbCluster, kVerbReco, and SETBIT.

◆ CWRITE()

Bool_t CbmTrdModuleRec2D::CWRITE ( int level) const
inlineprivate

◆ Deconvolute()

Bool_t CbmTrdModuleRec2D::Deconvolute ( CbmTrdHit * h)
private

Algorithm for cluster spliting.

Parameters
[in]hhit to be analysed.
Returns
TRUE if succesful. The extra cluster is added to the end of the hits array

Definition at line 284 of file CbmTrdModuleRec2D.cxx.

Referenced by PreProcessHits().

◆ DrawHit()

virtual void CbmTrdModuleRec2D::DrawHit ( CbmTrdHit * ) const
inlinevirtual

Definition at line 56 of file CbmTrdModuleRec2D.h.

Referenced by MakeHit().

◆ FindClusters()

Int_t CbmTrdModuleRec2D::FindClusters ( bool clr)
virtual

Finalize clusters.

Implements CbmTrdModuleRec.

Definition at line 200 of file CbmTrdModuleRec2D.cxx.

References CWRITE(), fBuffer, fTimeLast, fTimeWinKeep, and CbmTrdCluster::SetFaspDigis().

◆ GetAsicAddress()

virtual Int_t CbmTrdModuleAbstract::GetAsicAddress ( Int_t id) const
inlinevirtualinherited

Addressing ASIC on module based on id.

Parameters
[in]idmodule wise ASIC identifier
Returns
ASIC address within experiment

Definition at line 59 of file CbmTrdModuleAbstract.h.

References CbmTrdModuleAbstract::fModAddress.

◆ GetClusters() [1/2]

virtual TClonesArray * CbmTrdModuleRec::GetClusters ( )
inlinevirtualinherited

Definition at line 50 of file CbmTrdModuleRec.h.

References CbmTrdModuleRec::fClusters.

Referenced by CbmTrdClusterFinder::processDigisInModules().

◆ GetClusters() [2/2]

virtual const TClonesArray * CbmTrdModuleRec::GetClusters ( ) const
inlinevirtualinherited

Definition at line 51 of file CbmTrdModuleRec.h.

References CbmTrdModuleRec::fClusters.

◆ GetDx()

virtual Double_t CbmTrdModuleAbstract::GetDx ( ) const
inlinevirtualinherited

Shortcut getter size x/2 [cm].

Definition at line 44 of file CbmTrdModuleAbstract.h.

References CbmTrdModuleAbstract::fGeoPar, and CbmTrdParModGeo::GetDX().

Referenced by CbmTrdModuleSimR::SetAsicPar().

◆ GetDy()

virtual Double_t CbmTrdModuleAbstract::GetDy ( ) const
inlinevirtualinherited

Shortcut getter size y/2 [cm].

Definition at line 46 of file CbmTrdModuleAbstract.h.

References CbmTrdModuleAbstract::fGeoPar, and CbmTrdParModGeo::GetDY().

Referenced by CbmTrdModuleSimR::SetAsicPar().

◆ GetDz()

virtual Double_t CbmTrdModuleAbstract::GetDz ( ) const
inlinevirtualinherited

Shortcut getter size z/2 [cm].

Definition at line 48 of file CbmTrdModuleAbstract.h.

References CbmTrdModuleAbstract::fGeoPar, and CbmTrdParModGeo::GetDZ().

◆ GetFaspChCalibrator()

const CbmTrdParFaspChannel * CbmTrdModuleRec2D::GetFaspChCalibrator ( uint16_t ch) const
private

Retrive FASP ch calibrator by RO ch number in the module.

Parameters
[in]chchannel id in the current module.

Definition at line 161 of file CbmTrdModuleRec2D.cxx.

References CbmTrdModuleAbstract::fAsicPar, CbmTrdParModAsic::GetAsicAddress(), CbmTrdParModAsic::GetAsicPar(), and CbmTrdParFasp::GetChannel().

Referenced by AddClusterEdges().

◆ GetHitClass()

Int_t CbmTrdModuleRec2D::GetHitClass ( ) const

Hit classification wrt center pad.

Returns
hit type : center hit [0]; side hit [1]

Incapsulate hit classification criteria based on signal topology [0] : center hit type [1] : side hit type

Definition at line 891 of file CbmTrdModuleRec2D.cxx.

References HasOvf(), IsMaxTilt(), IsSymmHit(), and vs.

Referenced by BuildHit(), and MergeHits().

◆ GetHitMap()

UShort_t CbmTrdModuleRec2D::GetHitMap ( ) const
inline

Definition at line 87 of file CbmTrdModuleRec2D.h.

References vyM.

◆ GetHitRcClass()

Int_t CbmTrdModuleRec2D::GetHitRcClass ( Int_t a0) const

Hit classification wrt signal bias.

Returns
hit type : center hit [0]; side hit [1]

Definition at line 908 of file CbmTrdModuleRec2D.cxx.

References IsBiasXleft(), IsBiasXmid(), IsBiasXright(), and vyM.

Referenced by MergeHits().

◆ GetHits() [1/2]

virtual TClonesArray * CbmTrdModuleRec::GetHits ( )
inlinevirtualinherited

Definition at line 52 of file CbmTrdModuleRec.h.

References CbmTrdModuleRec::fHits.

Referenced by CbmTrdHitProducer::addModuleHits().

◆ GetHits() [2/2]

virtual const TClonesArray * CbmTrdModuleRec::GetHits ( ) const
inlinevirtualinherited

Definition at line 53 of file CbmTrdModuleRec.h.

References CbmTrdModuleRec::fHits.

◆ GetNasics()

virtual Int_t CbmTrdModuleAbstract::GetNasics ( ) const
inlinevirtualinherited

Shortcut getter ASICs number module wise.

Definition at line 50 of file CbmTrdModuleAbstract.h.

References CbmTrdModuleAbstract::fAsicPar, and CbmTrdParModAsic::GetNofAsics().

◆ GetNcols()

virtual Int_t CbmTrdModuleAbstract::GetNcols ( ) const
inlinevirtualinherited

◆ GetNrows()

virtual Int_t CbmTrdModuleAbstract::GetNrows ( ) const
inlinevirtualinherited

Shortcut getter row wise.

Definition at line 54 of file CbmTrdModuleAbstract.h.

References CbmTrdModuleAbstract::fDigiPar, and CbmTrdParModDigi::GetNofRows().

◆ GetOverThreshold()

Int_t CbmTrdModuleRec2D::GetOverThreshold ( ) const
virtual

Count RO channels (R or T) with data.

Reimplemented from CbmTrdModuleRec.

Definition at line 150 of file CbmTrdModuleRec2D.cxx.

References fBuffer.

◆ GetPadAddress()

virtual Int_t CbmTrdModuleAbstract::GetPadAddress ( Int_t r,
Int_t c ) const
inlinevirtualinherited

Addressing read-out pads on module based on (row,col)

Parameters
[in]rglobal row id (not sector wise)
[in]cglobal column id
Returns
pad address within module

Definition at line 65 of file CbmTrdModuleAbstract.h.

References CbmTrdModuleAbstract::GetNcols().

Referenced by CbmTrdModuleSim2D::ScanPadPlane().

◆ GetPadRowCol()

Int_t CbmTrdModuleAbstract::GetPadRowCol ( Int_t address,
Int_t & c ) const
inlinevirtualinherited

Addressing read-out pads based on module address.

Parameters
[in]addresspad address within module
[in]con return global column id
Returns
global row address within module

Definition at line 107 of file CbmTrdModuleAbstract.h.

References CbmTrdModuleAbstract::fDigiPar, and CbmTrdModuleAbstract::GetNcols().

Referenced by AddDigi(), CheckMerge(), CbmTrdModuleSim2D::FlushBuffer(), LoadDigis(), LoadDigisRC(), MergeDigis(), and ProjectDigis().

◆ GetPath()

virtual const Char_t * CbmTrdModuleAbstract::GetPath ( ) const
inlinevirtualinherited

◆ GetXcorr()

Double_t CbmTrdModuleRec2D::GetXcorr ( Double_t dx,
Int_t typ,
Int_t cls = 0 ) const

x position correction based on LUT

Parameters
[in]dxoffset computed on charge sharing expressed in [pw]
[in]typhit type central pad [0] or edge [1]
[in]clscorrection class x wrt center [0] row-cross [1] row-cross biassed x [2]
Returns
correction expresed in [cm]

Give the linear interpolation of SYS correction for current position offset "dx" based on LUT calculated wrt MC EbyE data. The position offset is expresed in [pw] units while the output is in [cm]

Definition at line 960 of file CbmTrdModuleRec2D.cxx.

References fgCorrRcXbiasXval, fgCorrRcXval, fgCorrXdx, fgCorrXval, and NBINSCORRX.

Referenced by BuildHit(), and MergeHits().

◆ GetXoffset()

Double_t CbmTrdModuleRec2D::GetXoffset ( Int_t n0 = 0) const
private

Definition at line 928 of file CbmTrdModuleRec2D.cxx.

References vs, vx, and vxe.

Referenced by BuildHit(), and MergeHits().

◆ GetYcorr()

Double_t CbmTrdModuleRec2D::GetYcorr ( Double_t dy,
Int_t cls = 0 ) const

y position correction based on LUT

Parameters
[in]dyoffset computed on charge sharing expressed in [ph]
[in]clscorrection class
Returns
correction expresed in [cm]

Process y offset. Apply systematic correction for y (MC derived). The position offset is expresed in [pw] units while the output is in [cm]

Definition at line 997 of file CbmTrdModuleRec2D.cxx.

References fgCorrYval, IsLeftHit(), IsMaxTilt(), IsSymmHit(), and vs.

Referenced by BuildHit(), and MergeHits().

◆ GetYoffset()

Double_t CbmTrdModuleRec2D::GetYoffset ( Int_t n0 = 0) const
private

Definition at line 943 of file CbmTrdModuleRec2D.cxx.

References vs, vx, and vxe.

Referenced by BuildHit(), and MergeHits().

◆ HasLeftSgn()

Bool_t CbmTrdModuleRec2D::HasLeftSgn ( ) const
inlineprivate

Definition at line 192 of file CbmTrdModuleRec2D.h.

References TESTBIT, and vyM.

Referenced by ProjectDigis().

◆ HasOvf()

Bool_t CbmTrdModuleRec2D::HasOvf ( ) const
inlineprivate

Definition at line 193 of file CbmTrdModuleRec2D.h.

References TESTBIT, and vyM.

Referenced by BuildHit(), GetHitClass(), and MergeHits().

◆ IsBiasX()

Bool_t CbmTrdModuleRec2D::IsBiasX ( ) const
inlineprivate

Definition at line 194 of file CbmTrdModuleRec2D.h.

References TESTBIT, and vyM.

Referenced by MergeHits(), and ProjectDigis().

◆ IsBiasXleft()

Bool_t CbmTrdModuleRec2D::IsBiasXleft ( ) const
inlineprivate

Definition at line 195 of file CbmTrdModuleRec2D.h.

References TESTBIT, and vyM.

Referenced by GetHitRcClass(), MergeHits(), and ProjectDigis().

◆ IsBiasXmid()

Bool_t CbmTrdModuleRec2D::IsBiasXmid ( ) const
inlineprivate

Definition at line 196 of file CbmTrdModuleRec2D.h.

References TESTBIT, and vyM.

Referenced by GetHitRcClass().

◆ IsBiasXright()

Bool_t CbmTrdModuleRec2D::IsBiasXright ( ) const
inlineprivate

Definition at line 197 of file CbmTrdModuleRec2D.h.

References TESTBIT, and vyM.

Referenced by GetHitRcClass().

◆ IsBiasY()

Bool_t CbmTrdModuleRec2D::IsBiasY ( ) const
inlineprivate

Definition at line 198 of file CbmTrdModuleRec2D.h.

References TESTBIT, and vyM.

Referenced by ProjectDigis().

◆ IsBiasYleft()

Bool_t CbmTrdModuleRec2D::IsBiasYleft ( ) const
inlineprivate

Definition at line 199 of file CbmTrdModuleRec2D.h.

References TESTBIT, and vyM.

Referenced by ProjectDigis().

◆ IsChannelMasked()

bool CbmTrdModuleAbstract::IsChannelMasked ( int ch) const
inherited

Inquire the ASIC par set.

Returns
true for actively masked channel

Definition at line 30 of file CbmTrdModuleAbstract.cxx.

References CbmTrdModuleAbstract::fAsicPar, CbmTrdParModAsic::GetAsicPar(), and CbmTrdParAsic::IsChannelMasked().

◆ IsLeftHit()

Bool_t CbmTrdModuleRec2D::IsLeftHit ( ) const
inlineprivate

Definition at line 200 of file CbmTrdModuleRec2D.h.

References TESTBIT, and vyM.

Referenced by GetYcorr(), and ProjectDigis().

◆ IsMaxTilt()

Bool_t CbmTrdModuleRec2D::IsMaxTilt ( ) const
inlineprivate

Definition at line 201 of file CbmTrdModuleRec2D.h.

References TESTBIT, and vyM.

Referenced by BuildHit(), GetHitClass(), GetYcorr(), IsOpenLeft(), IsOpenRight(), MergeHits(), and ProjectDigis().

◆ IsOpenLeft()

Bool_t CbmTrdModuleRec2D::IsOpenLeft ( ) const
inlineprivate

Definition at line 202 of file CbmTrdModuleRec2D.h.

References IsMaxTilt(), and viM.

Referenced by BuildHit(), MergeHits(), and ProjectDigis().

◆ IsOpenRight()

Bool_t CbmTrdModuleRec2D::IsOpenRight ( ) const
inlineprivate

Definition at line 271 of file CbmTrdModuleRec2D.h.

References IsMaxTilt(), viM, and vs.

Referenced by BuildHit(), MergeHits(), and ProjectDigis().

◆ IsSymmHit()

Bool_t CbmTrdModuleRec2D::IsSymmHit ( ) const
inlineprivate

Definition at line 204 of file CbmTrdModuleRec2D.h.

References TESTBIT, and vyM.

Referenced by BuildHit(), GetHitClass(), GetYcorr(), MergeHits(), and ProjectDigis().

◆ LoadDigis() [1/2]

Int_t CbmTrdModuleRec2D::LoadDigis ( std::vector< const CbmTrdDigi * > * digis,
std::vector< CbmTrdDigi * > * vdgM,
std::vector< Bool_t > * vmask,
ULong64_t & t0,
Int_t & cM )
private

Load digis info into local data structures.

Parameters
[in]digisinitial digis list shrinked for incomplete digis.
[in]vdgMlist of merged digis
[in]vmaskposition of merged digis in the digis list
[in]t0prompt time of cluster
[out]cMrelative position of maximum
Returns
no of signals loaded. if detected overflow negative number

◆ LoadDigis() [2/2]

Int_t CbmTrdModuleRec2D::LoadDigis ( vector< const CbmTrdDigi * > * din,
Int_t cid )

Load RAW digis into working array of RECO digis.

Parameters
[in]dinlist of RAW digis in increasing order of column no
[in]cidcluster index in the cluster array
Returns
no of digis loaded

Load RAW digis info in calibration aware strucuture CbmTrdDigiReco Do basic sanity checks; also incomplete adjacent digi and if found merge them.

Definition at line 1088 of file CbmTrdModuleRec2D.cxx.

References fDigis, CbmTrdDigi::GetAddressChannel(), and CbmTrdModuleAbstract::GetPadRowCol().

Referenced by MakeHit().

◆ LoadDigisRC()

Int_t CbmTrdModuleRec2D::LoadDigisRC ( vector< const CbmTrdDigi * > * digis,
const Int_t r0,
const Int_t a0,
ULong64_t & t0,
Int_t & cM )
private

Load digis information for row-cross hits in working vectors. The digis as provided by the digitizer are replaced by the merged one (TODO) according to the vmask map. Digis are represented in the normal coordinate system of (pad width [pw], DAQ time [clk], signal [ADC chs]) with rectangular signals at integer positions.
TODO

  1. Time information in the secondary row not used.
  2. Time walk (dependence on charge) not recovered by calibration.

Definition at line 1532 of file CbmTrdModuleRec2D.cxx.

References CWRITE(), CbmTrdModuleAbstract::fDigiPar, CbmTrdDigi::GetAddressChannel(), CbmTrdFASP::GetBaselineCorr(), CbmTrdDigi::GetCharge(), CbmTrdParModDigi::GetNofColumns(), CbmTrdModuleAbstract::GetPadRowCol(), max(), CbmTrdDigi::ToString(), vs, vse, vt, vx, and vxe.

◆ LocalToMaster()

void CbmTrdModuleAbstract::LocalToMaster ( Double_t in[3],
Double_t out[3] )
virtualinherited

◆ MakeHit()

CbmTrdHit * CbmTrdModuleRec2D::MakeHit ( Int_t cId,
const CbmTrdCluster * c,
std::vector< const CbmTrdDigi * > * digis )
virtual

◆ MakeHits()

Bool_t CbmTrdModuleRec2D::MakeHits ( )
virtual

Steering routine for building hits.

Implements CbmTrdModuleRec.

Definition at line 257 of file CbmTrdModuleRec2D.cxx.

◆ MergeDigis()

Bool_t CbmTrdModuleRec2D::MergeDigis ( std::vector< const CbmTrdDigi * > * digis,
std::vector< CbmTrdDigi * > * vdgM,
std::vector< Bool_t > * vmask )
private

Merge R/T signals to digis if topological conditions in cluster are fulfilled.

Parameters
[in]digisinitial digis list.
[out]vdgMlist of merged digis
[out]vmaskposition of merged digis in the output digis list
Returns
If successful the digis are resized by removing the references to incomplete clusters

Definition at line 1733 of file CbmTrdModuleRec2D.cxx.

References CWRITE(), CbmTrdDigi::GetAddressChannel(), CbmTrdDigi::GetCharge(), CbmTrdModuleAbstract::GetPadRowCol(), CbmTrdDigi::GetTimeDAQ(), CbmTrdDigi::GetTriggerType(), CbmTrdDigi::SetCharge(), CbmTrdDigi::SetTriggerType(), and CbmTrdDigi::ToString().

◆ MergeHits()

Bool_t CbmTrdModuleRec2D::MergeHits ( CbmTrdHit * h,
Int_t a0 )

◆ operator=()

const CbmTrdModuleRec2D & CbmTrdModuleRec2D::operator= ( const CbmTrdModuleRec2D & ref)
private

◆ PostProcessHits()

Bool_t CbmTrdModuleRec2D::PostProcessHits ( )
virtual

Finalize hits (merge RC hits, etc)

Steering routine for classifying hits and apply further analysis -> hit merging for row-cross (see RowCross)

Reimplemented from CbmTrdModuleRec.

Definition at line 287 of file CbmTrdModuleRec2D.cxx.

References CheckMerge(), CWRITE(), CbmTrdModuleAbstract::fDigiPar, fDigis, CbmTrdModuleRec::fHits, CbmTrdParModDigi::GetPadSizeX(), CbmTrdParModDigi::GetPadSizeY(), CbmHit::GetRefId(), CbmHit::GetTime(), CbmPixelHit::GetX(), CbmPixelHit::GetY(), CbmTrdHit::IsUsed(), MergeHits(), ProjectDigis(), and CbmTrdHit::ToString().

◆ PreProcessHits()

Bool_t CbmTrdModuleRec2D::PreProcessHits ( )
virtual

Check hit quality (deconvolute pile-ups, etc)

Steering routine for classifying hits and apply further analysis -> hit deconvolution (see Deconvolute)

Reimplemented from CbmTrdModuleRec.

Definition at line 260 of file CbmTrdModuleRec2D.cxx.

References CheckConvolution(), CWRITE(), Deconvolute(), and CbmTrdModuleRec::fHits.

◆ ProjectDigis()

Int_t CbmTrdModuleRec2D::ProjectDigis ( Int_t cid,
Int_t cjd = -1 )

Load digis information in working vectors Digis are represented in the normal coordinate system of (pad width [pw], DAQ time [clk], signal [ADC chs]) with rectangular signals at integer positions.

Definition at line 1126 of file CbmTrdModuleRec2D.cxx.

References CWRITE(), fDigis, CbmTrdDigi::GetAddressChannel(), CbmTrdModuleAbstract::GetPadRowCol(), CbmTrdDigiRec::GetTiltCharge(), HasLeftSgn(), IsBiasX(), IsBiasXleft(), IsBiasY(), IsBiasYleft(), IsLeftHit(), IsMaxTilt(), IsOpenLeft(), IsOpenRight(), IsSymmHit(), max(), SetBiasX(), SetBiasXleft(), SetBiasXmid(), SetBiasXright(), SetBiasY(), SetBiasYleft(), SetBiasYmid(), SetBiasYright(), SetLeftHit(), SetLeftSgn(), SetMaxTilt(), SetOvf(), SetSymmHit(), CbmTrdDigi::ToString(), vcM, viM, vrM, vs, vse, vt, vt0, vx, vxe, and vyM.

Referenced by MakeHit(), and PostProcessHits().

◆ RecenterXoffset()

void CbmTrdModuleRec2D::RecenterXoffset ( Double_t & dx)

Shift graph representation to [-0.5, 0.5].

Parameters
[in]dxoffset wrt center pad [pw]

Shift graph representation to fit dx[pw] in [-0.5, 0.5]

Definition at line 1049 of file CbmTrdModuleRec2D.cxx.

References CbmTrdModuleAbstract::GetNcols(), vcM, and vx.

Referenced by BuildHit(), and MergeHits().

◆ RecenterYoffset()

void CbmTrdModuleRec2D::RecenterYoffset ( Double_t & dy)

Shift graph representation to [-0.5, 0.5].

Parameters
[in]dyoffset wrt center pad [ph]

Shift graph representation to fit dy[ph] in [-0.5, 0.5]

Definition at line 1070 of file CbmTrdModuleRec2D.cxx.

Referenced by BuildHit(), and MergeHits().

◆ SetAsicPar()

virtual void CbmTrdModuleAbstract::SetAsicPar ( CbmTrdParModAsic * p = nullptr)
inlinevirtualinherited

Reimplemented in CbmTrdModuleSim2D, and CbmTrdModuleSimR.

Definition at line 81 of file CbmTrdModuleAbstract.h.

References CbmTrdModuleAbstract::fAsicPar.

◆ SetBiasX()

void CbmTrdModuleRec2D::SetBiasX ( Bool_t set = 1)
inlineprivate

Definition at line 205 of file CbmTrdModuleRec2D.h.

References CLRBIT, SETBIT, and vyM.

Referenced by ProjectDigis().

◆ SetBiasXleft()

void CbmTrdModuleRec2D::SetBiasXleft ( Bool_t set = 1)
inlineprivate

Definition at line 206 of file CbmTrdModuleRec2D.h.

References CLRBIT, SETBIT, and vyM.

Referenced by ProjectDigis().

◆ SetBiasXmid()

void CbmTrdModuleRec2D::SetBiasXmid ( Bool_t set = 1)
inlineprivate

Definition at line 207 of file CbmTrdModuleRec2D.h.

References CLRBIT, SETBIT, and vyM.

Referenced by ProjectDigis().

◆ SetBiasXright()

void CbmTrdModuleRec2D::SetBiasXright ( Bool_t set = 1)
inlineprivate

Definition at line 208 of file CbmTrdModuleRec2D.h.

References CLRBIT, SETBIT, and vyM.

Referenced by ProjectDigis().

◆ SetBiasY()

void CbmTrdModuleRec2D::SetBiasY ( Bool_t set = 1)
inlineprivate

Definition at line 209 of file CbmTrdModuleRec2D.h.

References CLRBIT, SETBIT, and vyM.

Referenced by ProjectDigis().

◆ SetBiasYleft()

void CbmTrdModuleRec2D::SetBiasYleft ( Bool_t set = 1)
inlineprivate

Definition at line 210 of file CbmTrdModuleRec2D.h.

References CLRBIT, SETBIT, and vyM.

Referenced by ProjectDigis().

◆ SetBiasYmid()

void CbmTrdModuleRec2D::SetBiasYmid ( Bool_t set = 1)
inlineprivate

Definition at line 211 of file CbmTrdModuleRec2D.h.

References CLRBIT, SETBIT, and vyM.

Referenced by ProjectDigis().

◆ SetBiasYright()

void CbmTrdModuleRec2D::SetBiasYright ( Bool_t set = 1)
inlineprivate

Definition at line 212 of file CbmTrdModuleRec2D.h.

References CLRBIT, SETBIT, and vyM.

Referenced by ProjectDigis().

◆ SetChmbPar()

virtual void CbmTrdModuleAbstract::SetChmbPar ( const CbmTrdParModGas * p)
inlinevirtualinherited

Definition at line 82 of file CbmTrdModuleAbstract.h.

References CbmTrdModuleAbstract::fChmbPar.

◆ SetDigiPar()

virtual void CbmTrdModuleAbstract::SetDigiPar ( const CbmTrdParModDigi * p)
inlinevirtualinherited

Definition at line 83 of file CbmTrdModuleAbstract.h.

References CbmTrdModuleAbstract::fDigiPar.

◆ SetGainPar()

virtual void CbmTrdModuleAbstract::SetGainPar ( const CbmTrdParModGain * p)
inlinevirtualinherited

Definition at line 84 of file CbmTrdModuleAbstract.h.

References CbmTrdModuleAbstract::fGainPar.

◆ SetGeoPar()

virtual void CbmTrdModuleAbstract::SetGeoPar ( const CbmTrdParModGeo * p)
inlinevirtualinherited

Definition at line 85 of file CbmTrdModuleAbstract.h.

References CbmTrdModuleAbstract::fGeoPar.

◆ SetHitTimeOffset()

void CbmTrdModuleRec2D::SetHitTimeOffset ( int dt)
inline

Time offset to synchronize TRD2D hits to the rest of detectors.

Parameters
dtoffset in [ns]

Definition at line 128 of file CbmTrdModuleRec2D.h.

References fHitTimeOff.

◆ SetLeftHit()

void CbmTrdModuleRec2D::SetLeftHit ( Bool_t set = 1)
inlineprivate

Definition at line 214 of file CbmTrdModuleRec2D.h.

References CLRBIT, SETBIT, and vyM.

Referenced by ProjectDigis().

◆ SetLeftSgn()

void CbmTrdModuleRec2D::SetLeftSgn ( Bool_t set = 1)
inlineprivate

Definition at line 213 of file CbmTrdModuleRec2D.h.

References CLRBIT, SETBIT, and vyM.

Referenced by ProjectDigis().

◆ SetMaxTilt()

void CbmTrdModuleRec2D::SetMaxTilt ( Bool_t set = 1)
inlineprivate

Definition at line 216 of file CbmTrdModuleRec2D.h.

References CLRBIT, SETBIT, and vyM.

Referenced by ProjectDigis().

◆ SetOvf()

void CbmTrdModuleRec2D::SetOvf ( Bool_t set = 1)
inlineprivate

Definition at line 217 of file CbmTrdModuleRec2D.h.

References CLRBIT, SETBIT, and vyM.

Referenced by ProjectDigis().

◆ SetSymmHit()

void CbmTrdModuleRec2D::SetSymmHit ( Bool_t set = 1)
inlineprivate

Definition at line 215 of file CbmTrdModuleRec2D.h.

References CLRBIT, SETBIT, and vyM.

Referenced by ProjectDigis().

◆ SetUseHelpers()

void CbmTrdModuleRec2D::SetUseHelpers ( bool use = true)
inline

Steer usage of helper graphs for computing time and energy per hit. A cost wrt the additional performance vs. CPU has to be performed.

Definition at line 121 of file CbmTrdModuleRec2D.h.

References CLRBIT, fConfigMap, kHelpers, and SETBIT.

Member Data Documentation

◆ fAsicPar

◆ fBuffer

std::map<Int_t, std::list<CbmTrdCluster*> > CbmTrdModuleRec2D::fBuffer
private

time interval to still keep clusters in buffer [clk]

Definition at line 223 of file CbmTrdModuleRec2D.h.

Referenced by AddDigi(), FindClusters(), and GetOverThreshold().

◆ fCalled

UInt_t CbmTrdModuleRec::fCalled
protectedinherited

counter for the number of calls

Definition at line 65 of file CbmTrdModuleRec.h.

Referenced by CbmTrdModuleRec::Clear().

◆ fChmbPar

const CbmTrdParModGas* CbmTrdModuleAbstract::fChmbPar = nullptr
protectedinherited

detection description (HV, drift) of module

Definition at line 94 of file CbmTrdModuleAbstract.h.

Referenced by CbmTrdModuleSim2D::AddDigi(), CbmTrdModuleSim2D::MakeDigi(), and CbmTrdModuleAbstract::SetChmbPar().

◆ fClusters

TClonesArray* CbmTrdModuleRec::fClusters
protectedinherited

◆ fConfigMap

UChar_t CbmTrdModuleRec2D::fConfigMap = 0
private

Definition at line 219 of file CbmTrdModuleRec2D.h.

Referenced by CDRAW(), CHELPERS(), Config(), CWRITE(), and SetUseHelpers().

◆ fDigiPar

◆ fDigis

std::map<Int_t, vector<CbmTrdDigiRec*> > CbmTrdModuleRec2D::fDigis
private

Definition at line 224 of file CbmTrdModuleRec2D.h.

Referenced by CheckMerge(), LoadDigis(), PostProcessHits(), and ProjectDigis().

◆ fGainPar

const CbmTrdParModGain* CbmTrdModuleAbstract::fGainPar = nullptr
protectedinherited

Analog to digital conversion for module.

Definition at line 96 of file CbmTrdModuleAbstract.h.

Referenced by CbmTrdModuleAbstract::SetGainPar().

◆ fgCorrRcXbiasXval

Float_t CbmTrdModuleRec2D::fgCorrRcXbiasXval
staticprivate
Initial value:
= {
{0.00100, 0.00260, 0.00540, 0.00740, 0.00900, 0.01060, 0.01300, 0.01460, 0.01660, 0.01900, 0.02060, 0.02260, 0.02420,
0.02700, 0.02860, 0.02980, 0.03220, 0.03340, 0.03540, 0.03620, 0.03820, 0.04020, 0.04180, 0.04340, 0.04460, 0.04620,
0.04740, 0.04941, 0.05088, 0.05233, 0.05375, 0.05515, 0.05653, 0.05788, 0.05921, 0.06052, 0.06180, 0.06306, 0.06430,
0.06551, 0.06670, 0.06786, 0.06901, 0.07012, 0.07122, 0.07229, 0.07334, 0.07436, 0.07536, 0.07634},
{0.00100, 0.00380, 0.00780, 0.00900, 0.01220, 0.01460, 0.01860, 0.01940, 0.02260, 0.02540, 0.02820, 0.03060, 0.03220,
0.03660, 0.03980, 0.04094, 0.04420, 0.04620, 0.04824, 0.04980, 0.05298, 0.05532, 0.05740, 0.05991, 0.06217, 0.06500,
0.06540, 0.06900, 0.07096, 0.07310, 0.07380, 0.07729, 0.07935, 0.08139, 0.08340, 0.08538, 0.08734, 0.08928, 0.08900,
0.09307, 0.09493, 0.09340, 0.09858, 0.09620, 0.09740, 0.10386, 0.09980, 0.10726, 0.10892, 0.11056},
{0.00011, 0.00140, 0.00340, 0.00420, 0.00500, 0.00620, 0.00820, 0.00860, 0.01060, 0.01100, 0.01220, 0.01340, 0.01500,
0.01540, 0.01700, 0.01820, 0.01900, 0.02060, 0.02180, 0.02260, 0.02340, 0.02420, 0.02500, 0.02500, 0.02660, 0.02740,
0.02820, 0.02900, 0.03020, 0.03180, 0.03300, 0.03260, 0.03380, 0.03460, 0.03500, 0.03580, 0.03780, 0.03820, 0.03860,
0.03900, 0.04100, 0.04180, 0.04060, 0.04300, 0.04340, 0.04340, 0.04380, 0.04460, 0.04580, 0.04540}}

discretized correction LUT

Definition at line 1816 of file CbmTrdModuleRec2D.h.

Referenced by GetXcorr().

◆ fgCorrRcXval

Float_t CbmTrdModuleRec2D::fgCorrRcXval
staticprivate
Initial value:
= {
{-0.00050, -0.00050, -0.00150, -0.00250, -0.00250, -0.00350, -0.00450, -0.00450, -0.00550, -0.00650,
-0.00650, -0.00750, -0.00850, -0.00850, -0.00850, -0.00950, -0.00950, -0.00950, -0.01050, -0.01150,
-0.01150, -0.01150, -0.01250, -0.01250, -0.01250, -0.01250, -0.01350, -0.01350, -0.01350, -0.01350,
-0.01450, -0.01450, -0.01450, -0.01550, -0.01550, -0.01550, -0.01550, -0.01650, -0.01650, -0.01550,
-0.01650, -0.01614, -0.01620, -0.01624, -0.01626, -0.01627, -0.01626, -0.01624, -0.01620, -0.01615},
{0.36412, 0.34567, 0.32815, 0.31152, 0.29574, 0.28075, 0.26652, 0.25302, 0.24020, 0.22803, 0.21647, 0.21400, 0.19400,
0.18520, 0.17582, 0.16600, 0.14600, 0.13800, 0.14280, 0.14200, 0.13400, 0.12600, 0.12200, 0.11000, 0.10200, 0.09400,
0.09000, 0.08600, 0.08200, 0.07400, 0.07000, 0.06600, 0.06600, 0.06200, 0.05800, 0.05400, 0.05400, 0.05000, 0.04600,
0.04600, 0.04200, 0.03800, 0.03800, 0.03400, 0.03400, 0.03000, 0.03000, 0.02600, 0.02200, 0.02200}}

discretized correction params

Definition at line 1806 of file CbmTrdModuleRec2D.h.

Referenced by GetXcorr().

◆ fgCorrXdx

Float_t CbmTrdModuleRec2D::fgCorrXdx = 0.01
staticprivate

working copy of signal relative position errors

Definition at line 238 of file CbmTrdModuleRec2D.h.

Referenced by GetXcorr().

◆ fgCorrXval

Float_t CbmTrdModuleRec2D::fgCorrXval
staticprivate
Initial value:
= {
{-0.001, -0.001, -0.002, -0.002, -0.003, -0.003, -0.003, -0.004, -0.004, -0.006, -0.006, -0.006, -0.007,
-0.007, -0.008, -0.008, -0.008, -0.009, -0.009, -0.011, -0.011, -0.011, -0.012, -0.012, -0.012, -0.012,
-0.013, -0.013, -0.013, -0.013, -0.014, -0.014, -0.014, -0.014, -0.014, -0.016, -0.016, -0.016, -0.016,
-0.017, -0.017, -0.017, -0.018, -0.018, -0.018, -0.018, -0.018, 0.000, 0.000, 0.000},
{0.467, 0.430, 0.396, 0.364, 0.335, 0.312, 0.291, 0.256, 0.234, 0.219, 0.207, 0.191, 0.172,
0.154, 0.147, 0.134, 0.123, 0.119, 0.109, 0.122, 0.113, 0.104, 0.093, 0.087, 0.079, 0.073,
0.067, 0.063, 0.058, 0.053, 0.049, 0.046, 0.042, 0.038, 0.036, 0.032, 0.029, 0.027, 0.024,
0.022, 0.019, 0.017, 0.014, 0.013, 0.011, 0.009, 0.007, 0.004, 0.003, 0.001},
{0.001, 0.001, 0.001, 0.001, 0.002, 0.002, 0.001, 0.002, 0.004, 0.003, 0.002, 0.002, 0.002,
0.002, 0.002, 0.002, 0.003, 0.004, 0.003, 0.004, 0.004, 0.007, 0.003, 0.004, 0.002, 0.002,
-0.011, -0.011, -0.012, -0.012, -0.012, -0.013, -0.013, -0.013, -0.014, -0.014, -0.014, -0.016, -0.016,
-0.016, -0.017, -0.017, -0.017, -0.018, -0.018, -0.018, -0.019, 0.029, 0.018, 0.001}}

step of the discretized correction LUT

Definition at line 1789 of file CbmTrdModuleRec2D.h.

Referenced by GetXcorr().

◆ fgCorrYval

Float_t CbmTrdModuleRec2D::fgCorrYval
staticprivate
Initial value:
= {{2.421729, 0.},
{0.629389, -0.215285},
{0.23958, 0.},
{0.151913, 0.054404}}

discretized correction LUT

Definition at line 1802 of file CbmTrdModuleRec2D.h.

Referenced by GetYcorr().

◆ fgDT

Double_t CbmTrdModuleRec2D::fgDT = {4.181e-6, 1586, 24}
staticprivate

discretized correction LUT

Definition at line 29 of file CbmTrdModuleRec2D.h.

Referenced by BuildHit().

◆ fgEdep

TGraphErrors * CbmTrdModuleRec2D::fgEdep = nullptr
staticprivate

FASP delay wrt signal.

Definition at line 244 of file CbmTrdModuleRec2D.h.

Referenced by BuildHit(), and MakeHit().

◆ fGeoPar

const CbmTrdParModGeo* CbmTrdModuleAbstract::fGeoPar = nullptr
protectedinherited

◆ fgPRF

TF1 * CbmTrdModuleRec2D::fgPRF = nullptr
staticprivate

data handler for cluster PRF

Definition at line 245 of file CbmTrdModuleRec2D.h.

Referenced by BuildHit(), and MakeHit().

◆ fgT

TGraphErrors * CbmTrdModuleRec2D::fgT = nullptr
staticprivate

fitter for cluster PRF

Definition at line 246 of file CbmTrdModuleRec2D.h.

Referenced by BuildHit(), and MakeHit().

◆ fHits

TClonesArray* CbmTrdModuleRec::fHits
protectedinherited

◆ fHitTimeOff

int CbmTrdModuleRec2D::fHitTimeOff = 0
private

bit map for cluster topology classification

Definition at line 231 of file CbmTrdModuleRec2D.h.

Referenced by BuildHit(), MergeHits(), and SetHitTimeOffset().

◆ fLayerId

Char_t CbmTrdModuleAbstract::fLayerId = -1
protectedinherited

◆ fModAddress

◆ fRotation

UChar_t CbmTrdModuleAbstract::fRotation = 0
protectedinherited

rotation angle for current module

Definition at line 90 of file CbmTrdModuleAbstract.h.

Referenced by CbmTrdModuleAbstract::CbmTrdModuleAbstract().

◆ fT0

ULong64_t CbmTrdModuleRec2D::fT0 = 0
private

task configuration settings

Definition at line 220 of file CbmTrdModuleRec2D.h.

Referenced by AddDigi().

◆ fTimeLast

UInt_t CbmTrdModuleRec2D::fTimeLast = 0
private

start time of event/time slice [clk]

Definition at line 221 of file CbmTrdModuleRec2D.h.

Referenced by AddDigi(), and FindClusters().

◆ fTimeWinKeep

UInt_t CbmTrdModuleRec2D::fTimeWinKeep = 11
private

time of last digi processed in module [clk]

Definition at line 222 of file CbmTrdModuleRec2D.h.

Referenced by FindClusters().

◆ vcM

UChar_t CbmTrdModuleRec2D::vcM = 0
private

start time of current hit [clk]

Definition at line 227 of file CbmTrdModuleRec2D.h.

Referenced by BuildHit(), MergeHits(), ProjectDigis(), and RecenterXoffset().

◆ viM

UChar_t CbmTrdModuleRec2D::viM = 0
private

maximum row

Definition at line 229 of file CbmTrdModuleRec2D.h.

Referenced by BuildHit(), IsOpenLeft(), IsOpenRight(), MergeHits(), and ProjectDigis().

◆ vrM

UChar_t CbmTrdModuleRec2D::vrM = 0
private

maximum col

Definition at line 228 of file CbmTrdModuleRec2D.h.

Referenced by BuildHit(), MergeHits(), and ProjectDigis().

◆ vs

std::vector<Double_t> CbmTrdModuleRec2D::vs
private

hit time offset for synchronization

Definition at line 232 of file CbmTrdModuleRec2D.h.

Referenced by BuildHit(), GetHitClass(), GetXoffset(), GetYcorr(), GetYoffset(), IsOpenRight(), LoadDigisRC(), MergeHits(), and ProjectDigis().

◆ vse

std::vector<Double_t> CbmTrdModuleRec2D::vse
private

working copy of signals from cluster

Definition at line 233 of file CbmTrdModuleRec2D.h.

Referenced by BuildHit(), LoadDigisRC(), and ProjectDigis().

◆ vt

std::vector<Char_t> CbmTrdModuleRec2D::vt
private

working copy of signal errors from cluster

Definition at line 234 of file CbmTrdModuleRec2D.h.

Referenced by BuildHit(), LoadDigisRC(), and ProjectDigis().

◆ vt0

ULong64_t CbmTrdModuleRec2D::vt0 = 0
private

cluster-wise organized calibrated digi

Definition at line 226 of file CbmTrdModuleRec2D.h.

Referenced by BuildHit(), MergeHits(), and ProjectDigis().

◆ vx

std::vector<Double_t> CbmTrdModuleRec2D::vx
private

working copy of signal relative timing

Definition at line 235 of file CbmTrdModuleRec2D.h.

Referenced by BuildHit(), GetXoffset(), GetYoffset(), LoadDigisRC(), ProjectDigis(), and RecenterXoffset().

◆ vxe

std::vector<Double_t> CbmTrdModuleRec2D::vxe
private

working copy of signal relative positions

Definition at line 236 of file CbmTrdModuleRec2D.h.

Referenced by BuildHit(), GetXoffset(), GetYoffset(), LoadDigisRC(), and ProjectDigis().

◆ vyM


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