CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
LH5Source.h
Go to the documentation of this file.
1 #ifndef GeneratorInterface_LHEInterface_LH5Source_h
2 #define GeneratorInterface_LHEInterface_LH5Source_h
3 
4 #include <memory>
5 
6 #include <deque>
7 
12 
14 
15 namespace lhef {
16  class LHERunInfo;
17  class LHEEvent;
18  class LH5Reader;
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  ~LH5Source() 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::LH5Reader> 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_LH5Source_h
void readLuminosityBlock_(edm::LuminosityBlockPrincipal &lumiPrincipal) override
Definition: LH5Source.cc:109
std::unique_ptr< LHERunInfoProduct > runInfoProductLast_
Definition: LH5Source.h:60
edm::ProcessHistoryID phid_
Definition: LH5Source.h:62
void readRun_(edm::RunPrincipal &runPrincipal) override
Definition: LH5Source.cc:102
std::shared_ptr< lhef::LHERunInfo > runInfoLast_
Definition: LH5Source.h:57
std::shared_ptr< lhef::LHEEvent > partonLevel_
Definition: LH5Source.h:58
std::shared_ptr< edm::LuminosityBlockAuxiliary > readLuminosityBlockAuxiliary_() override
Definition: LH5Source.cc:175
void nextEvent()
Definition: LH5Source.cc:54
LH5Source(const edm::ParameterSet &params, const edm::InputSourceDescription &desc)
Definition: LH5Source.cc:33
void putRunInfoProduct(edm::RunPrincipal &)
Definition: LH5Source.cc:115
edm::LHEProvenanceHelper lheProvenanceHelper_
Definition: LH5Source.h:61
void endJob() override
Definition: LH5Source.cc:52
unsigned long long TimeValue_t
Definition: Timestamp.h:28
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: LH5Source.cc:186
~LH5Source() override
Definition: LH5Source.cc:50
std::shared_ptr< edm::RunAuxiliary > readRunAuxiliary_() override
Definition: LH5Source.cc:167
void readEvent_(edm::EventPrincipal &eventPrincipal) override
Definition: LH5Source.cc:136
void produce(edm::Event &) override
Definition: LH5Source.h:46
void fillRunInfoProduct(lhef::LHERunInfo const &, LHERunInfoProduct &)
Definition: LH5Source.cc:93
std::unique_ptr< lhef::LH5Reader > reader_
Definition: LH5Source.h:55
bool setRunAndEventInfo(edm::EventID &, edm::TimeValue_t &, edm::EventAuxiliary::ExperimentType &) override
Definition: LH5Source.cc:123