Index: contrib/contribs/ValenciaPlugin/trunk/AUTHORS =================================================================== --- contrib/contribs/ValenciaPlugin/trunk/AUTHORS (revision 1208) +++ contrib/contribs/ValenciaPlugin/trunk/AUTHORS (revision 1209) @@ -1,9 +1,8 @@ -The ValenciaJetAlgorithm FastJet contrib was written and is maintained and developed by: Ignacio Garcia Garcia, Marcel Vos, IFIC (UVEG/CSIC) Valencia, Spain +The ValenciaPlugin FastJet contrib was written and is maintained and developed by: Ignacio Garcia Garcia, Marcel Vos, IFIC (UVEG/CSIC) Valencia, Spain -Acknowledging suggestions by Gavin P. Salam (CERN) and J. Thaler (MIT) +The first incarnation of the Valencia algorithm (with two parameters R and beta) was proposed "A robust jet reconstruction algorithm for high-energy lepton colliders", PLB 750 (2015) 95-99, arXiv:1404.4294 +The authors acknowledge suggestions by Gavin P. Salam (CERN) and his help in assessing the IR safety of the algorithm -A paper motivating the algorithm and describing its performance is available on: "A robust jet algorithm for lepton colliders", arXiv:1404.4294, PLB750, (2015) 95-99 - -More detailed studies are presented in "Jet reconstruction at high-energy lepton colliders", arXiv:1607.05039 (submitted to EPJC). +The VLC algorithm (with three parameters R, beta and gamma) is described in "Jet reconstruction at high-energy electron-positron colliders", EPJC 78 (2018) no. 2, 144. The addition of the gamma parameter was suggested by J. Thaler (MIT). The performance of the algorithm is evaluated in detail in this paper, in collaboration with Ph. Roloff, R. Simoniello (CERN) and M. Boronat, J. Fuster (IFIC) Please contact: marcel.vos@ific.uv.es for questions, queries and comments Index: contrib/contribs/ValenciaPlugin/trunk/ValenciaPlugin.cc =================================================================== --- contrib/contribs/ValenciaPlugin/trunk/ValenciaPlugin.cc (revision 1208) +++ contrib/contribs/ValenciaPlugin/trunk/ValenciaPlugin.cc (revision 1209) @@ -1,133 +1,134 @@ // $Id$ // // Copyright (c) 2014, Marcel Vos and Ignacio Garcia // //---------------------------------------------------------------------- // This file is part of FastJet contrib. // // It is free software; you can redistribute it and/or modify it under // the terms of the GNU General Public License as published by the // Free Software Foundation; either version 2 of the License, or (at // your option) any later version. // // It is distributed in the hope that it will be useful, but WITHOUT // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY // or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public // License for more details. // // You should have received a copy of the GNU General Public License // along with this code. If not, see . //---------------------------------------------------------------------- #include "ValenciaPlugin.hh" #include "fastjet/NNH.hh" // strings and streams #include #include FASTJET_BEGIN_NAMESPACE // defined in fastjet/internal/base.hh namespace contrib{ //---------------------------------------------------------------------- /// class that contains the algorithm parameters R and beta // needed to run the Valencia algorithm class ValenciaInfo { public: ValenciaInfo(double Ri, double betai, double gammai) { R_ = Ri; beta_ = betai; gamma_ = gammai;} double beta() { return beta_; } double gamma() { return gamma_; } double R() { return R_; } private: double R_, beta_, gamma_; }; class ValenciaBriefJet { public: void init(const PseudoJet & jet, ValenciaInfo * info) { double norm = 1.0/sqrt(jet.modp2()); // pseudo-jet information needed to calculate distance nx = jet.px() * norm; ny = jet.py() * norm; nz = jet.pz() * norm; E = jet.E(); // algorithm parameters needed in distance calculation R = info->R(); beta = info->beta(); // beam distance // E-to-the-2*beta times sin(polar angle)-to-the-2*gamma if (E==0. || jet.perp()==0.) diB=0.; - diB = pow(E,2*beta) * pow(jet.perp()/E,2*info->gamma()); + // modified diB in release 2.0.1 + diB = pow(E,2*beta) * pow(jet.perp()/sqrt(jet.perp2()+jet.pz()*jet.pz()),2*info->gamma()); } double distance(const ValenciaBriefJet * jet) const { // inter-particle distance is similar to Durham and e+e- kt // two differences: // R is redefined for greater flexibility // the energy is elevated to 2*beta double dij = 1 - nx*jet->nx - ny*jet->ny - nz*jet->nz; if (pow(jet->E,2*beta) < pow(E,2*beta)) dij *= 2 * pow(jet->E,2*beta); else dij *= 2 * pow(E,2*beta); dij/=pow(R,2); return dij; } double beam_distance() const { return diB; } double E, nx, ny, nz; double diB; double R, beta; }; std::string ValenciaPlugin::description () const { std::ostringstream desc; desc << "Valencia plugin with R = " << R() << ", beta = " << beta() << " and gamma = " << gamma(); return desc.str(); } void ValenciaPlugin::run_clustering(fastjet::ClusterSequence & cs) const { int njets = cs.jets().size(); ValenciaInfo vinfo(R(),beta(),gamma()); NNH nnh(cs.jets(),&vinfo); while (njets > 0) { int i, j, k; double dij = nnh.dij_min(i, j); if (j >= 0) { cs.plugin_record_ij_recombination(i, j, dij, k); nnh.merge_jets(i, j, cs.jets()[k], k); } else { cs.plugin_record_iB_recombination(i, dij); nnh.remove_jet(i); } njets--; } } } // namespace contrib FASTJET_END_NAMESPACE Index: contrib/contribs/ValenciaPlugin/trunk/ChangeLog =================================================================== --- contrib/contribs/ValenciaPlugin/trunk/ChangeLog (revision 1208) +++ contrib/contribs/ValenciaPlugin/trunk/ChangeLog (revision 1209) @@ -1,27 +1,38 @@ +04-12-2018 Marcel Vos + + *VERSION 2.0.1 + Bug fix: a bug was discovered in the plugin by Matthias Weber (CERN) + the calculation of the distance diB assumed massless constituents. + The impact on the results - jet energy and mass - is typically small, + but can be non-negligible + This release also incorporates a modification suggested by + Filip Zarnecki (Warsaw) to make sure the behaviour for negative + beta is correct (added to trunk in june 2017) + 24-02-2015 Marcel Vos *VERSION 2.0.0 Releasing first production version 21-02-2015 Marcel Vos *VERSION 2.0-devel *ValenciaPlugin.cc changed diB filled after in NNH record after discussion with FJ team released 2.0-devel 27-01-2015 Marcel Vos *VERSION creating version 2.0-devel ValenciaPlugin.cc The algorithm now accepts three parameters: R, the usual radius parameter beta, the exponent of the energy in dij gamma, the exponent of sin(theta) in diB 13-03-2014 Marcel Vos *VERSION first development version 1.0-devel ValenciaPlugin.cc Implements the algorithm described in arXiv:1404.4294