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 
8 #include <boost/shared_ptr.hpp>
13 
15 
16 namespace lhef {
17  class LHERunInfo;
18  class LHEEvent;
19  class LHEReader;
20 }
21 
22 namespace edm {
23  class EventPrincipal;
24  class LuminosityBlockAuxiliary;
25  class LuminosityBlockPrincipal;
26  class ParameterSet;
27  class Run;
28  class RunAuxiliary;
29  class RunPrincipal;
30 }
31 
32 class LHERunInfoProduct;
33 
35 public:
36  explicit LHESource(const edm::ParameterSet &params,
37  const edm::InputSourceDescription &desc);
38  ~LHESource() override;
39 
40  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
41 
42 private:
43 
44  void endJob() override;
45  bool setRunAndEventInfo(edm::EventID&, edm::TimeValue_t&, edm::EventAuxiliary::ExperimentType&) override;
46  void readRun_(edm::RunPrincipal& runPrincipal) override;
47  void readLuminosityBlock_(edm::LuminosityBlockPrincipal& lumiPrincipal) override;
48  void readEvent_(edm::EventPrincipal& eventPrincipal) override;
49  void produce(edm::Event&) override {}
50  std::shared_ptr<edm::RunAuxiliary> readRunAuxiliary_() override;
51  std::shared_ptr<edm::LuminosityBlockAuxiliary> readLuminosityBlockAuxiliary_() override;
52 
53  void nextEvent();
54 
55  void putRunInfoProduct(edm::RunPrincipal&);
56  void fillRunInfoProduct(lhef::LHERunInfo const&, LHERunInfoProduct& );
57 
58  std::unique_ptr<lhef::LHEReader> reader_;
59 
60  std::shared_ptr<lhef::LHERunInfo> runInfoLast_;
61  std::shared_ptr<lhef::LHEEvent> partonLevel_;
62 
63  std::unique_ptr<LHERunInfoProduct> runInfoProductLast_;
66 };
67 
68 #endif // GeneratorInterface_LHEInterface_LHESource_h
edm::ProcessHistoryID phid_
Definition: LHESource.h:65
edm::LHEProvenanceHelper lheProvenanceHelper_
Definition: LHESource.h:64
std::unique_ptr< LHERunInfoProduct > runInfoProductLast_
Definition: LHESource.h:63
std::shared_ptr< lhef::LHERunInfo > runInfoLast_
Definition: LHESource.h:60
std::shared_ptr< lhef::LHEEvent > partonLevel_
Definition: LHESource.h:61
unsigned long long TimeValue_t
Definition: Timestamp.h:28
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
std::unique_ptr< lhef::LHEReader > reader_
Definition: LHESource.h:58
HLT enums.
void produce(edm::Event &) override
Definition: LHESource.h:49