Skip to content
Snippets Groups Projects
runMonitorTof.cxx 2.01 KiB
Newer Older
/* Copyright (C) 2020 Facility for Antiproton and Ion Research in Europe, Darmstadt
   SPDX-License-Identifier: GPL-3.0-only
   Authors: Pierre-Alain Loizeau [committer] */
#include "CbmDeviceMonitorTof.h"

#include <iomanip>
Administrator's avatar
Administrator committed
#include <string>
#include "runFairMQDevice.h"

namespace bpo = boost::program_options;
using namespace std;

void addCustomOptions(bpo::options_description& options)
{
  options.add_options()("IgnOverMs", bpo::value<bool>()->default_value(true), "Ignore overlap MS if true");
  options.add_options()("DebugMoni", bpo::value<bool>()->default_value(false), "Debug Monitor Mode");
  options.add_options()("IgnCritErr", bpo::value<bool>()->default_value(true), "Ignore Critical Errors");
  options.add_options()("HistEvoSz", bpo::value<uint32_t>()->default_value(1800),
Administrator's avatar
Administrator committed
                        "Size of evolution histos in seconds");
  options.add_options()("PulsTotMin", bpo::value<uint32_t>()->default_value(185), "Minimal TOT for pulser cut");
  options.add_options()("PulsTotMax", bpo::value<uint32_t>()->default_value(195), "Maximal TOT for pulser cut");
  options.add_options()("GdpbIdx", bpo::value<int32_t>()->default_value(-1),
                        "Single gDPB selection by index, -1 (default) to disable");
  options.add_options()("PubFreqTs", bpo::value<uint32_t>()->default_value(100), "Histo publishing frequency in TS");
  options.add_options()("PubTimeMin", bpo::value<double_t>()->default_value(1.0),
Administrator's avatar
Administrator committed
                        "Minimal time between two publishing");
  options.add_options()("PubTimeMax", bpo::value<double_t>()->default_value(10.0),
Administrator's avatar
Administrator committed
                        "Maximal time between two publishing");
  options.add_options()("TsNameIn", bpo::value<std::string>()->default_value("tofcomponent"),
                        "MQ channel name for TS data");
  options.add_options()("ChNameIn", bpo::value<std::string>()->default_value("histogram-in"),
                        "MQ channel name for histos");
FairMQDevicePtr getDevice(const FairMQProgOptions& /*config*/) { return new CbmDeviceMonitorTof(); }