CbmRoot
|
#include <CbmMcbm2018TofFeeThr.h>
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 |
CbmMcbm2018TofPar * | fUnpackPar |
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 |
Definition at line 33 of file CbmMcbm2018TofFeeThr.h.
CbmMcbm2018TofFeeThr::CbmMcbm2018TofFeeThr | ( | ) |
Definition at line 47 of file CbmMcbm2018TofFeeThr.cxx.
|
virtual |
Definition at line 88 of file CbmMcbm2018TofFeeThr.cxx.
|
private |
|
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.
|
inlineprivate |
Definition at line 151 of file CbmMcbm2018TofFeeThr.h.
References fvuElinkToGet4, and kuNbGet4PerGbtx.
Referenced by DoUnpack().
|
inlineprivate |
Definition at line 155 of file CbmMcbm2018TofFeeThr.h.
References fvuGet4ToElink, and kuNbGet4PerGbtx.
|
private |
Definition at line 271 of file CbmMcbm2018TofFeeThr.cxx.
References fhGdpbAsicSpiCounts, fuNrOfGdpbs, and fuNrOfGet4PerGdpb.
Referenced by InitContainers().
|
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().
|
virtual |
Implements CbmMcbmUnpack.
Definition at line 491 of file CbmMcbm2018TofFeeThr.cxx.
References fsHistoFileFullname, fviMsgCounter, i, and SaveAllHistos().
|
inlineprivate |
Definition at line 139 of file CbmMcbm2018TofFeeThr.h.
References fuNrOfGet4PerGdpb.
|
inline |
Definition at line 55 of file CbmMcbm2018TofFeeThr.h.
References fuMsAcceptsPercent.
|
inline |
Definition at line 63 of file CbmMcbm2018TofFeeThr.h.
References fuOverlapMsNb.
|
virtual |
Implements CbmMcbmUnpack.
Definition at line 90 of file CbmMcbm2018TofFeeThr.cxx.
|
virtual |
Reimplemented from CbmMcbmUnpack.
Definition at line 108 of file CbmMcbm2018TofFeeThr.cxx.
References CreateHistograms(), and ReInitContainers().
|
private |
|
private |
Printout if SPI message!
Definition at line 459 of file CbmMcbm2018TofFeeThr.cxx.
References fdMsIndex, fGdpbIdIndexMap, fhGdpbAsicSpiCounts, fuGdpbId, fuGdpbNr, fuGet4Id, fvdPadiThrCodeToValue, gdpbv100::GET4_32B_SLC_SPIREAD, gdpbv100::Message::getGdpbSlcChan(), gdpbv100::Message::getGdpbSlcData(), gdpbv100::Message::getGdpbSlcEdge(), and gdpbv100::Message::getGdpbSlcType().
Referenced by DoUnpack().
|
virtual |
TODO: move these constants somewhere shared, e.g the parameter file
From NH files, for Fall 2018 detectors
TODO: move these constants somewhere shared, e.g the parameter file
PADI threshold measures and extrapolated code to value map
Linear extrapolation between measured points
Reimplemented from CbmMcbmUnpack.
Definition at line 117 of file CbmMcbm2018TofFeeThr.cxx.
References fdMsSizeInNs, fdTsCoreSizeInNs, fGdpbIdIndexMap, fuCoreMs, fuMinNbGdpb, fUnpackPar, fuNrOfChannelsPerFee, fuNrOfChannelsPerGdpb, fuNrOfChannelsPerGet4, fuNrOfFeePerGdpb, fuNrOfGbtx, fuNrOfGdpbs, fuNrOfGet4, fuNrOfGet4PerFee, fuNrOfGet4PerGdpb, fuOverlapMsNb, fuTotalMsNb, fvdPadiThrCodeToValue, fvuElinkToGet4, fvuGet4ToElink, fvuGet4ToPadi, fvuPadiToGet4, CbmMcbm2018TofPar::GetGdpbId(), CbmMcbm2018TofPar::GetNbMsOverlap(), CbmMcbm2018TofPar::GetNbMsTot(), CbmMcbm2018TofPar::GetNrOfChannelsPerGet4(), CbmMcbm2018TofPar::GetNrOfFeesPerGdpb(), CbmMcbm2018TofPar::GetNrOfGbtx(), CbmMcbm2018TofPar::GetNrOfGdpbs(), CbmMcbm2018TofPar::GetNrOfGet4PerFee(), CbmMcbm2018TofPar::GetSizeMsInNs(), i, and kuNbGet4PerGbtx.
Referenced by InitContainers().
|
virtual |
Implements CbmMcbmUnpack.
Definition at line 489 of file CbmMcbm2018TofFeeThr.cxx.
void CbmMcbm2018TofFeeThr::ResetAllHistos | ( | ) |
Definition at line 534 of file CbmMcbm2018TofFeeThr.cxx.
References fhGdpbAsicSpiCounts.
Referenced by DoUnpack().
void CbmMcbm2018TofFeeThr::SaveAllHistos | ( | TString | sFileName = "" | ) |
Definition at line 516 of file CbmMcbm2018TofFeeThr.cxx.
Referenced by DoUnpack(), and Finish().
|
inline |
Definition at line 68 of file CbmMcbm2018TofFeeThr.h.
References fsHistoFileFullname.
|
inline |
Definition at line 59 of file CbmMcbm2018TofFeeThr.h.
References fbIgnoreOverlapMs.
|
inline |
Definition at line 52 of file CbmMcbm2018TofFeeThr.h.
References fuMsAcceptsPercent.
|
inline |
Definition at line 62 of file CbmMcbm2018TofFeeThr.h.
References fuOverlapMsNb.
|
virtual |
Implements CbmMcbmUnpack.
Definition at line 264 of file CbmMcbm2018TofFeeThr.cxx.
References fuNbCoreMsPerTs, and fuNbOverMsPerTs.
|
virtual |
Implements CbmMcbmUnpack.
Definition at line 101 of file CbmMcbm2018TofFeeThr.cxx.
References fUnpackPar.
|
inline |
Definition at line 72 of file CbmMcbm2018TofFeeThr.h.
|
private |
Definition at line 80 of file CbmMcbm2018TofFeeThr.h.
Referenced by DoUnpack(), and SetIgnoreMsOverlap().
|
private |
Definition at line 121 of file CbmMcbm2018TofFeeThr.h.
Referenced by DoUnpack(), and PrintSlcInfo().
|
private |
Number of non overlap MS at beginning of TS
Definition at line 92 of file CbmMcbm2018TofFeeThr.h.
Referenced by ReInitContainers().
|
private |
Definition at line 93 of file CbmMcbm2018TofFeeThr.h.
Referenced by ReInitContainers().
|
private |
Map of ID to index for the gDPBs.
Definition at line 115 of file CbmMcbm2018TofFeeThr.h.
Referenced by DoUnpack(), PrintSlcInfo(), and ReInitContainers().
|
private |
Histograms.
Definition at line 133 of file CbmMcbm2018TofFeeThr.h.
Referenced by CreateHistograms(), PrintSlcInfo(), and ResetAllHistos().
|
private |
Definition at line 129 of file CbmMcbm2018TofFeeThr.h.
Referenced by DoUnpack().
|
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().
|
private |
Overlap Ms: all fuOverlapMsNb MS at the end of timeslice
Definition at line 91 of file CbmMcbm2018TofFeeThr.h.
Referenced by ReInitContainers().
|
private |
Definition at line 119 of file CbmMcbm2018TofFeeThr.h.
Referenced by DoUnpack().
|
private |
Definition at line 120 of file CbmMcbm2018TofFeeThr.h.
Referenced by DoUnpack().
|
private |
Definition at line 95 of file CbmMcbm2018TofFeeThr.h.
|
private |
Definition at line 122 of file CbmMcbm2018TofFeeThr.h.
Referenced by DoUnpack(), and PrintSlcInfo().
|
private |
Definition at line 124 of file CbmMcbm2018TofFeeThr.h.
Referenced by DoUnpack(), and PrintSlcInfo().
|
private |
Definition at line 126 of file CbmMcbm2018TofFeeThr.h.
Referenced by DoUnpack(), and PrintSlcInfo().
|
private |
Definition at line 128 of file CbmMcbm2018TofFeeThr.h.
Referenced by DoUnpack().
|
private |
|
private |
Definition at line 94 of file CbmMcbm2018TofFeeThr.h.
Referenced by ReInitContainers().
|
private |
OLD, to be cleaned out !!!!!
Definition at line 87 of file CbmMcbm2018TofFeeThr.h.
Referenced by DoUnpack(), GetMsLimitLevel(), and SetMsLimitLevel().
|
private |
Definition at line 77 of file CbmMcbm2018TofFeeThr.h.
Referenced by DoUnpack(), and SetNbMsInTs().
|
private |
Definition at line 78 of file CbmMcbm2018TofFeeThr.h.
Referenced by DoUnpack(), and SetNbMsInTs().
|
private |
Settings from parameter file
Definition at line 98 of file CbmMcbm2018TofFeeThr.h.
Referenced by ReInitContainers(), and SetParContainers().
|
private |
Definition at line 104 of file CbmMcbm2018TofFeeThr.h.
Referenced by ReInitContainers().
|
private |
Definition at line 107 of file CbmMcbm2018TofFeeThr.h.
Referenced by ReInitContainers().
|
private |
Definition at line 102 of file CbmMcbm2018TofFeeThr.h.
Referenced by ReInitContainers().
|
private |
Definition at line 100 of file CbmMcbm2018TofFeeThr.h.
Referenced by ReInitContainers().
|
private |
Definition at line 109 of file CbmMcbm2018TofFeeThr.h.
Referenced by ReInitContainers().
|
private |
Definition at line 99 of file CbmMcbm2018TofFeeThr.h.
Referenced by CreateHistograms(), and ReInitContainers().
|
private |
Definition at line 105 of file CbmMcbm2018TofFeeThr.h.
Referenced by ReInitContainers().
|
private |
Definition at line 101 of file CbmMcbm2018TofFeeThr.h.
Referenced by ReInitContainers().
|
private |
Definition at line 106 of file CbmMcbm2018TofFeeThr.h.
Referenced by CreateHistograms(), DoUnpack(), GetArrayIndex(), and ReInitContainers().
|
private |
Total nb of MS per link in timeslice
Definition at line 90 of file CbmMcbm2018TofFeeThr.h.
Referenced by GetMsOverlap(), ReInitContainers(), and SetMsOverlap().
|
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().
|
private |
PADI threshold measures and extrapolated code to value map.
Definition at line 161 of file CbmMcbm2018TofFeeThr.h.
Referenced by PrintSlcInfo(), and ReInitContainers().
|
private |
Definition at line 130 of file CbmMcbm2018TofFeeThr.h.
Referenced by DoUnpack(), and Finish().
|
private |
FLES containers.
Definition at line 76 of file CbmMcbm2018TofFeeThr.h.
Referenced by AddMsComponentToList(), and DoUnpack().
|
private |
5 FEE with 8 GET4 each
Definition at line 149 of file CbmMcbm2018TofFeeThr.h.
Referenced by ConvertElinkToGet4(), and ReInitContainers().
|
private |
Definition at line 150 of file CbmMcbm2018TofFeeThr.h.
Referenced by ConvertGet4ToElink(), and ReInitContainers().
|
private |
Definition at line 145 of file CbmMcbm2018TofFeeThr.h.
Referenced by ReInitContainers().
|
private |
Definition at line 144 of file CbmMcbm2018TofFeeThr.h.
Referenced by ReInitContainers().
|
private |
Definition at line 111 of file CbmMcbm2018TofFeeThr.h.
|
private |
Definition at line 112 of file CbmMcbm2018TofFeeThr.h.
|
staticprivate |
Definition at line 148 of file CbmMcbm2018TofFeeThr.h.
Referenced by ConvertElinkToGet4(), ConvertGet4ToElink(), and ReInitContainers().