Uh oh!
There was an error while loading. Please reload this page.
Large commit for Rivet integration - #4400
Conversation
cholmcc
commented
Jan 20, 2024
Formatting checker complains However, the YODA file is not code but data. Can someone make an exception for YODA files please? Thanks. |
cholmcc
commented
Jan 20, 2024
Really? Do people really think that Could we take that check out? I mean, can we not have a bit of freedom in how we write our code? Thanks. |
cholmcc
commented
Jan 20, 2024
Both of these errors are plain wrong. I might be able to fix them, but they are deadly wrong. |
cholmcc
commented
Jan 20, 2024
Linter seems to think that |
[MegaLinter] Apply linters automatic fixes to AliceO2Group#4400
cholmcc
commented
Jan 21, 2024
which there obviously isn't - disable |
[MegaLinter] Apply linters automatic fixes to AliceO2Group#4400
[MegaLinter] Apply linters automatic fixes to AliceO2Group#4400
a045588 to
95d26b3Compare[MegaLinter] Apply linters automatic fixes to AliceO2Group#4400
cholmcc
commented
Jan 21, 2024
Perhaps someone need to approve so that the CI's can continue. Thanks. |
aalkin
commented
Jan 21, 2024
No comment on the code, but adding an explicit dependency of O2Physics on Rivet and co. is a no go. Even more, does it even use anything from O2Physics? It seems to depend on O2 only. Please make a case at WP4+14 meeting first, so that the proper place for this toolset can be decided. |
cholmcc
commented
Jan 21, 2024
It is not a dependency but a recommendation. That is, you can configure The rest, fastjet(contrib) and HepMC3 are already (indirect) dependencies via The question is, where, if any, should the Rivet optional dependency become mandatory. I would argue that for deployment of
As much as any other analysis uses anything from
Well, I've been trying to get people - including yourself - to chime in for some time now, but no-one has been willing to come up with decision or even a recommendation. I did ping PWGMM conveners about a 2 weeks ago to see if they had any thoughts - but crickets I'm afraid. You and I also had a long conversation on MatterMost but in the end you never came back to me on this and other issues. As far as I understand, the issue is that HyperLoop only deals with two packages That said, I think the most important thing is that the code is readily available to users on CVMFS and HyperLoop. Which code base that is, But I would love to hear yours and others thoughts on this. Where do you see this code going? Of course, we have to keep in mind the end-goal here: To facilitate collaborators to make their Rivetisation of their analyses and make clear and consistent comparisons of data to models. Let us get the ball rolling on that. Perhaps one thing to do is to allow the CIs to run on this PR, and concurrently have a discussion on where this code should go. I think we need to bring relevant parties from CVMFS and HyperLoop too. @PWGMM conveners (@coppedis, @sustripathy) and PWGMM/MC coordinators (@maireiphc, @jackal1-66): Perhaps you guys could chime in and help drive the discussion? It is after all in your purview. Looking forward to a constructive discussion on this. Thanks. Yours, Christian |
aalkin
commented
Jan 21, 2024
This is not the place to have these discussions. Neither O2 or O2Physics is a good place for this, for many reasons. However as a standalone package it can be easily used to run on the grid. Alihyperloop is very specifically for analysis only and will not be able to handle this without additional developments. Please, start with the clear proposal to WP4+14, on how and when this is supposed to be run. It is a good idea to be able to run Rivet analyses on existing productions, however the procedure needs to be clearly defined. |
cholmcc
commented
Jan 21, 2024
So Anton and @pzhristov@ktf , can we set up something in the WPs ASAP? Thanks. Just one point, a Rivet analysis is an analysis as it will run on (MC) AODs - at least, that's the goal - so as to make consistent comparisons between data and models. Yours, Christian |
cholmcc
commented
Jan 22, 2024
Could you please elaborate on that? It would be good to know what you see as the problems. Thanks. Yours, Christian |
pzhristov
commented
Jan 22, 2024
Hi @cholmcc We have the WP4/WP14 today at 9:30, or next Monday at 9:30. Probably it is too short notice for the meeting today, but we can at least start the discussion. Please let me know if you are able to join. |
cholmcc
commented
Jan 22, 2024
Great, so please schedule a slot next Monday the 29th of January. @coppedis, @sustripathy, @maireiphc, and @jackal1-66 can you please be available for that discussion too. Thanks. @aalkin I would still very much like to hear your reasons why you think the Rivet integration does not fit within Thanks. Yours, Christian |
Hi @cholmcc, |
jackal1-66
commented
Jan 22, 2024
@cholmcc I will join the meeting and the discussion next Monday. Please @aalkin add me on the discussion of the Rivet integration in case it moves via email, since I'm afraid I don't see a reason as well why adding Rivet to O2Physics could cause any harm to the package itself, apart from increasing the analysis tools of the community. We discussed in the past about a possible O2Rivet additional package during another meeting, but from what I understood, that would be challenging to import on hyperloop, which is one of the main targets here. Regarding resources used, in the end, they shouldn't be any higher than a normal analysis. |
cholmcc
commented
Jan 22, 2024
@pzhristov Thanks. @jackal1-66 Great - see you there. |
jgrosseo
commented
Jan 22, 2024
Thanks @aalkin, @cholmcc and @jackal1-66. I think we can discuss the raised items next Monday. There is no need to do this in parallel in a separate channel or on this PR. In particular because it seems that some of the arguments are driven by seemingly wrong assumptions about the Hyperloop integration. Please consider that many of the core O2, O2Physics and Hyperloop developers see this package for the first time. Regardless if this is an oversight or not, comments and suggestions are normal. We should not expect that we can resolve everything Monday but see this as a good kick-of the discussion to find the best possible solution. |
cholmcc
commented
Jan 22, 2024
@jgrosseo Could you please elaborate on "some of the arguments are driven by seemingly wrong assumptions about the Hyperloop integration". I would like to understand this before giving a presentation. If not here, then by email or MatterMost (links above). Thanks. WRT "Please consider that many of the core O2, O2Physics and Hyperloop developers see this package for the first time" - that's not entirely true @aalkin saw it first in September, @sawenzel, @ktf. @TimoWilken around the same time, @pzhristov has also seen it relatively recently, and I think you yourself @jgrosseo has also been party to earlier discussions where For those of you who need a bit more information, please see this presentation. Please note that the information in that presentation is slightly out of date - a more up-to-date presentation can be found in this PR as @pzhristov Could you change the contributor on next weeks meeting page to be me - Yours, Christian |
This PR has not been updated in the last 30 days. Is it still needed? Unless further action is taken, it will be closed in 5 days. |
This project aims to enable running Rivet analyses on existing and future simulation productions, locally, on CVMFS, on Grid, and with HyperLoop. The main component is the DPL `o2-analysis-mm-rivet`. This reads in MC AODs (via f.ex. `o2-aod-mc-producer-workflow` or `o2-aod-producer-workflow`), converts the events to HepMC events, and then runs Rivet analyses on these. The output is an `o2::rivet::RivetAOs` object stored in the generated `AnalysisResults.root` file. The tool supports partial runs (e.g., parallel processing on Grid), and merging, including the `Rivet::Analysis::finalize` step, via regular ROOT merging. The tool also supports compiling analyses on the fly. This is useful in Grid or similar settings, and for developing and testing analyses not yet accepted into an official repository. Examples of using the tool are given in `PWGMM/Rivet/doc` along with some other documentation. Compilation of the tool is contingent on the presence of Rivet (and its requirements YODA, FastJetContrib, and HepMC3) on the target system. The feature is marked as recommended via optional, but recommended, build dependencies on Rivet and YODA. Getting this PR into is one of final steps of fully integrating Rivet into the framework. Other than this PR, we also need to have Rivet properly deployed in the various compute platforms, deployed with Rivet support built in WRT the compute platforms. The above cited PR against alidist will take care of CFMFS and the like (e.g., LXPLUS), but it is still a bit of an open question as for HyperLoop. Hopefully some experts can help out with that.
ea25fc9 to
8f713f4CompareNew merged commit. This allows multiple HyperLoop wagons to be merged into one. Some comments
The recent update also does a few other simple fixes. |
| // granted to it by virtue of its status as an Intergovernmental Organization | ||
| // or submit itself to any jurisdiction. | ||
| // | ||
| #include "RivetAOs.h" | ||
| #include <YODA/IO.h> |
There was a problem hiding this comment.
Add the mandatory file documentation.
There was a problem hiding this comment.
Can you please point to some document that lays out what is mandatory and what isn't? Thanks.
There was a problem hiding this comment.
There was a problem hiding this comment.
Clearly, the Comment Guidelines are not being followed in ALICE in general. If that was the case, then there would be a lot more documentation comments in the code, so this seems more like a recommendation than hard and fast requirements.
Also, it seems like the linters do not necessarily follow the guidelines (max 120 characters per line - which really should be at most 80 characters) or require more (no where, as far as I can tell, are not deprecated over ! f.ex.). I think there should be consistency between the guidelines and the linters, etc. How else are anyone expected to know what to do?
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
jgrosseo
commented
Feb 27, 2024
Will be undrafted once the discussions are complete. |
cholmcc
commented
Mar 7, 2024
Please re-open this MR. Thanks. |
This PR has not been updated in the last 30 days. Is it still needed? Unless further action is taken, it will be closed in 5 days. |
jackal1-66
commented
Apr 13, 2024
Additional comments will be provided in the next days. |
This commit imports the O2Rivet project into O2Physics.
This project aims to enable running Rivet analyses on existing and future simulation productions, locally, on CVMFS, on Grid, and with HyperLoop.
The main component is the DPL
o2-analysis-mm-rivet. This reads in MC AODs (via f.ex.o2-aod-mc-producer-workfloworo2-aod-producer-workflow), converts the events to HepMC events, and then runs Rivet analyses on these. The output is ano2::rivet::RivetAOsobject stored in the generatedAnalysisResults.rootfile.The tool supports partial runs (e.g., parallel processing on Grid), and merging, including the
Rivet::Analysis::finalizestep, via regular ROOT merging.The tool also supports compiling analyses on the fly. This is useful in Grid or similar settings, and for developing and testing analyses not yet accepted into an official repository.
Examples of using the tool are given in
PWGMM/Rivet/docalong with some other documentation.Compilation of the tool is contingent on the presence of Rivet (and its requirements YODA, FastJetContrib, and HepMC3) on the target system. The feature is marked as recommended via optional, but recommended, build dependencies on Rivet and YODA.
Getting this PR into$0^2\mathrm{Physics}$ is one of final steps of fully integrating Rivet into the $O^2$ framework. Other than this PR, we also need to have
WRT the compute platforms. The above cited PR against
alidistwill take care of CFMFS and the like (e.g., LXPLUS), but it is still a bit of an open question as for HyperLoop. Hopefully some experts can help out with that.Yours,
Christian