![]() |
|
|||
File indexing completed on 2024-04-06 12:31:19
0001 // 0002 // 0003 // File: src/Lepjets_Event_Lep.cc 0004 // Purpose: Represent a `lepton' in a Lepjets_Event. 0005 // Created: Jul, 2000, sss, based on run 1 mass analysis code. 0006 // 0007 // CMSSW File : src/Lepjets_Event_Lep.cc 0008 // Original Author : Scott Stuart Snyder <snyder@bnl.gov> for D0 0009 // Imported to CMSSW by Haryo Sumowidagdo <Suharyo.Sumowidagdo@cern.ch> 0010 // 0011 0012 /** 0013 @file Lepjets_Event_Lep.cc 0014 0015 @brief Represent a lepton in an instance of Lepjets_Event class. 0016 See the header file Lepjets_Event_Lep for details. 0017 0018 @author Scott Stuart Snyder <snyder@bnl.gov> 0019 0020 @par Creation date: 0021 Jul 2000. 0022 0023 @par Modification History: 0024 Apr 2009: Haryo Sumowidagdo <Suharyo.Sumowidagdo@cern.ch>: 0025 Imported to CMSSW.<br> 0026 Nov 2009: Haryo Sumowidagdo <Suharyo.Sumowidagdo@cern.ch>: 0027 Added doxygen tags for automatic generation of documentation. 0028 0029 @par Terms of Usage: 0030 With consent for the original author (Scott Snyder). 0031 0032 */ 0033 0034 #include "TopQuarkAnalysis/TopHitFit/interface/Lepjets_Event_Lep.h" 0035 0036 namespace hitfit { 0037 0038 Lepjets_Event_Lep::Lepjets_Event_Lep(const Fourvec& p, int type, const Vector_Resolution& res) 0039 // 0040 // Purpose: Constructor. 0041 // 0042 // Inputs: 0043 // p - The 4-momentum. 0044 // type - The type code. 0045 // res - The resolution. 0046 // 0047 : _p(p), _type(type), _res(res) {} 0048 0049 Fourvec& Lepjets_Event_Lep::p() 0050 // 0051 // Purpose: Access the 4-momentum. 0052 // 0053 // Returns: 0054 // The 4-momentum. 0055 // 0056 { 0057 return _p; 0058 } 0059 0060 const Fourvec& Lepjets_Event_Lep::p() const 0061 // 0062 // Purpose: Access the 4-momentum. 0063 // 0064 // Returns: 0065 // The 4-momentum. 0066 // 0067 { 0068 return _p; 0069 } 0070 0071 int& Lepjets_Event_Lep::type() 0072 // 0073 // Purpose: Access the type code. 0074 // 0075 // Returns: 0076 // The type code. 0077 // 0078 { 0079 return _type; 0080 } 0081 0082 int Lepjets_Event_Lep::type() const 0083 // 0084 // Purpose: Access the type code. 0085 // 0086 // Returns: 0087 // The type code. 0088 // 0089 { 0090 return _type; 0091 } 0092 0093 const Vector_Resolution& Lepjets_Event_Lep::res() const 0094 // 0095 // Purpose: Access the resolutions. 0096 // 0097 // Returns: 0098 // The resolutions. 0099 // 0100 { 0101 return _res; 0102 } 0103 0104 Vector_Resolution& Lepjets_Event_Lep::res() 0105 // 0106 // Purpose: Access the resolutions. 0107 // 0108 // Returns: 0109 // The resolutions. 0110 // 0111 { 0112 return _res; 0113 } 0114 0115 double Lepjets_Event_Lep::p_sigma() const 0116 // 0117 // Purpose: Return the momentum (or 1/p) resolution for this object. 0118 // 0119 // Returns: 0120 // The momentum (or 1/p) resolution for this object. 0121 // 0122 { 0123 return _res.p_sigma(_p); 0124 } 0125 0126 double Lepjets_Event_Lep::eta_sigma() const 0127 // 0128 // Purpose: Return the eta resolution for this object. 0129 // 0130 // Returns: 0131 // The eta resolution for this object. 0132 // 0133 { 0134 return _res.eta_sigma(_p); 0135 } 0136 0137 double Lepjets_Event_Lep::phi_sigma() const 0138 // 0139 // Purpose: Return the phi resolution for this object. 0140 // 0141 // Returns: 0142 // The phi resolution for this object. 0143 // 0144 { 0145 return _res.phi_sigma(_p); 0146 } 0147 0148 void Lepjets_Event_Lep::smear(CLHEP::HepRandomEngine& engine, bool smear_dir /*= false*/) 0149 // 0150 // Purpose: Smear this object according to its resolutions. 0151 // 0152 // Inputs: 0153 // engine - The underlying RNG. 0154 // smear_dir - If false, smear the momentum only. 0155 // 0156 { 0157 _res.smear(_p, engine, smear_dir); 0158 } 0159 0160 std::ostream& Lepjets_Event_Lep::dump(std::ostream& s, bool full /*= false*/) const 0161 // 0162 // Purpose: Dump out this object. 0163 // 0164 // Inputs: 0165 // s - The stream to which to write. 0166 // full - If true, dump the resolutions too. 0167 // 0168 // Returns: 0169 // The stream S. 0170 // 0171 { 0172 s << "[" << _type << "] " << _p << "; pt: " << _p.perp() << ", eta: " << _p.eta() << ", phi: " << _p.phi(); 0173 if (full) { 0174 s << "\n " << _res; 0175 } 0176 return s; 0177 } 0178 0179 /** 0180 @brief Output stream operator, print the content of this Lepjets_Event_Lep 0181 to an output stream. 0182 0183 @param s The stream to which to write. 0184 0185 @param l The instance of Lepjets_Event_Lep to be printed. 0186 */ 0187 std::ostream& operator<<(std::ostream& s, const Lepjets_Event_Lep& l) 0188 // 0189 // Purpose: Dump out this object. 0190 // 0191 // Inputs: 0192 // s - The stream to which to write. 0193 // l - The object to dump. 0194 // 0195 // Returns: 0196 // The stream S. 0197 // 0198 { 0199 return l.dump(s); 0200 } 0201 0202 bool Lepjets_Event_Lep::operator<(const Lepjets_Event_Lep& x) const 0203 // 0204 // Purpose: Sort objects by pt. 0205 // 0206 // Retruns: 0207 // True if this object's pt is less than that of x. 0208 { 0209 return p().perp2() < x.p().perp2(); 0210 } 0211 0212 } // namespace hitfit
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.2.1 LXR engine. The LXR team |
![]() ![]() |