Project
Loading...
Searching...
No Matches
benchmark_ExternalFairMQDeviceProxies.cxx File Reference
#include "Framework/ExternalFairMQDeviceProxy.h"
#include "Framework/AlgorithmSpec.h"
#include "Framework/DataProcessorSpec.h"
#include "Framework/ChannelSpec.h"
#include "Framework/DeviceSpec.h"
#include "Framework/DataSpecUtils.h"
#include "Framework/SourceInfoHeader.h"
#include "Framework/ControlService.h"
#include "Framework/CallbackService.h"
#include "Framework/RawDeviceService.h"
#include "Framework/Logger.h"
#include "Framework/InputRecordWalker.h"
#include "Headers/DataHeader.h"
#include <fairmq/Channel.h>
#include <fairmq/Device.h>
#include <fairmq/Message.h>
#include <fairmq/Parts.h>
#include <chrono>
#include <sstream>
#include "Framework/runDataProcessing.h"

Go to the source code of this file.

Namespaces

namespace  benchmark_config
 

Macros

#define ASSERT_ERROR(condition)
 

Typedefs

using DataHeader = o2::header::DataHeader
 
using Stack = o2::header::Stack
 
using benchclock = std::chrono::high_resolution_clock
 

Enumerations

enum struct  benchmark_config::ProxyBypass { benchmark_config::None , benchmark_config::All , benchmark_config::Output }
 

Functions

std::istream & operator>> (std::istream &in, enum benchmark_config::ProxyBypass &val)
 
std::ostream & operator<< (std::ostream &out, const enum benchmark_config::ProxyBypass &val)
 
void customize (std::vector< ConfigParamSpec > &workflowOptions)
 
template<typename T >
readConfig (ConfigContext const &config, const char *key)
 
std::vector< DataProcessorSpecdefineDataProcessing (ConfigContext const &config)
 This function hooks up the the workflow specifications into the DPL driver.
 

Macro Definition Documentation

◆ ASSERT_ERROR

#define ASSERT_ERROR (   condition)
Value:
if ((condition) == false) { \
LOG(fatal) << R"(Test condition ")" #condition R"(" failed)"; \
}

Definition at line 70 of file benchmark_ExternalFairMQDeviceProxies.cxx.

Typedef Documentation

◆ benchclock

using benchclock = std::chrono::high_resolution_clock

Definition at line 68 of file benchmark_ExternalFairMQDeviceProxies.cxx.

◆ DataHeader

◆ Stack

Function Documentation

◆ customize()

void customize ( std::vector< ConfigParamSpec > &  workflowOptions)

Definition at line 47 of file benchmark_ExternalFairMQDeviceProxies.cxx.

◆ defineDataProcessing()

std::vector< DataProcessorSpec > defineDataProcessing ( ConfigContext const &  config)

This function hooks up the the workflow specifications into the DPL driver.

To be implemented by the user to specify one or more DataProcessorSpec.

Use the ConfigContext context in input to get the value of global configuration properties like command line options, number of available CPUs or whatever can affect the creation of the actual workflow.

Returns
a std::vector of DataProcessorSpec which represents the actual workflow to be executed

The workflow executable for the stand alone CPV reconstruction workflow The basic workflow for CPV reconstruction is defined in RecoWorkflow.cxx and contains the following default processors

  • digit reader
  • clusterer

The default workflow can be customized by specifying input and output types e.g. digits, raw, tracks.

MC info is processed by default, disabled by using command line option --disable-mc

This function hooks up the the workflow specifications into the DPL driver.

The workflow executable for the stand alone CTP reconstruction workflow

  • digit and lumi reader This function hooks up the the workflow specifications into the DPL driver.

The workflow executable for the stand alone EMCAL reconstruction workflow The basic workflow for EMCAL reconstruction is defined in RecoWorkflow.cxx and contains the following default processors

  • digit reader
  • clusterer

The default workflow can be customized by specifying input and output types e.g. digits, raw, tracks.

MC info is processed by default, disabled by using command line option --disable-mc

This function hooks up the the workflow specifications into the DPL driver.

The workflow executable for the stand alone TOF reconstruction workflow The basic workflow for TOF reconstruction is defined in RecoWorkflow.cxx and contains the following default processors

  • digit reader
  • clusterer
  • cluster raw decoder
  • track-TOF matcher

The default workflow can be customized by specifying input and output types e.g. digits, raw, clusters.

MC info is processed by default, disabled by using command line option --disable-mc

This function hooks up the the workflow specifications into the DPL driver.

DPL Workflow to process MCH or MID DCS data points.

The expected input is a vector of DataPointCompositeObject containing only MCH (or only MID) data points.

Those datapoints are accumulated into DPMAPs (map from alias names to vector of DataPointValue).

The accumulated DPMAPs are sent to the output whenever :

  • they reach a given size (–xx-max-size option(s))
  • they span a given duration (–xx-max-duration option(s))
  • the workflow is ended

DPL workflow which generates fake random MCH DCS data points.

Data points are generated for HV (currents and voltages) as well as for LV (DualSampa analog and digital voltages, and SOLAR voltages).

DPL workflow which generates fake random MID DCS data points.

Data points are generated for HV (currents and voltages).

The workflow executable for the stand alone PHOS reconstruction workflow The basic workflow for PHOS reconstruction is defined in RecoWorkflow.cxx and contains the following default processors

  • digit reader
  • clusterer

The default workflow can be customized by specifying input and output types e.g. digits, raw, tracks.

MC info is processed by default, disabled by using command line option --disable-mc

This function hooks up the the workflow specifications into the DPL driver.

MC info is processed by default, disabled by using command line option --disable-mc

This function hooks up the the workflow specifications into the DPL driver.

The workflow executable for the stand alone TPC reconstruction workflow The basic workflow for TPC reconstruction is defined in RecoWorkflow.cxx and contains the following default processors

  • digit reader
  • clusterer
  • ClusterHardware Decoder
  • CA tracker

The default workflow can be customized by specifying input and output types e.g. digits, clustershw, tracks.

MC info is processed by default, disabled by using command line option --disable-mc

This function hooks up the the workflow specifications into the DPL driver.

This function is required to be implemented to define the workflow specifications

We define at run time the number of devices to be attached to the workflow and the input matching string of the device. This is is done with a configuration string like the following one, where the input matching for each device is provide in comma-separated strings. For instance

A:TOF/RAWDATA/768;B:TOF/RAWDATA/1024,C:TOF/RAWDATA/1280;D:TOF/RAWDATA/1536

will lead to a workflow with 2 devices which will input match

tof-compressor-0 --> A:TOF/RAWDATA/768;B:TOF/RAWDATA/1024 tof-compressor-1 --> C:TOF/RAWDATA/1280;D:TOF/RAWDATA/1536

Definition at line 88 of file benchmark_ExternalFairMQDeviceProxies.cxx.

◆ operator<<()

std::ostream & operator<< ( std::ostream &  out,
const enum benchmark_config::ProxyBypass val 
)

Definition at line 563 of file benchmark_ExternalFairMQDeviceProxies.cxx.

◆ operator>>()

std::istream & operator>> ( std::istream &  in,
enum benchmark_config::ProxyBypass val 
)

Definition at line 547 of file benchmark_ExternalFairMQDeviceProxies.cxx.

◆ readConfig()

template<typename T >
T readConfig ( ConfigContext const &  config,
const char key 
)

Definition at line 76 of file benchmark_ExternalFairMQDeviceProxies.cxx.