Project
Loading...
Searching...
No Matches
SimpleDigitizerWorkflow.cxx File Reference
#include <boost/program_options.hpp>
#include <boost/lexical_cast.hpp>
#include "Framework/RootSerializationSupport.h"
#include "DetectorsBase/Propagator.h"
#include "Framework/WorkflowSpec.h"
#include "Framework/ConfigParamSpec.h"
#include "Framework/CompletionPolicy.h"
#include "Framework/CompletionPolicyHelpers.h"
#include "Framework/DeviceSpec.h"
#include "Framework/InputSpec.h"
#include "Algorithm/RangeTokenizer.h"
#include "SimReaderSpec.h"
#include "DetectorsCommonDataFormats/DetID.h"
#include "CommonUtils/NameConf.h"
#include "CommonUtils/ConfigurableParam.h"
#include "DetectorsRaw/HBFUtils.h"
#include "CCDB/BasicCCDBManager.h"
#include "TPCDigitizerSpec.h"
#include "TPCDigitRootWriterSpec.h"
#include "TPCBase/Sector.h"
#include "TPCBase/CDBInterface.h"
#include "TPCSimulation/GEMAmplification.h"
#include "ITSMFTDigitizerSpec.h"
#include "ITSMFTWorkflow/DigitWriterSpec.h"
#include "TOFDigitizerSpec.h"
#include "TOFWorkflowIO/TOFDigitWriterSpec.h"
#include "FT0DigitizerSpec.h"
#include "FT0DigitWriterSpec.h"
#include "CTPDigitizerSpec.h"
#include "CTPWorkflowIO/DigitWriterSpec.h"
#include "FV0DigitizerSpec.h"
#include "FV0DigitWriterSpec.h"
#include "FDDDigitizerSpec.h"
#include "FDDWorkflow/DigitWriterSpec.h"
#include "EMCALWorkflow/EMCALDigitizerSpec.h"
#include "EMCALWorkflow/EMCALDigitWriterSpec.h"
#include "HMPIDDigitizerSpec.h"
#include "HMPIDDigitWriterSpec.h"
#include "TRDWorkflow/TRDDigitizerSpec.h"
#include "TRDWorkflowIO/TRDDigitWriterSpec.h"
#include "TRDWorkflow/TRDTrapSimulatorSpec.h"
#include "TRDWorkflowIO/TRDTrackletWriterSpec.h"
#include "MCHDigitizerSpec.h"
#include "MCHIO/DigitWriterSpec.h"
#include "MIDDigitizerSpec.h"
#include "MIDDigitWriterSpec.h"
#include "PHOSDigitizerSpec.h"
#include "PHOSDigitWriterSpec.h"
#include "CPVDigitizerSpec.h"
#include "CPVDigitWriterSpec.h"
#include "ZDCDigitizerSpec.h"
#include "ZDCWorkflow/ZDCDigitWriterDPLSpec.h"
#include "DataFormatsParameters/GRPObject.h"
#include "GRPUpdaterSpec.h"
#include <cstdlib>
#include <thread>
#include <string>
#include <sstream>
#include <cmath>
#include <unistd.h>
#include <type_traits>
#include "DetectorsBase/DPLWorkflowUtils.h"
#include "Framework/CCDBParamSpec.h"
#include "Framework/runDataProcessing.h"

Go to the source code of this file.

Classes

struct  DetFilterer
 

Functions

void customize (std::vector< o2::framework::CompletionPolicy > &policies)
 
void customize (std::vector< o2::framework::ConfigParamSpec > &workflowOptions)
 
void customize (std::vector< o2::framework::DispatchPolicy > &policies)
 
void setTimingInfoInHeaders (o2::header::DataHeader &dh, o2::framework::DataProcessingHeader &dph)
 
void customize (std::vector< o2::framework::CallbacksPolicy > &policies)
 
int getNumTPCLanes (std::vector< int > const &sectors, ConfigContext const &configcontext)
 
void initTPC ()
 
void publish_master_env (const char *key, const char *value)
 
const charget_master_env (const char *key)
 
std::shared_ptr< o2::parameters::GRPObjectreadGRP (std::string const &inputGRP)
 
std::vector< std::stringsplitString (std::string const &src, char sep)
 
DetFilterer whitelister (std::string optionVal, std::string unsetValue, char separator)
 
DetFilterer blacklister (std::string optionVal, std::string unsetValue, char separator)
 
WorkflowSpec defineDataProcessing (ConfigContext const &configcontext)
 This function hooks up the the workflow specifications into the DPL driver.
 

Variables

bool gIsMaster = false
 

Function Documentation

◆ blacklister()

DetFilterer blacklister ( std::string  optionVal,
std::string  unsetValue,
char  separator 
)

Definition at line 418 of file SimpleDigitizerWorkflow.cxx.

◆ customize() [1/4]

void customize ( std::vector< o2::framework::CallbacksPolicy > &  policies)

Definition at line 247 of file SimpleDigitizerWorkflow.cxx.

◆ customize() [2/4]

void customize ( std::vector< o2::framework::CompletionPolicy > &  policies)

Definition at line 131 of file SimpleDigitizerWorkflow.cxx.

◆ customize() [3/4]

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

Definition at line 144 of file SimpleDigitizerWorkflow.cxx.

◆ customize() [4/4]

void customize ( std::vector< o2::framework::DispatchPolicy > &  policies)

Definition at line 225 of file SimpleDigitizerWorkflow.cxx.

◆ defineDataProcessing()

WorkflowSpec defineDataProcessing ( ConfigContext const &  configcontext)

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

This gets a table handle from the message.

From the handle, we construct the actual arrow table which is then used as a source for the RDataFrame. This is probably easy to change to a:

auto rdf = ctx.inputs().get<RDataSource>("xz");

Get the input from the converter.

Get a table builder to build the results

Definition at line 427 of file SimpleDigitizerWorkflow.cxx.

◆ get_master_env()

const char * get_master_env ( const char key)

Definition at line 326 of file SimpleDigitizerWorkflow.cxx.

◆ getNumTPCLanes()

int getNumTPCLanes ( std::vector< int > const &  sectors,
ConfigContext const &  configcontext 
)

Definition at line 274 of file SimpleDigitizerWorkflow.cxx.

◆ initTPC()

void initTPC ( )

Definition at line 289 of file SimpleDigitizerWorkflow.cxx.

◆ publish_master_env()

void publish_master_env ( const char key,
const char value 
)

Definition at line 317 of file SimpleDigitizerWorkflow.cxx.

◆ readGRP()

std::shared_ptr< o2::parameters::GRPObject > readGRP ( std::string const &  inputGRP)

Definition at line 335 of file SimpleDigitizerWorkflow.cxx.

◆ setTimingInfoInHeaders()

void setTimingInfoInHeaders ( o2::header::DataHeader dh,
o2::framework::DataProcessingHeader dph 
)

Definition at line 235 of file SimpleDigitizerWorkflow.cxx.

◆ splitString()

std::vector< std::string > splitString ( std::string const &  src,
char  sep 
)

Definition at line 351 of file SimpleDigitizerWorkflow.cxx.

◆ whitelister()

DetFilterer whitelister ( std::string  optionVal,
std::string  unsetValue,
char  separator 
)

Definition at line 412 of file SimpleDigitizerWorkflow.cxx.

Variable Documentation

◆ gIsMaster

bool gIsMaster = false

Definition at line 124 of file SimpleDigitizerWorkflow.cxx.