|
[Rivet] Method for accessing particles from FastJets projectionAndy Buckley andy.buckley at cern.chThu Jun 5 22:01:07 BST 2014
On 05/06/14 21:34, David Bjergaard wrote: > Hi Andy, > >> Does Jet::particles() not work for you? > This works great! It will even simplify my code, so its a double win. >> >> We'll be overhauling the jets and vectors system for the next major >> release, so this is a good time to get requests in! The plan so far is >> for much better FastJet integration to allow the various filtering etc. >> tools to be used directly. >> > Does that mean that Jets will inherit from PseudoJets and then get > dressed with UserInfoBase in a nice way from rivet? Possibly, although I was currently planning that every Jet would *contain* a PseudoJet and be equipped with a constructor from and a cast operator to a PseudoJet. I looked into it before, and fully inheriting from PseudoJet was going to cause us problems, so hopefully that would be a flexible compromise. > Also, I would really like the kinematics to be uniform between the two > (most notably Jet::mass(), Jet::mass2() vs. PseudoJet::m(), and > PseudoJet::m()), This prevents code like: >> template <typename lvec> static void dump4vec(lvec four_mom){ >> std::cout<<"( "<<four_mom.pt()<<" [GeV], "<<four_mom.eta()<<", "<<four_mom.phi()<<", "<<four_mom.m()<<" [GeV])"<<std::endl; >> } > from operating on Jets and PseudoJets which defeats the purpose of the > template in the first place. (Of course this is a very minor complaint.) It's useful feedback! The mass and mass2 methods could be aliased to m, m2 if others think that would be a good idea. Certainly simpler than the sort of template magic approach that *can* be written to still allow this to compile! Andy -- Dr Andy Buckley, Royal Society University Research Fellow Particle Physics Expt Group, University of Glasgow / PH Dept, CERN
More information about the Rivet mailing list |