artdaq  v3_12_02
EventBuilderCore.cc
1 #include "TRACE/tracemf.h"
2 #include "artdaq/DAQdata/Globals.hh" // include these 2 first -
3 #define TRACE_NAME (app_name + "_EventBuilderCore").c_str()
4 
5 #include "artdaq/Application/EventBuilderCore.hh"
6 
7 #include "fhiclcpp/ParameterSet.h"
8 
9 #include <iomanip>
10 
11 bool artdaq::EventBuilderCore::initialize(fhicl::ParameterSet const& pset)
12 {
13  TLOG(TLVL_DEBUG + 32) << "initialize method called with DAQ "
14  << "ParameterSet = \"" << pset.to_string() << "\".";
15 
16  // pull out the relevant parts of the ParameterSet
17  fhicl::ParameterSet daq_pset;
18  try
19  {
20  daq_pset = pset.get<fhicl::ParameterSet>("daq");
21  }
22  catch (...)
23  {
24  TLOG(TLVL_ERROR)
25  << "Unable to find the DAQ parameters in the initialization "
26  << "ParameterSet: \"" + pset.to_string() + "\".";
27  return false;
28  }
29  fhicl::ParameterSet evb_pset;
30  try
31  {
32  evb_pset = daq_pset.get<fhicl::ParameterSet>("event_builder");
33 
34  // We are going to change the default from true to false for the "send_init_fragments" parameter
35  // EventBuilders almost always do NOT receive init Fragments from upstream to send to art
36  if (!evb_pset.has_key("send_init_fragments"))
37  {
38  evb_pset.put<bool>("send_init_fragments", false);
39  }
40  }
41  catch (...)
42  {
43  TLOG(TLVL_ERROR)
44  << "Unable to find the event_builder parameters in the DAQ "
45  << "initialization ParameterSet: \"" + daq_pset.to_string() + "\".";
46  return false;
47  }
48 
49  fhicl::ParameterSet metric_pset = daq_pset.get<fhicl::ParameterSet>("metrics", fhicl::ParameterSet());
50 
51  return initializeDataReceiver(pset, evb_pset, metric_pset);
52 }
bool initialize(fhicl::ParameterSet const &pset) override
Processes the initialize request.
bool initializeDataReceiver(fhicl::ParameterSet const &pset, fhicl::ParameterSet const &data_pset, fhicl::ParameterSet const &metric_pset)
Initialize the DataReceiverCore (should be called from initialize() overrides.