|
[Rivet] CMS_2015_I1370682.tgzAndy Buckley andy.buckley at cern.chWed Feb 24 09:01:16 GMT 2016
One other thing that I forgot to mention: this analysis and particularly the PseudoTop class were written using C++11 features. We love C++11, but since we sit between the experiments and theorists we also have to make life straightforward for those without the up-to-date experiment compiler suites, etc. The SL6 default compilers don't do C++11 at a sufficient level, so for several years we have had to avoid C++11 features in official Rivet code (it can be used in plugin analyses, but not ones that get integrated into the main release.) I've converted the code back to standard C++98 for now, but that's something we'd prefer not to do regularly since it's the sort of transformation that's perfect for introducing bugs. (A bit less use of "auto" would aid code readability even in C++11-land!) So can you ensure that *for now*, the analysis codes coming from CMS are in C++98? We will move to using C++11 as standard in Rivet v3.0.0, if not in an earlier v2 major release. Best wishes, Andy On 23/02/16 22:11, Andy Buckley wrote: > Hi Xavier, > > I finally got free from various other commitments and have integrated > this analysis into Rivet for the upcoming 2.4.1 release. > > The approach that we decided to take is to embed the PseudoJet class > "inline" in the analysis .cc file: see > https://rivet.hepforge.org/hg/rivet/file/tip/src/Analyses/CMS_2015_I1370682.cc > > > I've used an unnamed namespace for this embedding, which I think should > ensure that the exact same PseudoJet code -- or a slightly different & > evolved version, which is why we did it this way -- can be embedded into > other analyses without symbol clashes and similar fun. > > Obviously this isn't great for code reuse, but our experience with quite > analysis-specific quantities like photon/lepton/jet isolation algorithms > has been that it's better to define them locally to the analysis at > least until it seems certain that the definitions are globally suitable. > Some features of this one, such as the hard-coded target top and W > masses, probably wouldn't be suitable for all pseudo-top analyses. > > Just a reminder that we also still haven't integrated CMS_2014_I1305624 > into Rivet because of the dodgy "EventShape_rivet" class that it came > with. Most of the functionality of this class is implemented already, > and more nicely, in Rivet's own vector classes and event shape > projections, and this doesn't look like something that will be easy for > us to maintain in future. But if you do want to keep it more-or-less as > it currently is, then please use the same unnamed namespace trick and > resubmit the single .cc file to us. Thanks! > > Best wishes, > Andy > > > On 27/11/15 20:42, Janssen Xavier wrote: >> Hi, >> >> I am submitting the first TOP plugin from CMS but we need to discuss >> as the people responsible for it wrote a ‘PseudoTop’ class that they >> intend to re-use across different analysis in the future. >> I am not sure however how this works for you and maybe it needs ad >> minima renaming to CMS_PseudoTop >> >> Let me known, >> >> Xavier, >> _______________________________________________ >> Rivet mailing list >> Rivet at projects.hepforge.org >> https://www.hepforge.org/lists/listinfo/rivet >> > > -- Dr Andy Buckley, Lecturer / Royal Society University Research Fellow Particle Physics Expt Group, University of Glasgow
More information about the Rivet mailing list |