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"
21 fhicl::Atom<bool>
errorOnFailureToPut{ fhicl::Name{
"errorOnFailureToPut"}, fhicl::Comment{
"This parameter is necessary for correct function of artdaq. Do not modify."},
false };
28 fhicl::Table<ServicesSchedulerConfig>
scheduler{ fhicl::Name{
"scheduler"} };
41 fhicl::Table<AnalyzersConfig>
analyzers{ fhicl::Name{
"analyzers"} };
42 fhicl::Table<ProducersConfig>
producers{ fhicl::Name{
"producers"} };
43 fhicl::Table<FiltersConfig>
filters{ fhicl::Name{
"filters"} };
44 fhicl::Sequence<std::string>
my_output_modules{ fhicl::Name{
"my_output_modules"}, fhicl::Comment{
"Output modules (configured in the outputs block) to use"} };
55 template <
typename T>
using Atom = fhicl::Atom<T>;
60 fhicl::TableFragment<art::OutputModule::Config>
omConfig;
87 std::set<std::string> keys{ art::OutputModule::Config::KeysToIgnore::get() };
88 keys.insert(
"results");
100 fhicl::OptionalTable<art::RootNetOutput::Config>
rootNetOutput{ fhicl::Name{
"rootNetOutput"} };
101 fhicl::OptionalTable<RootOutputConfig>
normalOutput{ fhicl::Name{
"normalOutput"} };
102 fhicl::OptionalTable<RootOutputConfig>
rootDAQOutFile{ fhicl::Name{
"rootDAQOutFile"} };
111 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 (e.g. \"DemoInput\")" } };
119 fhicl::Table<art::ServicesConfig>
services{ fhicl::Name{
"services"} };
120 fhicl::Table<art::PhysicsConfig>
physics{ fhicl::Name{
"physics"} };
121 fhicl::Table<art::OutputsConfig>
outputs{ fhicl::Name{
"outputs"} };
122 fhicl::Table<art::SourceConfig>
source{ fhicl::Name{
"source"} };
123 fhicl::Atom<std::string>
process_name{ fhicl::Name{
"process_name" },fhicl::Comment{
"Name of this art processing job"},
"DAQ" };
Atom< bool > dropAllSubRuns
Whether to drop all subruns ???
fhicl::OptionalTable< NetMonTransportService::Config > netMonTransportServiceInterface
Configuration for the NetMonTranportService. See art::NetMonTransportService::Config.
Atom< int64_t > saveMemoryObjectThreshold
???
fhicl::Table< FiltersConfig > filters
fhicl::TableFragment< art::OutputModule::Config > omConfig
Configuration common to all OutputModules.
Atom< int > splitLevel
???
fhicl::OptionalAtom< T > OptionalAtom
Optional Configuration Parameter.
fhicl::Atom< T > Atom
Configuration Parameter.
Atom< int > basketSize
???
fhicl::Sequence< std::string > my_output_modules
Output modules (configured in the outputs block) to use.
Configuration for the source block of artdaq art processes
Atom< bool > dropMetaDataForDroppedData
???
Configuration of the services.scheduler block for artdaq art processes
fhicl::Table< art::PhysicsConfig > physics
Physics block.
Artdaq does not provide any producers.
Required configuration for art processes started by artdaq, with artdaq-specific defaults where appli...
Atom< int > compressionLevel
Compression level to use. artdaq recommends <= 3.
fhicl::OptionalTable< RootOutputConfig > normalOutput
Normal art/ROOT output.
fhicl::Name Name
Parameter Name.
fhicl::Table< art::OutputsConfig > outputs
Outputs block.
Confgiguration for ROOT output modules
Atom< std::string > dropMetaData
Which metadata to drop (Default: "NONE")
Configuration for the outputs block of artdaq art processes
fhicl::Atom< std::string > process_name
"process_name" (Default: "DAQ"): Name of this art processing job
Configuration of the physics block for artdaq art processes
fhicl::Table< ClosingCriteria::Config > fileProperties
When should the file be closed.
fhicl::Atom< bool > errorOnFailureToPut
"errorOnFailureToPut" (Default: false): This parameter is necessary for correct function of artdaq...
fhicl::Table< AnalyzersConfig > analyzers
Analyzer module configuration.
fhicl::Table< ServicesSchedulerConfig > scheduler
Artdaq requires a services.scheduler parameter. See art::ServicesSchedulerConfig. ...
Atom< int64_t > treeMaxVirtualSize
???
Configuration of the services block for artdaq art processes
Atom< bool > writeParameterSets
Write art ParameterSet to output file (Default: true)
fhicl::Table< art::SourceConfig > source
fhicl::Atom< std::string > module_type
"module_type": Module type of source. Should be "RawInput", "NetMonInput", or an experiment-defined i...
fhicl::Table< ProducersConfig > producers
Producer module configuration.
fhicl::OptionalTable< art::RootNetOutput::Config > rootNetOutput
For transferring data from EventBuilders to DataLoggers.
OptionalAtom< bool > dropAllEvents
Whether to drop all events ???
std::set< std::string > operator()() const
Get the keys to ignore
OptionalAtom< bool > fastCloning
Whether to try to use fastCloning on the file.
fhicl::Table< art::ServicesConfig > services
Services block.
Atom< std::string > tmpDir
Temporary directory.
fhicl::OptionalTable< RootOutputConfig > rootDAQOutFile
art/ROOT output where the filename can be specified at initialization (e.g. to /dev/null), for testing
Atom< std::string > catalog
???
These keys should be ignored by the configuration validation processor