CMS 3D CMS Logo

Constrained_Top.h
Go to the documentation of this file.
1 //
2 //
3 // File: hitfit/Constrained_Top.h
4 // Purpose: Do kinematic fitting for a ttbar -> ljets event.
5 // Created: Jul, 2000, sss, based on run 1 mass analysis code.
6 //
7 // CMSSW File : interface/Constrained_Top.h
8 // Original Author : Scott Stuart Snyder <snyder@bnl.gov> for D0
9 // Imported to CMSSW by Haryo Sumowidagdo <Suharyo.Sumowidagdo@cern.ch>
10 
33 #ifndef HITFIT_CONSTRAINED_TOP_H
34 #define HITFIT_CONSTRAINED_TOP_H
35 
38 #include <iosfwd>
39 
40 namespace hitfit {
41 
42  class Defaults;
43  class Lepjets_Event;
44 
53  //
54  // Purpose: Hold on to parameters for the Constrained_Top class.
55  //
56  // Parameters controlling the operation of the fitter:
57  // float bmass - The mass to which b jets should be fixed.
58  //
59  {
60  public:
61  // Constructor. Initialize from a Defaults object.
72  Constrained_Top_Args(const Defaults& defs);
73 
74  // Retrieve parameter values.
78  double bmass() const;
79 
80  // Arguments for subobjects.
85 
86  // Retrieve requirement for equal mass on both sides
90  bool equal_side() const;
91 
92  private:
93  // Hold on to parameter values.
94 
98  double _bmass;
99 
105 
111  };
112 
113  //*************************************************************************
114 
121  //
122  // Purpose: Do kinematic fitting for a ttbar -> ljets event.
123  //
124  {
125  public:
126  // Constructor.
127  // LEPW_MASS, HADW_MASS, and TOP_MASS are the masses to which
128  // those objects should be constrained. To remove a constraint,
129  // set the mass to 0.
146  Constrained_Top(const Constrained_Top_Args& args, double lepw_mass, double hadw_mass, double top_mass);
147 
148  // Do a constrained fit.
182  double constrain(Lepjets_Event& ev, double& mt, double& sigmt, Column_Vector& pullx, Column_Vector& pully);
183 
184  // Dump out our state.
185  friend std::ostream& operator<<(std::ostream& s, const Constrained_Top& ct);
186 
187  private:
188  // Parameter settings.
193 
194  // The guy that actually does the work.
199  };
200 
201 } // namespace hitfit
202 
203 #endif // not HITFIT_CONSTRAINED_TOP_H
const Fourvec_Constrainer_Args & fourvec_constrainer_args() const
Hold on to parameters for the Constrained_Top class.
Constrained_Top(const Constrained_Top_Args &args, double lepw_mass, double hadw_mass, double top_mass)
Constructor, create an instance of the Constrained_Top object from the arguments object and the mass ...
friend std::ostream & operator<<(std::ostream &s, const Constrained_Top &ct)
Output stream operator, print the content of this Constrained_Top object to an output stream...
Do a constrained kinematic fitting for a event.
CLHEP::HepVector Column_Vector
Definition: matutil.h:63
Fourvec_Constrainer _constrainer
Define matrix types for the HitFit package, and supply a few additional operations.
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 constrain(Lepjets_Event &ev, double &mt, double &sigmt, Column_Vector &pullx, Column_Vector &pully)
Do a constrained fit of events. Returns the top mass and its error in mt and sigmt, and the pull quantities in pullx and pully. Returns the , this will be negative if the fit failed to converge.
Constrained_Top_Args(const Defaults &defs)
Fourvec_Constrainer_Args _fourvec_constrainer_args
const Constrained_Top_Args _args
Define an interface for getting parameter settings.
Definition: Defaults.h:57
Do a kinematic fit for a set of four-vectors, given a set of mass constraints.
Do a kinematic fit for a set of four-momenta, given a set of mass constraints.
Hold on to parameters for the Fourvec_Constrainer class.