CbmRoot
CbmMcbm2018TofFeeThr Class Reference

#include <CbmMcbm2018TofFeeThr.h>

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

Public Member Functions

 CbmMcbm2018TofFeeThr ()
 
virtual ~CbmMcbm2018TofFeeThr ()
 
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)
 
 CbmMcbm2018TofFeeThr (const CbmMcbm2018TofFeeThr &)
 
CbmMcbm2018TofFeeThr operator= (const CbmMcbm2018TofFeeThr &)
 

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
 
CbmMcbm2018TofParfUnpackPar
 
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 = nullptr
 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
 
std::vector< Double_t > fvdPadiThrCodeToValue
 PADI threshold measures and extrapolated code to value map. More...
 

Static Private Attributes

static const UInt_t kuNbGet4PerGbtx = 5 * 8
 

Detailed Description

Definition at line 33 of file CbmMcbm2018TofFeeThr.h.

Constructor & Destructor Documentation

◆ CbmMcbm2018TofFeeThr() [1/2]

CbmMcbm2018TofFeeThr::CbmMcbm2018TofFeeThr ( )

Definition at line 47 of file CbmMcbm2018TofFeeThr.cxx.

◆ ~CbmMcbm2018TofFeeThr()

CbmMcbm2018TofFeeThr::~CbmMcbm2018TofFeeThr ( )
virtual

Definition at line 88 of file CbmMcbm2018TofFeeThr.cxx.

◆ CbmMcbm2018TofFeeThr() [2/2]

CbmMcbm2018TofFeeThr::CbmMcbm2018TofFeeThr ( const CbmMcbm2018TofFeeThr )
private

Member Function Documentation

◆ AddMsComponentToList()

void CbmMcbm2018TofFeeThr::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 255 of file CbmMcbm2018TofFeeThr.cxx.

References fvMsComponentsList.

◆ ConvertElinkToGet4()

UInt_t CbmMcbm2018TofFeeThr::ConvertElinkToGet4 ( UInt_t  uElinkIdx)
inlineprivate

Definition at line 151 of file CbmMcbm2018TofFeeThr.h.

References fvuElinkToGet4, and kuNbGet4PerGbtx.

Referenced by DoUnpack().

◆ ConvertGet4ToElink()

UInt_t CbmMcbm2018TofFeeThr::ConvertGet4ToElink ( UInt_t  uGet4Idx)
inlineprivate

Definition at line 155 of file CbmMcbm2018TofFeeThr.h.

References fvuGet4ToElink, and kuNbGet4PerGbtx.

◆ CreateHistograms()

void CbmMcbm2018TofFeeThr::CreateHistograms ( )
private

Definition at line 271 of file CbmMcbm2018TofFeeThr.cxx.

References fhGdpbAsicSpiCounts, fuNrOfGdpbs, and fuNrOfGet4PerGdpb.

Referenced by InitContainers().

◆ DoUnpack()

Bool_t CbmMcbm2018TofFeeThr::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 300 of file CbmMcbm2018TofFeeThr.cxx.

References bMcbm2018TofFeeThrResetHistos, bMcbm2018TofFeeThrSaveHistos, ConvertElinkToGet4(), fbIgnoreOverlapMs, fdMsIndex, fGdpbIdIndexMap, fiEquipmentId, FormatMsHeaderPrintout(), 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 CbmMcbm2018TofFeeThr::Finish ( )
virtual

Implements CbmMcbmUnpack.

Definition at line 491 of file CbmMcbm2018TofFeeThr.cxx.

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

◆ GetArrayIndex()

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

Definition at line 139 of file CbmMcbm2018TofFeeThr.h.

References fuNrOfGet4PerGdpb.

◆ GetMsLimitLevel()

size_t CbmMcbm2018TofFeeThr::GetMsLimitLevel ( )
inline

Definition at line 55 of file CbmMcbm2018TofFeeThr.h.

References fuMsAcceptsPercent.

◆ GetMsOverlap()

size_t CbmMcbm2018TofFeeThr::GetMsOverlap ( )
inline

Definition at line 63 of file CbmMcbm2018TofFeeThr.h.

References fuOverlapMsNb.

◆ Init()

Bool_t CbmMcbm2018TofFeeThr::Init ( )
virtual

Implements CbmMcbmUnpack.

Definition at line 90 of file CbmMcbm2018TofFeeThr.cxx.

◆ InitContainers()

Bool_t CbmMcbm2018TofFeeThr::InitContainers ( )
virtual

Reimplemented from CbmMcbmUnpack.

Definition at line 108 of file CbmMcbm2018TofFeeThr.cxx.

References CreateHistograms(), and ReInitContainers().

◆ operator=()

CbmMcbm2018TofFeeThr CbmMcbm2018TofFeeThr::operator= ( const CbmMcbm2018TofFeeThr )
private

◆ PrintSlcInfo()

◆ ReInitContainers()

Bool_t CbmMcbm2018TofFeeThr::ReInitContainers ( )
virtual

◆ Reset()

void CbmMcbm2018TofFeeThr::Reset ( )
virtual

Implements CbmMcbmUnpack.

Definition at line 489 of file CbmMcbm2018TofFeeThr.cxx.

◆ ResetAllHistos()

void CbmMcbm2018TofFeeThr::ResetAllHistos ( )

Definition at line 534 of file CbmMcbm2018TofFeeThr.cxx.

References fhGdpbAsicSpiCounts.

Referenced by DoUnpack().

◆ SaveAllHistos()

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

Definition at line 516 of file CbmMcbm2018TofFeeThr.cxx.

Referenced by DoUnpack(), and Finish().

◆ SetHistoFileName()

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

Definition at line 68 of file CbmMcbm2018TofFeeThr.h.

References fsHistoFileFullname.

◆ SetIgnoreMsOverlap()

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

Definition at line 59 of file CbmMcbm2018TofFeeThr.h.

References fbIgnoreOverlapMs.

◆ SetMsLimitLevel()

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

Definition at line 52 of file CbmMcbm2018TofFeeThr.h.

References fuMsAcceptsPercent.

◆ SetMsOverlap()

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

Definition at line 62 of file CbmMcbm2018TofFeeThr.h.

References fuOverlapMsNb.

◆ SetNbMsInTs()

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

Implements CbmMcbmUnpack.

Definition at line 264 of file CbmMcbm2018TofFeeThr.cxx.

References fuNbCoreMsPerTs, and fuNbOverMsPerTs.

◆ SetParContainers()

void CbmMcbm2018TofFeeThr::SetParContainers ( )
virtual

Implements CbmMcbmUnpack.

Definition at line 101 of file CbmMcbm2018TofFeeThr.cxx.

References fUnpackPar.

◆ UseDaqBuffer()

void CbmMcbm2018TofFeeThr::UseDaqBuffer ( Bool_t  )
inline

Definition at line 72 of file CbmMcbm2018TofFeeThr.h.

Member Data Documentation

◆ fbIgnoreOverlapMs

Bool_t CbmMcbm2018TofFeeThr::fbIgnoreOverlapMs
private

Definition at line 80 of file CbmMcbm2018TofFeeThr.h.

Referenced by DoUnpack(), and SetIgnoreMsOverlap().

◆ fdMsIndex

Double_t CbmMcbm2018TofFeeThr::fdMsIndex
private

Definition at line 121 of file CbmMcbm2018TofFeeThr.h.

Referenced by DoUnpack(), and PrintSlcInfo().

◆ fdMsSizeInNs

Double_t CbmMcbm2018TofFeeThr::fdMsSizeInNs
private

Number of non overlap MS at beginning of TS

Definition at line 92 of file CbmMcbm2018TofFeeThr.h.

Referenced by ReInitContainers().

◆ fdTsCoreSizeInNs

Double_t CbmMcbm2018TofFeeThr::fdTsCoreSizeInNs
private

Definition at line 93 of file CbmMcbm2018TofFeeThr.h.

Referenced by ReInitContainers().

◆ fGdpbIdIndexMap

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

Map of ID to index for the gDPBs.

Definition at line 115 of file CbmMcbm2018TofFeeThr.h.

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

◆ fhGdpbAsicSpiCounts

TH2* CbmMcbm2018TofFeeThr::fhGdpbAsicSpiCounts = nullptr
private

Histograms.

Definition at line 133 of file CbmMcbm2018TofFeeThr.h.

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

◆ fiEquipmentId

Int_t CbmMcbm2018TofFeeThr::fiEquipmentId
private

Definition at line 129 of file CbmMcbm2018TofFeeThr.h.

Referenced by DoUnpack().

◆ fsHistoFileFullname

TString CbmMcbm2018TofFeeThr::fsHistoFileFullname
private

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

Histo File name and path

Definition at line 83 of file CbmMcbm2018TofFeeThr.h.

Referenced by Finish(), and SetHistoFileName().

◆ fuCoreMs

size_t CbmMcbm2018TofFeeThr::fuCoreMs
private

Overlap Ms: all fuOverlapMsNb MS at the end of timeslice

Definition at line 91 of file CbmMcbm2018TofFeeThr.h.

Referenced by ReInitContainers().

◆ fuCurrentMs

size_t CbmMcbm2018TofFeeThr::fuCurrentMs
private

Definition at line 119 of file CbmMcbm2018TofFeeThr.h.

Referenced by DoUnpack().

◆ fuCurrentMsSysId

size_t CbmMcbm2018TofFeeThr::fuCurrentMsSysId
private

Definition at line 120 of file CbmMcbm2018TofFeeThr.h.

Referenced by DoUnpack().

◆ fuCurrNbGdpb

UInt_t CbmMcbm2018TofFeeThr::fuCurrNbGdpb
private

Definition at line 95 of file CbmMcbm2018TofFeeThr.h.

◆ fuGdpbId

UInt_t CbmMcbm2018TofFeeThr::fuGdpbId
private

Definition at line 122 of file CbmMcbm2018TofFeeThr.h.

Referenced by DoUnpack(), and PrintSlcInfo().

◆ fuGdpbNr

UInt_t CbmMcbm2018TofFeeThr::fuGdpbNr
private

Definition at line 124 of file CbmMcbm2018TofFeeThr.h.

Referenced by DoUnpack(), and PrintSlcInfo().

◆ fuGet4Id

UInt_t CbmMcbm2018TofFeeThr::fuGet4Id
private

Definition at line 126 of file CbmMcbm2018TofFeeThr.h.

Referenced by DoUnpack(), and PrintSlcInfo().

◆ fuGet4Nr

UInt_t CbmMcbm2018TofFeeThr::fuGet4Nr
private

Definition at line 128 of file CbmMcbm2018TofFeeThr.h.

Referenced by DoUnpack().

◆ fulCurrentTsIndex

uint64_t CbmMcbm2018TofFeeThr::fulCurrentTsIndex
private

Running indices

Definition at line 118 of file CbmMcbm2018TofFeeThr.h.

Referenced by DoUnpack().

◆ fuMinNbGdpb

UInt_t CbmMcbm2018TofFeeThr::fuMinNbGdpb
private

Definition at line 94 of file CbmMcbm2018TofFeeThr.h.

Referenced by ReInitContainers().

◆ fuMsAcceptsPercent

size_t CbmMcbm2018TofFeeThr::fuMsAcceptsPercent
private

OLD, to be cleaned out !!!!!

Definition at line 87 of file CbmMcbm2018TofFeeThr.h.

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

◆ fuNbCoreMsPerTs

size_t CbmMcbm2018TofFeeThr::fuNbCoreMsPerTs
private

Definition at line 77 of file CbmMcbm2018TofFeeThr.h.

Referenced by DoUnpack(), and SetNbMsInTs().

◆ fuNbOverMsPerTs

size_t CbmMcbm2018TofFeeThr::fuNbOverMsPerTs
private

Definition at line 78 of file CbmMcbm2018TofFeeThr.h.

Referenced by DoUnpack(), and SetNbMsInTs().

◆ fUnpackPar

CbmMcbm2018TofPar* CbmMcbm2018TofFeeThr::fUnpackPar
private

Settings from parameter file

Definition at line 98 of file CbmMcbm2018TofFeeThr.h.

Referenced by ReInitContainers(), and SetParContainers().

◆ fuNrOfChannelsPerFee

UInt_t CbmMcbm2018TofFeeThr::fuNrOfChannelsPerFee
private

Definition at line 104 of file CbmMcbm2018TofFeeThr.h.

Referenced by ReInitContainers().

◆ fuNrOfChannelsPerGdpb

UInt_t CbmMcbm2018TofFeeThr::fuNrOfChannelsPerGdpb
private

Definition at line 107 of file CbmMcbm2018TofFeeThr.h.

Referenced by ReInitContainers().

◆ fuNrOfChannelsPerGet4

UInt_t CbmMcbm2018TofFeeThr::fuNrOfChannelsPerGet4
private

Definition at line 102 of file CbmMcbm2018TofFeeThr.h.

Referenced by ReInitContainers().

◆ fuNrOfFeePerGdpb

UInt_t CbmMcbm2018TofFeeThr::fuNrOfFeePerGdpb
private

Definition at line 100 of file CbmMcbm2018TofFeeThr.h.

Referenced by ReInitContainers().

◆ fuNrOfGbtx

UInt_t CbmMcbm2018TofFeeThr::fuNrOfGbtx
private

Definition at line 109 of file CbmMcbm2018TofFeeThr.h.

Referenced by ReInitContainers().

◆ fuNrOfGdpbs

UInt_t CbmMcbm2018TofFeeThr::fuNrOfGdpbs
private

Definition at line 99 of file CbmMcbm2018TofFeeThr.h.

Referenced by CreateHistograms(), and ReInitContainers().

◆ fuNrOfGet4

UInt_t CbmMcbm2018TofFeeThr::fuNrOfGet4
private

Definition at line 105 of file CbmMcbm2018TofFeeThr.h.

Referenced by ReInitContainers().

◆ fuNrOfGet4PerFee

UInt_t CbmMcbm2018TofFeeThr::fuNrOfGet4PerFee
private

Definition at line 101 of file CbmMcbm2018TofFeeThr.h.

Referenced by ReInitContainers().

◆ fuNrOfGet4PerGdpb

UInt_t CbmMcbm2018TofFeeThr::fuNrOfGet4PerGdpb
private

◆ fuOverlapMsNb

size_t CbmMcbm2018TofFeeThr::fuOverlapMsNb
private

Total nb of MS per link in timeslice

Definition at line 90 of file CbmMcbm2018TofFeeThr.h.

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

◆ fuTotalMsNb

size_t CbmMcbm2018TofFeeThr::fuTotalMsNb
private

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

Definition at line 88 of file CbmMcbm2018TofFeeThr.h.

Referenced by ReInitContainers().

◆ fvdPadiThrCodeToValue

std::vector<Double_t> CbmMcbm2018TofFeeThr::fvdPadiThrCodeToValue
private

PADI threshold measures and extrapolated code to value map.

Definition at line 161 of file CbmMcbm2018TofFeeThr.h.

Referenced by PrintSlcInfo(), and ReInitContainers().

◆ fviMsgCounter

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

Definition at line 130 of file CbmMcbm2018TofFeeThr.h.

Referenced by DoUnpack(), and Finish().

◆ fvMsComponentsList

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

FLES containers.

Definition at line 76 of file CbmMcbm2018TofFeeThr.h.

Referenced by AddMsComponentToList(), and DoUnpack().

◆ fvuElinkToGet4

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

5 FEE with 8 GET4 each

Definition at line 149 of file CbmMcbm2018TofFeeThr.h.

Referenced by ConvertElinkToGet4(), and ReInitContainers().

◆ fvuGet4ToElink

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

Definition at line 150 of file CbmMcbm2018TofFeeThr.h.

Referenced by ConvertGet4ToElink(), and ReInitContainers().

◆ fvuGet4ToPadi

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

Definition at line 145 of file CbmMcbm2018TofFeeThr.h.

Referenced by ReInitContainers().

◆ fvuPadiToGet4

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

Definition at line 144 of file CbmMcbm2018TofFeeThr.h.

Referenced by ReInitContainers().

◆ kuNbFeePerGbtx

const UInt_t CbmMcbm2018TofFeeThr::kuNbFeePerGbtx = 5
private

Definition at line 111 of file CbmMcbm2018TofFeeThr.h.

◆ kuNbGbtxPerGdpb

const UInt_t CbmMcbm2018TofFeeThr::kuNbGbtxPerGdpb = 6
private

Definition at line 112 of file CbmMcbm2018TofFeeThr.h.

◆ kuNbGet4PerGbtx

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

Definition at line 148 of file CbmMcbm2018TofFeeThr.h.

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


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