CMS 3D CMS Logo

BeamHaloProducer.h
Go to the documentation of this file.
1 #ifndef BeamHalo_Producer_h
2 #define BeamHalo_Producer_h
3 
4 #include <map>
5 #include <string>
6 
7 #include "HepMC/GenEvent.h"
8 
9 #include "CLHEP/Random/RandFlat.h"
10 
16 
17 namespace CLHEP {
18  class HepRandomEngine;
19 }
20 
21 namespace edm
22 {
23  class BeamHaloProducer : public one::EDProducer<EndRunProducer, one::WatchLuminosityBlocks, one::SharedResources> {
24  public:
25 
29  ~BeamHaloProducer() override;
30 
31  void setRandomEngine(CLHEP::HepRandomEngine* v);
32 
33  private:
34  bool call_ki_bhg_init(long& seed);
35  bool call_bh_set_parameters(int* ival, float* fval,const std::string cval_string);
36  bool call_ki_bhg_fill(int& iret, float& weight);
37  bool call_ki_bhg_stat(int& iret);
38 
39  private:
40 
41  void produce(Event & e, const EventSetup & es) override;
42  void endRunProduce(Run & r, const EventSetup & es) override;
43  void beginLuminosityBlock(LuminosityBlock const&, EventSetup const&) override;
44  void endLuminosityBlock(LuminosityBlock const&, EventSetup const&) override { }
45 
46  void clear();
47 
48  HepMC::GenEvent *evt;
49 
50  int GENMOD_;
51  int LHC_B1_;
52  int LHC_B2_;
53  int IW_MUO_;
54  int IW_HAD_;
55  float EG_MIN_;
56  float EG_MAX_;
58 
60  };
61 
62 }
63 
64 #endif
Definition: weight.py:1
HepMC::GenEvent * evt
void clear(CLHEP::HepGenMatrix &m)
Helper function: Reset all elements of a matrix to 0.
Definition: matutil.cc:167
HLT enums.
void endLuminosityBlock(LuminosityBlock const &, EventSetup const &) override
Definition: Run.h:43