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. | |
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 |
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. | |
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 |
Definition at line 38 of file CbmMcbm2018TofFeeThr.h.
CbmMcbm2018TofFeeThr::CbmMcbm2018TofFeeThr | ( | ) |
Definition at line 51 of file CbmMcbm2018TofFeeThr.cxx.
|
virtual |
Definition at line 94 of file CbmMcbm2018TofFeeThr.cxx.
|
private |
|
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.
|
inlineprivate |
Definition at line 142 of file CbmMcbm2018TofFeeThr.h.
References fvuElinkToGet4, and kuNbGet4PerGbtx.
Referenced by DoUnpack().
|
inlineprivate |
Definition at line 146 of file CbmMcbm2018TofFeeThr.h.
References fvuGet4ToElink, and kuNbGet4PerGbtx.
|
private |
Definition at line 265 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 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().
|
virtual |
Implements CbmMcbmUnpack.
Definition at line 462 of file CbmMcbm2018TofFeeThr.cxx.
References fsHistoFileFullname, fviMsgCounter, and SaveAllHistos().
|
inlineprivate |
Definition at line 132 of file CbmMcbm2018TofFeeThr.h.
References fuNrOfGet4PerGdpb.
|
inline |
Definition at line 58 of file CbmMcbm2018TofFeeThr.h.
References fuMsAcceptsPercent.
|
inline |
Definition at line 64 of file CbmMcbm2018TofFeeThr.h.
References fuOverlapMsNb.
|
virtual |
Implements CbmMcbmUnpack.
Definition at line 96 of file CbmMcbm2018TofFeeThr.cxx.
|
virtual |
Reimplemented from CbmMcbmUnpack.
Definition at line 112 of file CbmMcbm2018TofFeeThr.cxx.
References CreateHistograms(), and ReInitContainers().
|
private |
|
private |
Printout if SPI message!
Definition at line 435 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 122 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(), and kuNbGet4PerGbtx.
Referenced by InitContainers().
|
virtual |
Implements CbmMcbmUnpack.
Definition at line 460 of file CbmMcbm2018TofFeeThr.cxx.
void CbmMcbm2018TofFeeThr::ResetAllHistos | ( | ) |
Definition at line 511 of file CbmMcbm2018TofFeeThr.cxx.
References fhGdpbAsicSpiCounts.
Referenced by DoUnpack().
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().
|
inline |
Definition at line 69 of file CbmMcbm2018TofFeeThr.h.
References fsHistoFileFullname.
|
inline |
Definition at line 62 of file CbmMcbm2018TofFeeThr.h.
References fbIgnoreOverlapMs.
|
inline |
Definition at line 57 of file CbmMcbm2018TofFeeThr.h.
References fuMsAcceptsPercent.
|
inline |
Definition at line 63 of file CbmMcbm2018TofFeeThr.h.
References fuOverlapMsNb.
|
virtual |
Implements CbmMcbmUnpack.
Definition at line 257 of file CbmMcbm2018TofFeeThr.cxx.
References fuNbCoreMsPerTs, and fuNbOverMsPerTs.
|
virtual |
Implements CbmMcbmUnpack.
Definition at line 106 of file CbmMcbm2018TofFeeThr.cxx.
References fUnpackPar.
|
inline |
Definition at line 71 of file CbmMcbm2018TofFeeThr.h.
|
private |
Definition at line 78 of file CbmMcbm2018TofFeeThr.h.
Referenced by DoUnpack(), and SetIgnoreMsOverlap().
|
private |
Definition at line 117 of file CbmMcbm2018TofFeeThr.h.
Referenced by DoUnpack(), and PrintSlcInfo().
|
private |
Number of non overlap MS at beginning of TS
Definition at line 88 of file CbmMcbm2018TofFeeThr.h.
Referenced by ReInitContainers().
|
private |
Definition at line 89 of file CbmMcbm2018TofFeeThr.h.
Referenced by ReInitContainers().
|
private |
Map of ID to index for the gDPBs.
Definition at line 111 of file CbmMcbm2018TofFeeThr.h.
Referenced by DoUnpack(), PrintSlcInfo(), and ReInitContainers().
|
private |
Histograms.
Definition at line 126 of file CbmMcbm2018TofFeeThr.h.
Referenced by CreateHistograms(), PrintSlcInfo(), and ResetAllHistos().
|
private |
Definition at line 122 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 81 of file CbmMcbm2018TofFeeThr.h.
Referenced by Finish(), and SetHistoFileName().
|
private |
Overlap Ms: all fuOverlapMsNb MS at the end of timeslice
Definition at line 87 of file CbmMcbm2018TofFeeThr.h.
Referenced by ReInitContainers().
|
private |
Definition at line 115 of file CbmMcbm2018TofFeeThr.h.
Referenced by DoUnpack().
|
private |
Definition at line 116 of file CbmMcbm2018TofFeeThr.h.
Referenced by DoUnpack().
|
private |
Definition at line 91 of file CbmMcbm2018TofFeeThr.h.
|
private |
Definition at line 118 of file CbmMcbm2018TofFeeThr.h.
Referenced by DoUnpack(), and PrintSlcInfo().
|
private |
Definition at line 119 of file CbmMcbm2018TofFeeThr.h.
Referenced by DoUnpack(), and PrintSlcInfo().
|
private |
Definition at line 120 of file CbmMcbm2018TofFeeThr.h.
Referenced by DoUnpack(), and PrintSlcInfo().
|
private |
Definition at line 121 of file CbmMcbm2018TofFeeThr.h.
Referenced by DoUnpack().
|
private |
|
private |
Definition at line 90 of file CbmMcbm2018TofFeeThr.h.
Referenced by ReInitContainers().
|
private |
OLD, to be cleaned out !!!!!
Definition at line 84 of file CbmMcbm2018TofFeeThr.h.
Referenced by DoUnpack(), GetMsLimitLevel(), and SetMsLimitLevel().
|
private |
Definition at line 76 of file CbmMcbm2018TofFeeThr.h.
Referenced by DoUnpack(), and SetNbMsInTs().
|
private |
Definition at line 77 of file CbmMcbm2018TofFeeThr.h.
Referenced by DoUnpack(), and SetNbMsInTs().
|
private |
Settings from parameter file
Definition at line 94 of file CbmMcbm2018TofFeeThr.h.
Referenced by ReInitContainers(), and SetParContainers().
|
private |
Definition at line 100 of file CbmMcbm2018TofFeeThr.h.
Referenced by ReInitContainers().
|
private |
Definition at line 103 of file CbmMcbm2018TofFeeThr.h.
Referenced by ReInitContainers().
|
private |
Definition at line 98 of file CbmMcbm2018TofFeeThr.h.
Referenced by ReInitContainers().
|
private |
Definition at line 96 of file CbmMcbm2018TofFeeThr.h.
Referenced by ReInitContainers().
|
private |
Definition at line 105 of file CbmMcbm2018TofFeeThr.h.
Referenced by ReInitContainers().
|
private |
Definition at line 95 of file CbmMcbm2018TofFeeThr.h.
Referenced by CreateHistograms(), and ReInitContainers().
|
private |
Definition at line 101 of file CbmMcbm2018TofFeeThr.h.
Referenced by ReInitContainers().
|
private |
Definition at line 97 of file CbmMcbm2018TofFeeThr.h.
Referenced by ReInitContainers().
|
private |
Definition at line 102 of file CbmMcbm2018TofFeeThr.h.
Referenced by CreateHistograms(), DoUnpack(), GetArrayIndex(), and ReInitContainers().
|
private |
Total nb of MS per link in timeslice
Definition at line 86 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 85 of file CbmMcbm2018TofFeeThr.h.
Referenced by ReInitContainers().
|
private |
PADI threshold measures and extrapolated code to value map.
Definition at line 152 of file CbmMcbm2018TofFeeThr.h.
Referenced by PrintSlcInfo(), and ReInitContainers().
|
private |
Definition at line 123 of file CbmMcbm2018TofFeeThr.h.
Referenced by DoUnpack(), and Finish().
|
private |
FLES containers.
Definition at line 75 of file CbmMcbm2018TofFeeThr.h.
Referenced by AddMsComponentToList(), and DoUnpack().
|
private |
5 FEE with 8 GET4 each
Definition at line 140 of file CbmMcbm2018TofFeeThr.h.
Referenced by ConvertElinkToGet4(), and ReInitContainers().
|
private |
Definition at line 141 of file CbmMcbm2018TofFeeThr.h.
Referenced by ConvertGet4ToElink(), and ReInitContainers().
|
private |
Definition at line 136 of file CbmMcbm2018TofFeeThr.h.
Referenced by ReInitContainers().
|
private |
Definition at line 135 of file CbmMcbm2018TofFeeThr.h.
Referenced by ReInitContainers().
|
private |
Definition at line 107 of file CbmMcbm2018TofFeeThr.h.
|
private |
Definition at line 108 of file CbmMcbm2018TofFeeThr.h.
|
staticprivate |
Definition at line 139 of file CbmMcbm2018TofFeeThr.h.
Referenced by ConvertElinkToGet4(), ConvertGet4ToElink(), and ReInitContainers().