Classes | Public Types | Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | Friends | List of all members
art::OutputModule Class Referenceabstract

#include "/cvmfs/nova.opensciencegrid.org/externals/art/v3_05_01/source/art/Framework/Core/OutputModule.h"

Inheritance diagram for art::OutputModule:
art::Observer art::detail::SharedModule art::ModuleBase art::FileDumperOutput art::ProvenanceCheckerOutput art::ProvenanceDumper< DETAIL, Enable > art::ProvenanceDumper< DETAIL, std::void_t< typename DETAIL::Config > >

Classes

struct  Config
 

Public Types

using ModuleType = OutputModule
 
using WorkerType = OutputWorker
 
using PluginCollection_t = std::vector< std::unique_ptr< FileCatalogMetadataPlugin >>
 

Public Member Functions

virtual ~OutputModule () noexcept
 
 OutputModule (fhicl::ParameterSet const &pset)
 
 OutputModule (fhicl::TableFragment< Config > const &pset, fhicl::ParameterSet const &containing_pset)
 
 OutputModule (OutputModule const &)=delete
 
 OutputModule (OutputModule &&)=delete
 
OutputModuleoperator= (OutputModule const &)=delete
 
OutputModuleoperator= (OutputModule &&)=delete
 
int maxEvents () const
 
int remainingEvents () const
 
bool fileIsOpen () const
 
OutputFileStatus fileStatus () const
 
virtual std::string const & lastClosedFileName () const
 
SelectionsArray const & keptProducts () const
 
bool selected (BranchDescription const &) const
 
std::array< bool, NumBranchTypes > const & hasNewlyDroppedBranch () const
 
void selectProducts (ProductTables const &)
 
void doSelectProducts (ProductTables const &)
 
void registerProducts (ProductDescriptions &, ModuleDescription const &)
 
BranchChildren const & branchChildren () const
 
void fillDescriptions (ModuleDescription const &)
 
std::string const & processName () const
 
bool wantAllEvents () const
 
bool wantEvent (Event const &e)
 
fhicl::ParameterSetID selectorConfig () const
 
Handle< TriggerResultsgetTriggerResults (Event const &e) const
 
ModuleDescription const & moduleDescription () const
 
void setModuleDescription (ModuleDescription const &)
 
std::array< std::vector< ProductInfo >, NumBranchTypes > const & getConsumables () const
 
void sortConsumables (std::string const &current_process_name)
 
template<typename T , BranchType BT>
ViewToken< TconsumesView (InputTag const &tag)
 
template<typename T , BranchType BT>
ViewToken< TmayConsumeView (InputTag const &tag)
 
hep::concurrency::SerialTaskQueueChain * serialTaskQueueChain () const
 
void createQueues ()
 
template<BranchType BT = InEvent, typename... T>
void serialize (T const &...)
 
template<BranchType , typename... T>
void serialize (T const &...resources)
 
template<BranchType BT = InEvent, typename... T>
void serializeExternal (T const &...)
 
template<BranchType , typename... T>
void serializeExternal (T const &...resources)
 
template<BranchType BT = InEvent>
void async ()
 

Protected Member Functions

virtual void doRegisterProducts (ProductDescriptions &, ModuleDescription const &)
 
detail::ProcessAndEventSelectorsprocessAndEventSelectors ()
 
ConsumesCollectorconsumesCollector ()
 
template<typename T , BranchType = InEvent>
ProductToken< Tconsumes (InputTag const &)
 
template<typename Element , BranchType = InEvent>
ViewToken< Element > consumesView (InputTag const &)
 
template<typename T , BranchType = InEvent>
void consumesMany ()
 
template<typename T , BranchType = InEvent>
ProductToken< TmayConsume (InputTag const &)
 
template<typename Element , BranchType = InEvent>
ViewToken< Element > mayConsumeView (InputTag const &)
 
template<typename T , BranchType = InEvent>
void mayConsumeMany ()
 

Private Types

using BranchParents = std::map< ProductID, std::set< ParentageID >>
 

Private Member Functions

void configure (OutputModuleDescription const &desc)
 
virtual void doBeginJob ()
 
virtual void postSelectProducts ()
 
void doEndJob ()
 
void doRespondToOpenInputFile (FileBlock const &fb)
 
void doRespondToCloseInputFile (FileBlock const &fb)
 
void doRespondToOpenOutputFiles (FileBlock const &fb)
 
void doRespondToCloseOutputFiles (FileBlock const &fb)
 
bool doBeginRun (RunPrincipal const &rp, ModuleContext const &)
 
bool doEndRun (RunPrincipal const &rp, ModuleContext const &mc)
 
bool doBeginSubRun (SubRunPrincipal const &srp, ModuleContext const &mc)
 
bool doEndSubRun (SubRunPrincipal const &srp, ModuleContext const &mc)
 
bool doEvent (EventPrincipal const &ep, ModuleContext const &mc, std::atomic< std::size_t > &counts_run, std::atomic< std::size_t > &counts_passed, std::atomic< std::size_t > &counts_failed)
 
void doWriteRun (RunPrincipal &rp)
 
void doWriteSubRun (SubRunPrincipal &srp)
 
void doWriteEvent (EventPrincipal &ep)
 
void doSetRunAuxiliaryRangeSetID (RangeSet const &)
 
void doSetSubRunAuxiliaryRangeSetID (RangeSet const &)
 
bool doCloseFile ()
 
bool doOpenFile (FileBlock const &fb)
 
std::string workerType () const
 
void reallyCloseFile ()
 
virtual void incrementInputFileNumber ()
 
virtual bool requestsToCloseFile () const
 
virtual Granularity fileGranularity () const
 
virtual void setFileStatus (OutputFileStatus)
 
virtual void beginJob ()
 
virtual void endJob ()
 
virtual void beginRun (RunPrincipal const &)
 
virtual void endRun (RunPrincipal const &)
 
virtual void writeRun (RunPrincipal &r)=0
 
virtual void setRunAuxiliaryRangeSetID (RangeSet const &)
 
virtual void beginSubRun (SubRunPrincipal const &)
 
virtual void endSubRun (SubRunPrincipal const &)
 
virtual void writeSubRun (SubRunPrincipal &sr)=0
 
virtual void setSubRunAuxiliaryRangeSetID (RangeSet const &)
 
virtual void event (EventPrincipal const &)
 
virtual void write (EventPrincipal &e)=0
 
virtual void openFile (FileBlock const &)
 
virtual void respondToOpenInputFile (FileBlock const &)
 
virtual void readResults (ResultsPrincipal const &resp)
 
virtual void respondToCloseInputFile (FileBlock const &)
 
virtual void respondToOpenOutputFiles (FileBlock const &)
 
virtual void respondToCloseOutputFiles (FileBlock const &)
 
virtual bool isFileOpen () const
 
void updateBranchParents (EventPrincipal &ep)
 
void fillDependencyGraph ()
 
bool limitReached () const
 
virtual void startEndFile ()
 
virtual void writeFileFormatVersion ()
 
virtual void writeFileIdentifier ()
 
virtual void writeFileIndex ()
 
virtual void writeEventHistory ()
 
virtual void writeProcessConfigurationRegistry ()
 
virtual void writeProcessHistoryRegistry ()
 
virtual void writeParameterSetRegistry ()
 
virtual void writeBranchIDListRegistry ()
 
virtual void writeParentageRegistry ()
 
virtual void writeProductDescriptionRegistry ()
 
void writeFileCatalogMetadata ()
 
virtual void doWriteFileCatalogMetadata (FileCatalogMetadata::collection_type const &md, FileCatalogMetadata::collection_type const &ssmd)
 
virtual void writeProductDependencies ()
 
virtual void finishEndFile ()
 
PluginCollection_t makePlugins_ (std::vector< fhicl::ParameterSet > const &psets)
 

Private Attributes

SelectionsArray keptProducts_ {{}}
 
std::array< std::unique_ptr< GroupSelector const >, NumBranchTypesgroupSelector_ {{nullptr}}
 
std::array< bool, NumBranchTypeshasNewlyDroppedBranch_ {{false}}
 
GroupSelectorRules groupSelectorRules_
 
int maxEvents_ {-1}
 
int remainingEvents_ {maxEvents_}
 
std::map< ProductID, std::set< ParentageID > > branchParents_ {}
 
BranchChildren branchChildren_ {}
 
std::string configuredFileName_
 
std::string dataTier_
 
std::string streamName_
 
ServiceHandle< CatalogInterfaceci_ {}
 
cet::BasicPluginFactory pluginFactory_ {}
 
std::vector< std::stringpluginNames_ {}
 
PluginCollection_t plugins_
 

Friends

class WorkerT< OutputModule >
 
class OutputWorker
 

Detailed Description

Definition at line 54 of file OutputModule.h.

Member Typedef Documentation

using art::OutputModule::BranchParents = std::map<ProductID, std::set<ParentageID>>
private

Definition at line 248 of file OutputModule.h.

Definition at line 59 of file OutputModule.h.

Definition at line 63 of file OutputModule.h.

Definition at line 60 of file OutputModule.h.

Constructor & Destructor Documentation

virtual art::OutputModule::~OutputModule ( )
virtualnoexcept
art::OutputModule::OutputModule ( fhicl::ParameterSet const &  pset)
explicit
art::OutputModule::OutputModule ( fhicl::TableFragment< Config > const &  pset,
fhicl::ParameterSet const &  containing_pset 
)
explicit
art::OutputModule::OutputModule ( OutputModule const &  )
delete
art::OutputModule::OutputModule ( OutputModule &&  )
delete

Member Function Documentation

template<BranchType BT = InEvent>
void art::detail::SharedModule::async ( )
inlineinherited

Definition at line 33 of file SharedModule.h.

References art::detail::SharedModule::asyncDeclared_, art::detail::SharedModule::implicit_serialize(), art::InEvent, art::detail::SharedModule::serialize_for(), art::detail::SharedModule::serialize_for_external(), string, and T.

34  {
35  static_assert(
36  BT == InEvent,
37  "async is currently supported only for the 'InEvent' level.");
38  asyncDeclared_ = true;
39  }
virtual void art::OutputModule::beginJob ( )
privatevirtual
virtual void art::OutputModule::beginRun ( RunPrincipal const &  )
privatevirtual
virtual void art::OutputModule::beginSubRun ( SubRunPrincipal const &  )
privatevirtual
BranchChildren const& art::OutputModule::branchChildren ( ) const
void art::OutputModule::configure ( OutputModuleDescription const &  desc)
private
template<typename T , BranchType BT>
ProductToken< T > art::ModuleBase::consumes ( InputTag const &  tag)
protectedinherited

Definition at line 55 of file ModuleBase.h.

References art::ModuleBase::collector_, art::ConsumesCollector::consumes(), T, and getGoodRuns4SAM::tag.

56  {
57  return collector_.consumes<T, BT>(tag);
58  }
ConsumesCollector collector_
Definition: ModuleBase.h:50
ProductToken< T > consumes(InputTag const &)
double T
Definition: Xdiff_gwt.C:5
ConsumesCollector& art::ModuleBase::consumesCollector ( )
protectedinherited
template<typename T , BranchType BT>
void art::ModuleBase::consumesMany ( )
protectedinherited

Definition at line 69 of file ModuleBase.h.

References art::ModuleBase::collector_, art::ConsumesCollector::consumesMany(), and T.

70  {
71  collector_.consumesMany<T, BT>();
72  }
ConsumesCollector collector_
Definition: ModuleBase.h:50
double T
Definition: Xdiff_gwt.C:5
template<typename Element , BranchType = InEvent>
ViewToken<Element> art::ModuleBase::consumesView ( InputTag const &  )
protectedinherited
template<typename T , BranchType BT>
ViewToken<T> art::ModuleBase::consumesView ( InputTag const &  tag)
inherited

Definition at line 62 of file ModuleBase.h.

References art::ModuleBase::collector_, art::ConsumesCollector::consumesView(), T, and getGoodRuns4SAM::tag.

63  {
64  return collector_.consumesView<T, BT>(tag);
65  }
ConsumesCollector collector_
Definition: ModuleBase.h:50
ViewToken< Element > consumesView(InputTag const &)
double T
Definition: Xdiff_gwt.C:5
void art::detail::SharedModule::createQueues ( )
inherited
virtual void art::OutputModule::doBeginJob ( )
privatevirtual
bool art::OutputModule::doBeginRun ( RunPrincipal const &  rp,
ModuleContext const &   
)
private
bool art::OutputModule::doBeginSubRun ( SubRunPrincipal const &  srp,
ModuleContext const &  mc 
)
private
bool art::OutputModule::doCloseFile ( )
private
void art::OutputModule::doEndJob ( )
private
bool art::OutputModule::doEndRun ( RunPrincipal const &  rp,
ModuleContext const &  mc 
)
private
bool art::OutputModule::doEndSubRun ( SubRunPrincipal const &  srp,
ModuleContext const &  mc 
)
private
bool art::OutputModule::doEvent ( EventPrincipal const &  ep,
ModuleContext const &  mc,
std::atomic< std::size_t > &  counts_run,
std::atomic< std::size_t > &  counts_passed,
std::atomic< std::size_t > &  counts_failed 
)
private
bool art::OutputModule::doOpenFile ( FileBlock const &  fb)
private
virtual void art::OutputModule::doRegisterProducts ( ProductDescriptions ,
ModuleDescription const &   
)
protectedvirtual
void art::OutputModule::doRespondToCloseInputFile ( FileBlock const &  fb)
private
void art::OutputModule::doRespondToCloseOutputFiles ( FileBlock const &  fb)
private
void art::OutputModule::doRespondToOpenInputFile ( FileBlock const &  fb)
private
void art::OutputModule::doRespondToOpenOutputFiles ( FileBlock const &  fb)
private
void art::OutputModule::doSelectProducts ( ProductTables const &  )
void art::OutputModule::doSetRunAuxiliaryRangeSetID ( RangeSet const &  )
private
void art::OutputModule::doSetSubRunAuxiliaryRangeSetID ( RangeSet const &  )
private
void art::OutputModule::doWriteEvent ( EventPrincipal ep)
private
virtual void art::OutputModule::doWriteFileCatalogMetadata ( FileCatalogMetadata::collection_type const &  md,
FileCatalogMetadata::collection_type const &  ssmd 
)
privatevirtual
void art::OutputModule::doWriteRun ( RunPrincipal rp)
private
void art::OutputModule::doWriteSubRun ( SubRunPrincipal srp)
private
virtual void art::OutputModule::endJob ( )
privatevirtual
virtual void art::OutputModule::endRun ( RunPrincipal const &  )
privatevirtual
virtual void art::OutputModule::endSubRun ( SubRunPrincipal const &  )
privatevirtual
virtual void art::OutputModule::event ( EventPrincipal const &  )
privatevirtual
virtual Granularity art::OutputModule::fileGranularity ( ) const
privatevirtual
bool art::OutputModule::fileIsOpen ( ) const
OutputFileStatus art::OutputModule::fileStatus ( ) const
void art::OutputModule::fillDependencyGraph ( )
private
void art::Observer::fillDescriptions ( ModuleDescription const &  )
inherited
virtual void art::OutputModule::finishEndFile ( )
privatevirtual
std::array<std::vector<ProductInfo>, NumBranchTypes> const& art::ModuleBase::getConsumables ( ) const
inherited
Handle<TriggerResults> art::Observer::getTriggerResults ( Event const &  e) const
inherited
std::array<bool, NumBranchTypes> const& art::OutputModule::hasNewlyDroppedBranch ( ) const
virtual void art::OutputModule::incrementInputFileNumber ( )
privatevirtual
virtual bool art::OutputModule::isFileOpen ( ) const
privatevirtual
SelectionsArray const& art::OutputModule::keptProducts ( ) const
virtual std::string const& art::OutputModule::lastClosedFileName ( ) const
virtual
bool art::OutputModule::limitReached ( ) const
private
PluginCollection_t art::OutputModule::makePlugins_ ( std::vector< fhicl::ParameterSet > const &  psets)
private
int art::OutputModule::maxEvents ( ) const
template<typename T , BranchType BT>
ProductToken< T > art::ModuleBase::mayConsume ( InputTag const &  tag)
protectedinherited

Definition at line 76 of file ModuleBase.h.

References art::ModuleBase::collector_, art::ConsumesCollector::mayConsume(), T, and getGoodRuns4SAM::tag.

77  {
78  return collector_.mayConsume<T, BT>(tag);
79  }
ProductToken< T > mayConsume(InputTag const &)
ConsumesCollector collector_
Definition: ModuleBase.h:50
double T
Definition: Xdiff_gwt.C:5
template<typename T , BranchType BT>
void art::ModuleBase::mayConsumeMany ( )
protectedinherited

Definition at line 90 of file ModuleBase.h.

References art::ModuleBase::collector_, art::ConsumesCollector::mayConsumeMany(), and T.

91  {
93  }
ConsumesCollector collector_
Definition: ModuleBase.h:50
double T
Definition: Xdiff_gwt.C:5
template<typename Element , BranchType = InEvent>
ViewToken<Element> art::ModuleBase::mayConsumeView ( InputTag const &  )
protectedinherited
template<typename T , BranchType BT>
ViewToken<T> art::ModuleBase::mayConsumeView ( InputTag const &  tag)
inherited

Definition at line 83 of file ModuleBase.h.

References art::ModuleBase::collector_, art::ConsumesCollector::mayConsumeView(), T, and getGoodRuns4SAM::tag.

84  {
85  return collector_.mayConsumeView<T, BT>(tag);
86  }
ConsumesCollector collector_
Definition: ModuleBase.h:50
ViewToken< Element > mayConsumeView(InputTag const &)
double T
Definition: Xdiff_gwt.C:5
ModuleDescription const& art::ModuleBase::moduleDescription ( ) const
inherited
virtual void art::OutputModule::openFile ( FileBlock const &  )
privatevirtual
OutputModule& art::OutputModule::operator= ( OutputModule const &  )
delete
OutputModule& art::OutputModule::operator= ( OutputModule &&  )
delete
virtual void art::OutputModule::postSelectProducts ( )
privatevirtual
detail::ProcessAndEventSelectors& art::Observer::processAndEventSelectors ( )
protectedinherited
std::string const& art::Observer::processName ( ) const
inherited
virtual void art::OutputModule::readResults ( ResultsPrincipal const &  resp)
privatevirtual

Reimplemented in art::FileDumperOutput.

void art::OutputModule::reallyCloseFile ( )
private
void art::OutputModule::registerProducts ( ProductDescriptions ,
ModuleDescription const &   
)
int art::OutputModule::remainingEvents ( ) const
virtual bool art::OutputModule::requestsToCloseFile ( ) const
privatevirtual
virtual void art::OutputModule::respondToCloseInputFile ( FileBlock const &  )
privatevirtual
virtual void art::OutputModule::respondToCloseOutputFiles ( FileBlock const &  )
privatevirtual
virtual void art::OutputModule::respondToOpenInputFile ( FileBlock const &  )
privatevirtual
virtual void art::OutputModule::respondToOpenOutputFiles ( FileBlock const &  )
privatevirtual
bool art::OutputModule::selected ( BranchDescription const &  ) const
fhicl::ParameterSetID art::Observer::selectorConfig ( ) const
inherited
void art::OutputModule::selectProducts ( ProductTables const &  )
template<BranchType BT = InEvent, typename... T>
void art::detail::SharedModule::serialize ( T const &  ...)
inherited
template<BranchType , typename... T>
void art::detail::SharedModule::serialize ( T const &...  resources)
inherited

Definition at line 79 of file SharedModule.h.

References art::detail::SharedModule::serialize_for_resource(), and T.

80  {
81  serialize_for_resource(resources...);
82  }
void serialize_for_resource(T const &...t)
Definition: SharedModule.h:48
template<BranchType BT = InEvent, typename... T>
void art::detail::SharedModule::serializeExternal ( T const &  ...)
inherited
template<BranchType , typename... T>
void art::detail::SharedModule::serializeExternal ( T const &...  resources)
inherited

Definition at line 86 of file SharedModule.h.

References art::detail::SharedModule::serialize_for_external_resource().

87  {
88  serialize_for_external_resource(resources...);
89  }
void serialize_for_external_resource(T const &...t)
Definition: SharedModule.h:61
hep::concurrency::SerialTaskQueueChain* art::detail::SharedModule::serialTaskQueueChain ( ) const
inherited
virtual void art::OutputModule::setFileStatus ( OutputFileStatus  )
privatevirtual
void art::ModuleBase::setModuleDescription ( ModuleDescription const &  )
inherited
virtual void art::OutputModule::setRunAuxiliaryRangeSetID ( RangeSet const &  )
privatevirtual
virtual void art::OutputModule::setSubRunAuxiliaryRangeSetID ( RangeSet const &  )
privatevirtual
void art::ModuleBase::sortConsumables ( std::string const &  current_process_name)
inherited
virtual void art::OutputModule::startEndFile ( )
privatevirtual
void art::OutputModule::updateBranchParents ( EventPrincipal ep)
private
bool art::Observer::wantAllEvents ( ) const
inherited
bool art::Observer::wantEvent ( Event const &  e)
inherited
std::string art::OutputModule::workerType ( ) const
private
virtual void art::OutputModule::write ( EventPrincipal e)
privatepure virtual
virtual void art::OutputModule::writeBranchIDListRegistry ( )
privatevirtual
virtual void art::OutputModule::writeEventHistory ( )
privatevirtual
void art::OutputModule::writeFileCatalogMetadata ( )
private
virtual void art::OutputModule::writeFileFormatVersion ( )
privatevirtual
virtual void art::OutputModule::writeFileIdentifier ( )
privatevirtual
virtual void art::OutputModule::writeFileIndex ( )
privatevirtual
virtual void art::OutputModule::writeParameterSetRegistry ( )
privatevirtual
virtual void art::OutputModule::writeParentageRegistry ( )
privatevirtual
virtual void art::OutputModule::writeProcessConfigurationRegistry ( )
privatevirtual
virtual void art::OutputModule::writeProcessHistoryRegistry ( )
privatevirtual
virtual void art::OutputModule::writeProductDependencies ( )
privatevirtual
virtual void art::OutputModule::writeProductDescriptionRegistry ( )
privatevirtual
virtual void art::OutputModule::writeRun ( RunPrincipal r)
privatepure virtual
virtual void art::OutputModule::writeSubRun ( SubRunPrincipal sr)
privatepure virtual

Friends And Related Function Documentation

friend class OutputWorker
friend

Definition at line 56 of file OutputModule.h.

friend class WorkerT< OutputModule >
friend

Definition at line 55 of file OutputModule.h.

Member Data Documentation

BranchChildren art::OutputModule::branchChildren_ {}
private

Definition at line 250 of file OutputModule.h.

std::map<ProductID, std::set<ParentageID> > art::OutputModule::branchParents_ {}
private

Definition at line 249 of file OutputModule.h.

ServiceHandle<CatalogInterface> art::OutputModule::ci_ {}
private

Definition at line 254 of file OutputModule.h.

std::string art::OutputModule::configuredFileName_
private

Definition at line 251 of file OutputModule.h.

std::string art::OutputModule::dataTier_
private

Definition at line 252 of file OutputModule.h.

std::array<std::unique_ptr<GroupSelector const>, NumBranchTypes> art::OutputModule::groupSelector_ {{nullptr}}
private

Definition at line 243 of file OutputModule.h.

GroupSelectorRules art::OutputModule::groupSelectorRules_
private

Definition at line 245 of file OutputModule.h.

std::array<bool, NumBranchTypes> art::OutputModule::hasNewlyDroppedBranch_ {{false}}
private

Definition at line 244 of file OutputModule.h.

SelectionsArray art::OutputModule::keptProducts_ {{}}
private

Definition at line 241 of file OutputModule.h.

int art::OutputModule::maxEvents_ {-1}
private

Definition at line 246 of file OutputModule.h.

cet::BasicPluginFactory art::OutputModule::pluginFactory_ {}
private

Definition at line 255 of file OutputModule.h.

std::vector<std::string> art::OutputModule::pluginNames_ {}
private

Definition at line 258 of file OutputModule.h.

PluginCollection_t art::OutputModule::plugins_
private

Definition at line 259 of file OutputModule.h.

int art::OutputModule::remainingEvents_ {maxEvents_}
private

Definition at line 247 of file OutputModule.h.

std::string art::OutputModule::streamName_
private

Definition at line 253 of file OutputModule.h.


The documentation for this class was generated from the following file: