|
[Rivet] trimmed jets and constituentsJames Monk jmonk at cern.chTue Oct 27 19:03:36 GMT 2015
Hi Andy, My suggestion is in the attached files. All it does is allow FastJets to handle the trimming (the user still passes in the trimmer), but has the benefit that the Particles are properly labelled as the constituents. cheers, James -------------- next part -------------- A non-text attachment was scrubbed... Name: FastJets.cc Type: application/octet-stream Size: 9456 bytes Desc: not available URL: <https://www.hepforge.org/lists-archive/rivet/attachments/20151027/c1d9d2c7/attachment.obj> -------------- next part -------------- A non-text attachment was scrubbed... Name: FastJets.hh Type: application/octet-stream Size: 9267 bytes Desc: not available URL: <https://www.hepforge.org/lists-archive/rivet/attachments/20151027/c1d9d2c7/attachment-0001.obj> -------------- next part -------------- A non-text attachment was scrubbed... Name: RivetFastJet.hh Type: application/octet-stream Size: 879 bytes Desc: not available URL: <https://www.hepforge.org/lists-archive/rivet/attachments/20151027/c1d9d2c7/attachment-0002.obj> -------------- next part -------------- On 18 Oct 2015, at 23:43, Andy Buckley <andy.buckley at cern.ch> wrote: > Hi James, > > Again, it sounds good. Could you propose an explicit API extension to the FastJets constructors ... and would you also want other methods to access the trimming info? > > FastJets could do with some clean-up, but since it's such a heavily used projection we tend to be cagey about that. Any major extension would probably mandate another major iteration of version number... which is not a problem, but not something we want to do every other week ;-) > > Andy > > > > On 15/10/15 14:25, James Monk wrote: >> Hi, >> >> As per my previous mail on ghosts (which apparently caused some amusement), I am working with trimmed jets and need access to constituents. The ghosts thing works ok with the patch I provided, but I also need to know the Rivet::Particles that are the constituents of the trimmed jets. Following some existing Rivet analyses, I am defining a trimmer thus: >> >> fastjet::filter _trimmer(fastjet::Filter(fastjet::JetDefinition(fastjet::kt_algorithm, 0.2), fastjet::SelectorPtFractionMin(0.05))); >> fastjet::PseudoJet trimmedJet = _trimmer(unTrimmedJet); >> >> where unTrimmedJet is a Rivet:Jet found previously by the FastJet projection. >> >> The resulting trimmed PseudoJet has constituents, but they are themselves PseudoJets, not Rivet::Jets, so the link with the input particles is broken and I can’t look up things like barcodes, pdg_ids etc. I could probably hack something together based on the PseudoJet.user_index and the order of the PseudoJets and Rivet::Particle constituents in the un-trimmed jet (their order *should* be the same), but that’s not very friendly for most users, and not completely robust. Given the increasing prevalence of trimmed jets, I think it would be worthwhile if either the FastJet projection could take a trimmer on construction and apply it to all jets, or have a method to return a trimmed version of a given jet with full particle info. The latter would be more computationally-efficient as only the one or two jets of interest could be trimmed. >> >> What do you think? >> >> cheers, >> >> James >> >> _______________________________________________ >> 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 |