CbmRoot
CbmStar2019TofFeeThr Class Reference

#include <CbmStar2019TofFeeThr.h>

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

Public Member Functions

 CbmStar2019TofFeeThr ()
 
virtual ~CbmStar2019TofFeeThr ()
 
virtual Bool_t Init ()
 
virtual Bool_t DoUnpack (const fles::Timeslice &ts, size_t component)
 
virtual void Reset ()
 
virtual void Finish ()
 
void SetParContainers ()
 
Bool_t InitContainers ()
 
Bool_t ReInitContainers ()
 
void SetMsLimitLevel (size_t uAcceptBoundaryPct=100)
 
size_t GetMsLimitLevel ()
 
virtual void AddMsComponentToList (size_t component, UShort_t usDetectorId)
 
virtual void SetNbMsInTs (size_t uCoreMsNb, size_t uOverlapMsNb)
 
void SetIgnoreMsOverlap (Bool_t bEnaFlag=kTRUE)
 
void SetMsOverlap (size_t uOverlapMsNb=1)
 
size_t GetMsOverlap ()
 
void SaveAllHistos (TString sFileName="")
 
void ResetAllHistos ()
 
void SetHistoFileName (TString sFileName="data/HistosTofFeeTest.root")
 
void UseDaqBuffer (Bool_t)
 

Private Member Functions

void CreateHistograms ()
 
void PrintSlcInfo (gdpbv100::Message)
 
Int_t GetArrayIndex (Int_t gdpbId, Int_t get4Id)
 
UInt_t ConvertElinkToGet4 (UInt_t uElinkIdx)
 
UInt_t ConvertGet4ToElink (UInt_t uGet4Idx)
 
 CbmStar2019TofFeeThr (const CbmStar2019TofFeeThr &)
 
CbmStar2019TofFeeThr operator= (const CbmStar2019TofFeeThr &)
 

Private Attributes

std::vector< size_t > fvMsComponentsList
 FLES containers. More...
 
size_t fuNbCoreMsPerTs
 
size_t fuNbOverMsPerTs
 
Bool_t fbIgnoreOverlapMs
 
TString fsHistoFileFullname
 /‍** Ignore Overlap Ms: all fuOverlapMsNb MS at the end of timeslice **‍/ More...
 
size_t fuMsAcceptsPercent
 OLD, to be cleaned out !!!!! More...
 
size_t fuTotalMsNb
 
size_t fuOverlapMsNb
 
size_t fuCoreMs
 
Double_t fdMsSizeInNs
 
Double_t fdTsCoreSizeInNs
 
UInt_t fuMinNbGdpb
 
UInt_t fuCurrNbGdpb
 
CbmStar2019TofParfUnpackPar
 
UInt_t fuNrOfGdpbs
 
UInt_t fuNrOfFeePerGdpb
 
UInt_t fuNrOfGet4PerFee
 
UInt_t fuNrOfChannelsPerGet4
 
UInt_t fuNrOfChannelsPerFee
 
UInt_t fuNrOfGet4
 
UInt_t fuNrOfGet4PerGdpb
 
UInt_t fuNrOfChannelsPerGdpb
 
UInt_t fuNrOfGbtx
 
const UInt_t kuNbFeePerGbtx = 5
 
const UInt_t kuNbGbtxPerGdpb = 6
 
std::map< UInt_t, UInt_t > fGdpbIdIndexMap
 Map of ID to index for the gDPBs. More...
 
uint64_t fulCurrentTsIndex
 
size_t fuCurrentMs
 
size_t fuCurrentMsSysId
 
Double_t fdMsIndex
 
UInt_t fuGdpbId
 
UInt_t fuGdpbNr
 
UInt_t fuGet4Id
 
UInt_t fuGet4Nr
 
Int_t fiEquipmentId
 
std::vector< int > fviMsgCounter
 
TH2 * fhGdpbAsicSpiCounts
 Histograms. More...
 
std::vector< UInt_t > fvuPadiToGet4
 
std::vector< UInt_t > fvuGet4ToPadi
 
std::vector< UInt_t > fvuElinkToGet4
 5 FEE with 8 GET4 each More...
 
std::vector< UInt_t > fvuGet4ToElink
 

Static Private Attributes

static const UInt_t kuNbGet4PerGbtx = 5 * 8
 

Detailed Description

Definition at line 33 of file CbmStar2019TofFeeThr.h.

Constructor & Destructor Documentation

◆ CbmStar2019TofFeeThr() [1/2]

CbmStar2019TofFeeThr::CbmStar2019TofFeeThr ( )

Definition at line 44 of file CbmStar2019TofFeeThr.cxx.

◆ ~CbmStar2019TofFeeThr()

CbmStar2019TofFeeThr::~CbmStar2019TofFeeThr ( )
virtual

Definition at line 85 of file CbmStar2019TofFeeThr.cxx.

◆ CbmStar2019TofFeeThr() [2/2]

CbmStar2019TofFeeThr::CbmStar2019TofFeeThr ( const CbmStar2019TofFeeThr )
private

Member Function Documentation

◆ AddMsComponentToList()

void CbmStar2019TofFeeThr::AddMsComponentToList ( size_t  component,
UShort_t  usDetectorId 
)
virtual

Check for duplicates and ignore if it is the case

Add to list

Implements CbmMcbmUnpack.

Definition at line 212 of file CbmStar2019TofFeeThr.cxx.

References fvMsComponentsList.

◆ ConvertElinkToGet4()

UInt_t CbmStar2019TofFeeThr::ConvertElinkToGet4 ( UInt_t  uElinkIdx)
inlineprivate

Definition at line 151 of file CbmStar2019TofFeeThr.h.

References fvuElinkToGet4, and kuNbGet4PerGbtx.

Referenced by DoUnpack().

◆ ConvertGet4ToElink()

UInt_t CbmStar2019TofFeeThr::ConvertGet4ToElink ( UInt_t  uGet4Idx)
inlineprivate

Definition at line 155 of file CbmStar2019TofFeeThr.h.

References fvuGet4ToElink, and kuNbGet4PerGbtx.

◆ CreateHistograms()

void CbmStar2019TofFeeThr::CreateHistograms ( )
private

Definition at line 228 of file CbmStar2019TofFeeThr.cxx.

References fhGdpbAsicSpiCounts, fuNrOfGdpbs, and fuNrOfGet4PerGdpb.

Referenced by InitContainers().

◆ DoUnpack()

Bool_t CbmStar2019TofFeeThr::DoUnpack ( const fles::Timeslice &  ts,
size_t  component 
)
virtual

Ignore overlap ms if flag set by user

Loop over core microslices (and overlap ones if chosen)

Loop over registered components

Check if this gDPB ID was declared in parameter file and stop there if not

Catch the Epoch cycle block which is always the first 64b of the MS

fuGet4Id = mess.getGdpbGenChipId();

Diamond FEE have straight connection from Get4 to eLink and from PADI to GET4

Implements CbmMcbmUnpack.

Definition at line 257 of file CbmStar2019TofFeeThr.cxx.

References bStar2019TofFeeThrResetHistos, bStar2019TofFeeThrSaveHistos, ConvertElinkToGet4(), fbIgnoreOverlapMs, fdMsIndex, fGdpbIdIndexMap, fiEquipmentId, fuCurrentMs, fuCurrentMsSysId, fuGdpbId, fuGdpbNr, fuGet4Id, fuGet4Nr, fulCurrentTsIndex, fuMsAcceptsPercent, fuNbCoreMsPerTs, fuNbOverMsPerTs, fuNrOfGet4PerGdpb, fviMsgCounter, fvMsComponentsList, gdpbv100::Message::getGdpbGenChipId(), gdpbv100::Message::getMessageType(), gdpbv100::Message::isStarTrigger(), gdpbv100::kuChipIdMergedEpoch, gdpbv100::MSG_EPOCH, gdpbv100::MSG_HIT, gdpbv100::MSG_SLOWC, gdpbv100::MSG_STAR_TRI_A, gdpbv100::MSG_STAR_TRI_B, gdpbv100::MSG_STAR_TRI_C, gdpbv100::MSG_STAR_TRI_D, gdpbv100::MSG_SYST, PrintSlcInfo(), ResetAllHistos(), and SaveAllHistos().

◆ Finish()

void CbmStar2019TofFeeThr::Finish ( )
virtual

Implements CbmMcbmUnpack.

Definition at line 460 of file CbmStar2019TofFeeThr.cxx.

References fsHistoFileFullname, fviMsgCounter, i, and SaveAllHistos().

◆ GetArrayIndex()

Int_t CbmStar2019TofFeeThr::GetArrayIndex ( Int_t  gdpbId,
Int_t  get4Id 
)
inlineprivate

Definition at line 139 of file CbmStar2019TofFeeThr.h.

References fuNrOfGet4PerGdpb.

◆ GetMsLimitLevel()

size_t CbmStar2019TofFeeThr::GetMsLimitLevel ( )
inline

Definition at line 55 of file CbmStar2019TofFeeThr.h.

References fuMsAcceptsPercent.

◆ GetMsOverlap()

size_t CbmStar2019TofFeeThr::GetMsOverlap ( )
inline

Definition at line 63 of file CbmStar2019TofFeeThr.h.

References fuOverlapMsNb.

◆ Init()

Bool_t CbmStar2019TofFeeThr::Init ( )
virtual

Implements CbmMcbmUnpack.

Definition at line 87 of file CbmStar2019TofFeeThr.cxx.

◆ InitContainers()

Bool_t CbmStar2019TofFeeThr::InitContainers ( )
virtual

Reimplemented from CbmMcbmUnpack.

Definition at line 105 of file CbmStar2019TofFeeThr.cxx.

References CreateHistograms(), and ReInitContainers().

◆ operator=()

CbmStar2019TofFeeThr CbmStar2019TofFeeThr::operator= ( const CbmStar2019TofFeeThr )
private

◆ PrintSlcInfo()

◆ ReInitContainers()

Bool_t CbmStar2019TofFeeThr::ReInitContainers ( )
virtual

◆ Reset()

void CbmStar2019TofFeeThr::Reset ( )
virtual

Implements CbmMcbmUnpack.

Definition at line 458 of file CbmStar2019TofFeeThr.cxx.

◆ ResetAllHistos()

void CbmStar2019TofFeeThr::ResetAllHistos ( )

Definition at line 503 of file CbmStar2019TofFeeThr.cxx.

References fhGdpbAsicSpiCounts.

Referenced by DoUnpack().

◆ SaveAllHistos()

void CbmStar2019TofFeeThr::SaveAllHistos ( TString  sFileName = "")

Definition at line 485 of file CbmStar2019TofFeeThr.cxx.

Referenced by DoUnpack(), and Finish().

◆ SetHistoFileName()

void CbmStar2019TofFeeThr::SetHistoFileName ( TString  sFileName = "data/HistosTofFeeTest.root")
inline

Definition at line 68 of file CbmStar2019TofFeeThr.h.

References fsHistoFileFullname.

◆ SetIgnoreMsOverlap()

void CbmStar2019TofFeeThr::SetIgnoreMsOverlap ( Bool_t  bEnaFlag = kTRUE)
inline

Definition at line 59 of file CbmStar2019TofFeeThr.h.

References fbIgnoreOverlapMs.

◆ SetMsLimitLevel()

void CbmStar2019TofFeeThr::SetMsLimitLevel ( size_t  uAcceptBoundaryPct = 100)
inline

Definition at line 52 of file CbmStar2019TofFeeThr.h.

References fuMsAcceptsPercent.

◆ SetMsOverlap()

void CbmStar2019TofFeeThr::SetMsOverlap ( size_t  uOverlapMsNb = 1)
inline

Definition at line 62 of file CbmStar2019TofFeeThr.h.

References fuOverlapMsNb.

◆ SetNbMsInTs()

void CbmStar2019TofFeeThr::SetNbMsInTs ( size_t  uCoreMsNb,
size_t  uOverlapMsNb 
)
virtual

Implements CbmMcbmUnpack.

Definition at line 221 of file CbmStar2019TofFeeThr.cxx.

References fuNbCoreMsPerTs, and fuNbOverMsPerTs.

◆ SetParContainers()

void CbmStar2019TofFeeThr::SetParContainers ( )
virtual

Implements CbmMcbmUnpack.

Definition at line 98 of file CbmStar2019TofFeeThr.cxx.

References fUnpackPar.

◆ UseDaqBuffer()

void CbmStar2019TofFeeThr::UseDaqBuffer ( Bool_t  )
inline

Definition at line 72 of file CbmStar2019TofFeeThr.h.

Member Data Documentation

◆ fbIgnoreOverlapMs

Bool_t CbmStar2019TofFeeThr::fbIgnoreOverlapMs
private

Definition at line 80 of file CbmStar2019TofFeeThr.h.

Referenced by DoUnpack(), and SetIgnoreMsOverlap().

◆ fdMsIndex

Double_t CbmStar2019TofFeeThr::fdMsIndex
private

Definition at line 121 of file CbmStar2019TofFeeThr.h.

Referenced by DoUnpack(), and PrintSlcInfo().

◆ fdMsSizeInNs

Double_t CbmStar2019TofFeeThr::fdMsSizeInNs
private

Number of non overlap MS at beginning of TS

Definition at line 92 of file CbmStar2019TofFeeThr.h.

Referenced by ReInitContainers().

◆ fdTsCoreSizeInNs

Double_t CbmStar2019TofFeeThr::fdTsCoreSizeInNs
private

Definition at line 93 of file CbmStar2019TofFeeThr.h.

Referenced by ReInitContainers().

◆ fGdpbIdIndexMap

std::map<UInt_t, UInt_t> CbmStar2019TofFeeThr::fGdpbIdIndexMap
private

Map of ID to index for the gDPBs.

Definition at line 115 of file CbmStar2019TofFeeThr.h.

Referenced by DoUnpack(), PrintSlcInfo(), and ReInitContainers().

◆ fhGdpbAsicSpiCounts

TH2* CbmStar2019TofFeeThr::fhGdpbAsicSpiCounts
private

Histograms.

Definition at line 133 of file CbmStar2019TofFeeThr.h.

Referenced by CreateHistograms(), PrintSlcInfo(), and ResetAllHistos().

◆ fiEquipmentId

Int_t CbmStar2019TofFeeThr::fiEquipmentId
private

Definition at line 129 of file CbmStar2019TofFeeThr.h.

Referenced by DoUnpack().

◆ fsHistoFileFullname

TString CbmStar2019TofFeeThr::fsHistoFileFullname
private

/‍** Ignore Overlap Ms: all fuOverlapMsNb MS at the end of timeslice **‍/

Histo File name and path

Definition at line 83 of file CbmStar2019TofFeeThr.h.

Referenced by Finish(), and SetHistoFileName().

◆ fuCoreMs

size_t CbmStar2019TofFeeThr::fuCoreMs
private

Overlap Ms: all fuOverlapMsNb MS at the end of timeslice

Definition at line 91 of file CbmStar2019TofFeeThr.h.

Referenced by ReInitContainers().

◆ fuCurrentMs

size_t CbmStar2019TofFeeThr::fuCurrentMs
private

Definition at line 119 of file CbmStar2019TofFeeThr.h.

Referenced by DoUnpack().

◆ fuCurrentMsSysId

size_t CbmStar2019TofFeeThr::fuCurrentMsSysId
private

Definition at line 120 of file CbmStar2019TofFeeThr.h.

Referenced by DoUnpack().

◆ fuCurrNbGdpb

UInt_t CbmStar2019TofFeeThr::fuCurrNbGdpb
private

Definition at line 95 of file CbmStar2019TofFeeThr.h.

◆ fuGdpbId

UInt_t CbmStar2019TofFeeThr::fuGdpbId
private

Definition at line 122 of file CbmStar2019TofFeeThr.h.

Referenced by DoUnpack(), and PrintSlcInfo().

◆ fuGdpbNr

UInt_t CbmStar2019TofFeeThr::fuGdpbNr
private

Definition at line 124 of file CbmStar2019TofFeeThr.h.

Referenced by DoUnpack(), and PrintSlcInfo().

◆ fuGet4Id

UInt_t CbmStar2019TofFeeThr::fuGet4Id
private

Definition at line 126 of file CbmStar2019TofFeeThr.h.

Referenced by DoUnpack(), and PrintSlcInfo().

◆ fuGet4Nr

UInt_t CbmStar2019TofFeeThr::fuGet4Nr
private

Definition at line 128 of file CbmStar2019TofFeeThr.h.

Referenced by DoUnpack(), and PrintSlcInfo().

◆ fulCurrentTsIndex

uint64_t CbmStar2019TofFeeThr::fulCurrentTsIndex
private

Running indices

Definition at line 118 of file CbmStar2019TofFeeThr.h.

Referenced by DoUnpack().

◆ fuMinNbGdpb

UInt_t CbmStar2019TofFeeThr::fuMinNbGdpb
private

Definition at line 94 of file CbmStar2019TofFeeThr.h.

Referenced by ReInitContainers().

◆ fuMsAcceptsPercent

size_t CbmStar2019TofFeeThr::fuMsAcceptsPercent
private

OLD, to be cleaned out !!!!!

Definition at line 87 of file CbmStar2019TofFeeThr.h.

Referenced by DoUnpack(), GetMsLimitLevel(), and SetMsLimitLevel().

◆ fuNbCoreMsPerTs

size_t CbmStar2019TofFeeThr::fuNbCoreMsPerTs
private

Definition at line 77 of file CbmStar2019TofFeeThr.h.

Referenced by DoUnpack(), and SetNbMsInTs().

◆ fuNbOverMsPerTs

size_t CbmStar2019TofFeeThr::fuNbOverMsPerTs
private

Definition at line 78 of file CbmStar2019TofFeeThr.h.

Referenced by DoUnpack(), and SetNbMsInTs().

◆ fUnpackPar

CbmStar2019TofPar* CbmStar2019TofFeeThr::fUnpackPar
private

Settings from parameter file

Definition at line 98 of file CbmStar2019TofFeeThr.h.

Referenced by ReInitContainers(), and SetParContainers().

◆ fuNrOfChannelsPerFee

UInt_t CbmStar2019TofFeeThr::fuNrOfChannelsPerFee
private

Definition at line 104 of file CbmStar2019TofFeeThr.h.

Referenced by ReInitContainers().

◆ fuNrOfChannelsPerGdpb

UInt_t CbmStar2019TofFeeThr::fuNrOfChannelsPerGdpb
private

Definition at line 107 of file CbmStar2019TofFeeThr.h.

Referenced by ReInitContainers().

◆ fuNrOfChannelsPerGet4

UInt_t CbmStar2019TofFeeThr::fuNrOfChannelsPerGet4
private

Definition at line 102 of file CbmStar2019TofFeeThr.h.

Referenced by PrintSlcInfo(), and ReInitContainers().

◆ fuNrOfFeePerGdpb

UInt_t CbmStar2019TofFeeThr::fuNrOfFeePerGdpb
private

Definition at line 100 of file CbmStar2019TofFeeThr.h.

Referenced by ReInitContainers().

◆ fuNrOfGbtx

UInt_t CbmStar2019TofFeeThr::fuNrOfGbtx
private

Definition at line 109 of file CbmStar2019TofFeeThr.h.

Referenced by ReInitContainers().

◆ fuNrOfGdpbs

UInt_t CbmStar2019TofFeeThr::fuNrOfGdpbs
private

Definition at line 99 of file CbmStar2019TofFeeThr.h.

Referenced by CreateHistograms(), and ReInitContainers().

◆ fuNrOfGet4

UInt_t CbmStar2019TofFeeThr::fuNrOfGet4
private

Definition at line 105 of file CbmStar2019TofFeeThr.h.

Referenced by ReInitContainers().

◆ fuNrOfGet4PerFee

UInt_t CbmStar2019TofFeeThr::fuNrOfGet4PerFee
private

Definition at line 101 of file CbmStar2019TofFeeThr.h.

Referenced by ReInitContainers().

◆ fuNrOfGet4PerGdpb

UInt_t CbmStar2019TofFeeThr::fuNrOfGet4PerGdpb
private

◆ fuOverlapMsNb

size_t CbmStar2019TofFeeThr::fuOverlapMsNb
private

Total nb of MS per link in timeslice

Definition at line 90 of file CbmStar2019TofFeeThr.h.

Referenced by GetMsOverlap(), ReInitContainers(), and SetMsOverlap().

◆ fuTotalMsNb

size_t CbmStar2019TofFeeThr::fuTotalMsNb
private

Reject Ms with index inside TS above this, assumes 100 MS per TS

Definition at line 88 of file CbmStar2019TofFeeThr.h.

Referenced by ReInitContainers().

◆ fviMsgCounter

std::vector<int> CbmStar2019TofFeeThr::fviMsgCounter
private

Definition at line 130 of file CbmStar2019TofFeeThr.h.

Referenced by DoUnpack(), and Finish().

◆ fvMsComponentsList

std::vector<size_t> CbmStar2019TofFeeThr::fvMsComponentsList
private

FLES containers.

Definition at line 76 of file CbmStar2019TofFeeThr.h.

Referenced by AddMsComponentToList(), and DoUnpack().

◆ fvuElinkToGet4

std::vector<UInt_t> CbmStar2019TofFeeThr::fvuElinkToGet4
private

5 FEE with 8 GET4 each

Definition at line 149 of file CbmStar2019TofFeeThr.h.

Referenced by ConvertElinkToGet4(), and ReInitContainers().

◆ fvuGet4ToElink

std::vector<UInt_t> CbmStar2019TofFeeThr::fvuGet4ToElink
private

Definition at line 150 of file CbmStar2019TofFeeThr.h.

Referenced by ConvertGet4ToElink(), and ReInitContainers().

◆ fvuGet4ToPadi

std::vector<UInt_t> CbmStar2019TofFeeThr::fvuGet4ToPadi
private

Definition at line 145 of file CbmStar2019TofFeeThr.h.

Referenced by ReInitContainers().

◆ fvuPadiToGet4

std::vector<UInt_t> CbmStar2019TofFeeThr::fvuPadiToGet4
private
  • PADI channel to GET4 channel mapping and reverse *‍///

Definition at line 144 of file CbmStar2019TofFeeThr.h.

Referenced by ReInitContainers().

◆ kuNbFeePerGbtx

const UInt_t CbmStar2019TofFeeThr::kuNbFeePerGbtx = 5
private

Definition at line 111 of file CbmStar2019TofFeeThr.h.

◆ kuNbGbtxPerGdpb

const UInt_t CbmStar2019TofFeeThr::kuNbGbtxPerGdpb = 6
private

Definition at line 112 of file CbmStar2019TofFeeThr.h.

◆ kuNbGet4PerGbtx

const UInt_t CbmStar2019TofFeeThr::kuNbGet4PerGbtx = 5 * 8
staticprivate
  • GET4 to eLink mapping and reverse *‍///

Definition at line 148 of file CbmStar2019TofFeeThr.h.

Referenced by ConvertElinkToGet4(), ConvertGet4ToElink(), and ReInitContainers().


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