CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Event.h
Go to the documentation of this file.
1 //-*-c++-*-
2 //-*-Event.h-*-
3 // Written by James Monk and Andrew Pilkington
5 #ifndef EVENT_HH
6 #define EVENT_HH
7 
10 
11 namespace CLHEP {
12 class HepRandomEngine;
13 }
14 
15 namespace Exhume{
16 
17  class Event : public Weight{
18 
19  public:
20 
21  Event(CrossSection&, CLHEP::HepRandomEngine*);
22  ~Event();
23  void Generate();
24  inline void Setx1Max(const double &xx_){
25  x1Max = xx_;
26  return;
27  };
28  inline void Setx2Max(const double &xx_){
29  x2Max = xx_;
30  return;
31  };
32  inline void Sett1Max(const double &xx_){
33  t1Max = xx_;
34  return;
35  };
36  inline void Sett2Max(const double &xx_){
37  t2Max = xx_;
38  return;
39  };
40  inline void Sett1Min(const double &xx_){
41  t1Min = xx_;
42  return;
43  };
44  inline void Sett2Min(const double &xx_){
45  t2Min = xx_;
46  return;
47  };
48  inline void SetMassRange(const double &Min_, const double &Max_){
49  MinMass = Min_;
50  MaxMass = Max_;
51  return;
52  };
53 
54  inline unsigned int GetLastSeed(){
55  return(rand());
56  };
57 
58  inline std::vector<std::pair<double, double> > GetVar(){
59  return(Var);
60  };
61 
62  void SetParameterSpace();
63 
64  double CrossSectionCalculation();
65 
66  inline double GetEfficiency(){
67  return(100.0 * NumberOfEvents / TotalAttempts);
68  };
69 
70  private:
71 
72  void SelectValues();
73  double WeightFunc(const double&);
74 
75  std::vector<std::pair<double, double> > Var;
76 
77  double CSi, CSMass, Sigmai, wgt, yRange;
79  double SqrtsHat, Eta, t1, t2, Phi1, Phi2, VonNeu;
80  double ymax, ymin;
83 
86 
87  CLHEP::HepRandomEngine* randomEngine;
88  };
89 
90 }
91 
92 #endif
unsigned int TotalAttempts
Definition: Event.h:82
double CrossSectionCalculation()
double MaxMass
Definition: Event.h:84
double tt1max
Definition: Event.h:85
double x2Max
Definition: Event.h:84
double t2
Definition: Event.h:79
CLHEP::HepRandomEngine * randomEngine
Definition: Event.h:87
double MinMass
Definition: Event.h:84
unsigned int GetLastSeed()
Definition: Event.h:54
double TwoPI
Definition: Event.h:78
void Sett1Min(const double &xx_)
Definition: Event.h:40
double t1Max
Definition: Event.h:84
void Setx1Max(const double &xx_)
Definition: Event.h:24
double wgt
Definition: Event.h:77
double ymax
Definition: Event.h:80
double x1Max
Definition: Event.h:84
double GetEfficiency()
Definition: Event.h:66
double Phi2
Definition: Event.h:79
double tt1min
Definition: Event.h:85
double tt2max
Definition: Event.h:85
double Max_
Definition: Weight.h:67
double InvBlnB
Definition: Event.h:78
void Sett1Max(const double &xx_)
Definition: Event.h:32
double VonNeu
Definition: Event.h:79
double tt2min
Definition: Event.h:85
void SetMassRange(const double &Min_, const double &Max_)
Definition: Event.h:48
std::vector< std::pair< double, double > > GetVar()
Definition: Event.h:58
double Eta
Definition: Event.h:79
double t2Min
Definition: Event.h:84
CrossSection * Process
Definition: Event.h:81
double Sigmai
Definition: Event.h:77
void SetParameterSpace()
double t1Min
Definition: Event.h:84
double InvRoot_s
Definition: Event.h:78
void Setx2Max(const double &xx_)
Definition: Event.h:28
void Sett2Min(const double &xx_)
Definition: Event.h:44
double SqrtsHat
Definition: Event.h:79
double ymin
Definition: Event.h:80
double t1
Definition: Event.h:79
unsigned int NumberOfEvents
Definition: Event.h:82
double yRange
Definition: Event.h:77
Signal rand(Signal arg)
Definition: vlib.cc:442
void Sett2Max(const double &xx_)
Definition: Event.h:36
double CSMass
Definition: Event.h:77
double Root_s
Definition: Event.h:78
double t2Max
Definition: Event.h:84
std::vector< std::pair< double, double > > Var
Definition: Event.h:75
Event(CrossSection &, CLHEP::HepRandomEngine *)
double B
Definition: Event.h:78
double WeightFunc(const double &)
void SelectValues()
double CSi
Definition: Event.h:77
double Phi1
Definition: Event.h:79
double InvB
Definition: Event.h:78