CbmRoot
|
Timeslice unpacker FairTask for Spadic v.2.2 . More...
#include <CbmMcbm2018UnpackerTaskTrdR.h>
Public Member Functions | |
CbmMcbm2018UnpackerTaskTrdR () | |
virtual | ~CbmMcbm2018UnpackerTaskTrdR () |
CbmMcbm2018UnpackerTaskTrdR (const CbmMcbm2018UnpackerTaskTrdR &) | |
CbmMcbm2018UnpackerTaskTrdR | operator= (const CbmMcbm2018UnpackerTaskTrdR &) |
virtual Bool_t | Init () |
Registers output-data containers at the FairRootManager. | |
virtual Bool_t | DoUnpack (const fles::Timeslice &ts, size_t component) |
virtual void | Reset () |
virtual void | Finish () |
virtual void | SetParContainers () |
virtual Bool_t | InitContainers () |
virtual Bool_t | ReInitContainers () |
virtual void | AddMsComponentToList (size_t component, UShort_t usDetectorId) |
Adds an input component to the list of active components for this unpacker. | |
virtual void | SetNbMsInTs (size_t uCoreMsNb, size_t uOverlapMsNb) |
Sets numbers of Core Microslices and overlap Microslices per Timeslice. | |
void | SetMonitorMode (Bool_t bFlagIn=kTRUE) |
void | SetDebugMonitorMode (Bool_t bFlagIn=kTRUE) |
void | SetWriteOutput (Bool_t bFlagIn=kTRUE) |
void | SetDebugWriteOutput (Bool_t bFlagIn=kTRUE) |
void | SetDebugSortOutput (Bool_t bFlagIn=kTRUE) |
void | SetSystemIdentifier (std::uint8_t id) |
void | SetTimeOffsetNs (Double_t dOffsetIn=0.0) |
void | SetBaselineAvg (Bool_t bFlagIn=kTRUE) |
Call this when Spadic Average-Baseline feature is enabled. | |
void | SetActiveHistograms (std::vector< bool > isActiveHistoVec) |
void | SetHistoFileName (TString filename) |
void | SetMsSizeInNs (Double_t msSizeInNs) |
void | SetIgnoreOverlapMs (Bool_t bFlagIn=kTRUE) |
void | SetFirstChannelsElinkEven (bool isEven) |
Private Attributes | |
Bool_t | fbMonitorMode |
< Set wether channels 00..15 are on the even (true) or the odd (false and default) elink | |
Bool_t | fbDebugMonitorMode |
Switch ON the filling of a additional set of histograms. | |
Bool_t | fbWriteOutput |
If ON the output Vector of digis is written to disk. | |
Bool_t | fbDebugWriteOutput |
If ON the output vector of raw messages is filled and written to disk. | |
Bool_t | fbDebugSortOutput = kTRUE |
If ON the output vector of raw messages is sorted in time. | |
Bool_t | fbBaselineAvg |
Set to true if Baseline Averaging is activated in Spadic. | |
std::uint8_t | fSystemIdentifier |
by default set to: fles::Subsystem::TRD, changable via setter | |
Double_t | fdMsSizeInNs |
microslice size in ns to be passed to the unpacker // TODO handle this with asic parameter files | |
bool | fIsFirstChannelsElinkEven |
define if the first 16 channels (00..15) are found on the even (set true) or odd (false) eLinkId, default for mCbm2020 is false thus, initialized as false | |
TString | fMonitorHistoFileName |
std::vector< bool > | fIsActiveHistoVec |
CbmMcbm2020TrdTshiftPar * | fTimeshiftPar = nullptr |
mCbm2020 timeshift correction parameters | |
std::vector< CbmTrdDigi > * | fTrdDigiVector |
Output Digi vector. | |
std::vector< CbmTrdRawMessageSpadic > * | fTrdRawMessageVector |
Output Spadic raw messages for debugging. | |
std::vector< std::pair< size_t, size_t > > * | fSpadicInfoMsgVector |
vector< pair< fulltime, word > > | |
CbmMcbm2018UnpackerAlgoTrdR * | fUnpackerAlgo |
Processing algo. | |
Timeslice unpacker FairTask for Spadic v.2.2 .
Definition at line 29 of file CbmMcbm2018UnpackerTaskTrdR.h.
CbmMcbm2018UnpackerTaskTrdR::CbmMcbm2018UnpackerTaskTrdR | ( | ) |
Default Constructor
Definition at line 19 of file CbmMcbm2018UnpackerTaskTrdR.cxx.
References fUnpackerAlgo.
|
virtual |
Definition at line 39 of file CbmMcbm2018UnpackerTaskTrdR.cxx.
References fUnpackerAlgo.
CbmMcbm2018UnpackerTaskTrdR::CbmMcbm2018UnpackerTaskTrdR | ( | const CbmMcbm2018UnpackerTaskTrdR & | ) |
Copy Constructor
|
virtual |
Adds an input component to the list of active components for this unpacker.
Implements CbmMcbmUnpack.
Definition at line 248 of file CbmMcbm2018UnpackerTaskTrdR.cxx.
References CbmMcbm2018UnpackerAlgoTrdR::AddMsComponentToList(), fSystemIdentifier, and fUnpackerAlgo.
|
virtual |
Called in CbmMcbm2018Source::FillBuffer() for each timesclice
Call the Algorithm to unpack the given TS.
Implements CbmMcbmUnpack.
Definition at line 90 of file CbmMcbm2018UnpackerTaskTrdR.cxx.
References fUnpackerAlgo, and CbmMcbm2018UnpackerAlgoTrdR::ProcessTs().
|
virtual |
Obtain vector of pointers on each histo from the algo (+ optionally desired folder)
Save old global file and folder pointer to avoid messing with FairRoot
(Re-)Create ROOT file to store the histos
Write all the histograms to the file.
Restore old global file and folder pointer to avoid messing with FairRoot
Implements CbmMcbmUnpack.
Definition at line 113 of file CbmMcbm2018UnpackerTaskTrdR.cxx.
References fbDebugMonitorMode, fbMonitorMode, CbmMcbm2018UnpackerAlgoTrdR::Finish(), fMonitorHistoFileName, fUnpackerAlgo, and CbmStar2019Algo< T >::GetHistoVector().
|
virtual |
Registers output-data containers at the FairRootManager.
Called in CbmMcbm2018Source::Init() .
Register Digi output vector.
Register RawMessage output vector, if DebugWrite is enabled.
Implements CbmMcbmUnpack.
Definition at line 41 of file CbmMcbm2018UnpackerTaskTrdR.cxx.
References fbDebugWriteOutput, fbWriteOutput, fdMsSizeInNs, fIsFirstChannelsElinkEven, fSpadicInfoMsgVector, fTrdDigiVector, fTrdRawMessageVector, fUnpackerAlgo, CbmMcbm2018UnpackerAlgoTrdR::Init(), CbmMcbm2018UnpackerAlgoTrdR::SetDigiOutputPointer(), CbmMcbm2018UnpackerAlgoTrdR::SetFirstChannelsElinkEven(), CbmMcbm2018UnpackerAlgoTrdR::SetMsSizeInNs(), and CbmMcbm2018UnpackerAlgoTrdR::SetRawOutputPointer().
|
virtual |
Hand over control flags to the algorithm.
If monitor mode enabled, trigger histos creation, obtain pointer on them and add them to the HTTP server.
Trigger Histo creation in the algo.
Obtain vector of pointers on each histo from the algo (+ optionally desired folder).
Register the histos in the HTTP server
Avoid crash in other unpackers due to the FAIRROOT "feature" that a 0 return value goes on with the run without initializing tasks which are later in the alphabetical order
Reimplemented from CbmMcbmUnpack.
Definition at line 179 of file CbmMcbm2018UnpackerTaskTrdR.cxx.
References CbmMcbm2018UnpackerAlgoTrdR::CreateHistograms(), fbBaselineAvg, fbDebugMonitorMode, fbDebugSortOutput, fbDebugWriteOutput, fbMonitorMode, fbWriteOutput, fIsActiveHistoVec, fTimeshiftPar, fUnpackerAlgo, CbmStar2019Algo< T >::GetHistoVector(), CbmMcbm2020TrdTshiftPar::GetTimeshiftsMap(), CbmMcbm2018UnpackerAlgoTrdR::InitContainers(), CbmMcbm2018UnpackerAlgoTrdR::SetActiveHistograms(), CbmMcbm2018UnpackerAlgoTrdR::SetBaselineAvg(), CbmMcbm2018UnpackerAlgoTrdR::SetDebugMonitorMode(), CbmMcbm2018UnpackerAlgoTrdR::SetDebugSortOutput(), CbmMcbm2018UnpackerAlgoTrdR::SetDebugWriteOutput(), CbmMcbm2018UnpackerAlgoTrdR::SetMonitorMode(), CbmMcbm2018UnpackerAlgoTrdR::SetTimeshiftsMap(), and CbmMcbm2018UnpackerAlgoTrdR::SetWriteOutput().
CbmMcbm2018UnpackerTaskTrdR CbmMcbm2018UnpackerTaskTrdR::operator= | ( | const CbmMcbm2018UnpackerTaskTrdR & | ) |
Assignment Operator
|
virtual |
Reimplemented from CbmMcbmUnpack.
Definition at line 238 of file CbmMcbm2018UnpackerTaskTrdR.cxx.
References fUnpackerAlgo, and CbmMcbm2018UnpackerAlgoTrdR::ReInitContainers().
|
virtual |
Called in CbmMcbm2018Source::Reset()
Implements CbmMcbmUnpack.
Definition at line 105 of file CbmMcbm2018UnpackerTaskTrdR.cxx.
References fSpadicInfoMsgVector, fTrdDigiVector, fTrdRawMessageVector, fUnpackerAlgo, and CbmMcbm2018UnpackerAlgoTrdR::Reset().
|
inline |
Definition at line 88 of file CbmMcbm2018UnpackerTaskTrdR.h.
References fIsActiveHistoVec.
|
inline |
Call this when Spadic Average-Baseline feature is enabled.
Definition at line 86 of file CbmMcbm2018UnpackerTaskTrdR.h.
References fbBaselineAvg.
|
inline |
Definition at line 76 of file CbmMcbm2018UnpackerTaskTrdR.h.
References fbDebugMonitorMode.
|
inline |
Definition at line 79 of file CbmMcbm2018UnpackerTaskTrdR.h.
References fbDebugSortOutput.
|
inline |
Definition at line 78 of file CbmMcbm2018UnpackerTaskTrdR.h.
References fbDebugWriteOutput.
|
inline |
Definition at line 95 of file CbmMcbm2018UnpackerTaskTrdR.h.
References fIsFirstChannelsElinkEven.
void CbmMcbm2018UnpackerTaskTrdR::SetHistoFileName | ( | TString | filename | ) |
Definition at line 263 of file CbmMcbm2018UnpackerTaskTrdR.cxx.
References fMonitorHistoFileName, and SetMonitorMode().
void CbmMcbm2018UnpackerTaskTrdR::SetIgnoreOverlapMs | ( | Bool_t | bFlagIn = kTRUE | ) |
Definition at line 274 of file CbmMcbm2018UnpackerTaskTrdR.cxx.
References fUnpackerAlgo, and CbmStar2019Algo< T >::SetIgnoreOverlapMs().
|
inline |
Definition at line 75 of file CbmMcbm2018UnpackerTaskTrdR.h.
References fbMonitorMode.
Referenced by SetHistoFileName().
|
inline |
Definition at line 91 of file CbmMcbm2018UnpackerTaskTrdR.h.
References fdMsSizeInNs.
|
virtual |
Sets numbers of Core Microslices and overlap Microslices per Timeslice.
Implements CbmMcbmUnpack.
Definition at line 258 of file CbmMcbm2018UnpackerTaskTrdR.cxx.
References fUnpackerAlgo, and CbmMcbm2018UnpackerAlgoTrdR::SetNbMsInTs().
|
virtual |
Called in CbmMcbm2018Source::SetParUnpackers()
Implements CbmMcbmUnpack.
Definition at line 152 of file CbmMcbm2018UnpackerTaskTrdR.cxx.
References fTimeshiftPar, fUnpackerAlgo, and CbmMcbm2018UnpackerAlgoTrdR::GetParList().
|
inline |
Definition at line 80 of file CbmMcbm2018UnpackerTaskTrdR.h.
References fSystemIdentifier.
void CbmMcbm2018UnpackerTaskTrdR::SetTimeOffsetNs | ( | Double_t | dOffsetIn = 0.0 | ) |
Definition at line 269 of file CbmMcbm2018UnpackerTaskTrdR.cxx.
References fUnpackerAlgo, and CbmMcbm2018UnpackerAlgoTrdR::SetTimeOffsetNs().
|
inline |
Definition at line 77 of file CbmMcbm2018UnpackerTaskTrdR.h.
References fbWriteOutput.
|
private |
Set to true if Baseline Averaging is activated in Spadic.
Definition at line 107 of file CbmMcbm2018UnpackerTaskTrdR.h.
Referenced by InitContainers(), and SetBaselineAvg().
|
private |
Switch ON the filling of a additional set of histograms.
Definition at line 103 of file CbmMcbm2018UnpackerTaskTrdR.h.
Referenced by Finish(), InitContainers(), and SetDebugMonitorMode().
|
private |
If ON the output vector of raw messages is sorted in time.
Definition at line 106 of file CbmMcbm2018UnpackerTaskTrdR.h.
Referenced by InitContainers(), and SetDebugSortOutput().
|
private |
If ON the output vector of raw messages is filled and written to disk.
Definition at line 105 of file CbmMcbm2018UnpackerTaskTrdR.h.
Referenced by Init(), InitContainers(), and SetDebugWriteOutput().
|
private |
< Set wether channels 00..15 are on the even (true) or the odd (false and default) elink
Switch ON the filling of a minimal set of histograms.
Definition at line 102 of file CbmMcbm2018UnpackerTaskTrdR.h.
Referenced by Finish(), InitContainers(), and SetMonitorMode().
|
private |
If ON the output Vector of digis is written to disk.
Definition at line 104 of file CbmMcbm2018UnpackerTaskTrdR.h.
Referenced by Init(), InitContainers(), and SetWriteOutput().
|
private |
microslice size in ns to be passed to the unpacker // TODO handle this with asic parameter files
Definition at line 110 of file CbmMcbm2018UnpackerTaskTrdR.h.
Referenced by Init(), and SetMsSizeInNs().
|
private |
Definition at line 117 of file CbmMcbm2018UnpackerTaskTrdR.h.
Referenced by InitContainers(), and SetActiveHistograms().
|
private |
define if the first 16 channels (00..15) are found on the even (set true) or odd (false) eLinkId, default for mCbm2020 is false thus, initialized as false
Definition at line 112 of file CbmMcbm2018UnpackerTaskTrdR.h.
Referenced by Init(), and SetFirstChannelsElinkEven().
|
private |
Definition at line 116 of file CbmMcbm2018UnpackerTaskTrdR.h.
Referenced by Finish(), and SetHistoFileName().
|
private |
vector< pair< fulltime, word > >
Definition at line 129 of file CbmMcbm2018UnpackerTaskTrdR.h.
|
private |
by default set to: fles::Subsystem::TRD, changable via setter
Definition at line 108 of file CbmMcbm2018UnpackerTaskTrdR.h.
Referenced by AddMsComponentToList(), and SetSystemIdentifier().
|
private |
mCbm2020 timeshift correction parameters
Definition at line 120 of file CbmMcbm2018UnpackerTaskTrdR.h.
Referenced by InitContainers(), and SetParContainers().
|
private |
Output Digi vector.
Definition at line 123 of file CbmMcbm2018UnpackerTaskTrdR.h.
|
private |
Output Spadic raw messages for debugging.
Definition at line 126 of file CbmMcbm2018UnpackerTaskTrdR.h.
|
private |
Processing algo.
Definition at line 132 of file CbmMcbm2018UnpackerTaskTrdR.h.
Referenced by AddMsComponentToList(), CbmMcbm2018UnpackerTaskTrdR(), DoUnpack(), Finish(), Init(), InitContainers(), ReInitContainers(), Reset(), SetIgnoreOverlapMs(), SetNbMsInTs(), SetParContainers(), SetTimeOffsetNs(), and ~CbmMcbm2018UnpackerTaskTrdR().