CbmRoot
Loading...
Searching...
No Matches
CbmRecoUnpack Class Reference

Main steering class for unpacking in cbmroot. More...

#include <CbmRecoUnpack.h>

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

Public Member Functions

 CbmRecoUnpack ()
 Constructor.
 
 ~CbmRecoUnpack ()
 Destructor.
 
 CbmRecoUnpack (const CbmRecoUnpack &)=delete
 Copy constructor - not implemented.
 
CbmRecoUnpackoperator= (const CbmRecoUnpack &)=delete
 Assignment operator - not implemented.
 
void Finish ()
 Actions at the end of the run.
 
Bool_t Init ()
 Initialisation.
 
void Reset ()
 Clear the output vectors as preparation of the next timeslice. Called via FairSource::Reset()
 
void SetDebugPrintout (bool value=true)
 Set the Debug Printout Flag.
 
void SetDoPerfProfiling (bool value=true)
 (De)Activate the performance profiling based on histograms
 
void SetDoPerfProfilingPerTs (bool value=true)
 (De)Activate the performance profiling based on histograms for each TS
 
void SetPublishProfMoni (bool value=true, std::string sUriMonitor="", bool useProcTime=false, std::string sJobId="local")
 (De)Activate the publication of performance profiling data to monitoring DB
 
void SetOutputFilename (std::string value)
 Set the performance profiling Output Filename.
 
void SetTimeSorting (bool bIn=true)
 Enable/disable a full time sorting. If off, time sorting happens per link/FLIM source.
 
void SetMonitoringOnly (bool bIn=true)
 Enable/disable the data output. If On, data unpacked and monitored but neither sorted nor written to disk.
 
void SetUnpackConfig (std::shared_ptr< CbmMuchUnpackConfig > config)
 Set the Much Unpack Config.
 
void SetUnpackConfig (std::shared_ptr< CbmPsdUnpackConfig > config)
 Set the Psd Unpack Config.
 
void SetUnpackConfig (std::shared_ptr< CbmRichUnpackConfig > config)
 Set the Rich Unpack Config.
 
void SetUnpackConfig (std::shared_ptr< CbmStsUnpackConfig > config)
 Set the Sts Unpack Config.
 
void SetUnpackConfig (std::shared_ptr< CbmTofUnpackConfig > config)
 Set the Tof Unpack Config.
 
void SetUnpackConfig (std::shared_ptr< CbmTrdUnpackConfig > config)
 Set the Trd Unpack Config.
 
void SetUnpackConfig (std::shared_ptr< CbmTrdUnpackFaspConfig > config)
 Set the Trd2D Unpack Config.
 
void SetUnpackConfig (std::shared_ptr< CbmBmonUnpackConfig > config)
 Set the Bmon Unpack Config.
 
void Unpack (std::unique_ptr< fles::Timeslice > ts)
 Trigger the unpacking procedure.
 

Private Types

using Subsystem = fles::Subsystem
 

Private Member Functions

void performanceProfiling ()
 Run the performance profiling based on the fTimeMap and fDataSizeMap members.
 
void performanceProfilingPerTs ()
 Run the performance profiling for a single TS based on the fTimeMapPerTs and fDataSizeMapPerTs members.
 
void initPerformanceMaps (Subsystem subsystem, std::string name)
 Init the performance profiling maps for a given unpacker.
 
template<class TConfig >
void RegisterOutputs (FairRootManager *ioman, std::shared_ptr< TConfig > config)
 
virtual Bool_t initParContainers (std::vector< std::pair< std::string, std::shared_ptr< FairParGenericSet > > > *reqparvec)
 Initialise the parameter containers requested by the algorithm.
 
template<typename TVecobj >
std::enable_if< std::is_same< TVecobj, std::nullptr_t >::value==true, void >::type timesort (std::vector< TVecobj > *)
 Sort a vector timewise vector type has to provide GetTime()
 
template<typename TVecobj >
std::enable_if<!std::is_member_function_pointer< decltype(&TVecobj::GetTime)>::value, void >::type timesort (std::vector< TVecobj > *)
 
template<typename TVecobj >
std::enable_if< std::is_member_function_pointer< decltype(&TVecobj::GetTime)>::value, void >::type timesort (std::vector< TVecobj > *vec=nullptr)
 
template<class TConfig , class TOptOutA = std::nullptr_t, class TOptOutB = std::nullptr_t>
size_t unpack (const Subsystem subsystem, const fles::Timeslice *ts, std::uint16_t icomp, TConfig config, std::vector< TOptOutA > *optouttargetvecA=nullptr, std::vector< TOptOutB > *optouttargetvecB=nullptr)
 Template for the unpacking call of a given algorithm.
 
 ClassDef (CbmRecoUnpack, 3)
 

Private Attributes

bool fDoDebugPrints = false
 Flag if extended debug output is to be printed or not.
 
bool fDoPerfProf = false
 Flag if performance profiling should be activated or not.
 
bool fDoPerfProfPerTs = false
 Flag if performance profiling per TS should be activated or not.
 
bool fPublishProfMoni = false
 Flag if performance profiling data should be published to monitoring DB.
 
std::string fUriPublishProfMoni = "influx1:localhost:8086:monitoring_tests"
 URI (type:hostname:port:db_name) for optional connection to monitoring DB.
 
bool fPubMoniProcTime = true
 Flag if perf data should be published to moni DB using data time (false) or processing time (true).
 
std::map< Subsystem, std::pair< std::string, size_t > > fNameMap = {}
 Map to store a name for the unpackers and the processed amount of digis, key = Subsystem.
 
std::map< Subsystem, std::pair< double, double > > fTimeMap = {}
 Map to store the cpu and wall time, key = Subsystem.
 
std::map< Subsystem, std::pair< double, double > > fDataSizeMap = {}
 Map to store the in and out data amount, key = Subsystem.
 
std::map< Subsystem, std::pair< std::string, size_t > > fNameMapPerTs = {}
 Map to store a name for the unpackers and the processed amount of digis for a single TS, key = Subsystem.
 
std::map< Subsystem, std::pair< double, double > > fTimeMapPerTs = {}
 Map to store the cpu and wall time for a single TS, key = Subsystem.
 
std::map< Subsystem, std::pair< double, double > > fDataSizeMapPerTs = {}
 Map to store the in and out data amount for a single TS, key = Subsystem.
 
TStopwatch * fTimerTs = nullptr
 
TH1 * fhCpuTimePerTs = nullptr
 
TH1 * fhRealTimePerTs = nullptr
 Processing time per TS.
 
TH1 * fhCpuTimePerTsHist = nullptr
 Processing time per TS.
 
TH1 * fhRealTimePerTsHist = nullptr
 Plotting time per TS.
 
std::map< Subsystem, TH1 * > fvhInpRatioPerTs = {}
 Plotting time per TS.
 
std::map< Subsystem, TH1 * > fvhOutRatioPerTs = {}
 ratio of system data in total input size vs TS in run
 
std::map< Subsystem, TH1 * > fvhUnpRatioPerTs = {}
 ratio of system digi size in total output size vs TS in run
 
TH1 * fhUnpackingRatioPerTs = nullptr
 ratio of selected digi vs TS in run
 
std::unique_ptr< cbm::Monitor > fMonitor
 ratio of total unpacked size to input size vs TS in run
 
std::string fMoniCurrrentHostname = ""
 The application's monitoring object.
 
std::string fMoniJobId = ""
 
std::chrono::system_clock::time_point fMonitorSecCurrentTs = std::chrono::system_clock::time_point()
 
std::map< Subsystem, std::pair< double, double > > fDataSizeMapCurrSec = {}
 
CbmTimeSlicefTimeSlice
 CbmTimeslice object, mostly redundant with the TsEventHeader, needed by L1 to switch timeslice mode.
 
std::shared_ptr< CbmMuchUnpackConfigfMuchConfig = nullptr
 Current time slice.
 
std::shared_ptr< CbmPsdUnpackConfigfPsdConfig = nullptr
 Configuration of the Psd unpacker. Provides the configured algorithm.
 
std::shared_ptr< CbmRichUnpackConfigfRichConfig = nullptr
 Configuration of the Rich unpacker. Provides the configured algorithm.
 
std::shared_ptr< CbmStsUnpackConfigfStsConfig = nullptr
 Configuration of the Sts unpacker. Provides the configured algorithm.
 
std::shared_ptr< CbmTofUnpackConfigfTofConfig = nullptr
 Configuration of the Tof unpacker. Provides the configured algorithm.
 
std::shared_ptr< CbmTrdUnpackConfigfTrd1DConfig = nullptr
 Configuration of the Trd unpacker. Provides the configured algorithm.
 
std::shared_ptr< CbmTrdUnpackFaspConfigfTrd2DConfig = nullptr
 Configuration of the Trd unpacker. Provides the configured algorithm.
 
std::shared_ptr< CbmBmonUnpackConfigfBmonConfig = nullptr
 Configuration of the Bmon unpacker. Provides the configured algorithm.
 
CbmTsEventHeaderfCbmTsEventHeader = nullptr
 Pointer to the Timeslice start time used to write it to the output tree.
 
std::string fOutfilename = "CbmRecoUnpack.perf.root"
 Name of the performance profiling output file.
 
bool bOutputFullTimeSorting = false
 Flag to Enable/disable a full time sorting. If off, time sorting happens per link/FLIM source.
 
bool bMonitoringOnly = false
 Flag to Enable/disable the output completely.
 

Detailed Description

Main steering class for unpacking in cbmroot.

Author
Volker Friese
Since
2 June 2021

This class runs the unpackers for each input time-slice component.

Definition at line 59 of file CbmRecoUnpack.h.

Member Typedef Documentation

◆ Subsystem

using CbmRecoUnpack::Subsystem = fles::Subsystem
private

Definition at line 181 of file CbmRecoUnpack.h.

Constructor & Destructor Documentation

◆ CbmRecoUnpack() [1/2]

CbmRecoUnpack::CbmRecoUnpack ( )

Constructor.

Definition at line 41 of file CbmRecoUnpack.cxx.

◆ ~CbmRecoUnpack()

CbmRecoUnpack::~CbmRecoUnpack ( )

Destructor.

Need to stay in the cxx file due to destruction of Monitor unique pointer

Definition at line 45 of file CbmRecoUnpack.cxx.

◆ CbmRecoUnpack() [2/2]

CbmRecoUnpack::CbmRecoUnpack ( const CbmRecoUnpack & )
delete

Copy constructor - not implemented.

Member Function Documentation

◆ ClassDef()

CbmRecoUnpack::ClassDef ( CbmRecoUnpack ,
3  )
private

◆ Finish()

◆ Init()

Bool_t CbmRecoUnpack::Init ( )

Initialisation.

Framework bound work = kept in this Task

Framework bound work = kept in this Task

Framework bound work = kept in this Task

Framework bound work = kept in this Task

Framework bound work = kept in this Task

Framework bound work = kept in this Task

Framework bound work = kept in this Task

Framework bound work = kept in this Task

Framework bound work = kept in this Task

Needed to change the Parameter file name before it is used!!!

Framework bound work = kept in this Task

Framework bound work = kept in this Task

Framework bound work = kept in this Task

Framework bound work = kept in this Task

Framework bound work = kept in this Task

Framework bound work = kept in this Task

Needed to change the Parameter file name before it is used!!!

Framework bound work = kept in this Task

Timer for complete processing and histograming perTS

Definition at line 96 of file CbmRecoUnpack.cxx.

References fBmonConfig, fCbmTsEventHeader, fDoPerfProfPerTs, fhCpuTimePerTs, fhCpuTimePerTsHist, fhRealTimePerTs, fhRealTimePerTsHist, fhUnpackingRatioPerTs, fMoniCurrrentHostname, fMoniJobId, fMonitor, fMuchConfig, fPsdConfig, fPublishProfMoni, fRichConfig, fStsConfig, fTimerTs, fTimeSlice, fTofConfig, fTrd1DConfig, fTrd2DConfig, fUriPublishProfMoni, initParContainers(), initPerformanceMaps(), and RegisterOutputs().

Referenced by CbmSourceTsArchive::Init().

◆ initParContainers()

virtual Bool_t CbmRecoUnpack::initParContainers ( std::vector< std::pair< std::string, std::shared_ptr< FairParGenericSet > > > * reqparvec)
inlineprivatevirtual

Initialise the parameter containers requested by the algorithm.

Returns
Bool_t initOk

Definition at line 282 of file CbmRecoUnpack.h.

Referenced by Init().

◆ initPerformanceMaps()

void CbmRecoUnpack::initPerformanceMaps ( Subsystem subsystem,
std::string name )
private

Init the performance profiling maps for a given unpacker.

Parameters
subsystemSubsystem as assigned during readout
nameName of the unpacker

Definition at line 234 of file CbmRecoUnpack.cxx.

References fDataSizeMap, fDataSizeMapCurrSec, fDataSizeMapPerTs, fDoPerfProf, fDoPerfProfPerTs, fNameMap, fNameMapPerTs, fPublishProfMoni, fTimeMap, fTimeMapPerTs, fvhInpRatioPerTs, fvhOutRatioPerTs, and fvhUnpRatioPerTs.

Referenced by Init().

◆ operator=()

CbmRecoUnpack & CbmRecoUnpack::operator= ( const CbmRecoUnpack & )
delete

Assignment operator - not implemented.

◆ performanceProfiling()

void CbmRecoUnpack::performanceProfiling ( )
private

Run the performance profiling based on the fTimeMap and fDataSizeMap members.

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

(Re-)Create ROOT file to store the histos

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

Definition at line 270 of file CbmRecoUnpack.cxx.

References fDataSizeMap, fDoPerfProfPerTs, fhCpuTimePerTs, fhCpuTimePerTsHist, fhRealTimePerTs, fhRealTimePerTsHist, fhUnpackingRatioPerTs, fNameMap, fOutfilename, fTimeMap, fvhInpRatioPerTs, fvhOutRatioPerTs, and fvhUnpRatioPerTs.

Referenced by Finish().

◆ performanceProfilingPerTs()

void CbmRecoUnpack::performanceProfilingPerTs ( )
private

◆ RegisterOutputs()

template<class TConfig >
void CbmRecoUnpack::RegisterOutputs ( FairRootManager * ioman,
std::shared_ptr< TConfig > config )
inlineprivate

Alternative which compiles and run but forces to keep a Fairroot dependency in the Config template

Definition at line 251 of file CbmRecoUnpack.h.

Referenced by Init().

◆ Reset()

void CbmRecoUnpack::Reset ( )

Clear the output vectors as preparation of the next timeslice. Called via FairSource::Reset()

Definition at line 450 of file CbmRecoUnpack.cxx.

References fBmonConfig, fCbmTsEventHeader, fMuchConfig, fPsdConfig, fRichConfig, fStsConfig, fTimeSlice, fTofConfig, fTrd1DConfig, fTrd2DConfig, CbmTimeSlice::Reset(), and CbmTsEventHeader::Reset().

Referenced by CbmSourceTsArchive::Reset().

◆ SetDebugPrintout()

void CbmRecoUnpack::SetDebugPrintout ( bool value = true)
inline

Set the Debug Printout Flag.

Parameters
value

Definition at line 89 of file CbmRecoUnpack.h.

References fDoDebugPrints.

◆ SetDoPerfProfiling()

void CbmRecoUnpack::SetDoPerfProfiling ( bool value = true)
inline

(De)Activate the performance profiling based on histograms

Parameters
value

Definition at line 96 of file CbmRecoUnpack.h.

References fDoPerfProf.

◆ SetDoPerfProfilingPerTs()

void CbmRecoUnpack::SetDoPerfProfilingPerTs ( bool value = true)
inline

(De)Activate the performance profiling based on histograms for each TS

Parameters
value

Definition at line 103 of file CbmRecoUnpack.h.

References fDoPerfProf, and fDoPerfProfPerTs.

◆ SetMonitoringOnly()

void CbmRecoUnpack::SetMonitoringOnly ( bool bIn = true)
inline

Enable/disable the data output. If On, data unpacked and monitored but neither sorted nor written to disk.

Parameters
value

Definition at line 151 of file CbmRecoUnpack.h.

References bMonitoringOnly.

◆ SetOutputFilename()

void CbmRecoUnpack::SetOutputFilename ( std::string value)
inline

Set the performance profiling Output Filename.

Parameters
value

Definition at line 134 of file CbmRecoUnpack.h.

References fOutfilename.

◆ SetPublishProfMoni()

void CbmRecoUnpack::SetPublishProfMoni ( bool value = true,
std::string sUriMonitor = "",
bool useProcTime = false,
std::string sJobId = "local" )
inline

(De)Activate the publication of performance profiling data to monitoring DB

Parameters
value

Definition at line 114 of file CbmRecoUnpack.h.

References fDoPerfProf, fDoPerfProfPerTs, fMoniJobId, fPublishProfMoni, fPubMoniProcTime, and fUriPublishProfMoni.

◆ SetTimeSorting()

void CbmRecoUnpack::SetTimeSorting ( bool bIn = true)
inline

Enable/disable a full time sorting. If off, time sorting happens per link/FLIM source.

Parameters
value

Definition at line 144 of file CbmRecoUnpack.h.

References bOutputFullTimeSorting.

◆ SetUnpackConfig() [1/8]

void CbmRecoUnpack::SetUnpackConfig ( std::shared_ptr< CbmBmonUnpackConfig > config)
inline

Set the Bmon Unpack Config.

Parameters
config

Definition at line 175 of file CbmRecoUnpack.h.

References fBmonConfig.

◆ SetUnpackConfig() [2/8]

void CbmRecoUnpack::SetUnpackConfig ( std::shared_ptr< CbmMuchUnpackConfig > config)
inline

Set the Much Unpack Config.

Parameters
config

Definition at line 154 of file CbmRecoUnpack.h.

References fMuchConfig.

◆ SetUnpackConfig() [3/8]

void CbmRecoUnpack::SetUnpackConfig ( std::shared_ptr< CbmPsdUnpackConfig > config)
inline

Set the Psd Unpack Config.

Parameters
config

Definition at line 157 of file CbmRecoUnpack.h.

References fPsdConfig.

◆ SetUnpackConfig() [4/8]

void CbmRecoUnpack::SetUnpackConfig ( std::shared_ptr< CbmRichUnpackConfig > config)
inline

Set the Rich Unpack Config.

Parameters
config

Definition at line 160 of file CbmRecoUnpack.h.

References fRichConfig.

◆ SetUnpackConfig() [5/8]

void CbmRecoUnpack::SetUnpackConfig ( std::shared_ptr< CbmStsUnpackConfig > config)
inline

Set the Sts Unpack Config.

Parameters
config

Definition at line 163 of file CbmRecoUnpack.h.

References fStsConfig.

◆ SetUnpackConfig() [6/8]

void CbmRecoUnpack::SetUnpackConfig ( std::shared_ptr< CbmTofUnpackConfig > config)
inline

Set the Tof Unpack Config.

Parameters
config

Definition at line 166 of file CbmRecoUnpack.h.

References fTofConfig.

◆ SetUnpackConfig() [7/8]

void CbmRecoUnpack::SetUnpackConfig ( std::shared_ptr< CbmTrdUnpackConfig > config)
inline

Set the Trd Unpack Config.

Parameters
config

Definition at line 169 of file CbmRecoUnpack.h.

References fTrd1DConfig.

◆ SetUnpackConfig() [8/8]

void CbmRecoUnpack::SetUnpackConfig ( std::shared_ptr< CbmTrdUnpackFaspConfig > config)
inline

Set the Trd2D Unpack Config.

Parameters
config

Definition at line 172 of file CbmRecoUnpack.h.

References fTrd2DConfig.

◆ timesort() [1/3]

template<typename TVecobj >
std::enable_if< std::is_same< TVecobj, std::nullptr_t >::value==true, void >::type CbmRecoUnpack::timesort ( std::vector< TVecobj > * )
inlineprivate

Sort a vector timewise vector type has to provide GetTime()

Definition at line 307 of file CbmRecoUnpack.h.

Referenced by Unpack(), and unpack().

◆ timesort() [2/3]

template<typename TVecobj >
std::enable_if<!std::is_member_function_pointer< decltype(&TVecobj::GetTime)>::value, void >::type CbmRecoUnpack::timesort ( std::vector< TVecobj > * )
inlineprivate

Definition at line 315 of file CbmRecoUnpack.h.

◆ timesort() [3/3]

template<typename TVecobj >
std::enable_if< std::is_member_function_pointer< decltype(&TVecobj::GetTime)>::value, void >::type CbmRecoUnpack::timesort ( std::vector< TVecobj > * vec = nullptr)
inlineprivate

Definition at line 324 of file CbmRecoUnpack.h.

◆ Unpack()

◆ unpack()

template<class TConfig , class TOptOutA = std::nullptr_t, class TOptOutB = std::nullptr_t>
size_t CbmRecoUnpack::unpack ( const Subsystem subsystem,
const fles::Timeslice * ts,
std::uint16_t icomp,
TConfig config,
std::vector< TOptOutA > * optouttargetvecA = nullptr,
std::vector< TOptOutB > * optouttargetvecB = nullptr )
inlineprivate

Template for the unpacking call of a given algorithm.

Template Parameters
TAlgoAlgorithm to be called
TOutputOutput element types
TOptoutputsOptional output element types
Parameters
tsTimeslice
icompComponent number
algoAlgorithm to be used for this component
outtargetvecTarget vector for the output elements
optoutputvecsTarget vectors for optional outputs
Returns
std::pair<ndigis, std::pair<cputime, walltime>>

Definition at line 346 of file CbmRecoUnpack.h.

References bMonitoringOnly, bOutputFullTimeSorting, fDataSizeMap, fDataSizeMapPerTs, fDoPerfProf, fDoPerfProfPerTs, fNameMap, fNameMapPerTs, fTimeMap, fTimeMapPerTs, and timesort().

Referenced by Unpack().

Member Data Documentation

◆ bMonitoringOnly

bool CbmRecoUnpack::bMonitoringOnly = false
private

Flag to Enable/disable the output completely.

Definition at line 479 of file CbmRecoUnpack.h.

Referenced by SetMonitoringOnly(), Unpack(), and unpack().

◆ bOutputFullTimeSorting

bool CbmRecoUnpack::bOutputFullTimeSorting = false
private

Flag to Enable/disable a full time sorting. If off, time sorting happens per link/FLIM source.

Definition at line 476 of file CbmRecoUnpack.h.

Referenced by SetTimeSorting(), Unpack(), and unpack().

◆ fBmonConfig

std::shared_ptr<CbmBmonUnpackConfig> CbmRecoUnpack::fBmonConfig = nullptr
private

Configuration of the Bmon unpacker. Provides the configured algorithm.

Definition at line 467 of file CbmRecoUnpack.h.

Referenced by Finish(), Init(), Reset(), SetUnpackConfig(), and Unpack().

◆ fCbmTsEventHeader

CbmTsEventHeader* CbmRecoUnpack::fCbmTsEventHeader = nullptr
private

Pointer to the Timeslice start time used to write it to the output tree.

Remarks
since we hand this to the FairRootManager it also wants to delete it and we do not have to take care of deletion

Definition at line 470 of file CbmRecoUnpack.h.

Referenced by Init(), performanceProfilingPerTs(), Reset(), and Unpack().

◆ fDataSizeMap

std::map<Subsystem, std::pair<double, double> > CbmRecoUnpack::fDataSizeMap = {}
private

Map to store the in and out data amount, key = Subsystem.

Definition at line 208 of file CbmRecoUnpack.h.

Referenced by initPerformanceMaps(), performanceProfiling(), and unpack().

◆ fDataSizeMapCurrSec

std::map<Subsystem, std::pair<double, double> > CbmRecoUnpack::fDataSizeMapCurrSec = {}
private

Definition at line 233 of file CbmRecoUnpack.h.

Referenced by Finish(), initPerformanceMaps(), and performanceProfilingPerTs().

◆ fDataSizeMapPerTs

std::map<Subsystem, std::pair<double, double> > CbmRecoUnpack::fDataSizeMapPerTs = {}
private

Map to store the in and out data amount for a single TS, key = Subsystem.

Definition at line 217 of file CbmRecoUnpack.h.

Referenced by initPerformanceMaps(), performanceProfilingPerTs(), and unpack().

◆ fDoDebugPrints

bool CbmRecoUnpack::fDoDebugPrints = false
private

Flag if extended debug output is to be printed or not.

Definition at line 184 of file CbmRecoUnpack.h.

Referenced by SetDebugPrintout(), and Unpack().

◆ fDoPerfProf

bool CbmRecoUnpack::fDoPerfProf = false
private

Flag if performance profiling should be activated or not.

Definition at line 187 of file CbmRecoUnpack.h.

Referenced by Finish(), initPerformanceMaps(), SetDoPerfProfiling(), SetDoPerfProfilingPerTs(), SetPublishProfMoni(), and unpack().

◆ fDoPerfProfPerTs

bool CbmRecoUnpack::fDoPerfProfPerTs = false
private

Flag if performance profiling per TS should be activated or not.

Definition at line 190 of file CbmRecoUnpack.h.

Referenced by Init(), initPerformanceMaps(), performanceProfiling(), SetDoPerfProfilingPerTs(), SetPublishProfMoni(), Unpack(), and unpack().

◆ fhCpuTimePerTs

TH1* CbmRecoUnpack::fhCpuTimePerTs = nullptr
private

Definition at line 220 of file CbmRecoUnpack.h.

Referenced by Init(), performanceProfiling(), and performanceProfilingPerTs().

◆ fhCpuTimePerTsHist

TH1* CbmRecoUnpack::fhCpuTimePerTsHist = nullptr
private

Processing time per TS.

Definition at line 222 of file CbmRecoUnpack.h.

Referenced by Init(), performanceProfiling(), and performanceProfilingPerTs().

◆ fhRealTimePerTs

TH1* CbmRecoUnpack::fhRealTimePerTs = nullptr
private

Processing time per TS.

Definition at line 221 of file CbmRecoUnpack.h.

Referenced by Init(), performanceProfiling(), and performanceProfilingPerTs().

◆ fhRealTimePerTsHist

TH1* CbmRecoUnpack::fhRealTimePerTsHist = nullptr
private

Plotting time per TS.

Definition at line 223 of file CbmRecoUnpack.h.

Referenced by Init(), performanceProfiling(), and performanceProfilingPerTs().

◆ fhUnpackingRatioPerTs

TH1* CbmRecoUnpack::fhUnpackingRatioPerTs = nullptr
private

ratio of selected digi vs TS in run

Definition at line 227 of file CbmRecoUnpack.h.

Referenced by Init(), performanceProfiling(), and performanceProfilingPerTs().

◆ fMoniCurrrentHostname

std::string CbmRecoUnpack::fMoniCurrrentHostname = ""
private

The application's monitoring object.

Definition at line 230 of file CbmRecoUnpack.h.

Referenced by Finish(), Init(), and performanceProfilingPerTs().

◆ fMoniJobId

std::string CbmRecoUnpack::fMoniJobId = ""
private

Definition at line 231 of file CbmRecoUnpack.h.

Referenced by Finish(), Init(), performanceProfilingPerTs(), and SetPublishProfMoni().

◆ fMonitor

std::unique_ptr<cbm::Monitor> CbmRecoUnpack::fMonitor
private

ratio of total unpacked size to input size vs TS in run

Definition at line 229 of file CbmRecoUnpack.h.

Referenced by Finish(), Init(), and performanceProfilingPerTs().

◆ fMonitorSecCurrentTs

std::chrono::system_clock::time_point CbmRecoUnpack::fMonitorSecCurrentTs = std::chrono::system_clock::time_point()
private

Definition at line 232 of file CbmRecoUnpack.h.

Referenced by Finish(), and performanceProfilingPerTs().

◆ fMuchConfig

std::shared_ptr<CbmMuchUnpackConfig> CbmRecoUnpack::fMuchConfig = nullptr
private

Current time slice.

Configuration of the Much unpacker. Provides the configured algorithm

Definition at line 446 of file CbmRecoUnpack.h.

Referenced by Finish(), Init(), Reset(), SetUnpackConfig(), and Unpack().

◆ fNameMap

std::map<Subsystem, std::pair<std::string, size_t> > CbmRecoUnpack::fNameMap = {}
private

Map to store a name for the unpackers and the processed amount of digis, key = Subsystem.

Definition at line 202 of file CbmRecoUnpack.h.

Referenced by initPerformanceMaps(), performanceProfiling(), and unpack().

◆ fNameMapPerTs

std::map<Subsystem, std::pair<std::string, size_t> > CbmRecoUnpack::fNameMapPerTs = {}
private

Map to store a name for the unpackers and the processed amount of digis for a single TS, key = Subsystem.

Definition at line 211 of file CbmRecoUnpack.h.

Referenced by Finish(), initPerformanceMaps(), performanceProfilingPerTs(), and unpack().

◆ fOutfilename

std::string CbmRecoUnpack::fOutfilename = "CbmRecoUnpack.perf.root"
private

Name of the performance profiling output file.

Definition at line 473 of file CbmRecoUnpack.h.

Referenced by performanceProfiling(), and SetOutputFilename().

◆ fPsdConfig

std::shared_ptr<CbmPsdUnpackConfig> CbmRecoUnpack::fPsdConfig = nullptr
private

Configuration of the Psd unpacker. Provides the configured algorithm.

Definition at line 449 of file CbmRecoUnpack.h.

Referenced by Finish(), Init(), Reset(), SetUnpackConfig(), and Unpack().

◆ fPublishProfMoni

bool CbmRecoUnpack::fPublishProfMoni = false
private

Flag if performance profiling data should be published to monitoring DB.

Definition at line 193 of file CbmRecoUnpack.h.

Referenced by Finish(), Init(), initPerformanceMaps(), performanceProfilingPerTs(), and SetPublishProfMoni().

◆ fPubMoniProcTime

bool CbmRecoUnpack::fPubMoniProcTime = true
private

Flag if perf data should be published to moni DB using data time (false) or processing time (true).

Definition at line 199 of file CbmRecoUnpack.h.

Referenced by Finish(), performanceProfilingPerTs(), and SetPublishProfMoni().

◆ fRichConfig

std::shared_ptr<CbmRichUnpackConfig> CbmRecoUnpack::fRichConfig = nullptr
private

Configuration of the Rich unpacker. Provides the configured algorithm.

Definition at line 452 of file CbmRecoUnpack.h.

Referenced by Finish(), Init(), Reset(), SetUnpackConfig(), and Unpack().

◆ fStsConfig

std::shared_ptr<CbmStsUnpackConfig> CbmRecoUnpack::fStsConfig = nullptr
private

Configuration of the Sts unpacker. Provides the configured algorithm.

Definition at line 455 of file CbmRecoUnpack.h.

Referenced by Finish(), Init(), Reset(), SetUnpackConfig(), and Unpack().

◆ fTimeMap

std::map<Subsystem, std::pair<double, double> > CbmRecoUnpack::fTimeMap = {}
private

Map to store the cpu and wall time, key = Subsystem.

Definition at line 205 of file CbmRecoUnpack.h.

Referenced by initPerformanceMaps(), performanceProfiling(), and unpack().

◆ fTimeMapPerTs

std::map<Subsystem, std::pair<double, double> > CbmRecoUnpack::fTimeMapPerTs = {}
private

Map to store the cpu and wall time for a single TS, key = Subsystem.

Definition at line 214 of file CbmRecoUnpack.h.

Referenced by initPerformanceMaps(), performanceProfilingPerTs(), and unpack().

◆ fTimerTs

TStopwatch* CbmRecoUnpack::fTimerTs = nullptr
private

Definition at line 219 of file CbmRecoUnpack.h.

Referenced by Init(), performanceProfilingPerTs(), and Unpack().

◆ fTimeSlice

CbmTimeSlice* CbmRecoUnpack::fTimeSlice
private

CbmTimeslice object, mostly redundant with the TsEventHeader, needed by L1 to switch timeslice mode.

Definition at line 443 of file CbmRecoUnpack.h.

Referenced by Init(), Reset(), and Unpack().

◆ fTofConfig

std::shared_ptr<CbmTofUnpackConfig> CbmRecoUnpack::fTofConfig = nullptr
private

Configuration of the Tof unpacker. Provides the configured algorithm.

Definition at line 458 of file CbmRecoUnpack.h.

Referenced by Finish(), Init(), Reset(), SetUnpackConfig(), and Unpack().

◆ fTrd1DConfig

std::shared_ptr<CbmTrdUnpackConfig> CbmRecoUnpack::fTrd1DConfig = nullptr
private

Configuration of the Trd unpacker. Provides the configured algorithm.

Definition at line 461 of file CbmRecoUnpack.h.

Referenced by Finish(), Init(), Reset(), SetUnpackConfig(), and Unpack().

◆ fTrd2DConfig

std::shared_ptr<CbmTrdUnpackFaspConfig> CbmRecoUnpack::fTrd2DConfig = nullptr
private

Configuration of the Trd unpacker. Provides the configured algorithm.

Definition at line 464 of file CbmRecoUnpack.h.

Referenced by Finish(), Init(), Reset(), SetUnpackConfig(), and Unpack().

◆ fUriPublishProfMoni

std::string CbmRecoUnpack::fUriPublishProfMoni = "influx1:localhost:8086:monitoring_tests"
private

URI (type:hostname:port:db_name) for optional connection to monitoring DB.

Definition at line 196 of file CbmRecoUnpack.h.

Referenced by Init(), and SetPublishProfMoni().

◆ fvhInpRatioPerTs

std::map<Subsystem, TH1*> CbmRecoUnpack::fvhInpRatioPerTs = {}
private

Plotting time per TS.

Definition at line 224 of file CbmRecoUnpack.h.

Referenced by initPerformanceMaps(), performanceProfiling(), and performanceProfilingPerTs().

◆ fvhOutRatioPerTs

std::map<Subsystem, TH1*> CbmRecoUnpack::fvhOutRatioPerTs = {}
private

ratio of system data in total input size vs TS in run

Definition at line 225 of file CbmRecoUnpack.h.

Referenced by initPerformanceMaps(), performanceProfiling(), and performanceProfilingPerTs().

◆ fvhUnpRatioPerTs

std::map<Subsystem, TH1*> CbmRecoUnpack::fvhUnpRatioPerTs = {}
private

ratio of system digi size in total output size vs TS in run

Definition at line 226 of file CbmRecoUnpack.h.

Referenced by initPerformanceMaps(), performanceProfiling(), and performanceProfilingPerTs().


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