|
[Rivet] Patch for Rivet to allow ordering of analyses and more fleshed out rivet-nopycholm cholm at nbi.dkMon May 1 13:26:04 BST 2017
Hi Developers, I've made a small patch for Rivet that - allow ordering of analyses - fleshes out the program rivet-nopy (useful for debugging) I attach the patch and a text file that explains the changes in some more detail. I sent you a patch some time ago that makes configure figure out which FastJet plugins are available on the target system, but I cannot see that it has been applied yet. Also, another thing I was thinking about: Parallelization of event processing. I don't think it makes sense to parallelise AnalysisHandler it self - that is, there's no real need for calling Analysis::analyze in separate threads - I just don't think one will gain much from that, and the extra complexity in terms of synchronization could be too much and a killer. So instead, I think one could use another paradigme - to parallelise on the events. Suppose we had N inputs (files, fifo's, what not), we could then start N identical processes - one on each of the inputs. E.g., with the input "files" input1 input2 input3 on which we want to run the analyses ana1, ana2, ana3, and ana4, we could do rivet -m process -a ana1,ana2,ana3,ana4 -o output1 input1 rivet -m process -a ana1,ana2,ana3,ana4 -o output2 input2 rivet -m process -a ana1,ana2,ana3,ana4 -o output3 input3 However, we want to collect the outputs into one merged output and then run Analysis::finalize for each of ana1, ana2, ana3, and ana4 on the merged output. To do that, we'd call (another) application which - reads the inputs - merges what can be merged (e.g., YODA::Histo1D objects with the same path) - sets up the same analyses objects - sets the appropriate analysis objects on each analyses - calls finalize on each analyses object e.g., rivet -m finalize -a ana1,ana2,ana3,ana4 -o final output1 output2 output3 This would require that all classes derived from Analysis retrieves the needed analysis objects from the internal _analysisObjects container in Analysis::finalize - other than that, the user code could stay as is. PeRhaps the best option would be to add an interface for that - e.g., Analysis::initFinalize except to bring internal variables in order and called before Analysis::finalize. Yours, -- Christian Holm Christensen ------------------------------------------------- Niels Bohr Institute, Blegdamsvej 17, DK-2100 Copenhagen http://cern.ch/cholm, +4524618591 -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: ah-container-nopy.md URL: <https://www.hepforge.org/lists-archive/rivet/attachments/20170501/464b14ae/attachment.ksh> -------------- next part -------------- A non-text attachment was scrubbed... Name: ah-container-nopy.patch Type: text/x-pascal Size: 12684 bytes Desc: not available URL: <https://www.hepforge.org/lists-archive/rivet/attachments/20170501/464b14ae/attachment.p>
More information about the Rivet mailing list |