![]() |
|
|||
File indexing completed on 2023-03-17 11:26:06
0001 // 0002 // 0003 // File: Constrained_Z.h 0004 // Purpose: Do kinematic fitting for a (Z->ll)+jets event. 0005 // Created: Apr, 2004, sss 0006 // 0007 // CMSSW File : interface/Constrained_Z.h 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 @file Constrained_Z.h 0013 0014 @brief Do a constrained kinematic fit of a 0015 \f$Z\to\ell^{+}\ell^{-}+\rm{jets}\f$ event. 0016 0017 @par Creation date: 0018 July 2000. 0019 0020 @author 0021 Scott Stuart Snyder <snyder@bnl.gov>. 0022 0023 @par Modification History: 0024 Apr 2009: Haryo Sumowidagdo <Suharyo.Sumowidagdo@cern.ch>: 0025 Imported to CMSSW.<br> 0026 Oct 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 from the original author (Scott Snyder). 0031 */ 0032 0033 #ifndef HITFIT_CONSTRAINED_Z_H 0034 #define HITFIT_CONSTRAINED_Z_H 0035 0036 #include "TopQuarkAnalysis/TopHitFit/interface/Fourvec_Constrainer.h" 0037 #include "TopQuarkAnalysis/TopHitFit/interface/matutil.h" 0038 #include <iosfwd> 0039 0040 namespace hitfit { 0041 0042 class Defaults; 0043 class Lepjets_Event; 0044 0045 /** 0046 @class Constrained_Z_Args 0047 @brief Hold on to parameters for the Constrained_Z class. 0048 */ 0049 class Constrained_Z_Args 0050 // 0051 // Purpose: Hold on to parameters for the Constrained_Z class. 0052 // 0053 // Parameters controlling the operation of the fitter: 0054 // float zmass - The mass to which the Z should be fixed. 0055 // 0056 { 0057 public: 0058 // Constructor. Initialize from a Defaults object. 0059 /** 0060 @brief Constructor, initialize from a Defaults object. 0061 0062 @brief param defs An instance of the Defaults object. The instance must 0063 the variables necessary to set up a fourvec_constrainer_args, and the 0064 following variables with types and names. 0065 - double <i>zmass</i>. 0066 */ 0067 Constrained_Z_Args(const Defaults& defs); 0068 0069 // Retrieve parameter values. 0070 /** 0071 Return the _zmass parameter. 0072 */ 0073 double zmass() const; 0074 0075 // Arguments for subobjects. 0076 /** 0077 Return the _fourvec_constrainer_args parameter. 0078 */ 0079 const Fourvec_Constrainer_Args& fourvec_constrainer_args() const; 0080 0081 private: 0082 // Hold on to parameter values. 0083 /** 0084 The mass to which Z bosons should be fixed to. 0085 */ 0086 double _zmass; 0087 0088 /** 0089 Arguments for the subobjects, constraints among the four vectors 0090 in the event. 0091 */ 0092 Fourvec_Constrainer_Args _fourvec_constrainer_args; 0093 }; 0094 0095 //************************************************************************* 0096 0097 /** 0098 @class Constrained_Z 0099 @brief Do a constrained kinematic fitting for a \f$Z\to\ell^{+}\ell^{-} + 0100 \rm{jets}\f$ event. 0101 */ 0102 class Constrained_Z 0103 // 0104 // Purpose: Do kinematic fitting for a (Z->ll)+jets event. 0105 // 0106 { 0107 public: 0108 // Constructor. 0109 /** 0110 @brief Constructor, create an instance of the Constrained_Z object 0111 from the argument object. 0112 @param args Argument for this instance of Constrained_Z object. 0113 */ 0114 Constrained_Z(const Constrained_Z_Args& args); 0115 0116 // Do a constrained fit. 0117 /** 0118 @brief Do a constrained fit of \f$Z\to\ell^{+}\ell^{-} + \rm{jets}\f$ 0119 event. Returns the pull quantities in <i>pull</i>. Returns 0120 the \f$\chi^{2}\f$, this will be negative if the fit failed to converge. 0121 @param ev The event to be fitted (input), and the event after fitting 0122 (output). 0123 @param pull Pull quantities for the well-measured variables. 0124 0125 @par Input: 0126 - Lepjets_Event <i>ev</i>. 0127 0128 @par Output: 0129 - Lepjets_Event <i>ev</i>. 0130 - Column_Vector <i>pull</i>. 0131 0132 @par Return: 0133 The \f$\chi^{2}\f$ of the fit. Return a negative value if the fit 0134 didn't converge. 0135 0136 */ 0137 double constrain(Lepjets_Event& ev, Column_Vector& pull); 0138 0139 // Dump out our state. 0140 friend std::ostream& operator<<(std::ostream& s, const Constrained_Z& cz); 0141 0142 private: 0143 // Parameter settings. 0144 /** 0145 Parameter settings for the \f$\chi^{2}\f$ constrainer. 0146 */ 0147 const Constrained_Z_Args& _args; 0148 0149 // The guy that actually does the work. 0150 /** 0151 The guy that actually does the work. 0152 */ 0153 Fourvec_Constrainer _constrainer; 0154 }; 0155 0156 } // namespace hitfit 0157 0158 #endif // not HITFIT_CONSTRAINED_Z_H
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.2.1 LXR engine. The LXR team |
![]() ![]() |