Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00036 #ifndef HITFIT_TOP_DECAYKIN_H
00037 #define HITFIT_TOP_DECAYKIN_H
00038
00039 #include "CLHEP/Vector/Boost.h"
00040
00041 #include "TopQuarkAnalysis/TopHitFit/interface/fourvec.h"
00042 #include <iosfwd>
00043
00044
00045 namespace hitfit {
00046
00047
00048 class Lepjets_Event;
00049
00050
00056 class Top_Decaykin
00057
00058
00059
00060
00061 {
00062 public:
00063
00064
00080 static bool solve_nu_tmass (const Lepjets_Event& ev, double tmass,
00081 double& nuz1, double& nuz2);
00082
00083
00084
00110 static bool solve_nu_tmass (const Lepjets_Event& ev, double tmass,
00111 double& re_nuz1, double& im_nuz1,
00112 double& re_nuz2, double& im_nuz2);
00113
00114
00115
00133 static bool solve_nu (const Lepjets_Event& ev, double wmass,
00134 double& nuz1, double& nuz2);
00135
00136
00137
00163 static bool solve_nu (const Lepjets_Event& ev, double wmass,
00164 double& re_nuz1, double& im_nuz1,
00165 double& re_nuz2, double& im_nuz2);
00166
00167
00174 static Fourvec hadw (const Lepjets_Event& ev);
00175
00176
00183 static Fourvec hadw1 (const Lepjets_Event& ev);
00184
00185
00192 static Fourvec hadw2 (const Lepjets_Event& ev);
00193
00194
00201 static Fourvec lepw (const Lepjets_Event& ev);
00202
00203
00210 static Fourvec hadt (const Lepjets_Event& ev);
00211
00212
00219 static Fourvec lept (const Lepjets_Event& ev);
00220
00221
00229 static std::ostream& dump_ev (std::ostream& s, const Lepjets_Event& ev);
00230
00231
00242 static double cos_theta_star(const Fourvec fermion,
00243 const Fourvec W,
00244 const Fourvec top);
00245
00246
00253 static double cos_theta_star(const Lepjets_Event& ev);
00254
00255
00262 static double cos_theta_star_lept(const Lepjets_Event& ev);
00263
00264
00275 static double cos_theta_star_hadt(const Lepjets_Event& ev);
00276
00277
00278 };
00279
00280
00281 }
00282
00283
00284 #endif // not HITFIT_TOP_DECAYKIN_H
00285