Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
art Namespace Reference

Service to store calibration data products (CDP) in the SQLite3 metadatabase of a file. More...

Namespaces

 actions
 
 detail
 
 errors
 
 ExceptionDetail
 
 fp_detail
 
 friendlyname
 
 hlt
 
 input
 
 InputSourceFactory
 
 productstatus
 
 PtrRemapperDetail
 
 rootNames
 
 stats
 
 test
 

Classes

class  ActionTable
 
class  ActivityRegistry
 
class  AndHelper
 
class  Assns
 
class  Assns< L, R, void >
 
struct  AssnsNode
 
class  BasicOptionsHandler
 
class  BasicOutputOptionsHandler
 
class  BasicPostProcessor
 
class  BasicSourceOptionsHandler
 
class  BlockingPrescaler
 
class  BoolCache
 
class  BranchChildren
 
class  BranchDescription
 
struct  BranchKey
 
struct  CannotFillView
 
class  CatalogInterface
 
class  ClosedRangeSetHandler
 
class  ClosingCriteria
 
class  Compare_Run_SubRun_EventEntry
 
class  ComparePtrs
 
class  ComposedSelectorWrapper
 
class  const_AssnsIter
 
class  ConstPtrCache
 
class  ConsumesCollector
 
class  ConsumesInfo
 
class  DatabaseConnection
 
class  DataFlow
 
class  DataViewImpl
 
class  debugging_allocator
 
class  DebugOptionsHandler
 
struct  DebugTasksValue
 
struct  DebugValue
 
class  DecrepitRelicInputSourceImplementation
 
class  DelayedReader
 
struct  DoMakePartner
 
struct  DoNotMakePartner
 
struct  DoNotSetPtr
 
struct  DoSetPtr
 
class  EDAnalyzer
 
class  EDFilter
 
class  EDProducer
 
class  EDProduct
 
class  EDProductGetter
 
class  EmptyEvent
 
class  EmptyEventTimestampPlugin
 
struct  enable_if_function_exists_t< void(T::*)(std::vector< void const * > &), &T::fillView >
 
class  EndPathExecutor
 
class  Event
 
class  EventAuxiliary
 
class  EventID
 
class  EventIDFilter
 
class  EventIDMatcher
 
class  EventPrincipal
 
struct  EventProcessHistoryID
 
class  EventProcessor
 
class  EventRange
 
class  EventSelector
 
struct  EventSummary
 
class  ExecutionCounts
 
class  FileBlock
 
class  FileCatalog
 
class  FileCatalogItem
 
class  FileCatalogMetadata
 
class  FileCatalogMetadataPlugin
 
class  FileCatalogOptionsHandler
 
class  FileDumperOutput
 
struct  FileFormatVersion
 
class  FileIndex
 
class  FileProperties
 
class  FileStatsCollector
 
class  FileTransfer
 
class  FindMany
 
class  FindMany< ProdB, void >
 
class  FindManyP
 
class  FindManyP< ProdB, void >
 
class  FindOne
 
class  FindOne< ProdB, void >
 
class  FindOneP
 
class  FindOneP< ProdB, void >
 
class  FloatingPointControl
 
struct  FragmentSemantic
 
struct  FullSemantic
 
class  Globals
 
class  GlobalSignal
 
class  GlobalSignal< SRTYPE, ResultType(Args...)>
 
class  Granularity
 
class  Group
 
class  GroupQueryResult
 
class  GroupSelector
 
class  GroupSelectorRules
 
class  Handle
 
struct  has_fillView
 
struct  has_mapped_type
 
struct  has_mapped_type< T, std::void_t< typename T::mapped_type > >
 
struct  has_setPtr
 
struct  has_setPtr< cet::map_vector< T > >
 
struct  has_setPtr< std::deque< T, A > >
 
struct  has_setPtr< std::list< T, A > >
 
struct  has_setPtr< std::set< T, A > >
 
struct  has_setPtr< std::vector< bool, A > >
 
struct  has_setPtr< std::vector< T, A > >
 
struct  has_value_type
 
struct  has_value_type< T, std::void_t< typename T::value_type > >
 
class  Hash
 
class  History
 
class  HLTGlobalStatus
 
class  HLTPathStatus
 
struct  IDNumber
 
struct  IDNumber< Level::Event >
 
struct  IDNumber< Level::Run >
 
struct  IDNumber< Level::SubRun >
 
class  InputFileCatalog
 
class  InputSource
 
struct  InputSourceDescription
 
class  InputSourceMutexSentry
 
class  InputTag
 
struct  key_traits
 
struct  key_traits< std::pair< U, V > >
 
struct  key_traits< std::string >
 
struct  LinuxProcData
 
class  LinuxProcMgr
 
class  LocalSignal
 
class  LocalSignal< STYPE, ResultType(Args...)>
 
class  MallocOptionSetter
 
struct  MallocOpts
 
class  MatchAllSelector
 
struct  MaybeFillView
 
struct  MaybeFillView< cet::map_vector< T > >
 
struct  MaybeFillView< std::deque< T, A > >
 
struct  MaybeFillView< std::list< T, A > >
 
struct  MaybeFillView< std::set< T, A > >
 
struct  MaybeFillView< std::vector< bool, A > >
 
struct  MaybeFillView< std::vector< T, A > >
 
struct  MaybeFillView< T, std::enable_if_t< has_fillView< T >::value > >
 
class  MaybeIncrementCounts
 
class  MaybeIncrementCounts< Level::Event, T >
 
class  MemoryTracker
 
class  MFStatusUpdater
 
struct  MinimalToolConfig
 
class  MixFilter
 
class  MixFilterTable
 
class  MixHelper
 
class  MixIOPolicy
 
class  MixOp
 
class  MixOpBase
 
class  Modifier
 
class  ModuleBase
 
class  ModuleContext
 
class  ModuleDescription
 
struct  ModuleInPathSummary
 
class  ModuleLabelSelector
 
class  NoDelayedReader
 
class  NotHelper
 
class  Observer
 
class  OpenRangeSetHandler
 
class  OptionsHandler
 
class  OrHelper
 
class  OutputFileInfo
 
class  OutputHandle
 
class  OutputModule
 
struct  OutputModuleDescription
 
class  OutputWorker
 
struct  ParameterSetBlob
 
class  Parentage
 
class  Path
 
class  PathContext
 
class  PathManager
 
class  PathsInfo
 
struct  PathSummary
 
class  PerScheduleContainer
 
class  PostCloseFileRenamer
 
class  Prescaler
 
struct  prevent_recursion
 
struct  prevent_recursion< Sampled< T > >
 
class  Principal
 
class  PrincipalBase
 
class  ProcessConfiguration
 
class  ProcessHistory
 
class  ProcessingFrame
 
class  ProcessingOptionsHandler
 
class  ProcessNameSelector
 
class  ProcessTag
 
class  ProdToProdMapBuilder
 
class  ProducerTable
 
class  ProducesCollector
 
class  ProducingService
 
class  ProducingServiceSignals
 
class  ProductID
 
class  ProductInfo
 
class  ProductInstanceNameSelector
 
class  ProductProvenance
 
struct  ProductRegistry
 
class  ProductRegistryHelper
 
struct  productSize
 
struct  productSize< cet::map_vector< E >, false >
 
struct  productSize< PtrVector< E >, false >
 
struct  productSize< std::deque< E >, false >
 
struct  productSize< std::list< E >, false >
 
struct  productSize< std::set< E >, false >
 
struct  productSize< std::vector< E >, false >
 
struct  productSize< T, false >
 
struct  productSize< T, true >
 
struct  ProductTable
 
class  ProductTables
 
class  ProductToken
 
class  Provenance
 
class  ProvenanceCheckerOutput
 
class  ProvenanceDumper
 
class  ProvenanceDumper< DETAIL, std::void_t< typename DETAIL::Config > >
 
struct  ProvenanceDumperConfig
 
struct  ProvenanceDumperConfig< DETAIL, std::void_t< typename DETAIL::Config > >
 
class  Ptr
 
class  PtrMaker
 
class  PtrRemapper
 
class  PtrVector
 
class  PtrVectorBase
 
class  RandomNumberGenerator
 
class  RandomNumberSaver
 
struct  RangedFragmentSemantic
 
class  RangeSet
 
class  RangeSetHandler
 
class  RefCore
 
class  ReplicatedAnalyzer
 
class  ReplicatedFilter
 
class  ReplicatedProducer
 
class  Results
 
class  ResultsAuxiliary
 
class  ResultsPrincipal
 
class  ResultsProducer
 
class  RNGsnapshot
 
class  RPManager
 
struct  RPParams
 
class  RPWorker
 
class  RPWorkerT
 
class  Run
 
class  RunAuxiliary
 
class  RunID
 
class  RunPrincipal
 
class  Sampled
 
struct  SampledEventInfo
 
struct  SampledInfo
 
class  Schedule
 
class  ScheduleContext
 
class  ScheduleID
 
class  ScheduleIteration
 
class  Scheduler
 
class  Selector
 
class  SelectorBase
 
class  ServiceHandle
 
class  ServiceRegistry
 
class  ServicesManager
 
class  ServiceTable
 
class  SharedAnalyzer
 
class  SharedFilter
 
class  SharedProducer
 
class  SharedResourcesRegistry
 
class  SortInvalidFirst
 
class  Source
 
struct  Source_generator
 
struct  Source_wantFileServices
 
struct  Source_wantFileServices< daq2raw::NOvASocketInputDriver >
 
class  SourceHelper
 
class  SubRun
 
class  SubRunAuxiliary
 
class  SubRunID
 
class  SubRunPrincipal
 
class  Suffixes
 
class  SummedValue
 
struct  SupportsView
 
struct  SupportsView< T, std::enable_if_t< has_mapped_type< T >::value > >
 
class  thread_safe_registry_via_id
 
class  Timestamp
 
class  TimeTracker
 
class  ToolConfigTable
 
class  Tracer
 
class  Transient
 
class  TriggerNamesService
 
struct  TriggerReport
 
class  TriggerResultInserter
 
class  TriggerResults
 
class  TrivialFileDelivery
 
class  TrivialFileTransfer
 
struct  tuple_element
 
struct  tuple_element< I, AssnsNode< L, R, D > >
 
class  TypeID
 
class  TypeLabel
 
class  UpdateOutputCallbacks
 
class  ValidHandle
 
struct  value
 
class  View
 
class  ViewToken
 
class  Worker
 
class  WorkerInPath
 
struct  WorkerParams
 
struct  WorkerSummary
 
class  WorkerT
 
struct  WrappedTypeID
 
class  Wrapper
 

Typedefs

using OptionsHandlers = std::vector< std::unique_ptr< art::OptionsHandler >>
 
using ProductListUpdatedCallback = std::function< void(ProductTables const &)>
 
using module_label_t = std::string
 
using WorkerMap = std::map< std::string, std::unique_ptr< Worker >>
 
using MixOpList = std::vector< std::unique_ptr< MixOpBase >>
 
template<typename PROD , typename OPROD = PROD>
using MixFunc = std::function< bool(std::vector< PROD const * > const &, OPROD &, PtrRemapper const &)>
 
using SpecProdList = std::vector< std::shared_ptr< EDProduct const >>
 
using EventIDIndex = std::map< FileIndex::EntryNumber_t, EventID >
 
using SubRunIDIndex = std::map< SubRunID, FileIndex::EntryNumber_t >
 
using RunIDIndex = std::map< SubRunID, FileIndex::EntryNumber_t >
 
using EventIDSequence = std::vector< EventID >
 
using EntryNumberSequence = std::vector< FileIndex::EntryNumber_t >
 
using EventAuxiliarySequence = std::vector< EventAuxiliary >
 
using DataFlowDumper = ProvenanceDumper< DataFlow >
 
using CountingStatistics = ExecutionCounts< stats::Visited, stats::Run, stats::Passed, stats::Failed, stats::ExceptionThrown >
 
using ProcessConfigurationRegistry = thread_safe_registry_via_id< ProcessConfigurationID, ProcessConfiguration >
 
using ProcessConfigurationMap = ProcessConfigurationRegistry::collection_type
 
using ProcessHistoryRegistry = thread_safe_registry_via_id< ProcessHistoryID, ProcessHistory >
 
using Selections = ProductDescriptionsByID
 
using SelectionsArray = std::array< Selections, NumBranchTypes >
 
template<typename T >
using tool_return_type = typename detail::tool_type< T >::return_type
 
template<std::size_t I, typename Node >
using tuple_element_t = typename tuple_element< I, Node >::type
 
using product_typeids_t = std::map< product_metatype, TypeID >
 
using ProductDescriptions = std::vector< BranchDescription >
 
using ProductDescriptionsByID = std::map< ProductID, BranchDescription >
 
typedef fhicl::ParameterSetID EventSelectionID
 
typedef std::vector< EventSelectionIDEventSelectionIDVector
 
template<Level L>
using IDNumber_t = typename IDNumber< L >::type
 
using EventNumber_t = IDNumber_t< Level::Event >
 
using SubRunNumber_t = IDNumber_t< Level::SubRun >
 
using RunNumber_t = IDNumber_t< Level::Run >
 
typedef std::map< fhicl::ParameterSetID, ParameterSetBlobParameterSetMap
 
typedef Hash< ParentageTypeParentageID
 
typedef thread_safe_registry_via_id< ParentageID, ParentageParentageRegistry
 
using ProcessConfigurations = std::vector< ProcessConfiguration >
 
typedef Hash< ProcessConfigurationTypeProcessConfigurationID
 
typedef std::map< ProcessHistoryID const, ProcessHistoryProcessHistoryMap
 
typedef Hash< ProcessHistoryTypeProcessHistoryID
 
typedef std::map< BranchKey, BranchDescriptionProductList
 
using ProductProvenances = std::vector< ProductProvenance >
 
using ProductStatus = unsigned char
 
typedef std::string ReleaseVersion
 
using SampledRunInfo = std::map< std::string, SampledInfo< RunID >>
 
using SampledSubRunInfo = std::map< std::string, SampledInfo< SubRunID >>
 
using TimeValue_t = std::uint64_t
 
using ProcessLookup = std::map< std::string, std::vector< ProductID >>
 
using ViewLookup_t = ProcessLookup
 
using TypeLabelLookup_t = std::map< TypeLabel, BranchDescription >
 
using ProductLookup_t = std::map< std::string, ProcessLookup >
 
using AvailableProducts_t = std::unordered_set< ProductID, ProductID::Hash >
 
using Exception = cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate >
 

Enumerations

enum  OutputFileStatus { OutputFileStatus::Open, OutputFileStatus::Switching, OutputFileStatus::Closed }
 
enum  FileCatalogStatus { FileCatalogStatus::SUCCESS, FileCatalogStatus::NO_MORE_FILES, FileCatalogStatus::DELIVERY_ERROR, FileCatalogStatus::TRANSFER_ERROR }
 
enum  BranchActionType { BranchActionBegin, BranchActionEnd, BranchActionProcess }
 
enum  FileDisposition {
  FileDisposition::PENDING = -1, FileDisposition::TRANSFERRED, FileDisposition::CONSUMED, FileDisposition::SKIPPED,
  FileDisposition::INCOMPLETE
}
 
enum  ServiceScope { ServiceScope::LEGACY, ServiceScope::SHARED }
 
enum  ModuleType {
  ModuleType::non_art, ModuleType::producer, ModuleType::filter, ModuleType::analyzer,
  ModuleType::output_module, ModuleType::producing_service
}
 
enum  ModuleThreadingType { ModuleThreadingType::illegal, ModuleThreadingType::legacy, ModuleThreadingType::shared, ModuleThreadingType::replicated }
 
enum  suffix_type : std::size_t {
  suffix_type::module, suffix_type::plugin, suffix_type::service, suffix_type::source,
  suffix_type::tool, suffix_type::mfPlugin, suffix_type::mfStatsPlugin
}
 
enum  Transition {
  Transition::BeginJob, Transition::EndJob, Transition::BeginFile, Transition::EndFile,
  Transition::BeginRun, Transition::EndRun, Transition::BeginSubRun, Transition::EndSubRun,
  Transition::BeginEvent, Transition::EndEvent
}
 
enum  Verbosity { Silent = 0, Concise = 2, Normal = 5, Detailed = 10 }
 
enum  Direction : int { Direction::Forward = 1, Direction::Reverse = -1 }
 
enum  BranchType {
  InEvent, InSubRun, InRun, InResults,
  NumBranchTypes
}
 
enum  HashedTypes {
  ModuleDescriptionType, ParameterSetType, ProcessHistoryType, ProcessConfigurationType,
  EntryDescriptionType, ParentageType
}
 
enum  Persistable { Persistable::Yes, Persistable::No }
 
enum  Level {
  Level::Job = 0, Level::InputFile, Level::Run, Level::SubRun,
  Level::Event, Level::NumNestingLevels, Level::ReadyToAdvance
}
 
enum  product_metatype {
  product_metatype::Normal, product_metatype::LeftRight = Normal, product_metatype::RightLeft, product_metatype::LeftRightData,
  product_metatype::RightLeftData
}
 

Functions

bool find_config (std::string const &filename, std::string const &search_path_spec, std::string &full_path)
 
template<typename T , typename... Args>
void add_opt (T &t, Args &&...args)
 
int run_art (int argc, char **argv, bpo::options_description &all_desc, art::OptionsHandlers &&handlers)
 
int run_art_string_config (std::string const &config_string)
 
int run_art_common_ (fhicl::ParameterSet const &main_pset, std::map< std::string, detail::ModuleKeyAndType > const &enabled_modules)
 
std::ostream & operator<< (std::ostream &os, const GroupSelector &gs)
 
std::ostream & operator<< (std::ostream &os, Granularity const &b)
 
std::ostream & operator<< (std::ostream &os, OutputFileStatus const ofs)
 
template<typename UserConfig , typename ImplicitConfig >
std::ostream & operator<< (std::ostream &os, ProducerTable< UserConfig, ImplicitConfig > const &t)
 
std::ostream & operator<< (std::ostream &os, FileProperties const &fp)
 
std::ostream & operator<< (std::ostream &, MixHelper::Mode)
 
RangeSet rangeSetFor (RunPrincipal const &rp)
 
RangeSet rangeSetFor (SubRunPrincipal const &srp)
 
template<typename T , typename P >
std::enable_if_t<!detail::range_sets_supported(P::branch_type)> put_product_in_principal (std::unique_ptr< T > &&product, P &principal, std::string const &module_label, std::string const &instance_name={})
 
template<typename T , typename P >
std::enable_if_t< detail::range_sets_supported(P::branch_type)> put_product_in_principal (std::unique_ptr< T > &&product, P &principal, std::string const &module_label, std::string const &instance_name={}, RangeSet &&rs=RangeSet::invalid())
 
static void markAncestors (ProductProvenance const &iInfo, EventPrincipal &e, std::map< ProductID, bool > &oMap, std::set< ProductID > &oMapperMissing)
 
template<typename PROD >
std::ostream & operator<< (std::ostream &os, Handle< PROD > const &h)
 
std::optional< GroupQueryResultresolve_unique_product (std::vector< cet::exempt_ptr< art::Group >> const &groups, art::WrappedTypeID const &wrapped)
 
std::vector< GroupQueryResultresolve_products (std::vector< cet::exempt_ptr< art::Group >> const &groups, art::TypeID const &wrapped_type)
 
template<class T >
void swap (Handle< T > &a, Handle< T > &b)
 
template<class T >
void swap (ValidHandle< T > &a, ValidHandle< T > &b)
 
template<class T >
void convert_handle (GroupQueryResult const &, Handle< T > &)
 
template<class T >
std::enable_if_t< detail::is_handle< T >::value, RangeSet const & > range_of_validity (T const &h)
 
template<class T , class U >
std::enable_if_t< detail::are_handles< T, U >::value, bool > same_ranges (T const &a, U const &b)
 
template<class T , class U >
std::enable_if_t< detail::are_handles< T, U >::value, bool > disjoint_ranges (T const &a, U const &b)
 
template<class T , class U >
std::enable_if_t< detail::are_handles< T, U >::value, bool > overlapping_ranges (T const &a, U const &b)
 
void swap (OutputHandle &, OutputHandle &)
 
bool operator< (ProductInfo const &a, ProductInfo const &b)
 
std::ostream & operator<< (std::ostream &os, ProductInfo::ConsumableType const ct)
 
std::ostream & operator<< (std::ostream &os, ProductInfo const &info)
 
bool operator== (Provenance const &a, Provenance const &b)
 
std::ostream & operator<< (std::ostream &os, Provenance const &p)
 
template<class A , class B >
std::enable_if_t< std::is_base_of_v< art::SelectorBase, A > &&std::is_base_of_v< art::SelectorBase, B >, art::AndHelper< A, B > > operator&& (A const &a, B const &b)
 
template<class A , class B >
std::enable_if_t< std::is_base_of_v< art::SelectorBase, A > &&std::is_base_of_v< art::SelectorBase, B >, art::OrHelper< A, B > > operator|| (A const &a, B const &b)
 
template<class A >
std::enable_if_t< std::is_base_of_v< art::SelectorBase, A >, art::NotHelper< A > > operator! (A const &a)
 
template<class T , class U >
bool same_ranges (SummedValue< T > const &a, SummedValue< U > const &b)
 
template<class T , class U >
bool disjoint_ranges (SummedValue< T > const &a, SummedValue< U > const &b)
 
template<class T , class U >
bool overlapping_ranges (SummedValue< T > const &a, SummedValue< U > const &b)
 
std::string translateFileDeliveryStatus (FileDeliveryStatus stat)
 
std::string translateFileDisposition (FileDisposition fd)
 
std::string translateFileTransferStatus (FileTransferStatus stat)
 
constexpr bool is_legacy (ServiceScope const scope) noexcept
 
constexpr bool is_shared (ServiceScope const scope) noexcept
 
template<typename T >
std::ostream & operator<< (std::ostream &os, ServiceTable< T > const &t)
 
template<typename CONTAINER >
std::enable_if_t< detail::has_two_arg_insert< CONTAINER >::valueconcatContainers (CONTAINER &out, CONTAINER const &in)
 
template<typename CONTAINER >
std::enable_if_t< detail::has_three_arg_insert< CONTAINER >::valueconcatContainers (CONTAINER &out, CONTAINER const &in)
 
template<typename COLLECTION >
void flattenCollections (std::vector< COLLECTION const * > const &in, COLLECTION &out)
 
template<typename COLLECTION , typename OFFSETS >
void flattenCollections (std::vector< COLLECTION const * > const &in, COLLECTION &out, OFFSETS &offsets)
 
template<typename T >
void flattenCollections (std::vector< PtrVector< T > const * > const &in, PtrVector< T > &out)
 
template<typename T , typename OFFSETS >
void flattenCollections (std::vector< PtrVector< T > const * > const &in, PtrVector< T > &out, OFFSETS &offsets)
 
template<class X , class Y >
bool operator== (debugging_allocator< X > const &, debugging_allocator< Y > const &) throw ()
 
template<class X , class Y >
bool operator!= (debugging_allocator< X > const &, debugging_allocator< Y > const &) throw ()
 
bool operator< (EventProcessHistoryID const &lh, EventProcessHistoryID const &rh)
 
std::ostream & operator<< (std::ostream &os, ModuleDescription const &p)
 
bool is_modifier (ModuleType const mt)
 
bool is_observer (ModuleType const mt)
 
std::string to_string (ModuleType const mt)
 
void ensureTable (fhicl::intermediate_table &table, std::string const &fhicl_spec)
 
void printArtException (cet::exception const &e, char const *prog=nullptr)
 
void printBadAllocException (char const *prog=nullptr)
 
void printStdException (std::exception const &e, char const *prog=nullptr)
 
void printUnknownException (char const *prog=nullptr)
 
template<typename T >
std::enable_if_t< std::is_class< T >::value, tool_return_type< T > > make_tool (fhicl::ParameterSet const &pset)
 
template<typename T >
std::enable_if_t< std::is_function< T >::value, tool_return_type< T > > make_tool (fhicl::ParameterSet const &pset, std::string const &function_tool_type)
 
template<typename T , typename TableConfig >
tool_return_type< Tmake_tool (TableConfig const &tc, std::string const &function_tool_type)
 
std::ostream & operator<< (std::ostream &ost, const MallocOpts &)
 
std::string parent_path (std::string const &path)
 
std::ostream & operator<< (std::ostream &os, suffix_type const st)
 
template<typename T1 , typename T2 >
std::enable_if_t< std::is_same< T1, T2 >::value||std::is_base_of< T1, T2 >::value||std::is_base_of< T2, T1 >::value, bool > pointersEqual (T1 *t1, T2 *t2)
 
template<typename T1 , typename T2 >
std::enable_if_t<!std::is_same< T1, T2 >::value &&!std::is_base_of< T1, T2 >::value &&!std::is_base_of< T2, T1 >::value, bool > pointersEqual (T1 *, T2 *)
 
constexpr auto fullRun ()
 
constexpr auto fullSubRun ()
 
constexpr auto runFragment ()
 
constexpr auto subRunFragment ()
 
auto runFragment (RangeSet const &rs)
 
auto subRunFragment (RangeSet const &rs)
 
bool is_glob (std::string const &pattern)
 
std::string glob2reg (std::string pattern)
 
std::vector< std::vector< std::string >::const_iterator > regexMatch (std::vector< std::string > const &strings, std::regex const &regexp)
 
std::vector< std::vector< std::string >::const_iterator > regexMatch (std::vector< std::string > const &strings, std::string const &pattern)
 
bool operator!= (ScheduleID left, ScheduleID right) noexcept
 
bool operator<= (ScheduleID left, ScheduleID right) noexcept
 
bool operator> (ScheduleID left, ScheduleID right) noexcept
 
bool operator>= (ScheduleID left, ScheduleID right) noexcept
 
std::ostream & operator<< (std::ostream &, ScheduleID scheduleID)
 
std::size_t tbb_hasher (ScheduleID)
 
std::string unique_filename (std::string stem, std::string extension=".root")
 
void setupSignals (bool want_sigint_enabled)
 
std::string const & getReleaseVersion ()
 
template<typename A , typename B , typename D , typename F >
void for_each_group (art::Assns< A, B, D > const &assns, F func)
 Helper functions to access associations in order. More...
 
template<typename A , typename B , typename D , typename F >
void for_each_group_with_left (art::Assns< A, B, D > const &assns, F func)
 
template<typename A , typename B , typename D , typename F >
void for_each_pair (art::Assns< A, B, D > const &assns, F func)
 
template<Direction Dir>
constexpr int signed_one ()
 
template<Direction Dir>
constexpr auto index_for_dereferencing (std::size_t const i)
 
template<typename L , typename R , typename D , Direction Dir>
constexpr auto const & left (const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
 
template<typename L , typename R , typename D , Direction Dir>
constexpr auto const & right (const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
 
template<typename T , typename L , typename R , typename D >
auto const & get (AssnsNode< L, R, D > const &r)
 
template<typename Collection >
void getElementAddresses (Collection const &coll, std::type_info const &iToType, std::vector< unsigned long > const &indices, std::vector< void const * > &oPtr)
 
template<typename T >
void getElementAddresses (cet::map_vector< T > const &obj, std::type_info const &iToType, std::vector< unsigned long > const &indices, std::vector< void const * > &oPtr)
 
std::ostream & operator<< (std::ostream &ost, HLTGlobalStatus const &hlt)
 
template<typename T , typename U >
std::enable_if_t< std::is_same_v< T, U >||std::is_base_of_v< T, U >||std::is_base_of_v< U, T >, bool > operator== (Ptr< T > const &lhs, Ptr< U > const &rhs)
 
template<typename T , typename U >
std::enable_if_t< std::is_same_v< T, U >||std::is_base_of_v< T, U >||std::is_base_of_v< U, T >, bool > operator!= (Ptr< T > const &lhs, Ptr< U > const &rhs)
 
template<typename T , typename U >
std::enable_if_t< std::is_same_v< T, U >||std::is_base_of_v< T, U >||std::is_base_of_v< U, T >, bool > operator< (Ptr< T > const &lhs, Ptr< U > const &rhs)
 
template<typename T , typename H >
void fill_ptr_vector (std::vector< Ptr< T >> &ptrs, H const &h)
 
template<typename T , typename H >
void fill_ptr_list (std::list< Ptr< T >> &ptrs, H const &h)
 
template<typename T >
std::ostream & operator<< (std::ostream &os, Ptr< T > const &p)
 
template<typename T >
void swap (PtrVector< T > &, PtrVector< T > &)
 
constexpr bool operator== (RefCore const &lhs, RefCore const &rhs) noexcept
 
constexpr bool operator!= (RefCore const &lhs, RefCore const &rhs) noexcept
 
constexpr bool operator< (RefCore const &lhs, RefCore const &rhs) noexcept
 
void swap (RefCore &, RefCore &)
 
auto sampled_from (std::string process_name)
 
template<class COLLECTION >
void setPtr (COLLECTION const &coll, std::type_info const &iToType, unsigned long iIndex, void const *&oPtr)
 
template<typename T >
void setPtr (cet::map_vector< T > const &obj, std::type_info const &iToType, unsigned long iIndex, void const *&oPtr)
 
void swap (TriggerResults &lhs, TriggerResults &rhs)
 
std::ostream & operator<< (std::ostream &, BranchDescription const &)
 
bool operator< (BranchDescription const &, BranchDescription const &)
 
bool operator== (BranchDescription const &, BranchDescription const &)
 
bool combinable (BranchDescription const &, BranchDescription const &)
 
bool operator< (BranchKey const &a, BranchKey const &b)
 
bool operator== (BranchKey const &a, BranchKey const &b)
 
bool operator!= (BranchKey const &a, BranchKey const &b)
 
std::ostream & operator<< (std::ostream &os, BranchKey const &bk)
 
std::string const & BranchTypeToString (BranchType)
 
std::string const & BranchTypeToProductTreeName (BranchType)
 
std::string const & BranchTypeToMetaDataTreeName (BranchType)
 
std::string const & BranchTypeToAuxiliaryBranchName (BranchType)
 
std::string const & productProvenanceBranchName (BranchType)
 
std::string const & BranchTypeToMajorIndexName (BranchType)
 
std::string const & BranchTypeToMinorIndexName (BranchType)
 
std::ostream & operator<< (std::ostream &os, BranchType const branchType)
 
template<typename F >
void for_each_branch_type (F f)
 
std::string canonicalProductName (std::string const &friendlyClassName, std::string const &moduleLabel, std::string const &productInstanceName, std::string const &processName)
 
std::ostream & operator<< (std::ostream &, const EventAuxiliary &)
 
std::ostream & operator<< (std::ostream &os, EventID const &iID)
 
std::ostream & operator<< (std::ostream &os, EventRange const &r)
 
bool operator== (FileFormatVersion const &a, FileFormatVersion const &b)
 
bool operator!= (FileFormatVersion const &a, FileFormatVersion const &b)
 
std::ostream & operator<< (std::ostream &os, FileFormatVersion const &ff)
 
bool operator< (FileIndex::Element const &lh, FileIndex::Element const &rh)
 
bool operator> (FileIndex::Element const &lh, FileIndex::Element const &rh)
 
bool operator>= (FileIndex::Element const &lh, FileIndex::Element const &rh)
 
bool operator<= (FileIndex::Element const &lh, FileIndex::Element const &rh)
 
bool operator== (FileIndex::Element const &lh, FileIndex::Element const &rh)
 
bool operator!= (FileIndex::Element const &lh, FileIndex::Element const &rh)
 
std::ostream & operator<< (std::ostream &os, FileIndex::Element const &el)
 
std::ostream & operator<< (std::ostream &os, FileIndex const &fileIndex)
 
template<int I>
void swap (Hash< I > &a, Hash< I > &b)
 
template<int I>
std::ostream & operator<< (std::ostream &os, Hash< I > const &h)
 
template<Level L = Level::Event>
constexpr bool is_valid (IDNumber_t< L > const id) noexcept
 
std::ostream & operator<< (std::ostream &os, ParameterSetBlob const &blob)
 
std::ostream & operator<< (std::ostream &os, Parentage const &)
 
bool operator== (Parentage const &a, Parentage const &b)
 
bool operator!= (Parentage const &a, Parentage const &b)
 
bool operator< (ProcessConfiguration const &a, ProcessConfiguration const &b)
 
bool operator== (ProcessConfiguration const &a, ProcessConfiguration const &b)
 
bool operator!= (ProcessConfiguration const &a, ProcessConfiguration const &b)
 
std::ostream & operator<< (std::ostream &os, ProcessConfiguration const &pc)
 
void swap (ProcessHistory &a, ProcessHistory &b)
 
bool operator== (ProcessHistory const &a, ProcessHistory const &b)
 
bool operator!= (ProcessHistory const &a, ProcessHistory const &b)
 
bool isAncestor (ProcessHistory const &a, ProcessHistory const &b)
 
bool isDescendant (ProcessHistory const &a, ProcessHistory const &b)
 
std::ostream & operator<< (std::ostream &ost, ProcessHistory const &ph)
 
std::ostream & operator<< (std::ostream &os, ProductID const id)
 
auto make_product_descriptions (ProductList const &productList)
 
std::ostream & operator<< (std::ostream &os, ProductProvenance const &p)
 
bool operator== (ProductProvenance const &a, ProductProvenance const &b) noexcept
 
bool operator!= (ProductProvenance const &a, ProductProvenance const &b) noexcept
 
bool operator< (ProductProvenance const &a, ProductProvenance const &b) noexcept
 
bool operator== (RangeSet const &l, RangeSet const &r)
 
bool same_ranges (RangeSet const &l, RangeSet const &r)
 
bool disjoint_ranges (RangeSet const &l, RangeSet const &r)
 
void throw_if_not_disjoint (RunNumber_t const rn, EventRange const &left, EventRange const &right) noexcept(false)
 
bool overlapping_ranges (RangeSet const &l, RangeSet const &r)
 
std::ostream & operator<< (std::ostream &os, RangeSet const &rs)
 
std::ostream & operator<< (std::ostream &, const RunAuxiliary &)
 
std::ostream & operator<< (std::ostream &os, art::RunID const &iID)
 
std::ostream & operator<< (std::ostream &os, SampledEventInfo const &eventInfo)
 
std::ostream & operator<< (std::ostream &, SubRunAuxiliary const &)
 
std::ostream & operator<< (std::ostream &os, SubRunID const &iID)
 
std::string to_iso_string_assuming_unix_epoch (Timestamp const &)
 
bool operator< (TypeLabel const &a, TypeLabel const &b)
 
std::ostream & operator<< (std::ostream &os, TypeLabel const &tl)
 
template<typename WANTED_POINTER , typename InputIterator >
WANTED_POINTER ensurePointer (InputIterator it)
 
bool operator!= (InputTag const &, InputTag const &)
 
void decode (std::any const &, InputTag &)
 
std::ostream & operator<< (std::ostream &, InputTag const &)
 
constexpr auto underlying_value (Level const l) noexcept
 
constexpr auto highest_level () noexcept
 
constexpr auto level_up (Level const l) noexcept
 
constexpr auto most_deeply_nested_level () noexcept
 
constexpr auto level_down (Level const l) noexcept
 
constexpr bool is_above_most_deeply_nested_level (Level const l) noexcept
 
constexpr bool is_most_deeply_nested_level (Level const l) noexcept
 
constexpr bool is_highest_level (Level const l) noexcept
 
constexpr bool is_level_contained_by (Level const l1, Level const l2) noexcept
 
std::ostream & operator<< (std::ostream &os, Level const l)
 
bool is_instantiation_of (std::string const &type_name, std::string const &template_name)
 
bool is_instantiation_of (TypeID const &tid, std::string const &template_name)
 
bool is_assns (std::string const &type_name)
 
bool is_assns (TypeID const &tid)
 
bool operator> (TypeID const &, TypeID const &)
 
bool operator!= (TypeID const &, TypeID const &)
 
std::ostream & operator<< (std::ostream &, TypeID const &)
 
void swap (TypeID &, TypeID &)
 
std::string name_of_template_arg (std::string const &template_instance, size_t desired_arg)
 
std::string name_of_assns_partner (std::string assns_type_name)
 
std::string name_of_assns_base (std::string assns_type_name)
 
std::string name_of_unwrapped_product (std::string const &wrapped_name)
 
std::string uniform_type_name (std::type_info const &tid)
 
std::string uniform_type_name (std::string name)
 
std::string wrappedClassName (std::string const &iFullName)
 
std::string const & getCanvasReleaseVersion ()
 

Variables

template<typename T >
detail::SharedResource_t SharedResource {typeid(T).name(), true}
 
std::atomic< intshutdown_flag
 
DebugValue debugit
 
DebugTasksValue debugTasks
 

Detailed Description

Service to store calibration data products (CDP) in the SQLite3 metadatabase of a file.

Class for generating ASIC traces including the effect // of the pre-amplifier and the energy dependent fall time // seen on the JINR test stand. //.

Class for dealing with correlated noise on the FEB // in the simulation. // See NOVA-doc-4401 for background //.

Class for generating ASIC traces using the analytic form. // This does not include pre-amplifier or fall time variation // modeling. //.

Interface class for pulse shapers //.

Class for simulating the spread in photo-electrons // according to the theory of APDs presented in // P. Balaban, P.E Fleischer, H Zucker, // IEEE Trans. Electron Devices 23, 1189-1190, (1979) // See NOVA-doc-4401 for background //.

A module for propagating particles through Geant4 and generating energy depositions.

Author
brebe.nosp@m.l@fn.nosp@m.al.go.nosp@m.v
Version
Id
G4Alg.h,v 1.3 2012-09-13 15:23:13 brebel Exp
Author
brebe.nosp@m.l@fn.nosp@m.al.go.nosp@m.v
messi.nosp@m.er@i.nosp@m.ndian.nosp@m.a.ed.nosp@m.u brebe.nosp@m.l@fn.nosp@m.al.go.nosp@m.v rhatc.nosp@m.her@.nosp@m.fnal..nosp@m.gov
auris.nosp@m.aam@.nosp@m.ucmai.nosp@m.l.uc.nosp@m..edu //
Date
//
Author
rbpat.nosp@m.ter@.nosp@m.calte.nosp@m.ch.e.nosp@m.du //
Date
//

Typedef Documentation

using art::AvailableProducts_t = typedef std::unordered_set<ProductID, ProductID::Hash>

Definition at line 24 of file type_aliases.h.

Definition at line 85 of file ExecutionCounts.h.

Definition at line 26 of file DataFlowDumper_module.cc.

using art::EntryNumberSequence = typedef std::vector<FileIndex::EntryNumber_t>

Definition at line 27 of file MixTypes.h.

using art::EventAuxiliarySequence = typedef std::vector<EventAuxiliary>

Definition at line 28 of file MixTypes.h.

Definition at line 23 of file MixTypes.h.

using art::EventIDSequence = typedef std::vector<EventID>

Definition at line 26 of file MixTypes.h.

Definition at line 118 of file IDNumber.h.

Definition at line 17 of file EventSelectionID.h.

Definition at line 18 of file EventSelectionID.h.

using art::Exception = typedef cet::coded_exception<errors::ErrorCodes, ExceptionDetail::translate>

Definition at line 66 of file Exception.h.

template<Level L>
using art::IDNumber_t = typedef typename IDNumber<L>::type

Definition at line 109 of file IDNumber.h.

template<typename PROD , typename OPROD = PROD>
using art::MixFunc = typedef std::function< bool(std::vector<PROD const*> const&, OPROD&, PtrRemapper const&)>

Definition at line 19 of file MixTypes.h.

using art::MixOpList = typedef std::vector<std::unique_ptr<MixOpBase>>

Definition at line 22 of file MixIOPolicy.h.

Definition at line 29 of file WorkerInPath.h.

using art::OptionsHandlers = typedef std::vector<std::unique_ptr<art::OptionsHandler>>

Definition at line 10 of file OptionsHandlers.h.

Definition at line 8 of file ParameterSetMap.h.

Definition at line 8 of file ParentageID.h.

Definition at line 9 of file ParentageRegistry.h.

Definition at line 8 of file ProcessConfigurationID.h.

Definition at line 18 of file ProcessConfigurationRegistry.h.

Definition at line 17 of file ProcessConfigurationRegistry.h.

using art::ProcessConfigurations = typedef std::vector<ProcessConfiguration>

Definition at line 49 of file ProcessConfiguration.h.

Definition at line 8 of file ProcessHistoryID.h.

Definition at line 158 of file ProcessHistory.h.

Definition at line 23 of file ProcessHistoryRegistry.h.

using art::ProcessLookup = typedef std::map<std::string, std::vector<ProductID>>

Definition at line 17 of file type_aliases.h.

using art::product_typeids_t = typedef std::map<product_metatype, TypeID>

Definition at line 39 of file fwd.h.

using art::ProductDescriptions = typedef std::vector<BranchDescription>

Definition at line 283 of file BranchDescription.h.

Definition at line 284 of file BranchDescription.h.

Definition at line 15 of file ProductList.h.

using art::ProductListUpdatedCallback = typedef std::function<void(ProductTables const&)>

Definition at line 54 of file UpdateOutputCallbacks.h.

using art::ProductLookup_t = typedef std::map<std::string, ProcessLookup>

Definition at line 23 of file type_aliases.h.

using art::ProductProvenances = typedef std::vector<ProductProvenance>

Definition at line 52 of file ProductProvenance.h.

using art::ProductStatus = typedef unsigned char

Definition at line 6 of file ProductStatus.h.

Definition at line 6 of file ReleaseVersion.h.

Definition at line 25 of file MixTypes.h.

Definition at line 120 of file IDNumber.h.

using art::SampledRunInfo = typedef std::map<std::string, SampledInfo<RunID>>

Definition at line 38 of file SampledInfo.h.

Definition at line 39 of file SampledInfo.h.

Definition at line 11 of file Selections.h.

using art::SelectionsArray = typedef std::array<Selections, NumBranchTypes>

Definition at line 12 of file Selections.h.

using art::SpecProdList = typedef std::vector<std::shared_ptr<EDProduct const>>

Definition at line 21 of file MixTypes.h.

Definition at line 24 of file MixTypes.h.

Definition at line 119 of file IDNumber.h.

using art::TimeValue_t = typedef std::uint64_t

Definition at line 8 of file Timestamp.h.

template<typename T >
using art::tool_return_type = typedef typename detail::tool_type<T>::return_type

Definition at line 15 of file make_tool.h.

template<std::size_t I, typename Node >
using art::tuple_element_t = typedef typename tuple_element<I, Node>::type

Definition at line 56 of file AssnsNode.h.

Definition at line 20 of file type_aliases.h.

Definition at line 18 of file type_aliases.h.

using art::WorkerMap = typedef std::map<std::string, std::unique_ptr<Worker>>

Definition at line 11 of file WorkerMap.h.

Enumeration Type Documentation

Enumerator
BranchActionBegin 
BranchActionEnd 
BranchActionProcess 

Definition at line 7 of file BranchActionType.h.

Enumerator
InEvent 
InSubRun 
InRun 
InResults 
NumBranchTypes 

Definition at line 18 of file BranchType.h.

enum art::Direction : int
strong
Enumerator
Forward 
Reverse 

Definition at line 13 of file AssnsIter.h.

Enumerator
SUCCESS 
NO_MORE_FILES 
DELIVERY_ERROR 
TRANSFER_ERROR 

Definition at line 26 of file InputFileCatalog.h.

enum art::FileDisposition
strong
Enumerator
PENDING 
TRANSFERRED 
CONSUMED 
SKIPPED 
INCOMPLETE 

Definition at line 14 of file FileDisposition.h.

Enumerator
ModuleDescriptionType 
ParameterSetType 
ProcessHistoryType 
ProcessConfigurationType 
EntryDescriptionType 
ParentageType 

Definition at line 11 of file HashedTypes.h.

enum art::Level
strong
Enumerator
Job 
InputFile 
Run 
SubRun 
Event 
NumNestingLevels 
ReadyToAdvance 

Definition at line 13 of file Level.h.

enum art::ModuleType
strong
Enumerator
non_art 
producer 
filter 
analyzer 
output_module 
producing_service 

Definition at line 11 of file ModuleType.h.

11  {
12  non_art,
13  producer,
14  filter,
15  analyzer,
18  };
Module that kips a configurable number of events between each that it allows through. Note that this module really skips (N-1) events, it uses a simple modular division as its critera. This module will cut down the data sample to 1/N of its original size.
enum art::OutputFileStatus
strong
Enumerator
Open 
Switching 
Closed 

Definition at line 8 of file OutputFileStatus.h.

enum art::Persistable
strong
Enumerator
Yes 
No 

Definition at line 5 of file Persistable.h.

enum art::product_metatype
strong
Enumerator
Normal 
LeftRight 
RightLeft 
LeftRightData 
RightLeftData 

Definition at line 5 of file product_metatype.h.

enum art::ServiceScope
strong
Enumerator
LEGACY 
SHARED 

Definition at line 7 of file ServiceScope.h.

enum art::suffix_type : std::size_t
strong
Enumerator
module 
plugin 
service 
source 
tool 
mfPlugin 
mfStatsPlugin 

Definition at line 61 of file PluginSuffixes.h.

enum art::Transition
strong
Enumerator
BeginJob 
EndJob 
BeginFile 
EndFile 
BeginRun 
EndRun 
BeginSubRun 
EndSubRun 
BeginEvent 
EndEvent 

Definition at line 7 of file Transition.h.

Enumerator
Silent 
Concise 
Normal 
Detailed 

Definition at line 5 of file Verbosity.h.

5 { Silent = 0, Concise = 2, Normal = 5, Detailed = 10 };

Function Documentation

template<typename T , typename... Args>
void art::add_opt ( T t,
Args &&...  args 
)

Definition at line 34 of file OptionsHandler.h.

References make_syst_table_plots::args, and confusionMatrixTree::t.

35  {
36  t(std::forward<Args>(args)...);
37  }
std::string const& art::BranchTypeToAuxiliaryBranchName ( BranchType  )
std::string const& art::BranchTypeToMajorIndexName ( BranchType  )
std::string const& art::BranchTypeToMetaDataTreeName ( BranchType  )
std::string const& art::BranchTypeToMinorIndexName ( BranchType  )
std::string const& art::BranchTypeToProductTreeName ( BranchType  )
std::string const& art::BranchTypeToString ( BranchType  )
std::string art::canonicalProductName ( std::string const &  friendlyClassName,
std::string const &  moduleLabel,
std::string const &  productInstanceName,
std::string const &  processName 
)
bool art::combinable ( BranchDescription const &  ,
BranchDescription const &   
)
template<typename CONTAINER >
std::enable_if_t<detail::has_two_arg_insert<CONTAINER>::value> art::concatContainers ( CONTAINER &  out,
CONTAINER const &  in 
)
template<typename CONTAINER >
std::enable_if_t<detail::has_three_arg_insert<CONTAINER>::value> art::concatContainers ( CONTAINER &  out,
CONTAINER const &  in 
)
template<class T >
void art::convert_handle ( GroupQueryResult const &  orig,
Handle< T > &  result 
)

Definition at line 242 of file Handle.h.

References make_syst_table_plots::h, and art::Handle< T >::swap().

243 {
244  Handle<T> h{orig};
245  result.swap(h);
246 }
void art::decode ( std::any const &  ,
InputTag  
)
template<class T , class U >
std::enable_if_t<detail::are_handles<T, U>::value, bool> art::disjoint_ranges ( T const &  a,
U const &  b 
)
bool art::disjoint_ranges ( RangeSet const &  l,
RangeSet const &  r 
)
template<class T , class U >
bool art::disjoint_ranges ( SummedValue< T > const &  a,
SummedValue< U > const &  b 
)

Definition at line 182 of file SummedValue.h.

References disjoint_ranges(), and art::SummedValue< T >::rangeOfValidity().

183  {
184  return disjoint_ranges(a.rangeOfValidity(), b.rangeOfValidity());
185  }
const double a
bool disjoint_ranges(SummedValue< T > const &a, SummedValue< U > const &b)
Definition: SummedValue.h:182
const hit & b
Definition: hits.cxx:21
template<typename WANTED_POINTER , typename InputIterator >
WANTED_POINTER art::ensurePointer ( InputIterator  it)
inline

Definition at line 77 of file ensurePointer.h.

References art::errors::LogicError.

Referenced by art::detail::IPRHelper< ProdA, ProdB, Data, DATACOLL, EVENT >::operator()().

77  {
78  static_assert(std::is_pointer_v<WANTED_POINTER>,
79  "Supplied template argument is not a pointer.");
80  return detail::EnsurePointer<
81  WANTED_POINTER,
82  typename std::iterator_traits<InputIterator>::value_type>{}(*it);
83 }
84 catch (std::bad_cast&) {
85  throw Exception(errors::LogicError, "ensurePointer")
86  << "Iterator value type "
87  << cet::demangle_symbol(
88  typeid(typename std::iterator_traits<InputIterator>::value_type)
89  .name())
90  << " and wanted pointer type "
91  << cet::demangle_symbol(typeid(WANTED_POINTER).name())
92  << " are incompatible.\n";
93 }
const XML_Char * name
Definition: expat.h:151
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
Definition: Exception.h:66
void art::ensureTable ( fhicl::intermediate_table table,
std::string const &  fhicl_spec 
)
template<typename T , typename H >
void art::fill_ptr_list ( std::list< Ptr< T >> &  ptrs,
H const &  h 
)

Definition at line 301 of file Ptr.h.

References MECModelEnuComparisons::i.

302  {
303  for (std::size_t i = 0, sz = h->size(); i != sz; ++i) {
304  ptrs.emplace_back(h, i);
305  }
306  }
template<typename T , typename H >
void art::fill_ptr_vector ( std::vector< Ptr< T >> &  ptrs,
H const &  h 
)

Definition at line 291 of file Ptr.h.

References MECModelEnuComparisons::i.

Referenced by cheat::TestTrackIds::analyze(), tbana::RawFileDumper::analyze(), cheat::CheckBackTracking::analyze(), valid::CellHitValidation::analyze(), valid::FluxValidation::analyze(), mcchk::DetAna::analyze(), G4MismatchAna::analyze(), valid::RecoHitValidation::analyze(), beamlinereco::BeamlineRecoDump::analyze(), beamlinereco::ToFSingleCounterAnalysis::analyze(), BeamlineAna::analyze(), testbeam::BeamlineRecoValidation::analyze(), tbana::DSToFAna::analyze(), beamlinereco::ToFRecoAnalysis::analyze(), novatb::TOFTimingResolution::analyze(), testbeam::TestBeamCommissioning::analyze(), beamlinerecoana::WCTrackRecoAnalysis::analyze(), tbana::BeamStructureAna::analyze(), nnbar::SigVsBkgSimCompare::analyze(), mcchk::LeptonAna::analyze(), tbana::BeamlineTriggerAna::analyze(), tbem::TBRecoAna::analyze(), novatb::TOFTriggerAna::analyze(), novatb::TriggerRateAna::analyze(), beamlinereco::EventWaveformDump::analyze(), mcchk::DetSimAna::analyze(), tbana::SpillStreamAna::analyze(), ncid::NCNNKerasVal::analyze(), testbeam::BeamlineEventDisplay::analyze(), tbana::DetectorRateShutOff::analyze(), beamlinereco::ToFAnalysisMini::analyze(), beamlinesim::CombinedBeamlineDetectorAna::analyze(), nnbar::RecoAnalysis::analyze(), beamlinereco::ToFPositionRecoAnalysis::analyze(), sn::SNMichelAnalyzer::analyze(), novatb::BeamTuning::analyze(), murem::MRCCAna::analyze(), beamlinereco::GoodBeamlineEventFilter::filter(), beamlinereco::DigitizerSaturationFilter::filter(), beamlinereco::ToFFilter::filter(), calib::TimingCalFilter::filter(), evd::SliceNavigator::GetProductsImplFull(), cheat::ClusterCheater::produce(), cheat::ProngCheater::produce(), cheat::ShowerCheater::produce(), cheat::TrueEnergy::produce(), cheat::TrackCheater::produce(), nnbar::ShowerProducer::produce(), beamlinereco::TimeOfFlightReco::produce(), calib::FiberCalibration::produce(), trk::CosmicTrack::produce(), beamlinereco::CkovCounterReco::produce(), beamlinereco::ToFCalibration::produce(), calib::TimingCalibration::produce(), beamlinereco::LEHitReco::produce(), beamlinereco::WCTrackReco::produce(), beamlinereco::CFDHitReco::produce(), calib::PCHitsList::produce(), sn::SupernovaMCCluster::produce(), ncpi0::MakeNCPi0BkgRej::produce(), ncid::MakeNCCosRej::produce(), sn::SNBackgroundRejection::produce(), g4rwgt::MakeG4WeightTable::produce(), cosrej::MakeNueCosRej::produce(), ncid::NCNNKeras::produce(), murem::FindMREParent::produce(), beamlinesim::BeamlineSimInput::produce(), and sn::TrackActivityRemover::remove().

292  {
293  for (std::size_t i = 0, sz = h->size(); i != sz; ++i) {
294  ptrs.emplace_back(h, i);
295  }
296  }
bool art::find_config ( std::string const &  filename,
std::string const &  search_path_spec,
std::string full_path 
)
template<typename COLLECTION >
void art::flattenCollections ( std::vector< COLLECTION const * > const &  in,
COLLECTION &  out 
)

Definition at line 281 of file CollectionUtilities.h.

References concatContainers().

Referenced by mix::MixSimAndCosmicData::MixCellHitDetails(), mix::MixSimEvents::mixDk2Nu(), mix::MixSimAndCosmicData::mixDk2Nu(), mix::MixSimAndCosmicData::MixFlatDAQDataDetails(), mix::MixSimEvents::mixFLSHitList(), mix::MixSimAndCosmicData::MixFLSHitsDetails(), mix::MixSimEvents::mixGTruth(), mix::MixSimAndCosmicData::mixGTruth(), mix::MixSimEvents::mixMCFlux(), mix::MixSimAndCosmicData::mixMCFlux(), mix::MixSimEvents::mixMCTruth(), mix::MixSimAndCosmicData::MixMCTruthDetails(), mix::MixSimEvents::mixNuChoice(), mix::MixSimAndCosmicData::mixNuChoice(), mix::MixSimEvents::mixParticle(), mix::MixSimAndCosmicData::MixPhotonSignalDetails(), sim::MixSimAndRealEventsDetail::mixRawDigit(), mix::MixSimAndCosmicData::MixRawDigitDetails(), sim::MixSimAndRealEventsDetail::mixRawTrigger(), mix::MixSimAndCosmicData::MixRawTriggerDetails(), mix::MixSimAndCosmicData::MixSimParticleDetails(), mix::MixSimAndCosmicData::mixSimTrueEnergy(), mix::MixSimEvents::mixTrueEnergy(), and art::detail::mix_offset< cet::map_vector< P > >::offset().

283 {
284  typename COLLECTION::size_type total_size = 0;
285  for (auto collptr : in) {
286  if (collptr != nullptr) {
287  total_size += collptr->size();
288  }
289  }
290  out.reserve(total_size);
291  for (auto collptr : in) {
292  if (collptr != nullptr) {
293  concatContainers(out, *collptr);
294  }
295  }
296 }
ifstream in
Definition: comparison.C:7
std::enable_if_t< detail::has_three_arg_insert< CONTAINER >::value > concatContainers(CONTAINER &out, CONTAINER const &in)
template<typename COLLECTION , typename OFFSETS >
void art::flattenCollections ( std::vector< COLLECTION const * > const &  in,
COLLECTION &  out,
OFFSETS &  offsets 
)

Definition at line 301 of file CollectionUtilities.h.

References delta, in, art::detail::mix_offset< C >::offset(), and confusionMatrixTree::out.

304 {
305  offsets.clear();
306  offsets.reserve(in.size());
307  typename COLLECTION::size_type current_offset{};
308  for (auto collptr : in) {
309  if (collptr == nullptr)
310  continue;
311 
312  auto const delta = detail::mix_offset<COLLECTION>::offset(*collptr);
313  offsets.push_back(current_offset);
314  current_offset += delta;
315  }
316  flattenCollections<COLLECTION>(in, out); // 1.
317 }
double delta
Definition: runWimpSim.h:98
ifstream in
Definition: comparison.C:7
template<typename T >
void art::flattenCollections ( std::vector< PtrVector< T > const * > const &  in,
PtrVector< T > &  out 
)

Definition at line 322 of file CollectionUtilities.h.

References in, art::errors::LogicError, confusionMatrixTree::out, and art::detail::verifyPtrCollection().

324 {
325  // Extra checks are required to verify that the PtrVectors are
326  // compatible.
329  << "Attempt to flatten incompatible PtrVectors "
330  << "referring to different ProductIDs.\n";
331  }
332  flattenCollections<PtrVector<T>>(in, out); // 1
333 }
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
Definition: Exception.h:66
ifstream in
Definition: comparison.C:7
bool verifyPtrCollection(iterator beg, iterator end, art::ProductID id={}, art::EDProductGetter const *getter=nullptr)
template<typename T , typename OFFSETS >
void art::flattenCollections ( std::vector< PtrVector< T > const * > const &  in,
PtrVector< T > &  out,
OFFSETS &  offsets 
)

Definition at line 338 of file CollectionUtilities.h.

References in, art::errors::LogicError, confusionMatrixTree::out, and art::detail::verifyPtrCollection().

341 {
342  // Extra checks are required to verify that the PtrVectors are
343  // compatible.
346  << "Attempt to flatten incompatible PtrVectors "
347  << "referring to different ProductIDs.\n";
348  }
349  flattenCollections<PtrVector<T>>(in, out, offsets); // 2.
350 }
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
Definition: Exception.h:66
ifstream in
Definition: comparison.C:7
bool verifyPtrCollection(iterator beg, iterator end, art::ProductID id={}, art::EDProductGetter const *getter=nullptr)
template<typename F >
void art::for_each_branch_type ( F  f)
template<typename A , typename B , typename D , typename F >
void art::for_each_group ( art::Assns< A, B, D > const &  assns,
F  func 
)

Helper functions to access associations in order.

Template Parameters
Atype of association being read
Ftype of functor to be called on each associated group
Parameters
assnsthe association being read
funcfunctor to be called on each associated group

This function takes two input arguments, a constant reference to the association data product itself (assns), and the function (func) to be operated on each of the group of associated objects. This function represents the association data product as a range of ranges representing the right hand side in the collection, hence the function provided as the second argument should assume that it will be operating on a range of art::Ptr to the associated data products grouped by the data product they are associated with.

Example: assuming that a module with input tag stored in fTrackTag has created associations of each track to its hits, the total charge for each track can be extracted by:

auto assns = art::getValidHandle<art::Assns<recob::Track, recob::Hit>>
(fTrackTag);
std::vector<double> totalCharge;
[&totalCharge](auto hits)
{
double total = 0.;
for (auto iHit = begin(hits); iHit != end(hits); ++iHit)
total += (*iHit)->Integral();
totalCharge.push_back(total);
}
);

A number of important points need to be realised about this example:

  • the requirements of this function translate, for this example, into:
    • at the creation of the associations data product, for each track the complete sequence of hits must be associated, one hit after the other (via addSingle); if the order of the hits is relevant (it is not in this specific example), hits must be associated in that order
    • each track must have at least one associated hit;
    • the original association has to be stored with recob::Track as left key and recob::Hit as right key;
  • we use here a lambda function as func; any object behaving as a function and able to accept the range of hits as its only argument will work just as well;
  • func will be called once for every track (but if a track has no associated hit, that track will be skipped, and if a track appears in more than one association sequence, like in (T1,H1) (T1,H2) (T2,H4) (T1,H3), then that track will appear as many times);
  • func does not return any value: the results are accumulated in a new sequence;
  • func receives a range of art pointers (art::Ptr<recob::Hit>) which needs to be navigated with the begin()/end() free functions (don't specify their namespace: C++ will figure out!); double dereferencing is needed: the first (*iHit) will turn the range iterator into the pointed art::Ptr<recob::Hit>, and the second ((...)->Integral()) accesses the recob::Hit pointed by the art pointer;
  • func does not know which track the hits are associated to, and it assumes that the first sequence of hits is associated to the first track (so that its total charge will be available in totalCharge[0]), the second sequence to the second track (totalCharge[1]) and so on.

Therefore, for a assns sequence like

(T1,H1) (T1,H2) (T2,H4) (T2,H6) (T1,H5)

the function for_each_group() will execute two calls:

func({ H1, H2 })
func({ H4, H6, H5 })

dealing with the hits associated to T1 first, and T2 next.

Definition at line 111 of file AssnsAlgorithms.h.

References a1, a2, PandAna.Demos.pi0_spectra::transform, and train_latest_snapshot::values.

112  {
113  ranges::for_each(assns | ranges::view::all |
114  ranges::view::group_by([](auto a1, auto a2) {
115  return a1.first == a2.first;
116  }) |
117  ranges::view::transform([](auto pairs) {
118  return pairs | ranges::view::values;
119  }),
120  func);
121  }
TH1F * a2
Definition: f2_nu.C:545
TH1F * a1
Definition: f2_nu.C:476
double func(double x, double y)
template<typename A , typename B , typename D , typename F >
void art::for_each_group_with_left ( art::Assns< A, B, D > const &  assns,
F  func 
)

Definition at line 141 of file AssnsAlgorithms.h.

References for_each_pair(), func(), left(), and train_latest_snapshot::values.

142  {
143  for_each_pair(assns, [&func](auto rng) {
144  auto rights = rng | ranges::view::values;
145  auto lefts = rng | ranges::view::keys;
146  auto const& left = **ranges::begin(lefts);
147  func(left, rights);
148  });
149  }
double func(double x, double y)
constexpr auto const & left(const_AssnsIter< L, R, D, Dir > const &a, const_AssnsIter< L, R, D, Dir > const &b)
Definition: AssnsIter.h:96
void for_each_pair(art::Assns< A, B, D > const &assns, F func)
template<typename A , typename B , typename D , typename F >
void art::for_each_pair ( art::Assns< A, B, D > const &  assns,
F  func 
)

Definition at line 153 of file AssnsAlgorithms.h.

References a1, and a2.

Referenced by for_each_group_with_left().

154  {
155  ranges::for_each(assns | ranges::view::all |
156  ranges::view::group_by(
157  [](auto a1, auto a2) { return a1.first == a2.first; }),
158  func);
159  }
TH1F * a2
Definition: f2_nu.C:545
TH1F * a1
Definition: f2_nu.C:476
double func(double x, double y)
constexpr auto art::fullRun ( )

Definition at line 22 of file ProductSemantics.h.

23  {
24  return FullSemantic<Level::Run>{};
25  }
constexpr auto art::fullSubRun ( )

Definition at line 27 of file ProductSemantics.h.

28  {
29  return FullSemantic<Level::SubRun>{};
30  }
template<typename T , typename L , typename R , typename D >
auto const & art::get ( AssnsNode< L, R, D > const &  r)

Definition at line 115 of file AssnsNode.h.

References r().

116  {
117  return detail::get_helper<L, R, D>::template get_element<T>(r);
118  }
TRandom3 r(0)
std::string const& art::getCanvasReleaseVersion ( )
template<typename Collection >
void art::getElementAddresses ( Collection const &  coll,
std::type_info const &  iToType,
std::vector< unsigned long > const &  indices,
std::vector< void const * > &  oPtr 
)

Definition at line 67 of file getElementAddresses.h.

References allTimeWatchdog::index, it, and art::detail::maybeCastObj().

Referenced by art::Wrapper< T >::do_getElementAddresses().

71 {
72  oPtr.reserve(indices.size());
73  for (auto const index : indices) {
74  auto it = coll.cbegin();
75  advance(it, index);
76  oPtr.push_back(detail::maybeCastObj(
78  }
79 }
void const * maybeCastObj(element_type const *address, std::type_info const &tiTo)
Definition: maybeCastObj.h:21
set< int >::iterator it
template<typename T >
void art::getElementAddresses ( cet::map_vector< T > const &  obj,
std::type_info const &  iToType,
std::vector< unsigned long > const &  indices,
std::vector< void const * > &  oPtr 
)

Definition at line 83 of file getElementAddresses.h.

References cet::map_vector< Value >::cend(), cet::map_vector< Value >::find(), cet::map_vector< Value >::getOrNull(), allTimeWatchdog::index, it, art::detail::value_type_helper::look_past_pair(), art::detail::maybeCastObj(), elec2geo::pos, art::detail::value_type_helper::starts_with_pair(), string, T, and uniform_type_name().

87 {
88  detail::value_type_helper vh;
89  std::string const wanted_type =
90  uniform_type_name(cet::demangle_symbol(iToType.name()));
91  static size_t const pos = vh.look_past_pair<T>();
92  oPtr.reserve(indices.size());
93  if ((pos < wanted_type.size()) && vh.starts_with_pair(wanted_type, pos)) {
94  // Want value_type.
95  for (auto const index : indices) {
96  auto it = obj.find(cet::map_vector_key{index});
97  auto ptr = (it == obj.cend()) ? nullptr : &*it;
98  oPtr.push_back(detail::maybeCastObj(ptr, iToType));
99  }
100  } else {
101  // Want mapped_type.
102  for (auto const index : indices) {
103  auto ptr = obj.getOrNull(cet::map_vector_key{index});
104  oPtr.push_back(detail::maybeCastObj(ptr, iToType));
105  }
106  }
107 }
void const * maybeCastObj(element_type const *address, std::type_info const &tiTo)
Definition: maybeCastObj.h:21
set< int >::iterator it
const_iterator cend() const noexcept
Definition: map_vector.h:228
iterator find(key_type key)
Definition: map_vector.h:369
std::string uniform_type_name(std::type_info const &tid)
double T
Definition: Xdiff_gwt.C:5
mapped_type * getOrNull(key_type key)
Definition: map_vector.h:405
enum BeamMode string
std::string const& art::getReleaseVersion ( )
std::string art::glob2reg ( std::string  pattern)
constexpr auto art::highest_level ( )
noexcept

Definition at line 32 of file Level.h.

Referenced by is_highest_level().

33  {
34  return Level{0};
35  }
Level
Definition: Level.h:13
template<Direction Dir>
constexpr auto art::index_for_dereferencing ( std::size_t const  i)

Definition at line 87 of file AssnsIter.h.

References Forward.

88  {
89  return (Dir == Direction::Forward) ? i : i - 1;
90  }
constexpr bool art::is_above_most_deeply_nested_level ( Level const  l)
noexcept

Definition at line 56 of file Level.h.

References submit_hadd::l, most_deeply_nested_level(), and underlying_value().

57  {
59  }
constexpr auto most_deeply_nested_level() noexcept
Definition: Level.h:44
constexpr auto underlying_value(Level const l) noexcept
Definition: Level.h:26
bool art::is_assns ( std::string const &  type_name)
inline

Definition at line 85 of file TypeID.h.

References is_instantiation_of().

Referenced by is_assns().

86  {
87  using namespace std::string_literals;
88  return is_instantiation_of(type_name, "art::Assns"s);
89  }
const XML_Char * s
Definition: expat.h:262
bool is_instantiation_of(TypeID const &tid, std::string const &template_name)
Definition: TypeID.h:79
bool art::is_assns ( TypeID const &  tid)
inline

Definition at line 92 of file TypeID.h.

References art::TypeID::className(), is_assns(), name_of_assns_base(), name_of_assns_partner(), name_of_template_arg(), name_of_unwrapped_product(), operator!=(), operator<<(), operator>(), string, and art::TypeID::swap().

93  {
94  return is_assns(tid.className());
95  }
bool is_assns(TypeID const &tid)
Definition: TypeID.h:92
bool art::is_glob ( std::string const &  pattern)
constexpr bool art::is_highest_level ( Level const  l)
noexcept

Definition at line 68 of file Level.h.

References highest_level(), and submit_hadd::l.

69  {
70  return l == highest_level();
71  }
constexpr auto highest_level() noexcept
Definition: Level.h:32
bool art::is_instantiation_of ( std::string const &  type_name,
std::string const &  template_name 
)
inline

Definition at line 72 of file TypeID.h.

Referenced by is_assns(), and is_instantiation_of().

74  {
75  return type_name.find(template_name + '<') == 0ull;
76  }
bool art::is_instantiation_of ( TypeID const &  tid,
std::string const &  template_name 
)
inline

Definition at line 79 of file TypeID.h.

References art::TypeID::className(), and is_instantiation_of().

80  {
81  return is_instantiation_of(tid.className(), template_name);
82  }
bool is_instantiation_of(TypeID const &tid, std::string const &template_name)
Definition: TypeID.h:79
constexpr bool art::is_legacy ( ServiceScope const  scope)
noexcept

Definition at line 10 of file ServiceScope.h.

References LEGACY.

11  {
12  return scope == ServiceScope::LEGACY;
13  }
constexpr bool art::is_level_contained_by ( Level const  l1,
Level const  l2 
)
noexcept

Definition at line 74 of file Level.h.

References central_limit::l1, and underlying_value().

75  {
76  return underlying_value(l1) > underlying_value(l2);
77  }
constexpr auto underlying_value(Level const l) noexcept
Definition: Level.h:26
bool art::is_modifier ( ModuleType const  mt)
inline

Definition at line 22 of file ModuleType.h.

References filter, and producer.

23  {
24  return (mt == ModuleType::producer) || (mt == ModuleType::filter);
25  }
constexpr bool art::is_most_deeply_nested_level ( Level const  l)
noexcept

Definition at line 62 of file Level.h.

References submit_hadd::l, and most_deeply_nested_level().

63  {
64  return l == most_deeply_nested_level();
65  }
constexpr auto most_deeply_nested_level() noexcept
Definition: Level.h:44
bool art::is_observer ( ModuleType const  mt)
inline

Definition at line 28 of file ModuleType.h.

References analyzer, output_module, and string.

29  {
30  return (mt == ModuleType::analyzer) || (mt == ModuleType::output_module);
31  }
constexpr bool art::is_shared ( ServiceScope const  scope)
noexcept

Definition at line 15 of file ServiceScope.h.

References SHARED.

16  {
17  return scope == ServiceScope::SHARED;
18  }
template<Level L = Level::Event>
constexpr bool art::is_valid ( IDNumber_t< L > const  id)
noexcept
bool art::isAncestor ( ProcessHistory const &  a,
ProcessHistory const &  b 
)
bool art::isDescendant ( ProcessHistory const &  a,
ProcessHistory const &  b 
)
template<typename L , typename R , typename D , Direction Dir>
constexpr auto const& art::left ( const_AssnsIter< L, R, D, Dir > const &  a,
const_AssnsIter< L, R, D, Dir > const &  b 
)
constexpr auto art::level_down ( Level const  l)
noexcept

Definition at line 50 of file Level.h.

References submit_hadd::l, and underlying_value().

51  {
52  return Level{underlying_value(l) + 1};
53  }
constexpr auto underlying_value(Level const l) noexcept
Definition: Level.h:26
Level
Definition: Level.h:13
constexpr auto art::level_up ( Level const  l)
noexcept

Definition at line 38 of file Level.h.

References submit_hadd::l, and underlying_value().

Referenced by most_deeply_nested_level().

39  {
40  return Level{underlying_value(l) - 1};
41  }
constexpr auto underlying_value(Level const l) noexcept
Definition: Level.h:26
Level
Definition: Level.h:13
auto art::make_product_descriptions ( ProductList const &  productList)
inline

Definition at line 19 of file ProductList.h.

References gammaraytel::pr, fillBadChanDBTables::result, and cet::transform_all().

20  {
22  cet::transform_all(productList, back_inserter(result), [](auto const& pr) {
23  return pr.second;
24  });
25  return result;
26  }
std::vector< BranchDescription > ProductDescriptions
auto transform_all(Container &, OutputIt, UnaryOp)
template<typename T >
std::enable_if_t<std::is_class<T>::value, tool_return_type<T> > art::make_tool ( fhicl::ParameterSet const &  pset)

Definition at line 19 of file make_tool.h.

References art::errors::Configuration, e, train_bdt::factory, fhicl::ParameterSet::get(), fillBadChanDBTables::result, string, and art::Suffixes::tool().

20  {
21  cet::BasicPluginFactory factory{Suffixes::tool(), "makeTool"};
22  std::string const libspec{pset.get<std::string>("tool_type")};
23  tool_return_type<T> result;
24  try {
25  result = detail::tool_type<T>::make_plugin(factory, libspec, pset);
26  }
27  catch (cet::exception const& e) {
28  throw Exception(errors::Configuration, "make_tool: ", e)
29  << "Exception caught while processing plugin spec: " << libspec << '\n';
30  }
31  return result;
32  }
::xsd::cxx::tree::exception< char > exception
Definition: Database.h:225
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
Definition: Exception.h:66
Float_t e
Definition: plot.C:35
enum BeamMode string
template<typename T >
std::enable_if_t<std::is_function<T>::value, tool_return_type<T> > art::make_tool ( fhicl::ParameterSet const &  pset,
std::string const &  function_tool_type 
)

Definition at line 36 of file make_tool.h.

References art::errors::Configuration, e, train_bdt::factory, fhicl::ParameterSet::get(), fillBadChanDBTables::result, string, and art::Suffixes::tool().

38  {
40  Suffixes::tool(), "toolFunction", "toolType"};
41  std::string const libspec{pset.get<std::string>("tool_type")};
42  tool_return_type<T> result;
43  try {
44  result = detail::tool_type<T>::make_plugin(
45  factory, libspec, pset, function_tool_type);
46  }
47  catch (cet::exception const& e) {
48  throw Exception(errors::Configuration, "make_tool: ", e)
49  << "Exception caught while processing plugin spec: " << libspec << '\n';
50  }
51  return result;
52  }
::xsd::cxx::tree::exception< char > exception
Definition: Database.h:225
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
Definition: Exception.h:66
Float_t e
Definition: plot.C:35
enum BeamMode string
template<typename T , typename TableConfig >
tool_return_type<T> art::make_tool ( TableConfig const &  tc,
std::string const &  function_tool_type 
)

Definition at line 56 of file make_tool.h.

57  {
58  if constexpr (std::is_class_v<T>) {
59  return make_tool<T>(tc.get_PSet());
60  } else if (std::is_function_v<T>) {
61  return make_tool<T>(tc.get_PSet(), function_tool_type);
62  }
63  }
static void art::markAncestors ( ProductProvenance const &  iInfo,
EventPrincipal e,
std::map< ProductID, bool > &  oMap,
std::set< ProductID > &  oMapperMissing 
)
static

Definition at line 52 of file ProvenanceCheckerOutput_module.cc.

References art::Principal::branchToProductProvenance(), cet::exempt_ptr< Element >::get(), file_size_ana::parent, art::ProductProvenance::parentage(), and art::Parentage::parents().

Referenced by art::ProvenanceCheckerOutput::write().

56  {
57  for (art::ProductID const parent : iInfo.parentage().parents()) {
58  // Don't look for parents if we've previously looked at the parents
59  if (oMap.find(parent) == oMap.end()) {
60  // use side effect of calling operator[] which is if the item isn't
61  // there it will add it as 'false'
62  oMap[parent];
64  e.branchToProductProvenance(parent);
65  if (pInfo.get()) {
66  markAncestors(*pInfo, e, oMap, oMapperMissing);
67  } else {
68  oMapperMissing.insert(parent);
69  }
70  }
71  }
72  }
static void markAncestors(ProductProvenance const &iInfo, EventPrincipal &e, std::map< ProductID, bool > &oMap, std::set< ProductID > &oMapperMissing)
pointer get() const noexcept
Definition: exempt_ptr.h:149
Float_t e
Definition: plot.C:35
constexpr auto art::most_deeply_nested_level ( )
noexcept

Definition at line 44 of file Level.h.

References level_up(), and NumNestingLevels.

Referenced by is_above_most_deeply_nested_level(), and is_most_deeply_nested_level().

45  {
46  return level_up(Level::NumNestingLevels);
47  }
constexpr auto level_up(Level const l) noexcept
Definition: Level.h:38
std::string art::name_of_assns_base ( std::string  assns_type_name)

Referenced by is_assns().

std::string art::name_of_assns_partner ( std::string  assns_type_name)

Referenced by is_assns().

std::string art::name_of_template_arg ( std::string const &  template_instance,
size_t  desired_arg 
)

Referenced by is_assns().

std::string art::name_of_unwrapped_product ( std::string const &  wrapped_name)

Referenced by is_assns().

template<class A >
std::enable_if_t< std::is_base_of_v< art::SelectorBase, A >, art::NotHelper< A > > art::operator! ( A const &  a)

Definition at line 277 of file Selector.h.

References a.

278 {
279  return art::NotHelper<A>(a);
280 }
const double a
bool art::operator!= ( BranchKey const &  a,
BranchKey const &  b 
)
inline

Definition at line 82 of file BranchKey.h.

References b.

83 {
84  return !(a == b);
85 }
const double a
const hit & b
Definition: hits.cxx:21
bool art::operator!= ( FileFormatVersion const &  a,
FileFormatVersion const &  b 
)
inline

Definition at line 34 of file FileFormatVersion.h.

References b, ff, and operator<<().

35  {
36  return !(a == b);
37  }
const double a
const hit & b
Definition: hits.cxx:21
bool art::operator!= ( Parentage const &  a,
Parentage const &  b 
)
bool art::operator!= ( ProcessConfiguration const &  a,
ProcessConfiguration const &  b 
)
bool art::operator!= ( InputTag const &  ,
InputTag const &   
)
bool art::operator!= ( ProductProvenance const &  a,
ProductProvenance const &  b 
)
noexcept
constexpr bool art::operator!= ( RefCore const &  lhs,
RefCore const &  rhs 
)
noexcept

Definition at line 78 of file RefCore.h.

79  {
80  return !(lhs == rhs);
81  }
bool art::operator!= ( ScheduleID  left,
ScheduleID  right 
)
noexcept
bool art::operator!= ( TypeID const &  ,
TypeID const &   
)
template<class X , class Y >
bool art::operator!= ( debugging_allocator< X > const &  ,
debugging_allocator< Y > const &   
)
throw (
)

Definition at line 108 of file debugging_allocator.h.

Referenced by art::const_AssnsIter< L, R, D, Dir >::const_AssnsIter(), and is_assns().

110  {
111  return false;
112  }
bool art::operator!= ( ProcessHistory const &  a,
ProcessHistory const &  b 
)
bool art::operator!= ( FileIndex::Element const &  lh,
FileIndex::Element const &  rh 
)
template<typename T , typename U >
std::enable_if_t<std::is_same_v<T, U> || std::is_base_of_v<T, U> || std::is_base_of_v<U, T>, bool> art::operator!= ( Ptr< T > const &  lhs,
Ptr< U > const &  rhs 
)

Definition at line 269 of file Ptr.h.

270  {
271  return !(lhs == rhs);
272  }
template<class A , class B >
std::enable_if_t< std::is_base_of_v< art::SelectorBase, A > &&std::is_base_of_v< art::SelectorBase, B >, art::AndHelper< A, B > > art::operator&& ( A const &  a,
B const &  b 
)

Definition at line 209 of file Selector.h.

References a, and b.

210 {
211  return art::AndHelper<A, B>(a, b);
212 }
const double a
const hit & b
Definition: hits.cxx:21
bool art::operator< ( EventProcessHistoryID const &  lh,
EventProcessHistoryID const &  rh 
)
inline

Definition at line 17 of file EventProcessHistoryID.h.

References art::EventProcessHistoryID::eventID_.

18  {
19  return lh.eventID_ < rh.eventID_;
20  }
TH2 * rh
Definition: drawXsec.C:5
bool art::operator< ( BranchKey const &  a,
BranchKey const &  b 
)
inline

Definition at line 62 of file BranchKey.h.

References art::BranchKey::branchType_, art::BranchKey::friendlyClassName_, art::BranchKey::moduleLabel_, art::BranchKey::processName_, and art::BranchKey::productInstanceName_.

63 {
64  return std::tie(a.friendlyClassName_,
65  a.moduleLabel_,
66  a.productInstanceName_,
67  a.processName_,
68  a.branchType_) < std::tie(b.friendlyClassName_,
69  b.moduleLabel_,
70  b.productInstanceName_,
71  b.processName_,
72  b.branchType_);
73 }
const double a
const hit & b
Definition: hits.cxx:21
bool art::operator< ( ProcessConfiguration const &  a,
ProcessConfiguration const &  b 
)
bool art::operator< ( ProductInfo const &  a,
ProductInfo const &  b 
)
bool art::operator< ( ProductProvenance const &  a,
ProductProvenance const &  b 
)
noexcept
bool art::operator< ( TypeLabel const &  a,
TypeLabel const &  b 
)
constexpr bool art::operator< ( RefCore const &  lhs,
RefCore const &  rhs 
)
noexcept

Definition at line 84 of file RefCore.h.

References art::RefCore::swap().

85  {
86  return lhs.id() < rhs.id();
87  }
bool art::operator< ( FileIndex::Element const &  lh,
FileIndex::Element const &  rh 
)
template<typename T , typename U >
std::enable_if_t<std::is_same_v<T, U> || std::is_base_of_v<T, U> || std::is_base_of_v<U, T>, bool> art::operator< ( Ptr< T > const &  lhs,
Ptr< U > const &  rhs 
)

Definition at line 278 of file Ptr.h.

279  {
280  // The ordering of integer keys guarantees that the ordering of Ptrs within
281  // a collection will be identical to the ordering of the referenced objects
282  // in the collection.
283  return (lhs.refCore() == rhs.refCore()) ? (lhs.key() < rhs.key()) :
284  (lhs.refCore() < rhs.refCore());
285  }
bool art::operator< ( BranchDescription const &  ,
BranchDescription const &   
)
std::ostream& art::operator<< ( std::ostream &  os,
OutputFileStatus const  ofs 
)
inline

Definition at line 11 of file OutputFileStatus.h.

References Closed, art::errors::LogicError, Open, and Switching.

12  {
13  switch (ofs) {
14  case OutputFileStatus::Open:
15  return os << "Open";
16  case OutputFileStatus::Switching:
17  return os << "Switching";
18  case OutputFileStatus::Closed:
19  return os << "Closed";
20  default:
22  "Unknown output file status."};
23  }
24  }
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
Definition: Exception.h:66
std::ostream& art::operator<< ( std::ostream &  os,
SubRunID const &  iID 
)
std::ostream& art::operator<< ( std::ostream &  os,
EventID const &  iID 
)
std::ostream& art::operator<< ( std::ostream &  os,
art::RunID const &  iID 
)
std::ostream& art::operator<< ( std::ostream &  os,
const GroupSelector gs 
)
std::ostream& art::operator<< ( std::ostream &  os,
BranchKey const &  bk 
)
std::ostream& art::operator<< ( std::ostream &  os,
BranchType const  branchType 
)
inline

Definition at line 29 of file BranchType.h.

References BranchTypeToString().

30  {
31  return os << BranchTypeToString(branchType);
32  }
std::string const & BranchTypeToString(BranchType)
std::ostream& art::operator<< ( std::ostream &  os,
ParameterSetBlob const &  blob 
)
std::ostream& art::operator<< ( std::ostream &  os,
FileFormatVersion const &  ff 
)
std::ostream& art::operator<< ( std::ostream &  os,
Parentage const &   
)
std::ostream& art::operator<< ( std::ostream &  os,
SampledEventInfo const &  eventInfo 
)
inline

Definition at line 42 of file SampledInfo.h.

References art::SampledEventInfo::dataset, art::SampledEventInfo::id, art::SampledEventInfo::probability, and art::SampledEventInfo::weight.

43  {
44  os << "Sampled EventID: '" << eventInfo.id << "' Dataset: '"
45  << eventInfo.dataset << "' Weight: " << eventInfo.weight
46  << " Probability: " << eventInfo.probability;
47  return os;
48  }
std::ostream& art::operator<< ( std::ostream &  ost,
HLTGlobalStatus const &  hlt 
)
std::ostream& art::operator<< ( std::ostream &  os,
ProcessConfiguration const &  pc 
)
std::ostream& art::operator<< ( std::ostream &  os,
ProductProvenance const &  p 
)
std::ostream& art::operator<< ( std::ostream &  ,
InputTag const &   
)
std::ostream& art::operator<< ( std::ostream &  os,
ModuleDescription const &  p 
)
std::ostream& art::operator<< ( std::ostream &  os,
ProductInfo::ConsumableType const  ct 
)
std::ostream& art::operator<< ( std::ostream &  ,
const EventAuxiliary  
)
std::ostream& art::operator<< ( std::ostream &  ost,
const MallocOpts  
)
std::ostream& art::operator<< ( std::ostream &  os,
ProductInfo const &  info 
)
std::ostream& art::operator<< ( std::ostream &  os,
FileProperties const &  fp 
)
template<typename T >
std::ostream& art::operator<< ( std::ostream &  os,
ServiceTable< T > const &  t 
)
inline

Definition at line 71 of file ServiceTable.h.

References gen_hdf5record::config, string, and confusionMatrixTree::t.

72  {
73  std::ostringstream config;
74  t.print_allowed_configuration(config, std::string(3, ' '));
75  return os << config.str();
76  }
enum BeamMode string
std::ostream& art::operator<< ( std::ostream &  os,
suffix_type const  st 
)
inline

Definition at line 72 of file PluginSuffixes.h.

73  {
74  return os << static_cast<std::underlying_type_t<suffix_type>>(st);
75  }
template<typename UserConfig , typename ImplicitConfig >
std::ostream& art::operator<< ( std::ostream &  os,
ProducerTable< UserConfig, ImplicitConfig > const &  t 
)
inline

Definition at line 73 of file ProducerTable.h.

References gen_hdf5record::config, art::ProducerTable< UserConfig, ImplicitConfig, UserKeysToIgnore >::print_allowed_configuration(), and string.

75  {
76  std::ostringstream config;
77  t.print_allowed_configuration(config, std::string(3, ' '));
78  return os << config.str();
79  }
enum BeamMode string
std::ostream& art::operator<< ( std::ostream &  os,
EventRange const &  r 
)
std::ostream& art::operator<< ( std::ostream &  os,
Level const  l 
)
inline

Definition at line 80 of file Level.h.

References Event, InputFile, Job, NumNestingLevels, ReadyToAdvance, Run, SubRun, and underlying_value().

81  {
82  switch (l) {
83  case Level::Job:
84  os << "Job";
85  break;
86  case Level::InputFile:
87  os << "InputFile";
88  break;
89  case Level::Run:
90  os << "Run";
91  break;
92  case Level::SubRun:
93  os << "SubRun";
94  break;
95  case Level::Event:
96  os << "Event";
97  break;
98  case Level::NumNestingLevels:
99  os << underlying_value(Level::NumNestingLevels);
100  break;
101  case Level::ReadyToAdvance:
102  os << "ReadyToAdvance";
103  break;
104  }
105  return os;
106  }
constexpr auto underlying_value(Level const l) noexcept
Definition: Level.h:26
std::ostream& art::operator<< ( std::ostream &  os,
Provenance const &  p 
)
std::ostream& art::operator<< ( std::ostream &  os,
TypeLabel const &  tl 
)
std::ostream& art::operator<< ( std::ostream &  os,
Granularity const &  b 
)
inline

Definition at line 85 of file OutputFileGranularity.h.

References b, art::Granularity::Event, art::Granularity::InputFile, art::Granularity::Job, art::Granularity::Run, string, art::Granularity::SubRun, and art::Granularity::Unset.

86  {
87  std::string token{"Unset"};
88  switch (b()) {
89  case Granularity::Event:
90  token = "Event";
91  break;
92  case Granularity::SubRun:
93  token = "SubRun";
94  break;
95  case Granularity::Run:
96  token = "Run";
97  break;
98  case Granularity::InputFile:
99  token = "InputFile";
100  break;
101  case Granularity::Job:
102  token = "Job";
103  break;
104  case Granularity::Unset:;
105  }
106  os << token;
107  return os;
108  }
const hit & b
Definition: hits.cxx:21
::xsd::cxx::tree::token< char, normalized_string > token
Definition: Database.h:156
enum BeamMode string
std::ostream& art::operator<< ( std::ostream &  ,
SubRunAuxiliary const &   
)
std::ostream& art::operator<< ( std::ostream &  os,
ProductID const  id 
)
std::ostream& art::operator<< ( std::ostream &  ,
const RunAuxiliary  
)
std::ostream& art::operator<< ( std::ostream &  ,
TypeID const &   
)
std::ostream& art::operator<< ( std::ostream &  ,
ScheduleID  scheduleID 
)
std::ostream& art::operator<< ( std::ostream &  os,
RangeSet const &  rs 
)
std::ostream& art::operator<< ( std::ostream &  ost,
ProcessHistory const &  ph 
)
std::ostream& art::operator<< ( std::ostream &  os,
FileIndex::Element const &  el 
)
std::ostream& art::operator<< ( std::ostream &  os,
FileIndex const &  fileIndex 
)
template<int I>
std::ostream& art::operator<< ( std::ostream &  os,
Hash< I > const &  h 
)

Definition at line 248 of file Hash.h.

References make_syst_table_plots::h.

249  {
250  return h.print(os);
251  }
std::ostream& art::operator<< ( std::ostream &  ,
BranchDescription const &   
)
template<typename T >
std::ostream& art::operator<< ( std::ostream &  os,
Ptr< T > const &  p 
)

Definition at line 310 of file Ptr.h.

311  {
312  os << "(" << p.id() << ", " << p.key() << ")";
313  return os;
314  }
const char * p
Definition: xmltok.h:285
std::ostream& art::operator<< ( std::ostream &  ,
MixHelper::Mode   
)
template<typename PROD >
std::ostream& art::operator<< ( std::ostream &  os,
Handle< PROD > const &  h 
)

Definition at line 985 of file DataViewImpl.h.

References make_syst_table_plots::h.

986  {
987  os << h.product() << " " << h.provenance() << " " << h.id();
988  return os;
989  }
bool art::operator<= ( ScheduleID  left,
ScheduleID  right 
)
noexcept
bool art::operator<= ( FileIndex::Element const &  lh,
FileIndex::Element const &  rh 
)
bool art::operator== ( BranchKey const &  a,
BranchKey const &  b 
)
inline

Definition at line 76 of file BranchKey.h.

References a.

77 {
78  return !(a < b || b < a);
79 }
const double a
const hit & b
Definition: hits.cxx:21
bool art::operator== ( FileFormatVersion const &  a,
FileFormatVersion const &  b 
)
inline

Definition at line 28 of file FileFormatVersion.h.

References art::FileFormatVersion::value_.

29  {
30  return a.value_ == b.value_;
31  }
const double a
const hit & b
Definition: hits.cxx:21
bool art::operator== ( Parentage const &  a,
Parentage const &  b 
)
bool art::operator== ( ProcessConfiguration const &  a,
ProcessConfiguration const &  b 
)
bool art::operator== ( ProductProvenance const &  a,
ProductProvenance const &  b 
)
noexcept
constexpr bool art::operator== ( RefCore const &  lhs,
RefCore const &  rhs 
)
noexcept

Definition at line 72 of file RefCore.h.

73  {
74  return lhs.id() == rhs.id();
75  }
bool art::operator== ( Provenance const &  a,
Provenance const &  b 
)
template<class X , class Y >
bool art::operator== ( debugging_allocator< X > const &  ,
debugging_allocator< Y > const &   
)
throw (
)

Definition at line 100 of file debugging_allocator.h.

102  {
103  return true;
104  }
bool art::operator== ( RangeSet const &  l,
RangeSet const &  r 
)
bool art::operator== ( ProcessHistory const &  a,
ProcessHistory const &  b 
)
bool art::operator== ( FileIndex::Element const &  lh,
FileIndex::Element const &  rh 
)
template<typename T , typename U >
std::enable_if_t<std::is_same_v<T, U> || std::is_base_of_v<T, U> || std::is_base_of_v<U, T>, bool> art::operator== ( Ptr< T > const &  lhs,
Ptr< U > const &  rhs 
)

Definition at line 260 of file Ptr.h.

References art::Ptr< T >::key(), and art::Ptr< T >::refCore().

261  {
262  return (lhs.refCore() == rhs.refCore()) && (lhs.key() == rhs.key());
263  }
bool art::operator== ( BranchDescription const &  ,
BranchDescription const &   
)
bool art::operator> ( TypeID const &  ,
TypeID const &   
)
bool art::operator> ( ScheduleID  left,
ScheduleID  right 
)
noexcept
bool art::operator> ( FileIndex::Element const &  lh,
FileIndex::Element const &  rh 
)
bool art::operator>= ( ScheduleID  left,
ScheduleID  right 
)
noexcept
bool art::operator>= ( FileIndex::Element const &  lh,
FileIndex::Element const &  rh 
)
template<class A , class B >
std::enable_if_t< std::is_base_of_v< art::SelectorBase, A > &&std::is_base_of_v< art::SelectorBase, B >, art::OrHelper< A, B > > art::operator|| ( A const &  a,
B const &  b 
)

Definition at line 245 of file Selector.h.

References a, and b.

246 {
247  return art::OrHelper<A, B>(a, b);
248 }
const double a
const hit & b
Definition: hits.cxx:21
template<class T , class U >
std::enable_if_t<detail::are_handles<T, U>::value, bool> art::overlapping_ranges ( T const &  a,
U const &  b 
)
bool art::overlapping_ranges ( RangeSet const &  l,
RangeSet const &  r 
)
template<class T , class U >
bool art::overlapping_ranges ( SummedValue< T > const &  a,
SummedValue< U > const &  b 
)

Definition at line 189 of file SummedValue.h.

References overlapping_ranges(), and art::SummedValue< T >::rangeOfValidity().

190  {
191  return overlapping_ranges(a.rangeOfValidity(), b.rangeOfValidity());
192  }
bool overlapping_ranges(SummedValue< T > const &a, SummedValue< U > const &b)
Definition: SummedValue.h:189
const double a
const hit & b
Definition: hits.cxx:21
std::string art::parent_path ( std::string const &  path)
template<typename T1 , typename T2 >
std::enable_if_t<std::is_same<T1, T2>::value || std::is_base_of<T1, T2>::value || std::is_base_of<T2, T1>::value, bool> art::pointersEqual ( T1 *  t1,
T2 *  t2 
)
inline

Definition at line 15 of file pointersEqual.h.

References t2.

16  {
17  return t1 == t2;
18  }
double t2
template<typename T1 , typename T2 >
std::enable_if_t<!std::is_same<T1, T2>::value && !std::is_base_of<T1, T2>::value && !std::is_base_of<T2, T1>::value, bool> art::pointersEqual ( T1 *  ,
T2 *   
)

Definition at line 26 of file pointersEqual.h.

References art::errors::LogicError.

27  {
29  << "Tried to compare two incompatible pointers.\n";
30  }
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
Definition: Exception.h:66
void art::printArtException ( cet::exception const &  e,
char const *  prog = nullptr 
)
void art::printBadAllocException ( char const *  prog = nullptr)
void art::printStdException ( std::exception const &  e,
char const *  prog = nullptr 
)
void art::printUnknownException ( char const *  prog = nullptr)
std::string const& art::productProvenanceBranchName ( BranchType  )
template<typename T , typename P >
std::enable_if_t<!detail::range_sets_supported(P::branch_type)> art::put_product_in_principal ( std::unique_ptr< T > &&  product,
P principal,
std::string const &  module_label,
std::string const &  instance_name = {} 
)

Definition at line 43 of file put_product_in_principal.h.

References canonicalProductName(), art::errors::NullPointerError, BlessedPlots::pid, art::productstatus::present(), art::errors::ProductPutFailure, and T.

Referenced by daq2raw::BeamlineRawInputDriver::makeEvent(), novaddt::NovaDDTRawInputDriver::readNext(), daq2raw::NOvARawInputDriver::readNext(), lem::GenFromLib::readNext(), daq2raw::NOvASocketInputDriver::readNext(), and daq2raw::TestBeamRawInputDriver::readNext().

46  {})
47  {
48  TypeID const typeID{typeid(T)};
49  if (product.get() == nullptr) {
51  << "put_product_in_principal: A null unique_ptr was passed to 'put'.\n"
52  << "The pointer is of type " << typeID << ".\n"
53  << "The specified product instance name was '" << instance_name
54  << "'.\n";
55  }
56 
57  auto const& process_name = principal.processConfiguration().processName();
58  auto const& product_name = canonicalProductName(
59  typeID.friendlyClassName(), module_label, instance_name, process_name);
60  ProductID const pid{product_name};
61  auto desc = principal.getProductDescription(pid);
62  if (!desc) {
64  "put_product_in_principal: error while trying to "
65  "retrieve product description:\n")
66  << "No product is registered for\n"
67  << " process name: '" << process_name << "'\n"
68  << " module label: '" << module_label << "'\n"
69  << " product friendly class name: '" << typeID.friendlyClassName()
70  << "'\n"
71  << " product instance name: '" << instance_name << "'\n"
72  << " branch type: '" << principal.branchType()
73  << "'\n";
74  }
75 
76  std::unique_ptr<EDProduct> wp = std::make_unique<Wrapper<T>>(move(product));
77  principal.put(
78  *desc,
79  std::make_unique<ProductProvenance const>(pid, productstatus::present()),
80  move(wp),
81  std::make_unique<RangeSet>());
82  }
std::string canonicalProductName(std::string const &friendlyClassName, std::string const &moduleLabel, std::string const &productInstanceName, std::string const &processName)
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
Definition: Exception.h:66
double T
Definition: Xdiff_gwt.C:5
constexpr ProductStatus present() noexcept
Definition: ProductStatus.h:10
template<typename T , typename P >
std::enable_if_t<detail::range_sets_supported(P::branch_type)> art::put_product_in_principal ( std::unique_ptr< T > &&  product,
P principal,
std::string const &  module_label,
std::string const &  instance_name = {},
RangeSet &&  rs = RangeSet::invalid() 
)

Definition at line 86 of file put_product_in_principal.h.

References canonicalProductName(), art::RangeSet::invalid(), art::RangeSet::is_valid(), art::errors::NullPointerError, BlessedPlots::pid, art::productstatus::present(), art::errors::ProductPutFailure, rangeSetFor(), and T.

89  {},
90  RangeSet&& rs = RangeSet::invalid())
91  {
92  TypeID const typeID{typeid(T)};
93  if (product.get() == nullptr) {
95  << "put_product_in_principal: A null unique_ptr was passed to 'put'.\n"
96  << "The pointer is of type " << typeID << ".\n"
97  << "The specified product instance name was '" << instance_name
98  << "'.\n";
99  }
100 
101  auto const& process_name = principal.processConfiguration().processName();
102  auto const& product_name = canonicalProductName(
103  typeID.friendlyClassName(), module_label, instance_name, process_name);
104  ProductID const pid{product_name};
105  auto desc = principal.getProductDescription(pid);
106  if (!desc) {
108  "put_product_in_principal: error while trying to "
109  "retrieve product description:\n")
110  << "No product is registered for\n"
111  << " process name: '" << process_name << "'\n"
112  << " module label: '" << module_label << "'\n"
113  << " product friendly class name: '" << typeID.friendlyClassName()
114  << "'\n"
115  << " product instance name: '" << instance_name << "'\n"
116  << " branch type: '" << principal.branchType()
117  << "'\n";
118  }
119 
120  // If the provided RangeSet is invalid, assign it a RangeSet
121  // corresponding to the full (Sub)Run.
122  if (!rs.is_valid()) {
123  rs = rangeSetFor(principal);
124  }
125  std::unique_ptr<EDProduct> wp = std::make_unique<Wrapper<T>>(move(product));
126  principal.put(
127  *desc,
128  std::make_unique<ProductProvenance const>(pid, productstatus::present()),
129  move(wp),
130  std::make_unique<RangeSet>(rs));
131  }
RangeSet rangeSetFor(SubRunPrincipal const &srp)
std::string canonicalProductName(std::string const &friendlyClassName, std::string const &moduleLabel, std::string const &productInstanceName, std::string const &processName)
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
Definition: Exception.h:66
double T
Definition: Xdiff_gwt.C:5
constexpr ProductStatus present() noexcept
Definition: ProductStatus.h:10
template<class T >
std::enable_if_t<detail::is_handle<T>::value, RangeSet const&> art::range_of_validity ( T const &  h)
RangeSet art::rangeSetFor ( RunPrincipal const &  rp)
inline

Definition at line 30 of file put_product_in_principal.h.

References art::RangeSet::forRun(), and art::Principal::runID().

Referenced by put_product_in_principal().

31  {
32  return RangeSet::forRun(rp.runID());
33  }
RangeSet art::rangeSetFor ( SubRunPrincipal const &  srp)
inline

Definition at line 36 of file put_product_in_principal.h.

References art::RangeSet::forSubRun(), and art::Principal::subRunID().

37  {
38  return RangeSet::forSubRun(srp.subRunID());
39  }
std::vector<std::vector<std::string>::const_iterator> art::regexMatch ( std::vector< std::string > const &  strings,
std::regex const &  regexp 
)
std::vector<std::vector<std::string>::const_iterator> art::regexMatch ( std::vector< std::string > const &  strings,
std::string const &  pattern 
)
std::vector<GroupQueryResult> art::resolve_products ( std::vector< cet::exempt_ptr< art::Group >> const &  groups,
art::TypeID const &  wrapped_type 
)
std::optional<GroupQueryResult> art::resolve_unique_product ( std::vector< cet::exempt_ptr< art::Group >> const &  groups,
art::WrappedTypeID const &  wrapped 
)
template<typename L , typename R , typename D , Direction Dir>
constexpr auto const& art::right ( const_AssnsIter< L, R, D, Dir > const &  a,
const_AssnsIter< L, R, D, Dir > const &  b 
)
int art::run_art ( int  argc,
char **  argv,
bpo::options_description &  all_desc,
art::OptionsHandlers &&  handlers 
)
int art::run_art_common_ ( fhicl::ParameterSet const &  main_pset,
std::map< std::string, detail::ModuleKeyAndType > const &  enabled_modules 
)
int art::run_art_string_config ( std::string const &  config_string)
constexpr auto art::runFragment ( )

Definition at line 33 of file ProductSemantics.h.

34  {
35  return FragmentSemantic<Level::Run>{};
36  }
auto art::runFragment ( RangeSet const &  rs)
inline

Definition at line 44 of file ProductSemantics.h.

45  {
46  return RangedFragmentSemantic<Level::Run>{rs};
47  }
template<class T , class U >
std::enable_if_t<detail::are_handles<T, U>::value, bool> art::same_ranges ( T const &  a,
U const &  b 
)
bool art::same_ranges ( RangeSet const &  l,
RangeSet const &  r 
)
template<class T , class U >
bool art::same_ranges ( SummedValue< T > const &  a,
SummedValue< U > const &  b 
)

Definition at line 175 of file SummedValue.h.

References art::SummedValue< T >::rangeOfValidity(), and same_ranges().

176  {
177  return same_ranges(a.rangeOfValidity(), b.rangeOfValidity());
178  }
bool same_ranges(SummedValue< T > const &a, SummedValue< U > const &b)
Definition: SummedValue.h:175
const double a
const hit & b
Definition: hits.cxx:21
auto art::sampled_from ( std::string  process_name)
inline

Definition at line 110 of file Sampled.h.

111  {
112  return process_name.insert(0, "SampledFrom");
113  }
template<class COLLECTION >
void art::setPtr ( COLLECTION const &  coll,
std::type_info const &  iToType,
unsigned long  iIndex,
void const *&  oPtr 
)
template<typename T >
void art::setPtr ( cet::map_vector< T > const &  obj,
std::type_info const &  iToType,
unsigned long  iIndex,
void const *&  oPtr 
)

Definition at line 52 of file setPtr.h.

References ana::assert(), cet::map_vector< Value >::end(), cet::map_vector< Value >::findOrThrow(), it, art::detail::value_type_helper::look_past_pair(), art::detail::maybeCastObj(), elec2geo::pos, art::detail::value_type_helper::starts_with_pair(), string, T, and uniform_type_name().

56 {
57  detail::value_type_helper vh;
58  std::string const wanted_type =
59  uniform_type_name(cet::demangle_symbol(iToType.name()));
60  static size_t pos = vh.look_past_pair<T>();
61  auto const it = obj.findOrThrow(cet::map_vector_key{iIndex});
62  assert(it != obj.end());
63  if ((pos < wanted_type.size()) && vh.starts_with_pair(wanted_type, pos)) {
64  // Want value_type, not mapped_type;
65  oPtr = detail::maybeCastObj(&*it, iToType);
66  } else {
67  oPtr = detail::maybeCastObj(&it->second, iToType);
68  }
69 }
void const * maybeCastObj(element_type const *address, std::type_info const &tiTo)
Definition: maybeCastObj.h:21
set< int >::iterator it
iterator end() noexcept
Definition: map_vector.h:190
std::string uniform_type_name(std::type_info const &tid)
assert(nhit_max >=nhit_nbins)
double T
Definition: Xdiff_gwt.C:5
const_iterator findOrThrow(key_type key) const
Definition: map_vector.h:393
enum BeamMode string
void art::setupSignals ( bool  want_sigint_enabled)
template<Direction Dir>
constexpr int art::signed_one ( )

Definition at line 17 of file AssnsIter.h.

References Forward, CLHEP::L, and R.

18  {
19  return static_cast<std::underlying_type_t<Direction>>(Dir);
20  }
constexpr auto art::subRunFragment ( )

Definition at line 38 of file ProductSemantics.h.

39  {
40  return FragmentSemantic<Level::SubRun>{};
41  }
auto art::subRunFragment ( RangeSet const &  rs)
inline

Definition at line 49 of file ProductSemantics.h.

50  {
51  return RangedFragmentSemantic<Level::SubRun>{rs};
52  }
template<typename T >
void art::swap ( PtrVector< T > &  lhs,
PtrVector< T > &  rhs 
)
inline

Definition at line 595 of file PtrVector.h.

References art::PtrVector< T >::swap().

Referenced by art::PtrVector< T >::swap().

596 {
597  lhs.swap(rhs);
598 }
void art::swap ( TriggerResults lhs,
TriggerResults rhs 
)
template<class T >
void art::swap ( Handle< T > &  a,
Handle< T > &  b 
)
template<class T >
void art::swap ( ValidHandle< T > &  a,
ValidHandle< T > &  b 
)
void art::swap ( OutputHandle ,
OutputHandle  
)
void art::swap ( RefCore ,
RefCore  
)
void art::swap ( TypeID ,
TypeID  
)
void art::swap ( ProcessHistory a,
ProcessHistory b 
)
template<int I>
void art::swap ( Hash< I > &  a,
Hash< I > &  b 
)

Definition at line 241 of file Hash.h.

References art::Hash< I >::swap().

242  {
243  a.swap(b);
244  }
const double a
const hit & b
Definition: hits.cxx:21
std::size_t art::tbb_hasher ( ScheduleID  )
void art::throw_if_not_disjoint ( RunNumber_t const  rn,
EventRange const &  left,
EventRange const &  right 
)
noexcept
std::string art::to_iso_string_assuming_unix_epoch ( Timestamp const &  )

Referenced by art::Timestamp::lowMask().

std::string art::to_string ( ModuleType const  mt)
inline

Definition at line 34 of file ModuleType.h.

References analyzer, filter, art::errors::LogicError, non_art, output_module, and producer.

Referenced by ValidCalibPDF::AbsoluteCalibration(), accum_nue_numu_equivalent(), mono::Monopole::analyze(), mono::Monopole::beginJob(), CalculateXSec(), check_predinterp_numu(), CombineHistograms(), compare_fits(), ConcatenateHists(), daqdataformats::DataFormatException::constructMessage(), cmf::ContourFromLibrary::ContourForUniverse(), cmf::ContourFromGrid::CreateChiSqrMaps(), cmf::RandomUniverseUtility::CreateLocationWithVariedOscParameters(), cmf::RandomUniverseUtility::CreateLocationWithVariedSystematics(), ana::SpectrumHandler::CreateSpectrums(), CutFlow_NearDet(), DDTOnMonPlotMaker(), demo_numuOnly(), demoFitContours(), ValidCalibPDF::DiblockTex(), nueccinc_test::NueCCIncGlobalFitter::doFullFit(), draw_fn_coverage(), draw_percentiles(), DrawMedianAndUniverses(), DrawSurface(), DrawSurfacePoint(), drawSystsShiftingNDdata(), MEUPerCell::DriftTex(), MEUPerFEB::DriftTex(), ValidCalibPDF::DriftTex(), electron_energy_bias(), novarwgt::EncodeGeneratorVersion(), cmf::ContourFromGrid::endJob(), cmf::SpectraFromPredictions::endJob(), cmf::ContourFromLibrary::endJob(), ErrorBand(), ValidCalibPDF::EssentialComparisonTex(), Expression::Eval(), extractBestFitInfo(), fake_future_data(), fcn_enu(), fcn_q2(), cmf::CMFSpectraMaker::FillHistograms(), FillHists(), BrightnessModelPlots::FillHitPlots(), MEUPerCell::FillHitPlots(), MEUPerFEB::FillHitPlots(), ValidCalibPDF::FillHitPlots(), cmf::CAFToEventList::FillMCVals(), FillPCAContainers(), FillUniverseContainers(), cmf::CovarianceFitHelper::FindInitialGuess(), cmf::SpectrumPredictionMaker::FindOscillationPoints(), FindUniverseSpectra(), generate_fake_data(), generate_fc_binlists(), generate_fd_fake_events(), genie::NNBarOscPrimaryVtxGenerator::GenerateDecayProducts(), genie_contours(), genie_preds_make(), genie_syst_make(), genie_syst_pca(), genie_syst_shifts(), get_eventslist(), GetBestFitPoint(), GetBinByEdge(), GetContours(), calib::AttenCache::GetCSVPath(), GetDeltaChiSqr(), GetExtrapolationDefs(), novarwgt::internal::GetGenieKnobName(), ana::GetGeniePrincipals2018(), ana::GetGeniePrincipals2018Small(), ana::GetGeniePrincipals2020Small(), GetHeatMaps(), GetMedianDeltaChiSqr(), GetMockData(), ana::getNumu2018PredVar(), GetNumuCosmics2017(), GetNumuCosmics2018(), GetNumuCosmics2019(), ana::GetNumuCosmics2020(), GetNumuCosmicsFuture(), GetNumuData2017(), GetNumuData2018(), GetNumuData2019(), ana::GetNumuData2020(), GetNumuPredictionsFuture(), GetSelectedEvents(), GetSliceHist(), getStabilitySpectra(), ana::SpectrumHandler::Go(), goodness_of_fit(), grabNuMuHistograms(), GraphsToDataRelease(), hadEFrac_nd_data_mc_systs(), HCtag(), fhicl::Name::index(), cet::name_of< T[N]>::is(), joint_fit_2017_contours(), joint_fit_2017_fc_submit(), joint_fit_2017_make_fc_slice(), joint_fit_2017_make_fc_surf(), joint_fit_2018_contours(), joint_fit_2019_bestfit(), joint_fit_2019_contours(), joint_fit_2019_slices(), joint_fit_future_bestfit_univ(), joint_fit_future_contour_univ(), cmf::KeyToString(), cet::sqlite::SelectStmt::limit(), LoadFakeData(), LoadFile_GetHists(), ana::TrivialBkgdEstimator::LoadFrom(), ana::FitInAnaBinsBkgdEstimator::LoadFrom(), ana::NumuCC2p2hBkgdEstimator::LoadFrom(), ana::FluxMultiverseSyst::LoadFrom(), ana::PredictionScaleComp::LoadFrom(), ana::GenieMultiverseSpectra::LoadFrom(), ana::nueccinc::NueCCIncCrossSectionTemplates::LoadFrom(), ana::nueccinc::NueCCIncEnhancedSamples::LoadFrom(), ana::GenieMultiverseNormalizedSpectra::LoadFrom(), LoadPPFX(), ana::LoadPredictions(), mcmc::LoadSystsCreateDummyMECSysts(), make_contours(), make_DataMCComp_numu(), make_fc_mass_and_oct_nersc_2018(), make_fc_mass_and_oct_nersc_2019(), make_fc_mh_nersc_2018(), make_fc_mh_nersc_2019(), make_fc_nus_surfs_nersc_2018(), make_fc_nus_surfs_nersc_2019(), make_fc_oct_nersc_2018(), make_fc_oct_nersc_2019(), make_fc_slices_nersc_2018(), make_fc_slices_nersc_2018_stats(), make_fc_slices_nersc_2019(), make_fc_surfaces_2020(), make_fc_surfaces_2020_validation(), make_fc_surfaces_nersc_2018(), make_fc_surfaces_nersc_2018_stats(), make_fc_surfaces_nersc_2019(), make_muonid_opt(), Make_NuMuCC_Inc_XS_v2(), make_nus17_fc_surfs(), make_nus17_pot(), make_nus_fc_surfs(), make_training_sample(), make_vertex_optimiz(), cmf::PlotUtilities::MakeCLHeatMaps(), MakeCSV(), ana::MakeCutVec(), MakeFakeData(), cmf::SpectrumPredictionMaker::MakeHiddenParameterHistograms(), makeMedianContours(), MakePlot(), MakePlots1D(), MakePPFXRatios(), makeRandomUniverseHistograms(), MakeRatio(), MakeStackNME(), MakeSuffix(), MakeSurface(), MakeSystematicPlots(), MEUPerFEB::MakeTex(), makeUniverseContourPlots(), cmf::RandomUniverseUtility::MakeUniverseHistograms(), MakeVennDiagram(), meanWeight_macro(), meanWeight_plot(), mec_tuning_fitter_2020(), mec_tuning_preds_2020(), median_contours(), mre_blessed(), muonid_opt(), ND_DataMC_Comp_Systs(), NDFDCVNBDTCutSelector(), nova_t2k_comparison(), nuebar_signif(), NuSCalculateCorr(), NuSTreeMaker(), ana::StanFitter::samplecounter_callback::operator()(), cmf::OscParMapToString(), OverlayGenerators(), calib::PCHitTransposer::PCHitTransposer(), cmf::MetaDataLite::PeriodString(), cmf::MetaData::PeriodString(), Plot_Evals_BDTMLP_Algs(), plot_joint_fit_2020_contours(), plot_nd_spectra_2018(), plot_recoE_numu(), plot_uncertainty(), PlotCSV(), PlotDeltaFractionVsSignificance(), PlotDeltaFractionVsYear(), PlotGenRatios(), PlotSignificanceVsYear_FixDelta(), PlotSignificanceVsYear_FixTh23(), Plotting_Data2DataComp_SingleCanvas(), Plotting_DataAndPrediction(), Plotting_DataSpectra_MakeTGraph(), PlotXSec(), evd::SliceNavigator::postProcessEvent(), ppfx_smooth_weights_make(), ppfx_smooth_weights_save(), ppfx_syst_pca_fn(), ana::PredictionSyst3Flavor2020::PredictionSyst3Flavor2020(), ana::PredictionSystJoint2018::PredictionSystJoint2018(), ana::PredictionSystJointDemo::PredictionSystJointDemo(), ana::PredictionSystNumu2017::PredictionSystNumu2017(), prepareFactory(), PrintAllSlices(), cmf::EventListManipulator::PrintExposureSummary(), art::FileDumperOutput::printPrincipal(), prob_biprob_pedagogical(), calib::PCHitTransposer::produce(), ProducePlots(), fhicl::intermediate_table::put(), Plotter::q0q3Panel(), reach_2018_dCPfractions(), cmf::SpectraFromPredictions::reconfigure(), reduce_the_predfile_nue_numu(), resolution2018(), ResolutionPlot(), run_joint_fit_2020_bestfit(), run_joint_fit_2020_contours(), Save1DContour(), SavePCAShifts(), ana::TrivialBkgdEstimator::SaveTo(), ana::FitInAnaBinsBkgdEstimator::SaveTo(), ana::NumuCC2p2hBkgdEstimator::SaveTo(), ana::FluxMultiverseSyst::SaveTo(), ana::PredictionScaleComp::SaveTo(), ana::GenieMultiverseSpectra::SaveTo(), ana::DataMCPair::SaveTo(), ana::nueccinc::NueCCIncCrossSectionTemplates::SaveTo(), ana::nueccinc::NueCCIncEnhancedSamples::SaveTo(), LSTME::ProngBPFVars::saveToDict(), MEUPerFEB::SchedulePlots(), MEUPerCell::SchedulePlots(), ValidCalibPDF::SchedulePlots(), evgen::GENIENeutronOscGen::selectAnnihilationMode(), SelectAnnihilationMode(), sensitivity_plot(), cmf::EventListManipulator::SetExposures(), SetGlobalVariables(), ana::SpectrumHandler::SetSpillCuts(), cet::search_path::showenv(), specprod_numuccinc(), SplitFakeData(), SplitHistograms(), novarwgt::StoredGenSupportCfg(), flat::Flat< T[N]>::SubLengthName(), caf::ArrayVectorProxyBase::Subscript(), systematics_summary_from_pred_interp(), systematics_table_from_pred_interp(), test_surf_stride(), tmva_new_train(), cmf::ShifterAndWeighter::TotalWeightFromWeighters(), train(), trimmubarid(), Tutorial2019Fit(), Tutorial2019FitContours(), Tutorial2019FitSlices(), uncertainty1png(), uncertainty2png(), UnfoldGenie(), UnfoldInOut(), UnfoldMethodRooUnfold(), UnfoldPPFX(), UnfoldXSec(), nerd::NERDEval::unmold_mask(), vertex_optimize(), moonshadowana::MoonShadowAna::WriteEventInfo(), moonshadowana::MoonShadowAnaHough::WriteEventInfo(), cvn::CVNEventDump::WriteMapTH2(), cvn::CVNCosmicEventDump::WriteMapTH2(), cvn::CVNEventProngDump::WriteMapTH2(), cmf::GridPointsBestFit::writeResults(), and cmf::FitFeldmanCousinsPoint::writeResults().

35  {
36  switch (mt) {
37  case ModuleType::non_art:
38  return "non-art";
39  case ModuleType::producer:
40  return "producer";
41  case ModuleType::filter:
42  return "filter";
43  case ModuleType::analyzer:
44  return "analyzer";
45  case ModuleType::output_module:
46  return "output module";
47  default:
49  << "Unable to find string for unrecognized ModuleType value "
50  << static_cast<int>(mt) << ".\n";
51  }
52  }
cet::coded_exception< errors::ErrorCodes, ExceptionDetail::translate > Exception
Definition: Exception.h:66
std::string art::translateFileDeliveryStatus ( FileDeliveryStatus  stat)
std::string art::translateFileDisposition ( FileDisposition  fd)
std::string art::translateFileTransferStatus ( FileTransferStatus  stat)
constexpr auto art::underlying_value ( Level const  l)
noexcept

Definition at line 26 of file Level.h.

References submit_hadd::l.

Referenced by is_above_most_deeply_nested_level(), is_level_contained_by(), level_down(), level_up(), and operator<<().

27  {
28  return static_cast<std::underlying_type_t<Level>>(l);
29  }
std::string art::uniform_type_name ( std::type_info const &  tid)
inline

Definition at line 36 of file uniform_type_name.h.

Referenced by getElementAddresses(), and setPtr().

37 {
38  return uniform_type_name(cet::demangle_symbol(tid.name()));
39 }
std::string uniform_type_name(std::string name)
std::string art::uniform_type_name ( std::string  name)
Parameters
[in]nameThe already-demangled name for a type.
std::string art::unique_filename ( std::string  stem,
std::string  extension = ".root" 
)
std::string art::wrappedClassName ( std::string const &  iFullName)

Variable Documentation

DebugValue art::debugit
DebugTasksValue art::debugTasks
template<typename T >
detail::SharedResource_t art::SharedResource {typeid(T).name(), true}

Definition at line 15 of file SharedResource.h.

std::atomic<int> art::shutdown_flag