CMS 3D CMS Logo

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 
19 
55 #include <string>
56 #include <iosfwd>
57 
58 #include "CLHEP/Random/Random.h"
59 
60 
61 namespace hitfit {
62 
63 
64 class Defaults;
65 class Lepjets_Event;
66 
67 
74 //
75 // Hold on to parameters for the toy event generator.
76 // float mt - Generated top mass.
77 // float sigma_mt - Width of top mass distribution.
78 //
79 // float mh - Generated Higgs mass.
80 // float sigma_mh - Width of Higgs mass distribution.
81 //
82 // float mw - Generated W mass.
83 // float sigma_mw - Width of W mass distribution.
84 //
85 // float mb - Generated b mass.
86 // float sigma_mb - Width of b mass distribution.
87 //
88 // float t_pt_mean - Mean pt of the generated top quarks.
89 // (It will be drawn from an exponential distribution.)
90 // float recoil_pt_mean-Mean pt of ttbar system.
91 // (It will be drawn from an exponential distribution.)
92 // float boost_sigma - Width of z-boost of ttbar system.
93 // float m_boost - Mass of z-boost of ttbar system.
94 // float sxv_tageff - Assumed efficiency of SVX b-tag.
95 // bool smear - If true, smear the event.
96 // bool smear_dir - If false, smear only energies, not directions.
97 // bool muon - If false, decay leptonic ts into electrons.
98 // Otherwise, decay into muons.
99 // string ele_res_str - Electron resolution, for Vector_Resolution.
100 // string muo_res_str - Muon resolution, for Vector_Resolution.
101 // string jet_res_str - Jet resolution, for Vector_Resolution.
102 // string kt_res_str - Kt resolution, for Resolution.
103 //
104 {
105 public:
106  // Constructor. Initialize from a Defaults object.
135  Gentop_Args (const Defaults& defs);
136 
137  // Retrieve parameter values.
138 
142  double t_pt_mean () const;
143 
147  double mt () const;
148 
152  double sigma_mt () const;
153 
157  double mh () const;
158 
162  double sigma_mh () const;
163 
167  double recoil_pt_mean () const;
168 
172  double boost_sigma () const;
173 
177  double m_boost () const;
178 
182  double mb () const;
183 
187  double sigma_mb () const;
188 
192  double mw () const;
193 
197  double sigma_mw () const;
198 
202  double svx_tageff () const;
203 
207  bool smear () const;
208 
212  bool smear_dir () const;
213 
217  bool muon () const;
218 
222  std::string ele_res_str () const;
223 
227  std::string muo_res_str () const;
228 
232  std::string jet_res_str () const;
233 
237  std::string kt_res_str () const;
238 
239 private:
240  // Hold on to parameter values.
241 
246  double _t_pt_mean;
247 
251  double _mt;
252 
256  double _sigma_mt;
257 
261  double _mh;
262 
266  double _sigma_mh;
267 
273 
277  double _boost_sigma;
278 
282  double _m_boost;
283 
287  double _mb;
288 
292  double _sigma_mb;
293 
297  double _mw;
298 
302  double _sigma_mw;
303 
308  double _svx_tageff;
309 
314  bool _smear;
315 
321 
326  bool _muon;
327 
332 
337 
342 
348 };
349 
350 
351 // Generate a ttbar -> ljets event.
360  CLHEP::HepRandomEngine& engine);
361 
362 // Generate a ttH -> ljets+bb event.
372  CLHEP::HepRandomEngine& engine);
373 
374 
375 } // namespace hitfit
bool muon() const
Return the value of muon parameter.
Definition: gentop.cc:181
std::string muo_res_str() const
Return the value of muon_res_str parameter.
Definition: gentop.cc:271
std::string _jet_res_str
Definition: gentop.h:341
double _sigma_mt
Definition: gentop.h:256
double boost_sigma() const
Return the value of boost_sigma parameter.
Definition: gentop.cc:201
double mh() const
Return the value of mh parameter.
Definition: gentop.cc:141
Gentop_Args(const Defaults &defs)
Constructor, initialize an instance of Gentop_Args from an instance of Defaults object.
Definition: gentop.cc:70
double _t_pt_mean
Definition: gentop.h:246
double mw() const
Return the value of mw parameter.
Definition: gentop.cc:241
Lepjets_Event gentth(const Gentop_Args &args, CLHEP::HepRandomEngine &engine)
Generate a event.
Definition: gentop.cc:649
double _sigma_mh
Definition: gentop.h:266
std::string jet_res_str() const
Return the value of jet_res_str parameter.
Definition: gentop.cc:281
double _svx_tageff
Definition: gentop.h:308
std::string _kt_res_str
Definition: gentop.h:347
double sigma_mt() const
Return the value of sigma_mt parameter.
Definition: gentop.cc:121
double sigma_mh() const
Return the value of sigma_mh parameter.
Definition: gentop.cc:151
double _sigma_mb
Definition: gentop.h:292
double _recoil_pt_mean
Definition: gentop.h:272
double sigma_mb() const
Return the value of sigma_mb parameter.
Definition: gentop.cc:231
std::string kt_res_str() const
Return the value of kt_res_str parameter.
Definition: gentop.cc:291
double recoil_pt_mean() const
Return the value of recoil_pt_mean parameter.
Definition: gentop.cc:191
Represent a simple event consisting of lepton(s) and jet(s). An instance of this class holds a list o...
Definition: Lepjets_Event.h:66
double mb() const
Return the value of mb parameter.
Definition: gentop.cc:221
Lepjets_Event gentop(const Gentop_Args &args, CLHEP::HepRandomEngine &engine)
Generate a event.
Definition: gentop.cc:559
std::string _ele_res_str
Definition: gentop.h:331
double sigma_mw() const
Return the value of sigma_mw parameter.
Definition: gentop.cc:251
double _sigma_mw
Definition: gentop.h:302
bool smear_dir() const
Return the value of smear_dir parameter.
Definition: gentop.cc:171
Hold on to parameters for the toy event generator.
Definition: gentop.h:73
double mt() const
Return the value of mt parameter.
Definition: gentop.cc:111
double m_boost() const
Return the value of m_boost parameter.
Definition: gentop.cc:211
std::string _muo_res_str
Definition: gentop.h:336
std::string ele_res_str() const
Return the value of ele_res_str parameter.
Definition: gentop.cc:261
Define an interface for getting parameter settings.
Definition: Defaults.h:61
double _boost_sigma
Definition: gentop.h:277
bool smear() const
Return the value of smear parameter.
Definition: gentop.cc:161
double svx_tageff() const
Return the value of svx_tageff parameter.
Definition: gentop.cc:131
double t_pt_mean() const
Return the value of t_pt_mean parameter.
Definition: gentop.cc:101