CMS 3D CMS Logo

List of all members | Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Private Member Functions | Private Attributes
edm::InputSource Class Referenceabstract

#include <InputSource.h>

Inheritance diagram for edm::InputSource:
edm::PoolSource edm::PuttableSourceBase edm::RawInputSource edm::RepeatingCachedRootSource edm::TestSource edm::IDGeneratorSourceBase< InputSource > edm::OneLumiPoolSource DQMRootSource dqmservices::DQMProtobufReader edm::IDGeneratorSourceBase< PuttableSourceBase > edm::RawInputSourceFromFiles edm::StreamerInputSource FedRawDataInputSource edm::EmptySource

Classes

class  EventSourceSentry
 
class  FileCloseSentry
 
class  FileOpenSentry
 
class  LumiSourceSentry
 
class  RunSourceSentry
 

Public Types

enum  ItemType {
  IsInvalid, IsStop, IsFile, IsRun,
  IsLumi, IsEvent, IsRepeat, IsSynchronize
}
 
enum  ProcessingMode { Runs, RunsAndLumis, RunsLumisAndEvents }
 

Public Member Functions

std::shared_ptr< ActivityRegistryactReg () const
 Accessor for Activity Registry. More...
 
std::shared_ptr< BranchIDListHelper > & branchIDListHelper ()
 
std::shared_ptr< BranchIDListHelper const > branchIDListHelper () const
 Accessors for branchIDListHelper. More...
 
void closeFile (FileBlock *, bool cleaningUpAfterException)
 close current file More...
 
void doBeginJob ()
 Called by framework at beginning of job. More...
 
virtual void doBeginLumi (LuminosityBlockPrincipal &lbp, ProcessContext const *)
 Called by framework at beginning of lumi block. More...
 
virtual void doBeginRun (RunPrincipal &rp, ProcessContext const *)
 Called by framework at beginning of run. More...
 
void doEndJob ()
 Called by framework at end of job. More...
 
ProcessingController::ForwardState forwardState () const
 
bool goToEvent (EventID const &eventID)
 
 InputSource (InputSource const &)=delete
 
 InputSource (ParameterSet const &, InputSourceDescription const &)
 Constructor. More...
 
void issueReports (EventID const &eventID, StreamID streamID)
 issue an event report More...
 
LuminosityBlockNumber_t luminosityBlock () const
 Accessor for current luminosity block number. More...
 
std::shared_ptr< LuminosityBlockAuxiliaryluminosityBlockAuxiliary () const
 Called by the framework to merge or insert lumi in principal cache. More...
 
int maxEvents () const
 
int maxLuminosityBlocks () const
 
ModuleDescription const & moduleDescription () const
 Accessor for 'module' description. More...
 
ItemType nextItemType ()
 Advances the source to the next item. More...
 
InputSourceoperator= (InputSource const &)=delete
 
ProcessConfiguration const & processConfiguration () const
 Accessor for Process Configuration. More...
 
std::string const & processGUID () const
 Accessor for global process identifier. More...
 
ProcessHistoryRegistryprocessHistoryRegistry ()
 
ProcessHistoryRegistry const & processHistoryRegistry () const
 Accessors for process history registry. More...
 
ProcessingMode processingMode () const
 RunsLumisAndEvents (default), RunsAndLumis, or Runs. More...
 
std::shared_ptr< ProductRegistry > & productRegistry ()
 
std::shared_ptr< ProductRegistry const > productRegistry () const
 Accessors for product registry. More...
 
bool randomAccess () const
 
void readAndMergeLumi (LuminosityBlockPrincipal &lbp)
 Read next luminosity block (same as a prior lumi) More...
 
void readAndMergeRun (RunPrincipal &rp)
 Read next run (same as a prior run) More...
 
bool readEvent (EventPrincipal &ep, EventID const &, StreamContext &)
 Read a specific event. More...
 
void readEvent (EventPrincipal &ep, StreamContext &)
 Read next event. More...
 
std::unique_ptr< FileBlockreadFile ()
 Read next file. More...
 
void readLuminosityBlock (LuminosityBlockPrincipal &lumiPrincipal, HistoryAppender &historyAppender)
 Read next luminosity block (new lumi) More...
 
std::shared_ptr< LuminosityBlockAuxiliaryreadLuminosityBlockAuxiliary ()
 Read next luminosity block Auxilary. More...
 
bool readProcessBlock ()
 Read next process block. More...
 
void readRun (RunPrincipal &runPrincipal, HistoryAppender &historyAppender)
 Read next run (new run) More...
 
std::shared_ptr< RunAuxiliaryreadRunAuxiliary ()
 Read next run Auxiliary. More...
 
ProcessHistoryID const & reducedProcessHistoryID () const
 
virtual void registerProducts ()
 Register any produced products. More...
 
int remainingEvents () const
 
int remainingLuminosityBlocks () const
 
void repeat ()
 Reset the remaining number of events/lumis to the maximum number. More...
 
std::pair< SharedResourcesAcquirer *, std::recursive_mutex * > resourceSharedWithDelayedReader ()
 Returns nullptr if no resource shared between the Source and a DelayedReader. More...
 
ProcessingController::ReverseState reverseState () const
 
void rewind ()
 Begin again at the first event. More...
 
RunNumber_t run () const
 Accessor for current run number. More...
 
std::shared_ptr< RunAuxiliaryrunAuxiliary () const
 Called by the framework to merge or insert run in principal cache. More...
 
void setLuminosityBlockNumber_t (LuminosityBlockNumber_t lb)
 Set the luminosity block ID. More...
 
void setRunNumber (RunNumber_t r)
 Set the run number. More...
 
void skipEvents (int offset)
 
std::shared_ptr< ThinnedAssociationsHelper > & thinnedAssociationsHelper ()
 
std::shared_ptr< ThinnedAssociationsHelper const > thinnedAssociationsHelper () const
 Accessors for thinnedAssociationsHelper. More...
 
Timestamp const & timestamp () const
 Accessor for the current time, as seen by the input source. More...
 
virtual ~InputSource () noexcept(false)
 Destructor. More...
 

Static Public Member Functions

static const std::string & baseType ()
 
static void fillDescription (ParameterSetDescription &desc)
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 

Public Attributes

signalslot::Signal< void(StreamContext const &, ModuleCallingContext const &)> postEventReadFromSourceSignal_
 
signalslot::Signal< void(StreamContext const &, ModuleCallingContext const &)> preEventReadFromSourceSignal_
 

Protected Member Functions

virtual void beginJob ()
 Begin protected makes it easier to do template programming. More...
 
void decreaseRemainingEventsBy (int iSkipped)
 
bool eventCached () const
 
bool newLumi () const
 
bool newRun () const
 
ProcessHistoryRegistryprocessHistoryRegistryForUpdate ()
 
ProductRegistryproductRegistryUpdate ()
 
void reset () const
 
void resetEventCached ()
 
void resetLuminosityBlockAuxiliary (bool isNewLumi=true) const
 
void resetNewLumi ()
 
void resetNewRun ()
 
void resetRunAuxiliary (bool isNewRun=true) const
 
void setEventCached ()
 Called by the framework to merge or ached() const {return eventCached_;}. More...
 
void setLuminosityBlockAuxiliary (LuminosityBlockAuxiliary *lbp)
 
void setNewLumi ()
 
void setNewRun ()
 
void setRunAuxiliary (RunAuxiliary *rp)
 
void setTimestamp (Timestamp const &theTime)
 To set the current time, as seen by the input source. More...
 
virtual void skip (int offset)
 
ItemType state () const
 

Private Member Functions

virtual void closeFile_ ()
 
virtual void endJob ()
 
bool eventLimitReached () const
 
virtual ProcessingController::ForwardState forwardState_ () const
 
virtual ItemType getNextItemType ()=0
 
virtual bool goToEvent_ (EventID const &eventID)
 
bool limitReached () const
 
bool lumiLimitReached () const
 
ItemType nextItemType_ ()
 
virtual bool randomAccess_ () const
 
virtual void readEvent_ (EventPrincipal &eventPrincipal)=0
 
virtual std::unique_ptr< FileBlockreadFile_ ()
 
virtual bool readIt (EventID const &id, EventPrincipal &eventPrincipal, StreamContext &streamContext)
 
virtual void readLuminosityBlock_ (LuminosityBlockPrincipal &lumiPrincipal)
 
virtual std::shared_ptr< LuminosityBlockAuxiliaryreadLuminosityBlockAuxiliary_ ()=0
 
virtual void readRun_ (RunPrincipal &runPrincipal)
 
virtual std::shared_ptr< RunAuxiliaryreadRunAuxiliary_ ()=0
 
virtual std::pair< SharedResourcesAcquirer *, std::recursive_mutex * > resourceSharedWithDelayedReader_ ()
 
virtual ProcessingController::ReverseState reverseState_ () const
 
virtual void rewind_ ()
 
virtual void setLumi (LuminosityBlockNumber_t lb)
 
virtual void setRun (RunNumber_t r)
 

Private Attributes

std::shared_ptr< ActivityRegistryactReg_
 
edm::propagate_const< std::shared_ptr< BranchIDListHelper > > branchIDListHelper_
 
bool eventCached_
 
std::shared_ptr< LuminosityBlockAuxiliarylumiAuxiliary_
 
int maxEvents_
 
int maxLumis_
 
int maxSecondsUntilRampdown_
 
const ModuleDescription moduleDescription_
 
bool newLumi_
 
bool newRun_
 
unsigned int numberOfEventsBeforeBigSkip_
 
std::string processGUID_
 
edm::propagate_const< std::unique_ptr< ProcessHistoryRegistry > > processHistoryRegistry_
 
ProcessingMode processingMode_
 
std::chrono::time_point< std::chrono::steady_clock > processingStart_
 
edm::propagate_const< std::shared_ptr< ProductRegistry > > productRegistry_
 
int readCount_
 
int remainingEvents_
 
int remainingLumis_
 
std::shared_ptr< RunAuxiliaryrunAuxiliary_
 
ItemType state_
 
std::string statusFileName_
 
edm::propagate_const< std::shared_ptr< ThinnedAssociationsHelper > > thinnedAssociationsHelper_
 
Timestamp time_
 

Detailed Description

Definition at line 76 of file InputSource.h.

Member Enumeration Documentation

◆ ItemType

Enumerator
IsInvalid 
IsStop 
IsFile 
IsRun 
IsLumi 
IsEvent 
IsRepeat 
IsSynchronize 

Definition at line 78 of file InputSource.h.

◆ ProcessingMode

Enumerator
Runs 
RunsAndLumis 
RunsLumisAndEvents 

Definition at line 80 of file InputSource.h.

Constructor & Destructor Documentation

◆ InputSource() [1/2]

InputSource::InputSource ( ParameterSet const &  pset,
InputSourceDescription const &  desc 
)
explicit

Constructor.

Definition at line 46 of file InputSource.cc.

47  : actReg_(desc.actReg_),
48  maxEvents_(desc.maxEvents_),
50  maxLumis_(desc.maxLumis_),
52  readCount_(0),
53  maxSecondsUntilRampdown_(desc.maxSecondsUntilRampdown_),
55  moduleDescription_(desc.moduleDescription_),
56  productRegistry_(desc.productRegistry_),
57  processHistoryRegistry_(new ProcessHistoryRegistry),
58  branchIDListHelper_(desc.branchIDListHelper_),
59  thinnedAssociationsHelper_(desc.thinnedAssociationsHelper_),
61  time_(),
62  newRun_(true),
63  newLumi_(true),
64  eventCached_(false),
66  runAuxiliary_(),
70  if (pset.getUntrackedParameter<bool>("writeStatusFile", false)) {
71  std::ostringstream statusfilename;
72  statusfilename << "source_" << getpid();
73  statusFileName_ = statusfilename.str();
74  }
75  if (maxSecondsUntilRampdown_ > 0) {
77  }
78 
79  std::string const defaultMode("RunsLumisAndEvents");
80  std::string const runMode("Runs");
81  std::string const runLumiMode("RunsAndLumis");
82 
83  // The default value provided as the second argument to the getUntrackedParameter function call
84  // is not used when the ParameterSet has been validated and the parameters are not optional
85  // in the description. As soon as all primary input sources and all modules with a secondary
86  // input sources have defined descriptions, the defaults in the getUntrackedParameterSet function
87  // calls can and should be deleted from the code.
88  std::string processingMode = pset.getUntrackedParameter<std::string>("processingMode", defaultMode);
89  if (processingMode == runMode) {
91  } else if (processingMode == runLumiMode) {
93  } else if (processingMode != defaultMode) {
95  << "InputSource::InputSource()\n"
96  << "The 'processingMode' parameter for sources has an illegal value '" << processingMode << "'\n"
97  << "Legal values are '" << defaultMode << "', '" << runLumiMode << "', or '" << runMode << "'.\n";
98  }
99  }

References edm::errors::Configuration, Exception, maxSecondsUntilRampdown_, submitPVValidationJobs::now, processingMode(), processingMode_, processingStart_, muonDTDigis_cfi::pset, TopDecaySubset_cfi::runMode, Runs, RunsAndLumis, statusFileName_, and AlCaHLTBitMon_QueryRunRegistry::string.

◆ ~InputSource()

InputSource::~InputSource ( )
virtualnoexcept

Destructor.

Definition at line 101 of file InputSource.cc.

101 {}

◆ InputSource() [2/2]

edm::InputSource::InputSource ( InputSource const &  )
delete

Member Function Documentation

◆ actReg()

std::shared_ptr<ActivityRegistry> edm::InputSource::actReg ( ) const
inline

Accessor for Activity Registry.

Definition at line 239 of file InputSource.h.

239 { return actReg_; }

References actReg_.

Referenced by edm::InputSource::LumiSourceSentry::LumiSourceSentry(), and edm::InputSource::RunSourceSentry::RunSourceSentry().

◆ baseType()

std::string const & InputSource::baseType ( )
static

Definition at line 113 of file InputSource.cc.

113 { return kBaseType; }

References edm::kBaseType().

◆ beginJob()

void InputSource::beginJob ( void  )
protectedvirtual

Begin protected makes it easier to do template programming.

Reimplemented in edm::RepeatingCachedRootSource, edm::IDGeneratorSourceBase< InputSource >, edm::IDGeneratorSourceBase< PuttableSourceBase >, and edm::PuttableSourceBase.

Definition at line 420 of file InputSource.cc.

420 {}

Referenced by doBeginJob().

◆ branchIDListHelper() [1/2]

std::shared_ptr<BranchIDListHelper>& edm::InputSource::branchIDListHelper ( )
inline

Definition at line 165 of file InputSource.h.

References branchIDListHelper_, and edm::get_underlying_safe().

◆ branchIDListHelper() [2/2]

std::shared_ptr<BranchIDListHelper const> edm::InputSource::branchIDListHelper ( ) const
inline

◆ closeFile()

void InputSource::closeFile ( FileBlock fb,
bool  cleaningUpAfterException 
)

close current file

Definition at line 227 of file InputSource.cc.

227  {
228  if (fb != nullptr)
229  fb->close();
230  callWithTryCatchAndPrint<void>(
231  [this]() { closeFile_(); }, "Calling InputSource::closeFile_", cleaningUpAfterException);
232  return;
233  }

References closeFile_(), and benchmark_cfg::fb.

◆ closeFile_()

virtual void edm::InputSource::closeFile_ ( )
inlineprivatevirtual

Reimplemented in edm::PoolSource, and edm::RawInputSource.

Definition at line 397 of file InputSource.h.

397 {}

Referenced by closeFile().

◆ decreaseRemainingEventsBy()

void InputSource::decreaseRemainingEventsBy ( int  iSkipped)
protected

Called by inheriting classes when running multicore when the receiver has told them to skip some events.

Definition at line 391 of file InputSource.cc.

391  {
392  if (-1 == remainingEvents_) {
393  return;
394  }
395  if (iSkipped < remainingEvents_) {
396  remainingEvents_ -= iSkipped;
397  } else {
398  remainingEvents_ = 0;
399  }
400  }

References remainingEvents_.

◆ doBeginJob()

void InputSource::doBeginJob ( )

Called by framework at beginning of job.

Definition at line 205 of file InputSource.cc.

205 { this->beginJob(); }

References beginJob().

◆ doBeginLumi()

void InputSource::doBeginLumi ( LuminosityBlockPrincipal lbp,
ProcessContext const *   
)
virtual

Called by framework at beginning of lumi block.

Reimplemented in edm::PuttableSourceBase.

Definition at line 404 of file InputSource.cc.

404 {}

◆ doBeginRun()

void InputSource::doBeginRun ( RunPrincipal rp,
ProcessContext const *   
)
virtual

Called by framework at beginning of run.

Reimplemented in edm::PuttableSourceBase.

Definition at line 402 of file InputSource.cc.

402 {}

◆ doEndJob()

void InputSource::doEndJob ( )

Called by framework at end of job.

Definition at line 207 of file InputSource.cc.

207 { endJob(); }

References endJob().

Referenced by edm::EventProcessor::endJob().

◆ endJob()

void InputSource::endJob ( void  )
privatevirtual

Reimplemented in edm::PoolSource, MCatNLOSource, LH5Source, and LHESource.

Definition at line 422 of file InputSource.cc.

422 {}

Referenced by doEndJob().

◆ eventCached()

bool edm::InputSource::eventCached ( ) const
inlineprotected

◆ eventLimitReached()

bool edm::InputSource::eventLimitReached ( ) const
inlineprivate

Definition at line 372 of file InputSource.h.

372 { return remainingEvents_ == 0; }

References remainingEvents_.

Referenced by limitReached(), nextItemType(), and readEvent().

◆ fillDescription()

void InputSource::fillDescription ( ParameterSetDescription desc)
static

Definition at line 115 of file InputSource.cc.

115  {
116  std::string defaultString("RunsLumisAndEvents");
117  desc.addUntracked<std::string>("processingMode", defaultString)
118  ->setComment(
119  "'RunsLumisAndEvents': process runs, lumis, and events.\n"
120  "'RunsAndLumis': process runs and lumis (not events).\n"
121  "'Runs': process runs (not lumis or events).");
122  desc.addUntracked<bool>("writeStatusFile", false)
123  ->setComment("Write a status file. Intended for use by workflow management.");
124  }

References submitPVResolutionJobs::desc, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by edm::RawInputSource::fillDescription(), edm::PoolSource::fillDescriptions(), and edm::RepeatingCachedRootSource::fillDescriptions().

◆ fillDescriptions()

void InputSource::fillDescriptions ( ConfigurationDescriptions descriptions)
static

Definition at line 103 of file InputSource.cc.

103  {
105  desc.setUnknown();
106  descriptions.addDefault(desc);
107  }

References edm::ConfigurationDescriptions::addDefault(), and submitPVResolutionJobs::desc.

◆ forwardState()

ProcessingController::ForwardState InputSource::forwardState ( ) const

Definition at line 410 of file InputSource.cc.

410  {
411  return callWithTryCatchAndPrint<ProcessingController::ForwardState>([this]() { return forwardState_(); },
412  "Calling InputSource::forwardState_");
413  }

References forwardState_().

◆ forwardState_()

ProcessingController::ForwardState InputSource::forwardState_ ( ) const
privatevirtual

Reimplemented in edm::PoolSource.

Definition at line 426 of file InputSource.cc.

426  {
428  }

References edm::ProcessingController::kUnknownForward.

Referenced by forwardState().

◆ getNextItemType()

virtual ItemType edm::InputSource::getNextItemType ( )
privatepure virtual

◆ goToEvent()

bool InputSource::goToEvent ( EventID const &  eventID)

Definition at line 324 of file InputSource.cc.

324  {
325  return callWithTryCatchAndPrint<bool>([this, &eventID]() { return goToEvent_(eventID); },
326  "Calling InputSource::goToEvent_");
327  }

References goToEvent_().

◆ goToEvent_()

bool InputSource::goToEvent_ ( EventID const &  eventID)
privatevirtual

Reimplemented in edm::RepeatingCachedRootSource, and edm::PoolSource.

Definition at line 378 of file InputSource.cc.

378  {
379  throw Exception(errors::LogicError) << "InputSource::goToEvent_()\n"
380  << "Random access is not implemented for this type of Input Source\n"
381  << "Contact a Framework Developer\n";
382  return true;
383  }

References Exception, and edm::errors::LogicError.

Referenced by goToEvent().

◆ issueReports()

void InputSource::issueReports ( EventID const &  eventID,
StreamID  streamID 
)

issue an event report

Definition at line 338 of file InputSource.cc.

338  {
339  if (isFwkInfoEnabled()) {
340  LogFwkVerbatim("FwkReport") << "Begin processing the " << readCount_ << suffix(readCount_) << " record. Run "
341  << eventID.run() << ", Event " << eventID.event() << ", LumiSection "
342  << eventID.luminosityBlock() << " on stream " << streamID.value() << " at "
343  << std::setprecision(3) << TimeOfDay();
344  }
345  if (!statusFileName_.empty()) {
346  std::ofstream statusFile(statusFileName_.c_str());
347  statusFile << eventID << " time: " << std::setprecision(3) << TimeOfDay() << '\n';
348  statusFile.close();
349  }
350 
351  // At some point we may want to initiate checkpointing here
352  }

References edm::EventID::event(), edm::isFwkInfoEnabled(), edm::EventID::luminosityBlock(), readCount_, edm::EventID::run(), statusFileName_, createPayload::suffix, and edm::StreamID::value().

Referenced by readEvent().

◆ limitReached()

bool edm::InputSource::limitReached ( ) const
inlineprivate

Definition at line 387 of file InputSource.h.

387 { return eventLimitReached() || lumiLimitReached(); }

References eventLimitReached(), and lumiLimitReached().

Referenced by readEvent(), and readFile().

◆ lumiLimitReached()

bool edm::InputSource::lumiLimitReached ( ) const
inlineprivate

Definition at line 373 of file InputSource.h.

373  {
374  if (remainingLumis_ == 0) {
375  return true;
376  }
377  if (maxSecondsUntilRampdown_ <= 0) {
378  return false;
379  }
381  auto elapsed = end - processingStart_;
382  if (std::chrono::duration_cast<std::chrono::seconds>(elapsed).count() > maxSecondsUntilRampdown_) {
383  return true;
384  }
385  return false;
386  }

References submitPVResolutionJobs::count, mps_fire::end, maxSecondsUntilRampdown_, submitPVValidationJobs::now, processingStart_, and remainingLumis_.

Referenced by limitReached(), and nextItemType().

◆ luminosityBlock()

LuminosityBlockNumber_t InputSource::luminosityBlock ( ) const

◆ luminosityBlockAuxiliary()

std::shared_ptr<LuminosityBlockAuxiliary> edm::InputSource::luminosityBlockAuxiliary ( ) const
inline

◆ maxEvents()

int edm::InputSource::maxEvents ( ) const
inline

Accessor for maximum number of events to be read. -1 is used for unlimited.

Definition at line 186 of file InputSource.h.

186 { return maxEvents_; }

References maxEvents_.

◆ maxLuminosityBlocks()

int edm::InputSource::maxLuminosityBlocks ( ) const
inline

Accessor for maximum number of lumis to be read. -1 is used for unlimited.

Definition at line 194 of file InputSource.h.

194 { return maxLumis_; }

References maxLumis_.

◆ moduleDescription()

ModuleDescription const& edm::InputSource::moduleDescription ( ) const
inline

◆ newLumi()

bool edm::InputSource::newLumi ( ) const
inlineprotected

◆ newRun()

bool edm::InputSource::newRun ( ) const
inlineprotected

◆ nextItemType()

InputSource::ItemType InputSource::nextItemType ( )

Advances the source to the next item.

Definition at line 149 of file InputSource.cc.

149  {
150  ItemType oldState = state_;
151  if (eventLimitReached()) {
152  // If the maximum event limit has been reached, stop.
153  state_ = IsStop;
154  } else if (lumiLimitReached()) {
155  // If the maximum lumi limit has been reached, stop
156  // when reaching a new file, run, or lumi.
157  if (oldState == IsInvalid || oldState == IsFile || oldState == IsRun || processingMode() != RunsLumisAndEvents) {
158  state_ = IsStop;
159  } else {
160  ItemType newState = nextItemType_();
161  if (newState == IsEvent) {
163  state_ = IsEvent;
164  } else {
165  state_ = IsStop;
166  }
167  }
168  } else {
169  ItemType newState = nextItemType_();
170  if (newState == IsStop) {
171  state_ = IsStop;
172  } else if (newState == IsSynchronize) {
174  } else if (newState == IsFile || oldState == IsInvalid) {
175  state_ = IsFile;
176  } else if (newState == IsRun || oldState == IsFile) {
178  state_ = IsRun;
179  } else if (newState == IsLumi || oldState == IsRun) {
180  assert(processingMode() != Runs);
182  state_ = IsLumi;
183  } else {
185  state_ = IsEvent;
186  }
187  }
188  if (state_ == IsStop) {
189  lumiAuxiliary_.reset();
190  runAuxiliary_.reset();
191  }
192  return state_;
193  }

References cms::cuda::assert(), eventLimitReached(), IsEvent, IsFile, IsInvalid, IsLumi, IsRun, IsStop, IsSynchronize, lumiAuxiliary_, lumiLimitReached(), nextItemType_(), processingMode(), readLuminosityBlockAuxiliary(), readRunAuxiliary(), runAuxiliary_, Runs, RunsLumisAndEvents, and state_.

◆ nextItemType_()

InputSource::ItemType InputSource::nextItemType_ ( )
private

Definition at line 134 of file InputSource.cc.

134  {
135  ItemType itemType = callWithTryCatchAndPrint<ItemType>([this]() { return getNextItemType(); },
136  "Calling InputSource::getNextItemType");
137 
138  if (itemType == IsEvent && processingMode() != RunsLumisAndEvents) {
139  skipEvents(1);
140  return nextItemType_();
141  }
142  if (itemType == IsLumi && processingMode() == Runs) {
143  // QQQ skipLuminosityBlock_();
144  return nextItemType_();
145  }
146  return itemType;
147  }

References getNextItemType(), IsEvent, IsLumi, processingMode(), Runs, RunsLumisAndEvents, and skipEvents().

Referenced by nextItemType().

◆ operator=()

InputSource& edm::InputSource::operator= ( InputSource const &  )
delete

◆ prevalidate()

void InputSource::prevalidate ( ConfigurationDescriptions )
static

Definition at line 109 of file InputSource.cc.

109 {}

◆ processConfiguration()

ProcessConfiguration const& edm::InputSource::processConfiguration ( ) const
inline

◆ processGUID()

std::string const& edm::InputSource::processGUID ( ) const
inline

Accessor for global process identifier.

Definition at line 207 of file InputSource.h.

207 { return processGUID_; }

References processGUID_.

Referenced by FedRawDataInputSource::read(), edm::TestSource::readEvent_(), LH5Source::readEvent_(), and LHESource::readEvent_().

◆ processHistoryRegistry() [1/2]

ProcessHistoryRegistry& edm::InputSource::processHistoryRegistry ( )
inline

Definition at line 159 of file InputSource.h.

159 { return *processHistoryRegistry_; }

References processHistoryRegistry_.

◆ processHistoryRegistry() [2/2]

ProcessHistoryRegistry const& edm::InputSource::processHistoryRegistry ( ) const
inline

◆ processHistoryRegistryForUpdate()

ProcessHistoryRegistry& edm::InputSource::processHistoryRegistryForUpdate ( )
inlineprotected

◆ processingMode()

ProcessingMode edm::InputSource::processingMode ( ) const
inline

◆ productRegistry() [1/2]

std::shared_ptr<ProductRegistry>& edm::InputSource::productRegistry ( )
inline

Definition at line 155 of file InputSource.h.

References edm::get_underlying_safe(), and productRegistry_.

◆ productRegistry() [2/2]

std::shared_ptr<ProductRegistry const> edm::InputSource::productRegistry ( ) const
inline

◆ productRegistryUpdate()

ProductRegistry& edm::InputSource::productRegistryUpdate ( )
inlineprotected

◆ randomAccess()

bool InputSource::randomAccess ( ) const

Definition at line 406 of file InputSource.cc.

406  {
407  return callWithTryCatchAndPrint<bool>([this]() { return randomAccess_(); }, "Calling InputSource::randomAccess_");
408  }

References randomAccess_().

◆ randomAccess_()

bool InputSource::randomAccess_ ( ) const
privatevirtual

Reimplemented in edm::PoolSource.

Definition at line 424 of file InputSource.cc.

424 { return false; }

Referenced by randomAccess().

◆ readAndMergeLumi()

void InputSource::readAndMergeLumi ( LuminosityBlockPrincipal lbp)

Read next luminosity block (same as a prior lumi)

Definition at line 260 of file InputSource.cc.

260  {
261  LumiSourceSentry sentry(*this, lbp.index());
262  callWithTryCatchAndPrint<void>([this, &lbp]() { readLuminosityBlock_(lbp); },
263  "Calling InputSource::readLuminosityBlock_");
264  if (remainingLumis_ > 0) {
265  --remainingLumis_;
266  }
267  }

References edm::LuminosityBlockPrincipal::index(), readLuminosityBlock_(), and remainingLumis_.

◆ readAndMergeRun()

void InputSource::readAndMergeRun ( RunPrincipal rp)

Read next run (same as a prior run)

Definition at line 246 of file InputSource.cc.

246  {
247  RunSourceSentry sentry(*this, rp.index());
248  callWithTryCatchAndPrint<void>([this, &rp]() { readRun_(rp); }, "Calling InputSource::readRun_");
249  }

References edm::RunPrincipal::index(), and readRun_().

◆ readEvent() [1/2]

bool InputSource::readEvent ( EventPrincipal ep,
EventID const &  eventID,
StreamContext streamContext 
)

Read a specific event.

Definition at line 300 of file InputSource.cc.

300  {
301  bool result = false;
302 
303  if (not limitReached()) {
304  // the Pre/PostSourceEvent signals should be generated only if the event is actually found.
305  // this should be taken care of by an EventSourceSentry in the implementaion of readIt()
306 
307  //result = callWithTryCatchAndPrint<bool>( [this,&eventID,&ep](){ return readIt(eventID, ep); }, "Calling InputSource::readIt" );
308  result = readIt(eventID, ep, streamContext);
309 
310  if (result) {
311  if (remainingEvents_ > 0)
313  ++readCount_;
314  issueReports(ep.id(), ep.streamID());
315  }
316  }
317  return result;
318  }

References SiStripBadComponentsDQMServiceTemplate_cfg::ep, issueReports(), limitReached(), readCount_, readIt(), remainingEvents_, and mps_fire::result.

◆ readEvent() [2/2]

void InputSource::readEvent ( EventPrincipal ep,
StreamContext streamContext 
)

Read next event.

Definition at line 283 of file InputSource.cc.

283  {
284  assert(state_ == IsEvent);
286  {
287  // block scope, in order to issue the PostSourceEvent signal before calling postRead and issueReports
288  EventSourceSentry sentry(*this, streamContext);
289 
290  callWithTryCatchAndPrint<void>([this, &ep]() { readEvent_(ep); }, "Calling InputSource::readEvent_");
291  }
292 
293  if (remainingEvents_ > 0)
295  ++readCount_;
296  setTimestamp(ep.time());
297  issueReports(ep.id(), ep.streamID());
298  }

References cms::cuda::assert(), SiStripBadComponentsDQMServiceTemplate_cfg::ep, eventLimitReached(), IsEvent, issueReports(), readCount_, readEvent_(), remainingEvents_, setTimestamp(), and state_.

◆ readEvent_()

virtual void edm::InputSource::readEvent_ ( EventPrincipal eventPrincipal)
privatepure virtual

◆ readFile()

std::unique_ptr< FileBlock > InputSource::readFile ( )

Read next file.

Definition at line 220 of file InputSource.cc.

220  {
221  assert(state_ == IsFile);
222  assert(!limitReached());
223  return callWithTryCatchAndPrint<std::unique_ptr<FileBlock> >([this]() { return readFile_(); },
224  "Calling InputSource::readFile_");
225  }

References cms::cuda::assert(), IsFile, limitReached(), readFile_(), and state_.

◆ readFile_()

std::unique_ptr< FileBlock > InputSource::readFile_ ( )
privatevirtual

Reimplemented in DQMRootSource, edm::PoolSource, and edm::RawInputSource.

Definition at line 238 of file InputSource.cc.

238 { return std::make_unique<FileBlock>(); }

Referenced by readFile().

◆ readIt()

bool InputSource::readIt ( EventID const &  id,
EventPrincipal eventPrincipal,
StreamContext streamContext 
)
privatevirtual

Reimplemented in edm::RepeatingCachedRootSource, and edm::PoolSource.

Definition at line 354 of file InputSource.cc.

354  {
355  throw Exception(errors::LogicError) << "InputSource::readIt()\n"
356  << "Random access is not implemented for this type of Input Source\n"
357  << "Contact a Framework Developer\n";
358  }

References Exception, and edm::errors::LogicError.

Referenced by readEvent().

◆ readLuminosityBlock()

void InputSource::readLuminosityBlock ( LuminosityBlockPrincipal lumiPrincipal,
HistoryAppender historyAppender 
)

Read next luminosity block (new lumi)

Definition at line 251 of file InputSource.cc.

251  {
252  LumiSourceSentry sentry(*this, lumiPrincipal.index());
253  callWithTryCatchAndPrint<void>([this, &lumiPrincipal]() { readLuminosityBlock_(lumiPrincipal); },
254  "Calling InputSource::readLuminosityBlock_");
255  if (remainingLumis_ > 0) {
256  --remainingLumis_;
257  }
258  }

References edm::LuminosityBlockPrincipal::index(), readLuminosityBlock_(), and remainingLumis_.

◆ readLuminosityBlock_()

void InputSource::readLuminosityBlock_ ( LuminosityBlockPrincipal lumiPrincipal)
privatevirtual

◆ readLuminosityBlockAuxiliary()

std::shared_ptr< LuminosityBlockAuxiliary > InputSource::readLuminosityBlockAuxiliary ( )

Read next luminosity block Auxilary.

Definition at line 195 of file InputSource.cc.

195  {
196  return callWithTryCatchAndPrint<std::shared_ptr<LuminosityBlockAuxiliary> >(
197  [this]() { return readLuminosityBlockAuxiliary_(); }, "Calling InputSource::readLuminosityBlockAuxiliary_");
198  }

References readLuminosityBlockAuxiliary_().

Referenced by nextItemType().

◆ readLuminosityBlockAuxiliary_()

virtual std::shared_ptr<LuminosityBlockAuxiliary> edm::InputSource::readLuminosityBlockAuxiliary_ ( )
privatepure virtual

◆ readProcessBlock()

bool InputSource::readProcessBlock ( )

Read next process block.

Definition at line 269 of file InputSource.cc.

269 { return false; }

◆ readRun()

void InputSource::readRun ( RunPrincipal runPrincipal,
HistoryAppender historyAppender 
)

Read next run (new run)

Definition at line 240 of file InputSource.cc.

240  {
241  RunSourceSentry sentry(*this, runPrincipal.index());
242  callWithTryCatchAndPrint<void>([this, &runPrincipal]() { readRun_(runPrincipal); },
243  "Calling InputSource::readRun_");
244  }

References edm::RunPrincipal::index(), and readRun_().

◆ readRun_()

void InputSource::readRun_ ( RunPrincipal runPrincipal)
privatevirtual

Reimplemented in edm::RepeatingCachedRootSource, edm::PoolSource, LH5Source, LHESource, DQMRootSource, and dqmservices::DQMProtobufReader.

Definition at line 271 of file InputSource.cc.

271  {
272  // Note: For the moment, we do not support saving and restoring the state of the
273  // random number generator if random numbers are generated during processing of runs
274  // (e.g. beginRun(), endRun())
275  runPrincipal.fillRunPrincipal(processHistoryRegistry());
276  }

References edm::RunPrincipal::fillRunPrincipal(), and processHistoryRegistry().

Referenced by readAndMergeRun(), and readRun().

◆ readRunAuxiliary()

std::shared_ptr< RunAuxiliary > InputSource::readRunAuxiliary ( )

Read next run Auxiliary.

Definition at line 200 of file InputSource.cc.

200  {
201  return callWithTryCatchAndPrint<std::shared_ptr<RunAuxiliary> >([this]() { return readRunAuxiliary_(); },
202  "Calling InputSource::readRunAuxiliary_");
203  }

References readRunAuxiliary_().

Referenced by nextItemType().

◆ readRunAuxiliary_()

virtual std::shared_ptr<RunAuxiliary> edm::InputSource::readRunAuxiliary_ ( )
privatepure virtual

◆ reducedProcessHistoryID()

ProcessHistoryID const & InputSource::reducedProcessHistoryID ( ) const

Accessor for the reduced process history ID of the current run. This is the ID of the input process history which does not include the current process.

Definition at line 434 of file InputSource.cc.

434  {
435  assert(runAuxiliary());
436  return processHistoryRegistry_->reducedProcessHistoryID(runAuxiliary()->processHistoryID());
437  }

References cms::cuda::assert(), processHistoryRegistry_, and runAuxiliary().

◆ registerProducts()

void InputSource::registerProducts ( )
virtual

Register any produced products.

Reimplemented in edm::PuttableSourceBase.

Definition at line 217 of file InputSource.cc.

217 {}

◆ remainingEvents()

int edm::InputSource::remainingEvents ( ) const
inline

Accessor for remaining number of events to be read. -1 is used for unlimited.

Definition at line 190 of file InputSource.h.

190 { return remainingEvents_; }

References remainingEvents_.

Referenced by edm::RepeatingCachedRootSource::makeRootFile(), and edm::RootPrimaryFileSequence::remainingEvents().

◆ remainingLuminosityBlocks()

int edm::InputSource::remainingLuminosityBlocks ( ) const
inline

Accessor for remaining number of lumis to be read. -1 is used for unlimited.

Definition at line 198 of file InputSource.h.

198 { return remainingLumis_; }

References remainingLumis_.

Referenced by edm::RepeatingCachedRootSource::makeRootFile(), and edm::RootPrimaryFileSequence::remainingLuminosityBlocks().

◆ repeat()

void edm::InputSource::repeat ( )
inline

Reset the remaining number of events/lumis to the maximum number.

Definition at line 176 of file InputSource.h.

176  {
179  }

References maxEvents_, maxLumis_, remainingEvents_, and remainingLumis_.

◆ reset()

void edm::InputSource::reset ( void  ) const
inlineprotected

◆ resetEventCached()

void edm::InputSource::resetEventCached ( )
inlineprotected

◆ resetLuminosityBlockAuxiliary()

void edm::InputSource::resetLuminosityBlockAuxiliary ( bool  isNewLumi = true) const
inlineprotected

◆ resetNewLumi()

void edm::InputSource::resetNewLumi ( )
inlineprotected

◆ resetNewRun()

void edm::InputSource::resetNewRun ( )
inlineprotected

Definition at line 355 of file InputSource.h.

355 { newRun_ = false; }

References newRun_.

Referenced by edm::RawInputSource::readRunAuxiliary_(), LHESource::readRunAuxiliary_(), and LH5Source::readRunAuxiliary_().

◆ resetRunAuxiliary()

void edm::InputSource::resetRunAuxiliary ( bool  isNewRun = true) const
inlineprotected

◆ resourceSharedWithDelayedReader()

std::pair< SharedResourcesAcquirer *, std::recursive_mutex * > InputSource::resourceSharedWithDelayedReader ( )

Returns nullptr if no resource shared between the Source and a DelayedReader.

Definition at line 209 of file InputSource.cc.

209  {
211  }

References resourceSharedWithDelayedReader_().

◆ resourceSharedWithDelayedReader_()

std::pair< SharedResourcesAcquirer *, std::recursive_mutex * > InputSource::resourceSharedWithDelayedReader_ ( )
privatevirtual

Reimplemented in edm::PoolSource.

Definition at line 213 of file InputSource.cc.

213  {
214  return std::pair<SharedResourcesAcquirer*, std::recursive_mutex*>(nullptr, nullptr);
215  }

Referenced by resourceSharedWithDelayedReader().

◆ reverseState()

ProcessingController::ReverseState InputSource::reverseState ( ) const

Definition at line 415 of file InputSource.cc.

415  {
416  return callWithTryCatchAndPrint<ProcessingController::ReverseState>([this]() { return reverseState_(); },
417  "Calling InputSource::reverseState__");
418  }

References reverseState_().

◆ reverseState_()

ProcessingController::ReverseState InputSource::reverseState_ ( ) const
privatevirtual

Reimplemented in edm::PoolSource.

Definition at line 430 of file InputSource.cc.

430  {
432  }

References edm::ProcessingController::kUnknownReverse.

Referenced by reverseState().

◆ rewind()

void InputSource::rewind ( )

Begin again at the first event.

Definition at line 329 of file InputSource.cc.

329  {
330  state_ = IsInvalid;
332  setNewRun();
333  setNewLumi();
335  callWithTryCatchAndPrint<void>([this]() { rewind_(); }, "Calling InputSource::rewind_");
336  }

References IsInvalid, maxEvents_, remainingEvents_, resetEventCached(), rewind_(), setNewLumi(), setNewRun(), and state_.

◆ rewind_()

void InputSource::rewind_ ( )
privatevirtual

Reimplemented in edm::PoolSource, edm::IDGeneratorSourceBase< InputSource >, edm::IDGeneratorSourceBase< PuttableSourceBase >, FedRawDataInputSource, and edm::RawInputSource.

Definition at line 385 of file InputSource.cc.

385  {
386  throw Exception(errors::LogicError) << "InputSource::rewind()\n"
387  << "Random access are not implemented for this type of Input Source\n"
388  << "Contact a Framework Developer\n";
389  }

References Exception, and edm::errors::LogicError.

Referenced by rewind().

◆ run()

RunNumber_t InputSource::run ( ) const

◆ runAuxiliary()

std::shared_ptr<RunAuxiliary> edm::InputSource::runAuxiliary ( ) const
inline

◆ setEventCached()

void edm::InputSource::setEventCached ( )
inlineprotected

Called by the framework to merge or ached() const {return eventCached_;}.

Definition at line 361 of file InputSource.h.

361 { eventCached_ = true; }

References eventCached_.

Referenced by FedRawDataInputSource::checkNext(), and edm::StreamerInputSource::deserializeEvent().

◆ setLumi()

void InputSource::setLumi ( LuminosityBlockNumber_t  lb)
privatevirtual

Definition at line 366 of file InputSource.cc.

366  {
367  throw Exception(errors::LogicError) << "InputSource::setLumi()\n"
368  << "Luminosity Block ID cannot be modified for this type of Input Source\n"
369  << "Contact a Framework Developer\n";
370  }

References Exception, and edm::errors::LogicError.

Referenced by setLuminosityBlockNumber_t().

◆ setLuminosityBlockAuxiliary()

void edm::InputSource::setLuminosityBlockAuxiliary ( LuminosityBlockAuxiliary lbp)
inlineprotected

Definition at line 336 of file InputSource.h.

336  {
337  lumiAuxiliary_.reset(lbp);
338  newLumi_ = true;
339  }

References lumiAuxiliary_, and newLumi_.

Referenced by edm::StreamerInputSource::deserializeEvent(), and FedRawDataInputSource::maybeOpenNewLumiSection().

◆ setLuminosityBlockNumber_t()

void edm::InputSource::setLuminosityBlockNumber_t ( LuminosityBlockNumber_t  lb)
inline

Set the luminosity block ID.

Definition at line 145 of file InputSource.h.

145 { setLumi(lb); }

References setLumi().

◆ setNewLumi()

void edm::InputSource::setNewLumi ( )
inlineprotected

Definition at line 357 of file InputSource.h.

357 { newLumi_ = true; }

References newLumi_.

Referenced by edm::RawInputSource::getNextItemType(), and rewind().

◆ setNewRun()

void edm::InputSource::setNewRun ( )
inlineprotected

Definition at line 354 of file InputSource.h.

354 { newRun_ = true; }

References newRun_.

Referenced by FedRawDataInputSource::FedRawDataInputSource(), edm::RawInputSource::getNextItemType(), and rewind().

◆ setRun()

void InputSource::setRun ( RunNumber_t  r)
privatevirtual

Reimplemented in edm::StreamerInputSource.

Definition at line 360 of file InputSource.cc.

360  {
361  throw Exception(errors::LogicError) << "InputSource::setRun()\n"
362  << "Run number cannot be modified for this type of Input Source\n"
363  << "Contact a Framework Developer\n";
364  }

References Exception, and edm::errors::LogicError.

Referenced by setRunNumber().

◆ setRunAuxiliary()

void edm::InputSource::setRunAuxiliary ( RunAuxiliary rp)
inlineprotected

Definition at line 332 of file InputSource.h.

332  {
333  runAuxiliary_.reset(rp);
334  newRun_ = newLumi_ = true;
335  }

References newLumi_, newRun_, and runAuxiliary_.

Referenced by edm::StreamerInputSource::deserializeEvent(), and FedRawDataInputSource::FedRawDataInputSource().

◆ setRunNumber()

void edm::InputSource::setRunNumber ( RunNumber_t  r)
inline

Set the run number.

Definition at line 142 of file InputSource.h.

142 { setRun(r); }

References alignCSCRings::r, and setRun().

◆ setTimestamp()

void edm::InputSource::setTimestamp ( Timestamp const &  theTime)
inlineprotected

To set the current time, as seen by the input source.

Definition at line 327 of file InputSource.h.

327 { time_ = theTime; }

References time_.

Referenced by edm::RawInputSource::RawInputSource(), and readEvent().

◆ skip()

void InputSource::skip ( int  offset)
protectedvirtual

Reimplemented in dqmservices::DQMStreamerReader, edm::StreamerFileReader, edm::RepeatingCachedRootSource, edm::PoolSource, edm::IDGeneratorSourceBase< InputSource >, and edm::IDGeneratorSourceBase< PuttableSourceBase >.

Definition at line 372 of file InputSource.cc.

372  {
373  throw Exception(errors::LogicError) << "InputSource::skip()\n"
374  << "Random access are not implemented for this type of Input Source\n"
375  << "Contact a Framework Developer\n";
376  }

References Exception, and edm::errors::LogicError.

Referenced by skipEvents().

◆ skipEvents()

void InputSource::skipEvents ( int  offset)

Skip the number of events specified. Offset may be negative.

Definition at line 320 of file InputSource.cc.

320  {
321  callWithTryCatchAndPrint<void>([this, &offset]() { skip(offset); }, "Calling InputSource::skip");
322  }

References hltrates_dqm_sourceclient-live_cfg::offset, and skip().

Referenced by nextItemType_().

◆ state()

ItemType edm::InputSource::state ( ) const
inlineprotected

◆ thinnedAssociationsHelper() [1/2]

std::shared_ptr<ThinnedAssociationsHelper>& edm::InputSource::thinnedAssociationsHelper ( )
inline

Definition at line 171 of file InputSource.h.

171  {
173  }

References edm::get_underlying_safe(), and thinnedAssociationsHelper_.

◆ thinnedAssociationsHelper() [2/2]

std::shared_ptr<ThinnedAssociationsHelper const> edm::InputSource::thinnedAssociationsHelper ( ) const
inline

◆ timestamp()

Timestamp const& edm::InputSource::timestamp ( ) const
inline

Accessor for the current time, as seen by the input source.

Definition at line 222 of file InputSource.h.

222 { return time_; }

References time_.

Member Data Documentation

◆ actReg_

std::shared_ptr<ActivityRegistry> edm::InputSource::actReg_
private

Definition at line 410 of file InputSource.h.

Referenced by actReg().

◆ branchIDListHelper_

edm::propagate_const<std::shared_ptr<BranchIDListHelper> > edm::InputSource::branchIDListHelper_
private

Definition at line 422 of file InputSource.h.

Referenced by branchIDListHelper().

◆ eventCached_

bool edm::InputSource::eventCached_
private

Definition at line 428 of file InputSource.h.

Referenced by eventCached(), resetEventCached(), and setEventCached().

◆ lumiAuxiliary_

std::shared_ptr<LuminosityBlockAuxiliary> edm::InputSource::lumiAuxiliary_
mutableprivate

◆ maxEvents_

int edm::InputSource::maxEvents_
private

Definition at line 411 of file InputSource.h.

Referenced by maxEvents(), repeat(), and rewind().

◆ maxLumis_

int edm::InputSource::maxLumis_
private

Definition at line 413 of file InputSource.h.

Referenced by maxLuminosityBlocks(), and repeat().

◆ maxSecondsUntilRampdown_

int edm::InputSource::maxSecondsUntilRampdown_
private

Definition at line 416 of file InputSource.h.

Referenced by InputSource(), and lumiLimitReached().

◆ moduleDescription_

const ModuleDescription edm::InputSource::moduleDescription_
private

Definition at line 419 of file InputSource.h.

Referenced by moduleDescription().

◆ newLumi_

bool edm::InputSource::newLumi_
mutableprivate

◆ newRun_

bool edm::InputSource::newRun_
mutableprivate

Definition at line 426 of file InputSource.h.

Referenced by newRun(), resetNewRun(), resetRunAuxiliary(), setNewRun(), and setRunAuxiliary().

◆ numberOfEventsBeforeBigSkip_

unsigned int edm::InputSource::numberOfEventsBeforeBigSkip_
private

Definition at line 434 of file InputSource.h.

◆ postEventReadFromSourceSignal_

signalslot::Signal<void(StreamContext const&, ModuleCallingContext const&)> edm::InputSource::postEventReadFromSourceSignal_

Definition at line 321 of file InputSource.h.

◆ preEventReadFromSourceSignal_

signalslot::Signal<void(StreamContext const&, ModuleCallingContext const&)> edm::InputSource::preEventReadFromSourceSignal_

Definition at line 320 of file InputSource.h.

◆ processGUID_

std::string edm::InputSource::processGUID_
private

Definition at line 424 of file InputSource.h.

Referenced by processGUID().

◆ processHistoryRegistry_

edm::propagate_const<std::unique_ptr<ProcessHistoryRegistry> > edm::InputSource::processHistoryRegistry_
private

◆ processingMode_

ProcessingMode edm::InputSource::processingMode_
private

Definition at line 418 of file InputSource.h.

Referenced by InputSource(), and processingMode().

◆ processingStart_

std::chrono::time_point<std::chrono::steady_clock> edm::InputSource::processingStart_
private

Definition at line 417 of file InputSource.h.

Referenced by InputSource(), and lumiLimitReached().

◆ productRegistry_

edm::propagate_const<std::shared_ptr<ProductRegistry> > edm::InputSource::productRegistry_
private

Definition at line 420 of file InputSource.h.

Referenced by productRegistry(), and productRegistryUpdate().

◆ readCount_

int edm::InputSource::readCount_
private

Definition at line 415 of file InputSource.h.

Referenced by issueReports(), and readEvent().

◆ remainingEvents_

int edm::InputSource::remainingEvents_
private

◆ remainingLumis_

int edm::InputSource::remainingLumis_
private

◆ runAuxiliary_

std::shared_ptr<RunAuxiliary> edm::InputSource::runAuxiliary_
mutableprivate

Definition at line 430 of file InputSource.h.

Referenced by nextItemType(), resetRunAuxiliary(), runAuxiliary(), and setRunAuxiliary().

◆ state_

ItemType edm::InputSource::state_
mutableprivate

Definition at line 429 of file InputSource.h.

Referenced by nextItemType(), readEvent(), readFile(), reset(), rewind(), and state().

◆ statusFileName_

std::string edm::InputSource::statusFileName_
private

Definition at line 432 of file InputSource.h.

Referenced by InputSource(), and issueReports().

◆ thinnedAssociationsHelper_

edm::propagate_const<std::shared_ptr<ThinnedAssociationsHelper> > edm::InputSource::thinnedAssociationsHelper_
private

Definition at line 423 of file InputSource.h.

Referenced by thinnedAssociationsHelper().

◆ time_

Timestamp edm::InputSource::time_
private

Definition at line 425 of file InputSource.h.

Referenced by setTimestamp(), and timestamp().

edm::InputSource::maxLumis_
int maxLumis_
Definition: InputSource.h:413
edm::InputSource::getNextItemType
virtual ItemType getNextItemType()=0
edm::InputSource::forwardState_
virtual ProcessingController::ForwardState forwardState_() const
Definition: InputSource.cc:426
edm::InputSource::readRunAuxiliary
std::shared_ptr< RunAuxiliary > readRunAuxiliary()
Read next run Auxiliary.
Definition: InputSource.cc:200
edm::InputSource::readIt
virtual bool readIt(EventID const &id, EventPrincipal &eventPrincipal, StreamContext &streamContext)
Definition: InputSource.cc:354
edm::InputSource::setNewLumi
void setNewLumi()
Definition: InputSource.h:357
edm::InputSource::maxEvents_
int maxEvents_
Definition: InputSource.h:411
edm::LogFwkVerbatim
Log< level::FwkInfo, true > LogFwkVerbatim
Definition: MessageLogger.h:129
edm::ProcessingController::kUnknownReverse
Definition: ProcessingController.h:42
edm::InputSource::resetEventCached
void resetEventCached()
Definition: InputSource.h:362
edm::InputSource::productRegistry_
edm::propagate_const< std::shared_ptr< ProductRegistry > > productRegistry_
Definition: InputSource.h:420
edm::InputSource::goToEvent_
virtual bool goToEvent_(EventID const &eventID)
Definition: InputSource.cc:378
edm::InputSource::newRun_
bool newRun_
Definition: InputSource.h:426
edm::errors::LogicError
Definition: EDMException.h:37
edm::InputSource::readRun_
virtual void readRun_(RunPrincipal &runPrincipal)
Definition: InputSource.cc:271
submitPVValidationJobs.now
now
Definition: submitPVValidationJobs.py:639
edm::InputSource::endJob
virtual void endJob()
Definition: InputSource.cc:422
edm::InputSource::skip
virtual void skip(int offset)
Definition: InputSource.cc:372
edm::InputSource::readLuminosityBlockAuxiliary_
virtual std::shared_ptr< LuminosityBlockAuxiliary > readLuminosityBlockAuxiliary_()=0
edm::InputSource::beginJob
virtual void beginJob()
Begin protected makes it easier to do template programming.
Definition: InputSource.cc:420
cms::cuda::assert
assert(be >=bs)
edm::InputSource::lumiAuxiliary_
std::shared_ptr< LuminosityBlockAuxiliary > lumiAuxiliary_
Definition: InputSource.h:431
edm::get_underlying_safe
constexpr std::shared_ptr< T > & get_underlying_safe(propagate_const< std::shared_ptr< T >> &iP)
Definition: get_underlying_safe.h:41
edm::InputSource::setRun
virtual void setRun(RunNumber_t r)
Definition: InputSource.cc:360
edm::InputSource::branchIDListHelper_
edm::propagate_const< std::shared_ptr< BranchIDListHelper > > branchIDListHelper_
Definition: InputSource.h:422
edm::InputSource::nextItemType_
ItemType nextItemType_()
Definition: InputSource.cc:134
createPayload.suffix
suffix
Definition: createPayload.py:281
edm::InputSource::IsRun
Definition: InputSource.h:78
edm::InputSource::state_
ItemType state_
Definition: InputSource.h:429
edm::InputSource::randomAccess_
virtual bool randomAccess_() const
Definition: InputSource.cc:424
edm::InputSource::processHistoryRegistry_
edm::propagate_const< std::unique_ptr< ProcessHistoryRegistry > > processHistoryRegistry_
Definition: InputSource.h:421
edm::ModuleDescription::processConfiguration
ProcessConfiguration const & processConfiguration() const
Definition: ModuleDescription.cc:45
edm::InputSource::issueReports
void issueReports(EventID const &eventID, StreamID streamID)
issue an event report
Definition: InputSource.cc:338
edm::InputSource::readCount_
int readCount_
Definition: InputSource.h:415
edm::InputSource::limitReached
bool limitReached() const
Definition: InputSource.h:387
edm::InputSource::readRunAuxiliary_
virtual std::shared_ptr< RunAuxiliary > readRunAuxiliary_()=0
edm::InputSource::moduleDescription
ModuleDescription const & moduleDescription() const
Accessor for 'module' description.
Definition: InputSource.h:201
edm::InputSource::readLuminosityBlock_
virtual void readLuminosityBlock_(LuminosityBlockPrincipal &lumiPrincipal)
Definition: InputSource.cc:278
edm::InputSource::IsSynchronize
Definition: InputSource.h:78
mps_fire.end
end
Definition: mps_fire.py:242
edm::InputSource::luminosityBlockAuxiliary
std::shared_ptr< LuminosityBlockAuxiliary > luminosityBlockAuxiliary() const
Called by the framework to merge or insert lumi in principal cache.
Definition: InputSource.h:245
edm::InputSource::lumiLimitReached
bool lumiLimitReached() const
Definition: InputSource.h:373
edm::InputSource::setTimestamp
void setTimestamp(Timestamp const &theTime)
To set the current time, as seen by the input source.
Definition: InputSource.h:327
submitPVResolutionJobs.count
count
Definition: submitPVResolutionJobs.py:352
edm::InputSource::IsRepeat
Definition: InputSource.h:78
edm::InputSource::processingStart_
std::chrono::time_point< std::chrono::steady_clock > processingStart_
Definition: InputSource.h:417
edm::InputSource::RunsAndLumis
Definition: InputSource.h:80
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::InputSource::processingMode
ProcessingMode processingMode() const
RunsLumisAndEvents (default), RunsAndLumis, or Runs.
Definition: InputSource.h:236
edm::InputSource::IsFile
Definition: InputSource.h:78
edm::InputSource::runAuxiliary
std::shared_ptr< RunAuxiliary > runAuxiliary() const
Called by the framework to merge or insert run in principal cache.
Definition: InputSource.h:242
edm::InputSource::processHistoryRegistry
ProcessHistoryRegistry const & processHistoryRegistry() const
Accessors for process history registry.
Definition: InputSource.h:158
edm::kBaseType
static const std::string kBaseType("EDAnalyzer")
edm::InputSource::IsLumi
Definition: InputSource.h:78
edm::InputSource::remainingEvents_
int remainingEvents_
Definition: InputSource.h:412
edm::InputSource::readFile_
virtual std::unique_ptr< FileBlock > readFile_()
Definition: InputSource.cc:238
edm::createGlobalIdentifier
std::string createGlobalIdentifier(bool binary=false)
Definition: GlobalIdentifier.cc:5
edm::InputSource::statusFileName_
std::string statusFileName_
Definition: InputSource.h:432
edm::InputSource::eventLimitReached
bool eventLimitReached() const
Definition: InputSource.h:372
edm::InputSource::moduleDescription_
const ModuleDescription moduleDescription_
Definition: InputSource.h:419
TopDecaySubset_cfi.runMode
runMode
define run mode.
Definition: TopDecaySubset_cfi.py:19
edm::InputSource::reverseState_
virtual ProcessingController::ReverseState reverseState_() const
Definition: InputSource.cc:430
edm::InputSource::rewind_
virtual void rewind_()
Definition: InputSource.cc:385
edm::InputSource::IsStop
Definition: InputSource.h:78
edm::InputSource::processingMode_
ProcessingMode processingMode_
Definition: InputSource.h:418
edm::InputSource::runAuxiliary_
std::shared_ptr< RunAuxiliary > runAuxiliary_
Definition: InputSource.h:430
edm::InputSource::thinnedAssociationsHelper_
edm::propagate_const< std::shared_ptr< ThinnedAssociationsHelper > > thinnedAssociationsHelper_
Definition: InputSource.h:423
edm::InputSource::eventCached_
bool eventCached_
Definition: InputSource.h:428
edm::InputSource::actReg_
std::shared_ptr< ActivityRegistry > actReg_
Definition: InputSource.h:410
alignCSCRings.r
r
Definition: alignCSCRings.py:93
edm::InputSource::Runs
Definition: InputSource.h:80
edm::InputSource::readLuminosityBlockAuxiliary
std::shared_ptr< LuminosityBlockAuxiliary > readLuminosityBlockAuxiliary()
Read next luminosity block Auxilary.
Definition: InputSource.cc:195
edm::InputSource::setLumi
virtual void setLumi(LuminosityBlockNumber_t lb)
Definition: InputSource.cc:366
edm::InputSource::ItemType
ItemType
Definition: InputSource.h:78
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
edm::isFwkInfoEnabled
bool isFwkInfoEnabled()
Definition: MessageLogger.cc:20
edm::InputSource::newLumi_
bool newLumi_
Definition: InputSource.h:427
edm::InputSource::setNewRun
void setNewRun()
Definition: InputSource.h:354
edm::InputSource::readEvent_
virtual void readEvent_(EventPrincipal &eventPrincipal)=0
Exception
Definition: hltDiff.cc:245
edm::ProcessHistoryRegistry::getMapped
bool getMapped(ProcessHistoryID const &key, ProcessHistory &value) const
Definition: ProcessHistoryRegistry.cc:29
ParameterSetDescription
edm::ProcessingController::kUnknownForward
Definition: ProcessingController.h:35
edm::InputSource::closeFile_
virtual void closeFile_()
Definition: InputSource.h:397
edm::InputSource::maxSecondsUntilRampdown_
int maxSecondsUntilRampdown_
Definition: InputSource.h:416
edm::InputSource::resourceSharedWithDelayedReader_
virtual std::pair< SharedResourcesAcquirer *, std::recursive_mutex * > resourceSharedWithDelayedReader_()
Definition: InputSource.cc:213
edm::InputSource::time_
Timestamp time_
Definition: InputSource.h:425
edm::InputSource::resetLuminosityBlockAuxiliary
void resetLuminosityBlockAuxiliary(bool isNewLumi=true) const
Definition: InputSource.h:344
edm::InputSource::remainingLumis_
int remainingLumis_
Definition: InputSource.h:414
edm::InputSource::numberOfEventsBeforeBigSkip_
unsigned int numberOfEventsBeforeBigSkip_
Definition: InputSource.h:434
edm::InputSource::resetRunAuxiliary
void resetRunAuxiliary(bool isNewRun=true) const
Definition: InputSource.h:340
edm::InputSource::skipEvents
void skipEvents(int offset)
Definition: InputSource.cc:320
mps_fire.result
result
Definition: mps_fire.py:311
edm::InputSource::IsEvent
Definition: InputSource.h:78
edm::InputSource::processGUID_
std::string processGUID_
Definition: InputSource.h:424
hltrates_dqm_sourceclient-live_cfg.offset
offset
Definition: hltrates_dqm_sourceclient-live_cfg.py:82
edm::InputSource::IsInvalid
Definition: InputSource.h:78
edm::errors::Configuration
Definition: EDMException.h:36
SiStripBadComponentsDQMServiceTemplate_cfg.ep
ep
Definition: SiStripBadComponentsDQMServiceTemplate_cfg.py:86
edm::InputSource::RunsLumisAndEvents
Definition: InputSource.h:80
benchmark_cfg.fb
fb
Definition: benchmark_cfg.py:14
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27