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  class BeamHaloProducer : public one::EDProducer<EndRunProducer, one::WatchLuminosityBlocks, one::SharedResources> {
23  public:
27  ~BeamHaloProducer() override;
28 
29  void setRandomEngine(CLHEP::HepRandomEngine* v);
30 
31  private:
32  bool call_ki_bhg_init(long& seed);
33  bool call_bh_set_parameters(int* ival, float* fval, const std::string cval_string);
34  bool call_ki_bhg_fill(int& iret, float& weight);
35  bool call_ki_bhg_stat(int& iret);
36 
37  private:
38  void produce(Event& e, const EventSetup& es) override;
39  void endRunProduce(Run& r, const EventSetup& es) override;
40  void beginLuminosityBlock(LuminosityBlock const&, EventSetup const&) override;
41  void endLuminosityBlock(LuminosityBlock const&, EventSetup const&) override {}
42 
43  void clear();
44 
46 
47  int GENMOD_;
48  int LHC_B1_;
49  int LHC_B2_;
50  int IW_MUO_;
51  int IW_HAD_;
52  float EG_MIN_;
53  float EG_MAX_;
55 
57  };
58 
59 } // namespace edm
60 
61 #endif
~BeamHaloProducer() override
Destructor.
void setRandomEngine(CLHEP::HepRandomEngine *v)
Definition: weight.py:1
void beginLuminosityBlock(LuminosityBlock const &, EventSetup const &) override
void produce(Event &e, const EventSetup &es) override
HepMC::GenEvent * evt
void endRunProduce(Run &r, const EventSetup &es) override
bool call_ki_bhg_fill(int &iret, float &weight)
BeamHaloProducer(const ParameterSet &)
Constructor.
bool call_bh_set_parameters(int *ival, float *fval, const std::string cval_string)
bool call_ki_bhg_stat(int &iret)
HLT enums.
bool call_ki_bhg_init(long &seed)
void endLuminosityBlock(LuminosityBlock const &, EventSetup const &) override
Definition: Run.h:45