FastJet 3.0.2
|
00001 //STARTHEADER 00002 // $Id: TopTaggerBase.cc 2689 2011-11-14 14:51:06Z soyez $ 00003 // 00004 // Copyright (c) 2005-2011, Matteo Cacciari, Gavin P. Salam and Gregory Soyez 00005 // 00006 //---------------------------------------------------------------------- 00007 // This file is part of FastJet. 00008 // 00009 // FastJet is free software; you can redistribute it and/or modify 00010 // it under the terms of the GNU General Public License as published by 00011 // the Free Software Foundation; either version 2 of the License, or 00012 // (at your option) any later version. 00013 // 00014 // The algorithms that underlie FastJet have required considerable 00015 // development and are described in hep-ph/0512210. If you use 00016 // FastJet as part of work towards a scientific publication, please 00017 // include a citation to the FastJet paper. 00018 // 00019 // FastJet is distributed in the hope that it will be useful, 00020 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00021 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00022 // GNU General Public License for more details. 00023 // 00024 // You should have received a copy of the GNU General Public License 00025 // along with FastJet. If not, see <http://www.gnu.org/licenses/>. 00026 //---------------------------------------------------------------------- 00027 //ENDHEADER 00028 00029 #include <fastjet/tools/TopTaggerBase.hh> 00030 00031 FASTJET_BEGIN_NAMESPACE 00032 00033 using namespace std; 00034 00035 // compute the W helicity angle 00036 // 00037 // The helicity angle is a standard observable in top decays, used to 00038 // determine the Lorentz structure of the top- W coupling [13]. It is 00039 // defined as the angle, measured in the rest frame of the 00040 // reconstructed W, between the reconstructed top's flight direction 00041 // and one of the W decay products. Normally, it is studied in 00042 // semi-leptonic top decays, where the charge of the lepton uniquely 00043 // identifies these decay products. In hadronic top decays there is an 00044 // ambiguity which we resolve by choosing the lower pT subjet, as 00045 // measured in the lab frame. 00046 // 00047 // The jet passed to this function is expected to already have 00048 // the structure of a top, including a functional "W()" call; 00049 // the W must be made of two pieces. 00050 double TopTaggerBase::_cos_theta_W(const PseudoJet & res) const{ 00051 // the two jets of interest: top and lower-pt prong of W 00052 const PseudoJet & W = res.structure_of<TopTaggerBase>().W(); 00053 vector<PseudoJet> W_pieces = W.pieces(); 00054 assert(W_pieces.size() == 2); 00055 //assert(W_pieces[0].perp2() >= W_pieces[1].perp2()); 00056 //PseudoJet W2 = W_pieces[1]; 00057 // extract the softer of the two W pieces. 00058 PseudoJet W2 = (W_pieces[0].perp2() < W_pieces[1].perp2()) 00059 ? W_pieces[0] 00060 : W_pieces[1]; 00061 PseudoJet top = res; 00062 00063 // transform these jets into jets in the rest frame of the W 00064 W2.unboost(W); 00065 top.unboost(W); 00066 00067 return (W2.px()*top.px() + W2.py()*top.py() + W2.pz()*top.pz())/ 00068 sqrt(W2.modp2() * top.modp2()); 00069 } 00070 00071 00072 FASTJET_END_NAMESPACE