CMS 3D CMS Logo

LHESource.h
Go to the documentation of this file.
1 #ifndef GeneratorInterface_LHEInterface_LHESource_h
2 #define GeneratorInterface_LHEInterface_LHESource_h
3 
4 #include <memory>
5 
6 #include <deque>
7 
12 
14 
15 namespace lhef {
16  class LHERunInfo;
17  class LHEEvent;
18  class LHEReader;
19 } // namespace lhef
20 
21 namespace edm {
22  class EventPrincipal;
23  class LuminosityBlockAuxiliary;
24  class LuminosityBlockPrincipal;
25  class ParameterSet;
26  class Run;
27  class RunAuxiliary;
28  class RunPrincipal;
29 } // namespace edm
30 
31 class LHERunInfoProduct;
32 
34 public:
35  explicit LHESource(const edm::ParameterSet& params, const edm::InputSourceDescription& desc);
36  ~LHESource() override;
37 
38  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
39 
40 private:
41  void endJob() override;
43  void readRun_(edm::RunPrincipal& runPrincipal) override;
44  void readLuminosityBlock_(edm::LuminosityBlockPrincipal& lumiPrincipal) override;
45  void readEvent_(edm::EventPrincipal& eventPrincipal) override;
46  void produce(edm::Event&) override {}
47  std::shared_ptr<edm::RunAuxiliary> readRunAuxiliary_() override;
48  std::shared_ptr<edm::LuminosityBlockAuxiliary> readLuminosityBlockAuxiliary_() override;
49 
50  void nextEvent();
51 
54 
55  std::unique_ptr<lhef::LHEReader> reader_;
56 
57  std::shared_ptr<lhef::LHERunInfo> runInfoLast_;
58  std::shared_ptr<lhef::LHEEvent> partonLevel_;
59 
60  std::unique_ptr<LHERunInfoProduct> runInfoProductLast_;
63 };
64 
65 #endif // GeneratorInterface_LHEInterface_LHESource_h
ConfigurationDescriptions.h
ProcessHistoryID.h
LHESource::fillRunInfoProduct
void fillRunInfoProduct(lhef::LHERunInfo const &, LHERunInfoProduct &)
Definition: LHESource.cc:94
LHESource::partonLevel_
std::shared_ptr< lhef::LHEEvent > partonLevel_
Definition: LHESource.h:58
LHESource::runInfoLast_
std::shared_ptr< lhef::LHERunInfo > runInfoLast_
Definition: LHESource.h:57
CalibrationSummaryClient_cfi.params
params
Definition: CalibrationSummaryClient_cfi.py:14
edm
HLT enums.
Definition: AlignableModifier.h:19
edm::LuminosityBlockPrincipal
Definition: LuminosityBlockPrincipal.h:31
edm::InputSourceDescription
Definition: InputSourceDescription.h:20
particlelevel_cff.LHERunInfo
LHERunInfo
Definition: particlelevel_cff.py:56
LHESource::readRun_
void readRun_(edm::RunPrincipal &runPrincipal) override
Definition: LHESource.cc:103
LHESource::nextEvent
void nextEvent()
Definition: LHESource.cc:55
LHERunInfoProduct
Definition: LHERunInfoProduct.h:13
edm::EventPrincipal
Definition: EventPrincipal.h:46
LHESource::phid_
edm::ProcessHistoryID phid_
Definition: LHESource.h:62
edm::Hash< ProcessHistoryType >
LHESource::lheProvenanceHelper_
edm::LHEProvenanceHelper lheProvenanceHelper_
Definition: LHESource.h:61
LHESource::readLuminosityBlock_
void readLuminosityBlock_(edm::LuminosityBlockPrincipal &lumiPrincipal) override
Definition: LHESource.cc:110
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
lhef::LHERunInfo
Definition: LHERunInfo.h:25
edm::ParameterSet
Definition: ParameterSet.h:36
ParameterSet
Definition: Functions.h:16
LHESource::reader_
std::unique_ptr< lhef::LHEReader > reader_
Definition: LHESource.h:55
lhef
Definition: ExhumeHadronizer.h:12
LHESource::readLuminosityBlockAuxiliary_
std::shared_ptr< edm::LuminosityBlockAuxiliary > readLuminosityBlockAuxiliary_() override
Definition: LHESource.cc:176
LHESource::setRunAndEventInfo
bool setRunAndEventInfo(edm::EventID &, edm::TimeValue_t &, edm::EventAuxiliary::ExperimentType &) override
Definition: LHESource.cc:124
LHESource::putRunInfoProduct
void putRunInfoProduct(edm::RunPrincipal &)
Definition: LHESource.cc:116
LHEProvenanceHelper.h
LesHouches.h
LHESource::readEvent_
void readEvent_(edm::EventPrincipal &eventPrincipal) override
Definition: LHESource.cc:137
LHESource::~LHESource
~LHESource() override
Definition: LHESource.cc:51
LHESource::readRunAuxiliary_
std::shared_ptr< edm::RunAuxiliary > readRunAuxiliary_() override
Definition: LHESource.cc:168
edm::ProducerSourceFromFiles
Definition: ProducerSourceFromFiles.h:17
LHESource::fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: LHESource.cc:187
LHESource
Definition: LHESource.h:33
edm::EventAuxiliary::ExperimentType
ExperimentType
Definition: EventAuxiliary.h:18
LHESource::runInfoProductLast_
std::unique_ptr< LHERunInfoProduct > runInfoProductLast_
Definition: LHESource.h:60
LHESource::endJob
void endJob() override
Definition: LHESource.cc:53
LHESource::produce
void produce(edm::Event &) override
Definition: LHESource.h:46
LHESource::LHESource
LHESource(const edm::ParameterSet &params, const edm::InputSourceDescription &desc)
Definition: LHESource.cc:35
edm::RunPrincipal
Definition: RunPrincipal.h:34
edm::LHEProvenanceHelper
Definition: LHEProvenanceHelper.h:17
edm::EventID
Definition: EventID.h:31
edm::Event
Definition: Event.h:73
ProducerSourceFromFiles.h
edm::TimeValue_t
unsigned long long TimeValue_t
Definition: Timestamp.h:28
Run