CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
cond::FileBasedEmptySource Class Reference
Inheritance diagram for cond::FileBasedEmptySource:
edm::ProducerSourceBase edm::IDGeneratorSourceBase< PuttableSourceBase > edm::PuttableSourceBase edm::InputSource edm::ProducerBase edm::ProductRegistryHelper

Public Member Functions

 FileBasedEmptySource (edm::ParameterSet const &, edm::InputSourceDescription const &)
 
 ~FileBasedEmptySource () override
 
- Public Member Functions inherited from edm::ProducerSourceBase
 ProducerSourceBase (ParameterSet const &pset, InputSourceDescription const &desc, bool realData)
 
 ~ProducerSourceBase () noexcept(false) override
 
- Public Member Functions inherited from edm::IDGeneratorSourceBase< PuttableSourceBase >
EventNumber_t event () const
 
unsigned int eventCreationDelay () const
 
EventID const & eventID () const
 
 IDGeneratorSourceBase (ParameterSet const &pset, InputSourceDescription const &desc, bool realData)
 
LuminosityBlockNumber_t luminosityBlock () const
 
unsigned int numberEventsInLumi () const
 
unsigned int numberEventsInRun () const
 
unsigned int numberEventsInThisLumi () const
 
unsigned int numberEventsInThisRun () const
 
TimeValue_t presentTime () const
 
RunNumber_t run () const
 
unsigned int timeBetweenEvents () const
 
 ~IDGeneratorSourceBase () noexcept(false) override
 
- Public Member Functions inherited from edm::PuttableSourceBase
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
 PuttableSourceBase (ParameterSet const &, InputSourceDescription const &)
 
void registerProducts () final
 Register any produced products. More...
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
- Public Member Functions inherited from edm::InputSource
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...
 
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...
 
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
 
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...
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
std::vector< bool > const & recordProvenanceList () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
TypeLabelList const & typeLabelList () const
 used by the fwk to register the list of products of this module More...
 
 ~ProducerBase () noexcept(false) override
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from edm::IDGeneratorSourceBase< PuttableSourceBase >
static void fillDescription (ParameterSetDescription &desc)
 
- Static Public Member Functions inherited from edm::InputSource
static const std::string & baseType ()
 
static void fillDescription (ParameterSetDescription &desc)
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 

Private Member Functions

void initialize (edm::EventID &id, edm::TimeValue_t &time, edm::TimeValue_t &interval) override
 
void produce (edm::Event &e) override
 
bool setRunAndEventInfo (edm::EventID &id, edm::TimeValue_t &time, edm::EventAuxiliary::ExperimentType &eType) override
 

Private Attributes

unsigned int m_currentLumi
 
boost::posix_time::ptime m_currentLumiTime
 
unsigned int m_currentRun
 
unsigned long long m_eventId
 
unsigned int m_eventsPerLumi
 
unsigned int m_interval
 
std::string m_pathForLastLumiFile
 

Additional Inherited Members

- Public Types inherited from edm::InputSource
enum  ItemType {
  IsInvalid, IsStop, IsFile, IsRun,
  IsLumi, IsEvent, IsRepeat, IsSynchronize
}
 
enum  ProcessingMode { Runs, RunsAndLumis, RunsLumisAndEvents }
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex > >
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Attributes inherited from edm::InputSource
signalslot::Signal< void(StreamContext const &, ModuleCallingContext const &)> postEventReadFromSourceSignal_
 
signalslot::Signal< void(StreamContext const &, ModuleCallingContext const &)> preEventReadFromSourceSignal_
 
- Protected Member Functions inherited from edm::IDGeneratorSourceBase< PuttableSourceBase >
void doReadEvent (EventPrincipal &eventPrincipal, F &&f)
 
- Protected Member Functions inherited from edm::InputSource
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...
 
ItemType state () const
 
- Protected Member Functions inherited from edm::ProducerBase
template<class ProductType >
BranchAliasSetterT< ProductType > produces ()
 declare what type of product will make and with which optional label More...
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces ()
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces ()
 
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<BranchType B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<Transition B>
BranchAliasSetter produces (const TypeID &id, std::string instanceName=std::string(), bool recordProvenance=true)
 
template<typename ProductType , Transition B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<class ProductType >
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
template<typename ProductType , BranchType B>
BranchAliasSetterT< ProductType > produces (std::string instanceName)
 
ProducesCollector producesCollector ()
 

Detailed Description

Definition at line 9 of file FileBasedEmptySource.cc.

Constructor & Destructor Documentation

◆ FileBasedEmptySource()

cond::FileBasedEmptySource::FileBasedEmptySource ( edm::ParameterSet const &  pset,
edm::InputSourceDescription const &  desc 
)

Definition at line 41 of file FileBasedEmptySource.cc.

42  : edm::ProducerSourceBase(pset, desc, true),
43  m_interval(pset.getParameter<unsigned int>("interval")),
44  m_eventId(0),
45  m_eventsPerLumi(pset.getUntrackedParameter<unsigned int>("numberEventsInLuminosityBlock")),
46  m_pathForLastLumiFile(pset.getParameter<std::string>("pathForLastLumiFile")),
47  m_currentRun(0),
48  m_currentLumi(0),

◆ ~FileBasedEmptySource()

cond::FileBasedEmptySource::~FileBasedEmptySource ( )
override

Definition at line 51 of file FileBasedEmptySource.cc.

51 {}

Member Function Documentation

◆ fillDescriptions()

void cond::FileBasedEmptySource::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 117 of file FileBasedEmptySource.cc.

117  {
119  desc.setComment("Creates runs, lumis and events containing no products.");
120  ProducerSourceBase::fillDescription(desc);
121 
122  //desc.add<unsigned int>("firstRunnumber")->setComment("The first run number to use");
123  //desc.add<unsigned int>("lastRunnumber")->setComment("The last run number to use");
124  //desc.add<unsigned int>("firstLumi")->setComment("The first lumi id to use");
125  //desc.add<unsigned int>("lastLumi")->setComment("The last lumi id to use");
126  //desc.add<unsigned int>("maxLumiInRun");
127  //desc.add<std::string>("startTime");
128  //desc.add<std::string>("endTime");
129  desc.add<unsigned int>("interval");
130  desc.add<unsigned int>("maxEvents");
131  desc.add<std::string>("pathForLastLumiFile");
132  descriptions.add("source", desc);
133  }

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::add(), edm::ParameterSetDescription::setComment(), and AlCaHLTBitMon_QueryRunRegistry::string.

◆ initialize()

void cond::FileBasedEmptySource::initialize ( edm::EventID id,
edm::TimeValue_t time,
edm::TimeValue_t interval 
)
overrideprivatevirtual

Reimplemented from edm::IDGeneratorSourceBase< PuttableSourceBase >.

Definition at line 92 of file FileBasedEmptySource.cc.

92  {
94  {
95  std::ifstream lastLumiFile(m_pathForLastLumiFile);
96  if (lastLumiFile) {
97  lastLumiFile >> lastLumi;
98  } else {
99  std::cout << "Error: last lumi file can't be read." << std::endl;
100  return;
101  }
102  }
103  m_eventId = 0;
104  auto t = cond::time::unpack(lastLumi);
105  unsigned int runId = t.first;
106  unsigned int lumiId = t.second;
107  std::cout << "###### initialize Run: " << runId << " lumi: " << lumiId << std::endl;
108  m_currentRun = runId;
109  m_currentLumi = lumiId;
110  boost::posix_time::ptime now = boost::posix_time::microsec_clock::local_time();
113  id = edm::EventID(runId, lumiId, m_eventId);
115  }

References gather_cfg::cout, cond::time::from_boost(), readEcalDQMStatus::interval, beam_dqm_sourceclient-live_cfg::lastLumiFile, m_currentLumi, m_currentLumiTime, m_currentRun, m_eventId, m_interval, m_pathForLastLumiFile, cond::time::MIN_VAL(), fileCollector::now, OrderedSet::t, ntuplemaker::time, and cond::time::unpack().

◆ produce()

void cond::FileBasedEmptySource::produce ( edm::Event e)
overrideprivatevirtual

Implements edm::ProducerSourceBase.

Definition at line 53 of file FileBasedEmptySource.cc.

53 {}

◆ setRunAndEventInfo()

bool cond::FileBasedEmptySource::setRunAndEventInfo ( edm::EventID id,
edm::TimeValue_t time,
edm::EventAuxiliary::ExperimentType eType 
)
overrideprivatevirtual

Implements edm::IDGeneratorSourceBase< PuttableSourceBase >.

Definition at line 55 of file FileBasedEmptySource.cc.

57  {
59  {
60  std::ifstream lastLumiFile(m_pathForLastLumiFile);
61  if (lastLumiFile) {
62  lastLumiFile >> lastLumi;
63  } else {
64  std::cout << "Error: last lumi file can't be read." << std::endl;
65  return false;
66  }
67  }
68  auto t = cond::time::unpack(lastLumi);
69  unsigned int runId = t.first;
70  unsigned int lumiId = t.second;
71  //std::cout <<"###### setRunAndEventInfo Run: "<<runId<<" lumi: "<<lumiId<<std::endl;
72  boost::posix_time::ptime now = boost::posix_time::microsec_clock::local_time();
73  if (runId == m_currentRun && lumiId == m_currentLumi) {
74  m_eventId += 1;
75  if (m_eventId >= m_eventsPerLumi) {
76  return false;
77  }
78  } else {
79  m_currentRun = runId;
80  m_currentLumi = lumiId;
82  m_eventId = 1;
83  }
84  std::cout << "###### setRunAndEventInfo Run: " << runId << " lumi: " << lumiId << " event id: " << m_eventId
85  << " time:" << boost::posix_time::to_simple_string(now) << std::endl;
87  id = edm::EventID(runId, lumiId, m_eventId);
88  usleep(20000);
89  return true;
90  }

References gather_cfg::cout, cond::time::from_boost(), beam_dqm_sourceclient-live_cfg::lastLumiFile, m_currentLumi, m_currentLumiTime, m_currentRun, m_eventId, m_eventsPerLumi, m_pathForLastLumiFile, cond::time::MIN_VAL(), fileCollector::now, OrderedSet::t, ntuplemaker::time, and cond::time::unpack().

Member Data Documentation

◆ m_currentLumi

unsigned int cond::FileBasedEmptySource::m_currentLumi
private

Definition at line 28 of file FileBasedEmptySource.cc.

Referenced by initialize(), and setRunAndEventInfo().

◆ m_currentLumiTime

boost::posix_time::ptime cond::FileBasedEmptySource::m_currentLumiTime
private

Definition at line 29 of file FileBasedEmptySource.cc.

Referenced by initialize(), and setRunAndEventInfo().

◆ m_currentRun

unsigned int cond::FileBasedEmptySource::m_currentRun
private

Definition at line 27 of file FileBasedEmptySource.cc.

Referenced by initialize(), and setRunAndEventInfo().

◆ m_eventId

unsigned long long cond::FileBasedEmptySource::m_eventId
private

Definition at line 24 of file FileBasedEmptySource.cc.

Referenced by initialize(), and setRunAndEventInfo().

◆ m_eventsPerLumi

unsigned int cond::FileBasedEmptySource::m_eventsPerLumi
private

Definition at line 25 of file FileBasedEmptySource.cc.

Referenced by setRunAndEventInfo().

◆ m_interval

unsigned int cond::FileBasedEmptySource::m_interval
private

Definition at line 23 of file FileBasedEmptySource.cc.

Referenced by initialize().

◆ m_pathForLastLumiFile

std::string cond::FileBasedEmptySource::m_pathForLastLumiFile
private

Definition at line 26 of file FileBasedEmptySource.cc.

Referenced by initialize(), and setRunAndEventInfo().

cond::time::MIN_VAL
const Time_t MIN_VAL(0)
edm::ParameterSetDescription::add
ParameterDescriptionBase * add(U const &iLabel, T const &value)
Definition: ParameterSetDescription.h:95
cond::FileBasedEmptySource::m_eventsPerLumi
unsigned int m_eventsPerLumi
Definition: FileBasedEmptySource.cc:25
cond::FileBasedEmptySource::m_currentLumi
unsigned int m_currentLumi
Definition: FileBasedEmptySource.cc:28
gather_cfg.cout
cout
Definition: gather_cfg.py:144
cond::FileBasedEmptySource::m_pathForLastLumiFile
std::string m_pathForLastLumiFile
Definition: FileBasedEmptySource.cc:26
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
edm::ProducerSourceBase
Definition: ProducerSourceBase.h:23
beam_dqm_sourceclient-live_cfg.lastLumiFile
lastLumiFile
Definition: beam_dqm_sourceclient-live_cfg.py:367
fileCollector.now
now
Definition: fileCollector.py:207
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
OrderedSet.t
t
Definition: OrderedSet.py:90
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
cond::FileBasedEmptySource::m_currentLumiTime
boost::posix_time::ptime m_currentLumiTime
Definition: FileBasedEmptySource.cc:29
edm::ParameterSetDescription::setComment
void setComment(std::string const &value)
Definition: ParameterSetDescription.cc:33
cond::time::from_boost
Time_t from_boost(boost::posix_time::ptime bt)
Definition: TimeConversions.h:43
cond::Time_t
unsigned long long Time_t
Definition: Time.h:14
readEcalDQMStatus.interval
interval
Definition: readEcalDQMStatus.py:18
cond::FileBasedEmptySource::m_interval
unsigned int m_interval
Definition: FileBasedEmptySource.cc:23
cond::time::unpack
cond::UnpackedTime unpack(cond::Time_t iValue)
Definition: TimeConversions.h:22
ntuplemaker.time
time
Definition: ntuplemaker.py:310
edm::EventID
Definition: EventID.h:31
cond::FileBasedEmptySource::m_currentRun
unsigned int m_currentRun
Definition: FileBasedEmptySource.cc:27
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
cond::FileBasedEmptySource::m_eventId
unsigned long long m_eventId
Definition: FileBasedEmptySource.cc:24