CMS 3D CMS Logo

Lepjets_Event_Lep.h
Go to the documentation of this file.
1 //
2 //
3 // File: hitfit/Lepjets_Event_Lep.h
4 // Purpose: Represent a `lepton' in a Lepjets_Event class.
5 // Created: Jul, 2000, sss, based on run 1 mass analysis code.
6 //
7 // For each lepton, we store:
8 //
9 // - 4-momentum
10 // - type code
11 // - Vector_Resolution
12 //
13 // CMSSW File : interface/Lepjets_Event_Lep.h
14 // Original Author : Scott Stuart Snyder <snyder@bnl.gov> for D0
15 // Imported to CMSSW by Haryo Sumowidagdo <Suharyo.Sumowidagdo@cern.ch>
16 //
17 
18 
40 #ifndef HITFIT_LEPJETS_EVENT_LEP_H
41 #define HITFIT_LEPJETS_EVENT_LEP_H
42 
43 
46 #include <iosfwd>
47 
48 
49 namespace hitfit {
50 
55  lepton_label = 1, // generic lepton
58 };
59 
60 
69 //
70 // Purpose: Represent a `lepton' in a Lepjets_Event class.
71 //
72 {
73 public:
74  // Constructor.
84  Lepjets_Event_Lep (const Fourvec& p,
85  int type,
86  const Vector_Resolution& res);
87 
88  // Access the 4-momentum.
92  Fourvec& p ();
93 
97  const Fourvec& p () const;
98 
99  // Access the type code.
103  int& type ();
104 
108  int type () const;
109 
110  // Access the resolution.
114  const Vector_Resolution& res () const;
115 
120 
121  // Return resolutions for this object.
126  double p_sigma () const;
127 
131  double eta_sigma () const;
132 
136  double phi_sigma () const;
137 
138  // Smear this object.
139  // If SMEAR_DIR is false, smear the momentum only.
148  void smear (CLHEP::HepRandomEngine& engine, bool smear_dir = false);
149 
150  // Dump out this object.
161  std::ostream& dump (std::ostream& s, bool full = false) const;
162 
163  // Sort on pt.
170  bool operator< (const Lepjets_Event_Lep& x) const;
171 
172 
173 private:
174  // The object state.
175 
180 
184  int _type;
185 
190 };
191 
192 
193 // Print the object.
194 std::ostream& operator<< (std::ostream& s, const Lepjets_Event_Lep& ev);
195 
196 
197 } // namespace hitfit
198 
199 
200 #endif // not HITFIT_LEPJETS_EVENT_LEP_H
201 
type
Definition: HCALResponse.h:21
std::ostream & dump(std::ostream &s, bool full=false) const
Print the content of this object.
Calculate and represent resolution for a vector of momentum , pseudorapidity , and azimuthal angle ...
Represent a lepton in an instance of Lepjets_Event class. This class hold the following information: ...
Define three-vector and four-vector classes for the HitFit package, and supply a few additional opera...
void smear(CLHEP::HepRandomEngine &engine, bool smear_dir=false)
Smear this object.
bool ev
Lepjets_Event_Lep(const Fourvec &p, int type, const Vector_Resolution &res)
Constructor, create a new instance of Lepjets_Event_Lep.
Definition: Electron.h:6
double eta_sigma() const
Return the uncertainty in pseudorapidity .
int & type()
Return a reference to the type code.
const Vector_Resolution & res() const
Return a constant reference to the resolution.
double phi_sigma() const
Return the uncertainty in azimuthal angle .
double p_sigma() const
Return the uncertainty in momentum or ( or if the lepton is a tracking object).
Definition: GenABIO.cc:168
CLHEP::HepLorentzVector Fourvec
Typedef for a HepLorentzVector.
Definition: fourvec.h:57
std::ostream & operator<<(std::ostream &s, const Constraint_Intermed &ci)
Output stream operator, print the content of this Constraint_Intermed to an output stream...
Fourvec & p()
Return a reference to the four-momentum.
bool operator<(const Lepjets_Event_Lep &x) const
Comparison operator for sorting purpose, based on $p_{T}$.
Calculate and represent resolution for a vector of , pseudorapidity , and azimuthal angle ...