CbmRoot
Loading...
Searching...
No Matches
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.
 
size_t fuNbCoreMsPerTs
 
size_t fuNbOverMsPerTs
 
Bool_t fbIgnoreOverlapMs
 
TString fsHistoFileFullname
 /‍** Ignore Overlap Ms: all fuOverlapMsNb MS at the end of timeslice **‍/
 
size_t fuMsAcceptsPercent
 OLD, to be cleaned out !!!!!
 
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.
 
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.
 
std::vector< UInt_t > fvuPadiToGet4
 
std::vector< UInt_t > fvuGet4ToPadi
 
std::vector< UInt_t > fvuElinkToGet4
 5 FEE with 8 GET4 each
 
std::vector< UInt_t > fvuGet4ToElink
 
std::vector< Double_t > fvdPadiThrCodeToValue
 PADI threshold measures and extrapolated code to value map.
 

Static Private Attributes

static const UInt_t kuNbGet4PerGbtx = 5 * 8
 

Detailed Description

Definition at line 38 of file CbmMcbm2018TofFeeThr.h.

Constructor & Destructor Documentation

◆ CbmMcbm2018TofFeeThr() [1/2]

CbmMcbm2018TofFeeThr::CbmMcbm2018TofFeeThr ( )

Definition at line 51 of file CbmMcbm2018TofFeeThr.cxx.

◆ ~CbmMcbm2018TofFeeThr()

CbmMcbm2018TofFeeThr::~CbmMcbm2018TofFeeThr ( )
virtual

Definition at line 94 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 248 of file CbmMcbm2018TofFeeThr.cxx.

References fvMsComponentsList.

◆ ConvertElinkToGet4()

UInt_t CbmMcbm2018TofFeeThr::ConvertElinkToGet4 ( UInt_t uElinkIdx)
inlineprivate

Definition at line 142 of file CbmMcbm2018TofFeeThr.h.

References fvuElinkToGet4, and kuNbGet4PerGbtx.

Referenced by DoUnpack().

◆ ConvertGet4ToElink()

UInt_t CbmMcbm2018TofFeeThr::ConvertGet4ToElink ( UInt_t uGet4Idx)
inlineprivate

Definition at line 146 of file CbmMcbm2018TofFeeThr.h.

References fvuGet4ToElink, and kuNbGet4PerGbtx.

◆ CreateHistograms()

void CbmMcbm2018TofFeeThr::CreateHistograms ( )
private

Definition at line 265 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 287 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(), SaveAllHistos(), and size().

◆ Finish()

void CbmMcbm2018TofFeeThr::Finish ( )
virtual

Implements CbmMcbmUnpack.

Definition at line 462 of file CbmMcbm2018TofFeeThr.cxx.

References fsHistoFileFullname, fviMsgCounter, and SaveAllHistos().

◆ GetArrayIndex()

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

Definition at line 132 of file CbmMcbm2018TofFeeThr.h.

References fuNrOfGet4PerGdpb.

◆ GetMsLimitLevel()

size_t CbmMcbm2018TofFeeThr::GetMsLimitLevel ( )
inline

Definition at line 58 of file CbmMcbm2018TofFeeThr.h.

References fuMsAcceptsPercent.

◆ GetMsOverlap()

size_t CbmMcbm2018TofFeeThr::GetMsOverlap ( )
inline

Definition at line 64 of file CbmMcbm2018TofFeeThr.h.

References fuOverlapMsNb.

◆ Init()

Bool_t CbmMcbm2018TofFeeThr::Init ( )
virtual

Implements CbmMcbmUnpack.

Definition at line 96 of file CbmMcbm2018TofFeeThr.cxx.

◆ InitContainers()

Bool_t CbmMcbm2018TofFeeThr::InitContainers ( )
virtual

Reimplemented from CbmMcbmUnpack.

Definition at line 112 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 460 of file CbmMcbm2018TofFeeThr.cxx.

◆ ResetAllHistos()

void CbmMcbm2018TofFeeThr::ResetAllHistos ( )

Definition at line 511 of file CbmMcbm2018TofFeeThr.cxx.

References fhGdpbAsicSpiCounts.

Referenced by DoUnpack().

◆ SaveAllHistos()

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

Save old global file and folder pointer to avoid messing with FairRoot

Restore old global file and folder pointer to avoid messing with FairRoot

Definition at line 488 of file CbmMcbm2018TofFeeThr.cxx.

Referenced by DoUnpack(), and Finish().

◆ SetHistoFileName()

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

Definition at line 69 of file CbmMcbm2018TofFeeThr.h.

References fsHistoFileFullname.

◆ SetIgnoreMsOverlap()

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

Definition at line 62 of file CbmMcbm2018TofFeeThr.h.

References fbIgnoreOverlapMs.

◆ SetMsLimitLevel()

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

Definition at line 57 of file CbmMcbm2018TofFeeThr.h.

References fuMsAcceptsPercent.

◆ SetMsOverlap()

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

Definition at line 63 of file CbmMcbm2018TofFeeThr.h.

References fuOverlapMsNb.

◆ SetNbMsInTs()

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

Implements CbmMcbmUnpack.

Definition at line 257 of file CbmMcbm2018TofFeeThr.cxx.

References fuNbCoreMsPerTs, and fuNbOverMsPerTs.

◆ SetParContainers()

void CbmMcbm2018TofFeeThr::SetParContainers ( )
virtual

Implements CbmMcbmUnpack.

Definition at line 106 of file CbmMcbm2018TofFeeThr.cxx.

References fUnpackPar.

◆ UseDaqBuffer()

void CbmMcbm2018TofFeeThr::UseDaqBuffer ( Bool_t )
inline

Definition at line 71 of file CbmMcbm2018TofFeeThr.h.

Member Data Documentation

◆ fbIgnoreOverlapMs

Bool_t CbmMcbm2018TofFeeThr::fbIgnoreOverlapMs
private

Definition at line 78 of file CbmMcbm2018TofFeeThr.h.

Referenced by DoUnpack(), and SetIgnoreMsOverlap().

◆ fdMsIndex

Double_t CbmMcbm2018TofFeeThr::fdMsIndex
private

Definition at line 117 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 88 of file CbmMcbm2018TofFeeThr.h.

Referenced by ReInitContainers().

◆ fdTsCoreSizeInNs

Double_t CbmMcbm2018TofFeeThr::fdTsCoreSizeInNs
private

Definition at line 89 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 111 of file CbmMcbm2018TofFeeThr.h.

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

◆ fhGdpbAsicSpiCounts

TH2* CbmMcbm2018TofFeeThr::fhGdpbAsicSpiCounts = nullptr
private

Histograms.

Definition at line 126 of file CbmMcbm2018TofFeeThr.h.

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

◆ fiEquipmentId

Int_t CbmMcbm2018TofFeeThr::fiEquipmentId
private

Definition at line 122 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 81 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 87 of file CbmMcbm2018TofFeeThr.h.

Referenced by ReInitContainers().

◆ fuCurrentMs

size_t CbmMcbm2018TofFeeThr::fuCurrentMs
private

Definition at line 115 of file CbmMcbm2018TofFeeThr.h.

Referenced by DoUnpack().

◆ fuCurrentMsSysId

size_t CbmMcbm2018TofFeeThr::fuCurrentMsSysId
private

Definition at line 116 of file CbmMcbm2018TofFeeThr.h.

Referenced by DoUnpack().

◆ fuCurrNbGdpb

UInt_t CbmMcbm2018TofFeeThr::fuCurrNbGdpb
private

Definition at line 91 of file CbmMcbm2018TofFeeThr.h.

◆ fuGdpbId

UInt_t CbmMcbm2018TofFeeThr::fuGdpbId
private

Definition at line 118 of file CbmMcbm2018TofFeeThr.h.

Referenced by DoUnpack(), and PrintSlcInfo().

◆ fuGdpbNr

UInt_t CbmMcbm2018TofFeeThr::fuGdpbNr
private

Definition at line 119 of file CbmMcbm2018TofFeeThr.h.

Referenced by DoUnpack(), and PrintSlcInfo().

◆ fuGet4Id

UInt_t CbmMcbm2018TofFeeThr::fuGet4Id
private

Definition at line 120 of file CbmMcbm2018TofFeeThr.h.

Referenced by DoUnpack(), and PrintSlcInfo().

◆ fuGet4Nr

UInt_t CbmMcbm2018TofFeeThr::fuGet4Nr
private

Definition at line 121 of file CbmMcbm2018TofFeeThr.h.

Referenced by DoUnpack().

◆ fulCurrentTsIndex

uint64_t CbmMcbm2018TofFeeThr::fulCurrentTsIndex
private

Running indices

Definition at line 114 of file CbmMcbm2018TofFeeThr.h.

Referenced by DoUnpack().

◆ fuMinNbGdpb

UInt_t CbmMcbm2018TofFeeThr::fuMinNbGdpb
private

Definition at line 90 of file CbmMcbm2018TofFeeThr.h.

Referenced by ReInitContainers().

◆ fuMsAcceptsPercent

size_t CbmMcbm2018TofFeeThr::fuMsAcceptsPercent
private

OLD, to be cleaned out !!!!!

Definition at line 84 of file CbmMcbm2018TofFeeThr.h.

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

◆ fuNbCoreMsPerTs

size_t CbmMcbm2018TofFeeThr::fuNbCoreMsPerTs
private

Definition at line 76 of file CbmMcbm2018TofFeeThr.h.

Referenced by DoUnpack(), and SetNbMsInTs().

◆ fuNbOverMsPerTs

size_t CbmMcbm2018TofFeeThr::fuNbOverMsPerTs
private

Definition at line 77 of file CbmMcbm2018TofFeeThr.h.

Referenced by DoUnpack(), and SetNbMsInTs().

◆ fUnpackPar

CbmMcbm2018TofPar* CbmMcbm2018TofFeeThr::fUnpackPar
private

Settings from parameter file

Definition at line 94 of file CbmMcbm2018TofFeeThr.h.

Referenced by ReInitContainers(), and SetParContainers().

◆ fuNrOfChannelsPerFee

UInt_t CbmMcbm2018TofFeeThr::fuNrOfChannelsPerFee
private

Definition at line 100 of file CbmMcbm2018TofFeeThr.h.

Referenced by ReInitContainers().

◆ fuNrOfChannelsPerGdpb

UInt_t CbmMcbm2018TofFeeThr::fuNrOfChannelsPerGdpb
private

Definition at line 103 of file CbmMcbm2018TofFeeThr.h.

Referenced by ReInitContainers().

◆ fuNrOfChannelsPerGet4

UInt_t CbmMcbm2018TofFeeThr::fuNrOfChannelsPerGet4
private

Definition at line 98 of file CbmMcbm2018TofFeeThr.h.

Referenced by ReInitContainers().

◆ fuNrOfFeePerGdpb

UInt_t CbmMcbm2018TofFeeThr::fuNrOfFeePerGdpb
private

Definition at line 96 of file CbmMcbm2018TofFeeThr.h.

Referenced by ReInitContainers().

◆ fuNrOfGbtx

UInt_t CbmMcbm2018TofFeeThr::fuNrOfGbtx
private

Definition at line 105 of file CbmMcbm2018TofFeeThr.h.

Referenced by ReInitContainers().

◆ fuNrOfGdpbs

UInt_t CbmMcbm2018TofFeeThr::fuNrOfGdpbs
private

Definition at line 95 of file CbmMcbm2018TofFeeThr.h.

Referenced by CreateHistograms(), and ReInitContainers().

◆ fuNrOfGet4

UInt_t CbmMcbm2018TofFeeThr::fuNrOfGet4
private

Definition at line 101 of file CbmMcbm2018TofFeeThr.h.

Referenced by ReInitContainers().

◆ fuNrOfGet4PerFee

UInt_t CbmMcbm2018TofFeeThr::fuNrOfGet4PerFee
private

Definition at line 97 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 86 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 85 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 152 of file CbmMcbm2018TofFeeThr.h.

Referenced by PrintSlcInfo(), and ReInitContainers().

◆ fviMsgCounter

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

Definition at line 123 of file CbmMcbm2018TofFeeThr.h.

Referenced by DoUnpack(), and Finish().

◆ fvMsComponentsList

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

FLES containers.

Definition at line 75 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 140 of file CbmMcbm2018TofFeeThr.h.

Referenced by ConvertElinkToGet4(), and ReInitContainers().

◆ fvuGet4ToElink

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

Definition at line 141 of file CbmMcbm2018TofFeeThr.h.

Referenced by ConvertGet4ToElink(), and ReInitContainers().

◆ fvuGet4ToPadi

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

Definition at line 136 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 135 of file CbmMcbm2018TofFeeThr.h.

Referenced by ReInitContainers().

◆ kuNbFeePerGbtx

const UInt_t CbmMcbm2018TofFeeThr::kuNbFeePerGbtx = 5
private

Definition at line 107 of file CbmMcbm2018TofFeeThr.h.

◆ kuNbGbtxPerGdpb

const UInt_t CbmMcbm2018TofFeeThr::kuNbGbtxPerGdpb = 6
private

Definition at line 108 of file CbmMcbm2018TofFeeThr.h.

◆ kuNbGet4PerGbtx

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

Definition at line 139 of file CbmMcbm2018TofFeeThr.h.

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


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