CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
gentop.h
Go to the documentation of this file.
1 //
2 //
3 // File: hitfit/gentop.h
4 // Purpose: Toy ttbar event generator for testing.
5 // Created: Jul, 2000, sss.
6 //
7 // This is a very simple event generator for ttbar events, to allow some
8 // basic tests of the mass fitting code. We generate random ttbars,
9 // with kinematics pulled out of a hat, and then decay them into l+jets
10 // events. No radiation or other such luxuries, and, as mentioned, any
11 // kinematic distribuions will certainly be wrong. But the generated
12 // events should satisfy the l+jets mass constraints.
13 //
14 // CMSSW File : interface/gentop.h
15 // Original Author : Scott Stuart Snyder <snyder@bnl.gov> for D0
16 // Imported to CMSSW by Haryo Sumowidagdo <Suharyo.Sumowidagdo@cern.ch>
17 //
18 
54 #include <string>
55 #include <iosfwd>
56 
57 #include "CLHEP/Random/Random.h"
58 
59 namespace hitfit {
60 
61  class Defaults;
62  class Lepjets_Event;
63 
70  //
71  // Hold on to parameters for the toy event generator.
72  // float mt - Generated top mass.
73  // float sigma_mt - Width of top mass distribution.
74  //
75  // float mh - Generated Higgs mass.
76  // float sigma_mh - Width of Higgs mass distribution.
77  //
78  // float mw - Generated W mass.
79  // float sigma_mw - Width of W mass distribution.
80  //
81  // float mb - Generated b mass.
82  // float sigma_mb - Width of b mass distribution.
83  //
84  // float t_pt_mean - Mean pt of the generated top quarks.
85  // (It will be drawn from an exponential distribution.)
86  // float recoil_pt_mean-Mean pt of ttbar system.
87  // (It will be drawn from an exponential distribution.)
88  // float boost_sigma - Width of z-boost of ttbar system.
89  // float m_boost - Mass of z-boost of ttbar system.
90  // float sxv_tageff - Assumed efficiency of SVX b-tag.
91  // bool smear - If true, smear the event.
92  // bool smear_dir - If false, smear only energies, not directions.
93  // bool muon - If false, decay leptonic ts into electrons.
94  // Otherwise, decay into muons.
95  // string ele_res_str - Electron resolution, for Vector_Resolution.
96  // string muo_res_str - Muon resolution, for Vector_Resolution.
97  // string jet_res_str - Jet resolution, for Vector_Resolution.
98  // string kt_res_str - Kt resolution, for Resolution.
99  //
100  {
101  public:
102  // Constructor. Initialize from a Defaults object.
131  Gentop_Args(const Defaults& defs);
132 
133  // Retrieve parameter values.
134 
138  double t_pt_mean() const;
139 
143  double mt() const;
144 
148  double sigma_mt() const;
149 
153  double mh() const;
154 
158  double sigma_mh() const;
159 
163  double recoil_pt_mean() const;
164 
168  double boost_sigma() const;
169 
173  double m_boost() const;
174 
178  double mb() const;
179 
183  double sigma_mb() const;
184 
188  double mw() const;
189 
193  double sigma_mw() const;
194 
198  double svx_tageff() const;
199 
203  bool smear() const;
204 
208  bool smear_dir() const;
209 
213  bool muon() const;
214 
218  std::string ele_res_str() const;
219 
223  std::string muo_res_str() const;
224 
228  std::string jet_res_str() const;
229 
233  std::string kt_res_str() const;
234 
235  private:
236  // Hold on to parameter values.
237 
242  double _t_pt_mean;
243 
247  double _mt;
248 
252  double _sigma_mt;
253 
257  double _mh;
258 
262  double _sigma_mh;
263 
269 
273  double _boost_sigma;
274 
278  double _m_boost;
279 
283  double _mb;
284 
288  double _sigma_mb;
289 
293  double _mw;
294 
298  double _sigma_mw;
299 
304  double _svx_tageff;
305 
310  bool _smear;
311 
317 
322  bool _muon;
323 
328 
333 
338 
344  };
345 
346  // Generate a ttbar -> ljets event.
354  Lepjets_Event gentop(const Gentop_Args& args, CLHEP::HepRandomEngine& engine);
355 
356  // Generate a ttH -> ljets+bb event.
365  Lepjets_Event gentth(const Gentop_Args& args, CLHEP::HepRandomEngine& engine);
366 
367 } // namespace hitfit
bool muon() const
Return the value of muon parameter.
Definition: gentop.cc:164
std::string muo_res_str() const
Return the value of muon_res_str parameter.
Definition: gentop.cc:245
std::string _jet_res_str
Definition: gentop.h:337
double _sigma_mt
Definition: gentop.h:252
double boost_sigma() const
Return the value of boost_sigma parameter.
Definition: gentop.cc:182
double mh() const
Return the value of mh parameter.
Definition: gentop.cc:128
Gentop_Args(const Defaults &defs)
Constructor, initialize an instance of Gentop_Args from an instance of Defaults object.
Definition: gentop.cc:64
double _t_pt_mean
Definition: gentop.h:242
double mw() const
Return the value of mw parameter.
Definition: gentop.cc:218
Lepjets_Event gentth(const Gentop_Args &args, CLHEP::HepRandomEngine &engine)
Generate a event.
Definition: gentop.cc:587
double _sigma_mh
Definition: gentop.h:262
std::string jet_res_str() const
Return the value of jet_res_str parameter.
Definition: gentop.cc:254
double _svx_tageff
Definition: gentop.h:304
std::string _kt_res_str
Definition: gentop.h:343
double sigma_mt() const
Return the value of sigma_mt parameter.
Definition: gentop.cc:110
double sigma_mh() const
Return the value of sigma_mh parameter.
Definition: gentop.cc:137
double _sigma_mb
Definition: gentop.h:288
double _recoil_pt_mean
Definition: gentop.h:268
double sigma_mb() const
Return the value of sigma_mb parameter.
Definition: gentop.cc:209
std::string kt_res_str() const
Return the value of kt_res_str parameter.
Definition: gentop.cc:263
double recoil_pt_mean() const
Return the value of recoil_pt_mean parameter.
Definition: gentop.cc:173
Represent a simple event consisting of lepton(s) and jet(s). An instance of this class holds a list o...
Definition: Lepjets_Event.h:62
double mb() const
Return the value of mb parameter.
Definition: gentop.cc:200
Lepjets_Event gentop(const Gentop_Args &args, CLHEP::HepRandomEngine &engine)
Generate a event.
Definition: gentop.cc:513
std::string _ele_res_str
Definition: gentop.h:327
double sigma_mw() const
Return the value of sigma_mw parameter.
Definition: gentop.cc:227
double _sigma_mw
Definition: gentop.h:298
bool smear_dir() const
Return the value of smear_dir parameter.
Definition: gentop.cc:155
Hold on to parameters for the toy event generator.
Definition: gentop.h:69
double mt() const
Return the value of mt parameter.
Definition: gentop.cc:101
double m_boost() const
Return the value of m_boost parameter.
Definition: gentop.cc:191
std::string _muo_res_str
Definition: gentop.h:332
std::string ele_res_str() const
Return the value of ele_res_str parameter.
Definition: gentop.cc:236
Define an interface for getting parameter settings.
Definition: Defaults.h:57
double _boost_sigma
Definition: gentop.h:273
bool smear() const
Return the value of smear parameter.
Definition: gentop.cc:146
double svx_tageff() const
Return the value of svx_tageff parameter.
Definition: gentop.cc:119
double t_pt_mean() const
Return the value of t_pt_mean parameter.
Definition: gentop.cc:92