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:
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
std::shared_ptr< edm::LuminosityBlockAuxiliary > readLuminosityBlockAuxiliary_() override
Definition: LHESource.cc:174
void endJob() override
Definition: LHESource.cc:51
edm::ProcessHistoryID phid_
Definition: LHESource.h:62
std::shared_ptr< edm::RunAuxiliary > readRunAuxiliary_() override
Definition: LHESource.cc:166
void fillRunInfoProduct(lhef::LHERunInfo const &, LHERunInfoProduct &)
Definition: LHESource.cc:92
edm::LHEProvenanceHelper lheProvenanceHelper_
Definition: LHESource.h:61
std::unique_ptr< LHERunInfoProduct > runInfoProductLast_
Definition: LHESource.h:60
void readLuminosityBlock_(edm::LuminosityBlockPrincipal &lumiPrincipal) override
Definition: LHESource.cc:108
std::shared_ptr< lhef::LHERunInfo > runInfoLast_
Definition: LHESource.h:57
bool setRunAndEventInfo(edm::EventID &, edm::TimeValue_t &, edm::EventAuxiliary::ExperimentType &) override
Definition: LHESource.cc:122
std::shared_ptr< lhef::LHEEvent > partonLevel_
Definition: LHESource.h:58
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: LHESource.cc:185
void putRunInfoProduct(edm::RunPrincipal &)
Definition: LHESource.cc:114
unsigned long long TimeValue_t
Definition: Timestamp.h:21
void nextEvent()
Definition: LHESource.cc:53
LHESource(const edm::ParameterSet &params, const edm::InputSourceDescription &desc)
Definition: LHESource.cc:33
~LHESource() override
Definition: LHESource.cc:49
void readEvent_(edm::EventPrincipal &eventPrincipal) override
Definition: LHESource.cc:135
std::unique_ptr< lhef::LHEReader > reader_
Definition: LHESource.h:55
void readRun_(edm::RunPrincipal &runPrincipal) override
Definition: LHESource.cc:101
HLT enums.
void produce(edm::Event &) override
Definition: LHESource.h:46