CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
LHESource Class Reference

#include <LHESource.h>

Inheritance diagram for LHESource:
edm::ProducerSourceFromFiles edm::ProducerSourceBase edm::FromFiles edm::IDGeneratorSourceBase< PuttableSourceBase > edm::PuttableSourceBase edm::InputSource edm::ProducerBase edm::ProductRegistryHelper

Public Member Functions

 LHESource (const edm::ParameterSet &params, const edm::InputSourceDescription &desc)
 
 ~LHESource () override
 
- Public Member Functions inherited from edm::ProducerSourceFromFiles
bool noFiles () const override
 
 ProducerSourceFromFiles (ParameterSet const &pset, InputSourceDescription const &desc, bool realData)
 
 ~ProducerSourceFromFiles () override
 
- Public Member Functions inherited from edm::ProducerSourceBase
 ProducerSourceBase (ParameterSet const &pset, InputSourceDescription const &desc, bool realData)
 
 ~ProducerSourceBase ()(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 ()(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...
 
- Public Member Functions inherited from edm::InputSource
std::shared_ptr< ActivityRegistryactReg () const
 Accessor for Activity Registry. More...
 
std::shared_ptr< BranchIDListHelper const > branchIDListHelper () const
 Accessors for branchIDListHelper. More...
 
std::shared_ptr< BranchIDListHelper > & branchIDListHelper ()
 
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 (ParameterSet const &, InputSourceDescription const &)
 Constructor. More...
 
 InputSource (InputSource const &)=delete
 
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...
 
ProcessHistoryRegistry const & processHistoryRegistry () const
 Accessors for process history registry. More...
 
ProcessHistoryRegistryprocessHistoryRegistry ()
 
ProcessingMode processingMode () const
 RunsLumisAndEvents (default), RunsAndLumis, or Runs. More...
 
std::shared_ptr< ProductRegistry const > productRegistry () const
 Accessors for product registry. More...
 
std::shared_ptr< ProductRegistry > & productRegistry ()
 
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...
 
void readEvent (EventPrincipal &ep, StreamContext &)
 Read next event. More...
 
bool readEvent (EventPrincipal &ep, EventID const &, StreamContext &)
 Read a specific 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 const > thinnedAssociationsHelper () const
 Accessors for thinnedAssociationsHelper. More...
 
std::shared_ptr< ThinnedAssociationsHelper > & thinnedAssociationsHelper ()
 
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
 
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)
 
 ~ProducerBase () noexcept(false) override
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 
- Static Public Member Functions inherited from edm::ProducerSourceFromFiles
static void fillDescription (ParameterSetDescription &desc)
 
- 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 endJob () override
 
void fillRunInfoProduct (lhef::LHERunInfo const &, LHERunInfoProduct &)
 
void nextEvent ()
 
void produce (edm::Event &) override
 
void putRunInfoProduct (edm::RunPrincipal &)
 
void readEvent_ (edm::EventPrincipal &eventPrincipal) override
 
void readLuminosityBlock_ (edm::LuminosityBlockPrincipal &lumiPrincipal) override
 
std::shared_ptr< edm::LuminosityBlockAuxiliaryreadLuminosityBlockAuxiliary_ () override
 
void readRun_ (edm::RunPrincipal &runPrincipal) override
 
std::shared_ptr< edm::RunAuxiliaryreadRunAuxiliary_ () override
 
bool setRunAndEventInfo (edm::EventID &, edm::TimeValue_t &, edm::EventAuxiliary::ExperimentType &) override
 

Private Attributes

edm::LHEProvenanceHelper lheProvenanceHelper_
 
std::shared_ptr< lhef::LHEEventpartonLevel_
 
edm::ProcessHistoryID phid_
 
std::unique_ptr< lhef::LHEReaderreader_
 
std::shared_ptr< lhef::LHERunInforunInfoLast_
 
std::unique_ptr< LHERunInfoProductrunInfoProductLast_
 

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
ProducesCollector producesCollector ()
 

Detailed Description

Definition at line 33 of file LHESource.h.

Constructor & Destructor Documentation

LHESource::LHESource ( const edm::ParameterSet params,
const edm::InputSourceDescription desc 
)
explicit

Definition at line 35 of file LHESource.cc.

References edm::LHEProvenanceHelper::lheAugment(), edm::LHEProvenanceHelper::lheInit(), lheProvenanceHelper_, nextEvent(), phid_, and edm::InputSource::processHistoryRegistryForUpdate().

36  : ProducerSourceFromFiles(params, desc, false),
37  reader_(new LHEReader(fileNames(), params.getUntrackedParameter<unsigned int>("skipEvents", 0))),
40  phid_() {
41  nextEvent();
43  // Initialize metadata, and save the process history ID for use every event.
45 
46  // These calls are not wanted, because the principals are used for putting the products.
47  //produces<LHEEventProduct>();
48  //produces<LHERunInfoProduct, edm::InRun>();
49 }
T getUntrackedParameter(std::string const &, T const &) const
ProductRegistry & productRegistryUpdate()
Definition: InputSource.h:326
edm::ProcessHistoryID phid_
Definition: LHESource.h:62
edm::LHEProvenanceHelper lheProvenanceHelper_
Definition: LHESource.h:61
ProducerSourceFromFiles(ParameterSet const &pset, InputSourceDescription const &desc, bool realData)
std::vector< std::string > const & fileNames() const
Definition: FromFiles.h:22
void nextEvent()
Definition: LHESource.cc:55
ProcessHistoryID lheInit(ProcessHistoryRegistry &processHistoryRegistry)
std::unique_ptr< lhef::LHEReader > reader_
Definition: LHESource.h:55
ProcessHistoryRegistry & processHistoryRegistryForUpdate()
Definition: InputSource.h:327
void lheAugment(lhef::LHERunInfo const *runInfo)
LHESource::~LHESource ( )
override

Definition at line 51 of file LHESource.cc.

51 {}

Member Function Documentation

void LHESource::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::InputSource.

Definition at line 53 of file LHESource.cc.

References reader_.

53 { reader_.reset(); }
std::unique_ptr< lhef::LHEReader > reader_
Definition: LHESource.h:55
void LHESource::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 186 of file LHESource.cc.

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::addUntracked(), DEFINE_FWK_INPUT_SOURCE, edm::ProducerSourceFromFiles::fillDescription(), edm::ParameterSetDescription::setComment(), and mitigatedMETSequence_cff::U.

186  {
188  desc.setComment("A source which reads LHE files.");
190  desc.addUntracked<unsigned int>("skipEvents", 0U)->setComment("Skip the first 'skipEvents' events.");
191  descriptions.add("source", desc);
192 }
ParameterDescriptionBase * addUntracked(U const &iLabel, T const &value)
static void fillDescription(ParameterSetDescription &desc)
void setComment(std::string const &value)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
void LHESource::fillRunInfoProduct ( lhef::LHERunInfo const &  iInfo,
LHERunInfoProduct oProduct 
)
private

Definition at line 94 of file LHESource.cc.

References LHERunInfoProduct::addComment(), LHERunInfoProduct::addHeader(), HltBtagPostValidation_cff::c, lhef::LHERunInfo::getComments(), lhef::LHERunInfo::getHeaders(), and h.

Referenced by nextEvent().

94  {
95  for (auto const& h : iInfo.getHeaders()) {
96  oProduct.addHeader(h);
97  }
98  for (auto const& c : iInfo.getComments()) {
99  oProduct.addComment(c);
100  }
101 }
FWCore Framework interface EventSetupRecordImplementation h
Helper function to determine trigger accepts.
void addHeader(const Header &header)
void addComment(const std::string &line)
void LHESource::nextEvent ( )
private

Definition at line 55 of file LHESource.cc.

References fillRunInfoProduct(), edm::FromFiles::incrementFileIndex(), edm::LHEProvenanceHelper::lheAugment(), edm::LHEProvenanceHelper::lheInit(), lheProvenanceHelper_, lhe2HepMCConverter_cff::LHERunInfoProduct, eostools::move(), partonLevel_, phid_, edm::InputSource::processHistoryRegistryForUpdate(), reader_, edm::InputSource::resetRunAuxiliary(), runInfoLast_, and runInfoProductLast_.

Referenced by LHESource(), and setRunAndEventInfo().

55  {
56  if (partonLevel_) {
57  return;
58  }
59 
60  bool newFileOpened;
61  do {
62  newFileOpened = false;
63  partonLevel_ = reader_->next(&newFileOpened);
64  if (newFileOpened) {
66  }
67  } while (newFileOpened && !partonLevel_);
68 
69  if (!partonLevel_) {
70  return;
71  }
72 
73  auto runInfoThis = partonLevel_->getRunInfo();
74  if (runInfoThis != runInfoLast_) {
75  runInfoLast_ = runInfoThis;
76  std::unique_ptr<LHERunInfoProduct> product(new LHERunInfoProduct(*runInfoThis->getHEPRUP()));
77  fillRunInfoProduct(*runInfoThis, *product);
78 
79  if (runInfoProductLast_) {
80  if (!runInfoProductLast_->mergeProduct(*product)) {
81  //cannot be merged so must start new Run
82  runInfoProductLast_ = std::move(product);
83  lheProvenanceHelper_.lheAugment(runInfoThis.get());
84  // Initialize metadata, and save the process history ID for use every event.
87  }
88  } else {
89  runInfoProductLast_ = std::move(product);
90  }
91  }
92 }
void incrementFileIndex()
Definition: FromFiles.h:27
edm::ProcessHistoryID phid_
Definition: LHESource.h:62
void fillRunInfoProduct(lhef::LHERunInfo const &, LHERunInfoProduct &)
Definition: LHESource.cc:94
edm::LHEProvenanceHelper lheProvenanceHelper_
Definition: LHESource.h:61
std::unique_ptr< LHERunInfoProduct > runInfoProductLast_
Definition: LHESource.h:60
void resetRunAuxiliary(bool isNewRun=true) const
Definition: InputSource.h:337
std::shared_ptr< lhef::LHERunInfo > runInfoLast_
Definition: LHESource.h:57
std::shared_ptr< lhef::LHEEvent > partonLevel_
Definition: LHESource.h:58
ProcessHistoryID lheInit(ProcessHistoryRegistry &processHistoryRegistry)
std::unique_ptr< lhef::LHEReader > reader_
Definition: LHESource.h:55
ProcessHistoryRegistry & processHistoryRegistryForUpdate()
Definition: InputSource.h:327
def move(src, dest)
Definition: eostools.py:511
void lheAugment(lhef::LHERunInfo const *runInfo)
void LHESource::produce ( edm::Event )
inlineoverrideprivatevirtual

Implements edm::ProducerSourceBase.

Definition at line 46 of file LHESource.h.

46 {}
void LHESource::putRunInfoProduct ( edm::RunPrincipal iRunPrincipal)
private

Definition at line 115 of file LHESource.cc.

References lheProvenanceHelper_, eostools::move(), edm::RunPrincipal::put(), runInfoProductLast_, and edm::LHEProvenanceHelper::runProductBranchDescription_.

Referenced by readRun_().

115  {
116  if (runInfoProductLast_) {
117  auto product = std::make_unique<LHERunInfoProduct>(*runInfoProductLast_);
118  std::unique_ptr<edm::WrapperBase> rdp(new edm::Wrapper<LHERunInfoProduct>(std::move(product)));
120  }
121 }
edm::LHEProvenanceHelper lheProvenanceHelper_
Definition: LHESource.h:61
std::unique_ptr< LHERunInfoProduct > runInfoProductLast_
Definition: LHESource.h:60
void put(BranchDescription const &bd, std::unique_ptr< WrapperBase > edp) const
Definition: RunPrincipal.cc:36
BranchDescription const runProductBranchDescription_
def move(src, dest)
Definition: eostools.py:511
void LHESource::readEvent_ ( edm::EventPrincipal eventPrincipal)
overrideprivatevirtual

Reimplemented from edm::ProducerSourceBase.

Definition at line 136 of file LHESource.cc.

References LHEEventProduct::addComment(), LHEEventProduct::addWeight(), printConversionInfo::aux, edm::InputSource::eventCached(), edm::IDGeneratorSourceBase< PuttableSourceBase >::eventID(), edm::LHEProvenanceHelper::eventProductBranchDescription_, edm::LHEProvenanceHelper::eventProductProvenance_, edm::EventPrincipal::fillEventPrincipal(), lhe2HepMCConverter_cff::LHEEventProduct, lheProvenanceHelper_, eostools::move(), partonLevel_, phid_, edm::IDGeneratorSourceBase< PuttableSourceBase >::presentTime(), edm::InputSource::processGUID(), edm::InputSource::processHistoryRegistryForUpdate(), edm::InputSource::processingMode(), edm::EventPrincipal::put(), edm::InputSource::resetEventCached(), edm::InputSource::RunsLumisAndEvents, and edm::EventAuxiliary::setProcessHistoryID().

136  {
139  aux.setProcessHistoryID(phid_);
141 
142  std::unique_ptr<LHEEventProduct> product(
143  new LHEEventProduct(*partonLevel_->getHEPEUP(), partonLevel_->originalXWGTUP()));
144  if (partonLevel_->getPDF()) {
145  product->setPDF(*partonLevel_->getPDF());
146  }
147  std::for_each(partonLevel_->weights().begin(),
148  partonLevel_->weights().end(),
149  boost::bind(&LHEEventProduct::addWeight, product.get(), _1));
150  product->setScales(partonLevel_->scales());
151  product->setNpLO(partonLevel_->npLO());
152  product->setNpNLO(partonLevel_->npNLO());
153  std::for_each(partonLevel_->getComments().begin(),
154  partonLevel_->getComments().end(),
155  boost::bind(&LHEEventProduct::addComment, product.get(), _1));
156 
157  std::unique_ptr<edm::WrapperBase> edp(new edm::Wrapper<LHEEventProduct>(std::move(product)));
159  std::move(edp),
161 
162  partonLevel_.reset();
163 
165 }
void addComment(const std::string &line)
edm::ProcessHistoryID phid_
Definition: LHESource.h:62
edm::LHEProvenanceHelper lheProvenanceHelper_
Definition: LHESource.h:61
void addWeight(const WGT &wgt)
ProcessingMode processingMode() const
RunsLumisAndEvents (default), RunsAndLumis, or Runs.
Definition: InputSource.h:233
std::string const & processGUID() const
Accessor for global process identifier.
Definition: InputSource.h:204
std::shared_ptr< lhef::LHEEvent > partonLevel_
Definition: LHESource.h:58
void put(BranchDescription const &bd, std::unique_ptr< WrapperBase > edp, ProductProvenance const &productProvenance) const
void resetEventCached()
Definition: InputSource.h:359
ProcessHistoryRegistry & processHistoryRegistryForUpdate()
Definition: InputSource.h:327
void fillEventPrincipal(EventAuxiliary const &aux, ProcessHistoryRegistry const &processHistoryRegistry, DelayedReader *reader=0)
ProductProvenance eventProductProvenance_
def move(src, dest)
Definition: eostools.py:511
BranchDescription const eventProductBranchDescription_
bool eventCached() const
Definition: InputSource.h:356
void LHESource::readLuminosityBlock_ ( edm::LuminosityBlockPrincipal lumiPrincipal)
overrideprivatevirtual

Reimplemented from edm::InputSource.

Definition at line 110 of file LHESource.cc.

References edm::LuminosityBlockPrincipal::fillLuminosityBlockPrincipal(), edm::InputSource::luminosityBlockAuxiliary(), phid_, and edm::InputSource::processHistoryRegistryForUpdate().

110  {
111  luminosityBlockAuxiliary()->setProcessHistoryID(phid_);
113 }
edm::ProcessHistoryID phid_
Definition: LHESource.h:62
void fillLuminosityBlockPrincipal(ProcessHistoryRegistry const &processHistoryRegistry, DelayedReader *reader=0)
ProcessHistoryRegistry & processHistoryRegistryForUpdate()
Definition: InputSource.h:327
std::shared_ptr< LuminosityBlockAuxiliary > luminosityBlockAuxiliary() const
Called by the framework to merge or insert lumi in principal cache.
Definition: InputSource.h:242
std::shared_ptr< edm::LuminosityBlockAuxiliary > LHESource::readLuminosityBlockAuxiliary_ ( )
overrideprivatevirtual

Implements edm::InputSource.

Definition at line 175 of file LHESource.cc.

References printConversionInfo::aux, edm::IDGeneratorSourceBase< PuttableSourceBase >::eventID(), edm::Timestamp::invalidTimestamp(), edm::EventID::luminosityBlock(), phid_, edm::IDGeneratorSourceBase< PuttableSourceBase >::presentTime(), edm::InputSource::processingMode(), edm::InputSource::resetNewLumi(), edm::EventID::run(), and edm::InputSource::Runs.

175  {
176  if (processingMode() == Runs)
177  return std::shared_ptr<edm::LuminosityBlockAuxiliary>();
179  resetNewLumi();
180  auto aux = std::make_shared<edm::LuminosityBlockAuxiliary>(
182  aux->setProcessHistoryID(phid_);
183  return aux;
184 }
RunNumber_t run() const
Definition: EventID.h:38
static Timestamp invalidTimestamp()
Definition: Timestamp.h:82
edm::ProcessHistoryID phid_
Definition: LHESource.h:62
ProcessingMode processingMode() const
RunsLumisAndEvents (default), RunsAndLumis, or Runs.
Definition: InputSource.h:233
LuminosityBlockNumber_t luminosityBlock() const
Definition: EventID.h:39
void LHESource::readRun_ ( edm::RunPrincipal runPrincipal)
overrideprivatevirtual

Reimplemented from edm::InputSource.

Definition at line 103 of file LHESource.cc.

References edm::RunPrincipal::fillRunPrincipal(), phid_, edm::InputSource::processHistoryRegistryForUpdate(), putRunInfoProduct(), and edm::InputSource::runAuxiliary().

103  {
104  runAuxiliary()->setProcessHistoryID(phid_);
106 
107  putRunInfoProduct(runPrincipal);
108 }
edm::ProcessHistoryID phid_
Definition: LHESource.h:62
void fillRunPrincipal(ProcessHistoryRegistry const &processHistoryRegistry, DelayedReader *reader=0)
Definition: RunPrincipal.cc:26
void putRunInfoProduct(edm::RunPrincipal &)
Definition: LHESource.cc:115
std::shared_ptr< RunAuxiliary > runAuxiliary() const
Called by the framework to merge or insert run in principal cache.
Definition: InputSource.h:239
ProcessHistoryRegistry & processHistoryRegistryForUpdate()
Definition: InputSource.h:327
std::shared_ptr< edm::RunAuxiliary > LHESource::readRunAuxiliary_ ( )
overrideprivatevirtual
bool LHESource::setRunAndEventInfo ( edm::EventID ,
edm::TimeValue_t ,
edm::EventAuxiliary::ExperimentType  
)
overrideprivatevirtual

Implements edm::IDGeneratorSourceBase< PuttableSourceBase >.

Definition at line 123 of file LHESource.cc.

References nextEvent(), and partonLevel_.

123  {
124  nextEvent();
125  if (!partonLevel_) {
126  // We just finished an input file. See if there is another.
127  nextEvent();
128  if (!partonLevel_) {
129  // No more input files.
130  return false;
131  }
132  }
133  return true;
134 }
std::shared_ptr< lhef::LHEEvent > partonLevel_
Definition: LHESource.h:58
void nextEvent()
Definition: LHESource.cc:55

Member Data Documentation

edm::LHEProvenanceHelper LHESource::lheProvenanceHelper_
private

Definition at line 61 of file LHESource.h.

Referenced by LHESource(), nextEvent(), putRunInfoProduct(), and readEvent_().

std::shared_ptr<lhef::LHEEvent> LHESource::partonLevel_
private

Definition at line 58 of file LHESource.h.

Referenced by nextEvent(), readEvent_(), and setRunAndEventInfo().

edm::ProcessHistoryID LHESource::phid_
private
std::unique_ptr<lhef::LHEReader> LHESource::reader_
private

Definition at line 55 of file LHESource.h.

Referenced by endJob(), and nextEvent().

std::shared_ptr<lhef::LHERunInfo> LHESource::runInfoLast_
private

Definition at line 57 of file LHESource.h.

Referenced by nextEvent().

std::unique_ptr<LHERunInfoProduct> LHESource::runInfoProductLast_
private

Definition at line 60 of file LHESource.h.

Referenced by nextEvent(), and putRunInfoProduct().