1 #include "fhiclcpp/types/Atom.h"
2 #include "fhiclcpp/types/Table.h"
3 #include "fhiclcpp/types/OptionalAtom.h"
4 #include "fhiclcpp/types/OptionalTable.h"
5 #include "artdaq/ArtModules/NetMonTransportService.h"
6 #include "artdaq/ArtModules/RootNetOutput.hh"
7 #include "art/Framework/Core/OutputModule.h"
8 #if ART_HEX_VERSION >= 0x21002
9 # include "art/Framework/IO/ClosingCriteria.h"
11 # include "art/Framework/IO/Root/RootOutputClosingCriteria.h"
17 fhicl::Atom<bool> errorOnFailureToPut{ fhicl::Name{
"errorOnFailureToPut"}, fhicl::Comment{
"This parameter is necessary for correct function of artdaq. Do not modify."},
false };
21 fhicl::Table<ServicesSchedulerConfig> scheduler{ fhicl::Name{
"scheduler"} };
22 fhicl::OptionalTable<NetMonTransportService::Config> netMonTransportServiceInterface{ fhicl::Name{
"NetMonTransportServiceInterface" } };
31 fhicl::Table<AnalyzersConfig> analyzers{ fhicl::Name{
"analyzers"} };
32 fhicl::Table<ProducersConfig> producers{ fhicl::Name{
"producers"} };
33 fhicl::Table<FiltersConfig> filters{ fhicl::Name{
"filters"} };
34 fhicl::Sequence<std::string> my_output_modules{ fhicl::Name{
"my_output_modules"}, fhicl::Comment{
"Output modules (configured in the outputs block) to use"} };
41 using Name = fhicl::Name;
42 using Comment = fhicl::Comment;
43 template <
typename T>
using Atom = fhicl::Atom<T>;
44 template <
typename T>
using OptionalAtom = fhicl::OptionalAtom<T>;
46 fhicl::TableFragment<art::OutputModule::Config> omConfig;
47 Atom<std::string> catalog{ Name(
"catalog"),
"" };
48 OptionalAtom<bool> dropAllEvents{ Name(
"dropAllEvents") };
49 Atom<bool> dropAllSubRuns{ Name(
"dropAllSubRuns"),
false };
50 OptionalAtom<bool> fastCloning{ Name(
"fastCloning") };
51 Atom<std::string> tmpDir{ Name(
"tmpDir"),
"/tmp" };
52 Atom<int> compressionLevel{ Name(
"compressionLevel"), 7 };
53 Atom<int64_t> saveMemoryObjectThreshold{ Name(
"saveMemoryObjectThreshold"), -1l };
54 Atom<int64_t> treeMaxVirtualSize{ Name(
"treeMaxVirtualSize"), -1 };
55 Atom<int> splitLevel{ Name(
"splitLevel"), 99 };
56 Atom<int> basketSize{ Name(
"basketSize"), 16384 };
57 Atom<bool> dropMetaDataForDroppedData{ Name(
"dropMetaDataForDroppedData"),
false };
58 Atom<std::string> dropMetaData{ Name(
"dropMetaData"),
"NONE" };
59 Atom<bool> writeParameterSets{ Name(
"writeParameterSets"),
true };
60 fhicl::Table<ClosingCriteria::Config> fileProperties{ Name(
"fileProperties") };
64 std::set<std::string> operator()()
const
66 std::set<std::string> keys{ art::OutputModule::Config::KeysToIgnore::get() };
67 keys.insert(
"results");
76 fhicl::OptionalTable<art::RootNetOutput::Config> rootNetOutput{ fhicl::Name{
"rootNetOutput"} };
77 fhicl::OptionalTable<RootOutputConfig> normalOutput{ fhicl::Name{
"normalOutput"} };
78 fhicl::OptionalTable<RootOutputConfig> rootDAQOutFile{ fhicl::Name{
"rootDAQOutFile"} };
83 fhicl::Atom<std::string> module_type{ fhicl::Name{
"module_type" }, fhicl::Comment{
"Module type of source. Should be \"RawInput\", \"NetMonInput\", or an experiment-defined input type (i.e. \"DemoInput\")" } };
88 fhicl::Table<art::ServicesConfig> services{ fhicl::Name{
"services"} };
89 fhicl::Table<art::PhysicsConfig> physics{ fhicl::Name{
"physics"} };
90 fhicl::Table<art::OutputsConfig> outputs{ fhicl::Name{
"outputs"} };
91 fhicl::Table<art::SourceConfig> source{ fhicl::Name{
"source"} };
92 fhicl::Atom<std::string> process_name{ fhicl::Name{
"process_name" },fhicl::Comment{
"Name of this art processing job"},
"DAQ" };
Artdaq does not provide any producers.