openjournals / joss-reviews

Reviews for the Journal of Open Source Software
Creative Commons Zero v1.0 Universal
696 stars 36 forks source link

[REVIEW]: JetNet: A Python package for accessing open datasets and benchmarking machine learning methods in high energy physics #5789

Closed editorialbot closed 8 months ago

editorialbot commented 10 months ago

Submitting author: !--author-handle-->@rkansal47<!--end-author-handle-- (Raghav Kansal) Repository: https://github.com/jet-net/JetNet Branch with paper.md (empty if default branch): JOSS-2023 Version: v0.2.4 Editor: !--editor-->@matthewfeickert<!--end-editor-- Reviewers: @smsharma, @saforem2 Archive: 10.5281/zenodo.10044601

Status

status

Status badge code:

HTML: <a href="https://joss.theoj.org/papers/09532bcc705c4ad7f1f8ba57845e8e50"><img src="https://joss.theoj.org/papers/09532bcc705c4ad7f1f8ba57845e8e50/status.svg"></a>
Markdown: [![status](https://joss.theoj.org/papers/09532bcc705c4ad7f1f8ba57845e8e50/status.svg)](https://joss.theoj.org/papers/09532bcc705c4ad7f1f8ba57845e8e50)

Reviewers and authors:

Please avoid lengthy details of difficulties in the review thread. Instead, please create a new issue in the target repository and link to those issues (especially acceptance-blockers) by leaving comments in the review thread below. (For completists: if the target issue tracker is also on GitHub, linking the review thread in the issue or vice versa will create corresponding breadcrumb trails in the link target.)

Reviewer instructions & questions

@smsharma, your review will be checklist based. Each of you will have a separate checklist that you should update when carrying out your review. First of all you need to run this command in a separate comment to create the checklist:

@editorialbot generate my checklist

The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html. Any questions/concerns please let @matthewfeickert know.

Please start on your review when you are able, and be sure to complete your review in the next six weeks, at the very latest

Checklists

📝 Checklist for @smsharma

📝 Checklist for @jpata

📝 Checklist for @saforem2

editorialbot commented 10 months ago

Hello humans, I'm @editorialbot, a robot that can help you with some common editorial tasks.

For a list of things I can do to help you, just type:

@editorialbot commands

For example, to regenerate the paper pdf after making changes in the paper's md or bib files, type:

@editorialbot generate pdf
editorialbot commented 10 months ago
Software report:

github.com/AlDanial/cloc v 1.88  T=0.05 s (871.0 files/s, 101093.5 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Python                          25            783            816           2363
TeX                              1             18              0            203
YAML                             6             40             24            160
Markdown                         3             68              0            144
Jupyter Notebook                 1              0            345             99
reStructuredText                 6             21             52             27
DOS Batch                        1              8              1             26
make                             1              4              7              9
TOML                             1              1              0              4
-------------------------------------------------------------------------------
SUM:                            45            943           1245           3035
-------------------------------------------------------------------------------

gitinspector failed to run statistical information for the repository
editorialbot commented 10 months ago

Wordcount for paper.md is 572

editorialbot commented 10 months ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1038/s41597-021-01109-0 is OK
- 10.1140/epjc/s10052-023-11633-5 is OK
- 10.1103/PhysRevD.107.076017 is OK
- 10.5281/zenodo.6975118 is OK
- 10.5281/zenodo.2603256 is OK
- 10.5281/zenodo.3164691 is OK
- 10.1103/PhysRevLett.123.041801 is OK
- 10.21468/SciPostPhys.7.1.014 is OK
- 10.1088/1361-6633/ac36b9 is OK

MISSING DOIs

- 10.1103/physrevd.108.036025 may be a valid DOI for title: Fast Point Cloud Generation with Diffusion Models in High Energy Physics

INVALID DOIs

- None
editorialbot commented 10 months ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

matthewfeickert commented 10 months ago

@editorialbot add @jpata as reviewer

editorialbot commented 10 months ago

@jpata added to the reviewers list!

matthewfeickert commented 10 months ago

@smsharma, @jpata, @saforem2 Thanks for agreeing to review this submission! This is the review thread for the paper. All of our communications will happen here from now on. :+1:

As you can see above, you each should use the command @editorialbot generate my checklist to create your review checklist. @editorialbot commands need to be the first thing in a new comment.

As you go over the submission, please check any items that you feel have been satisfied (and if you leave notes on each item that's even better). There are also links to the JOSS reviewer guidelines. I find it particularly helpful to also use the JOSS review criteria and review checklist docs as supplement/guides to the reviewer checklist @editorialbot will make for you.

The JOSS review is different from most other journals. Our goal is to work with the authors to help them meet our criteria instead of merely passing judgment on the submission. As such, reviewers are encouraged to submit issues and pull requests on the software repository. When doing so, please mention openjournals/joss-reviews#5789 so that a link is created to this Issue thread (and I can keep an eye on what is happening). Please also feel free to comment and ask questions on this thread. In my experience, it is better to post comments/questions/suggestions as you come across them instead of waiting until you've reviewed the entire package.

We aim for reviews to be completed within about 4 weeks. Please let me know if either of you require some more time (that's perfectly okay). We can also use @editorialbot to set automatic reminders if you know you'll be away for a known period of time.

Please feel free to ping me (@matthewfeickert) if you have any questions/concerns.

smsharma commented 10 months ago

Review checklist for @smsharma

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

matthewfeickert commented 10 months ago

@editorialbot add @saforem2 as reviewer

editorialbot commented 10 months ago

@saforem2 added to the reviewers list!

matthewfeickert commented 10 months ago

@jpata, @saforem2 as the review will be checklist based please make sure to create your specific checklist by requresting @editorialbot to make it for you with

@editorialbot generate my checklist

Please review the reviewer guidelines (https://joss.readthedocs.io/en/latest/reviewer_guidelines.html) and feel free to ask questions at any time during the review process.

saforem2 commented 10 months ago

Sounds good. I've been OOO for a bit but will be back tomorrow.

matthewfeickert commented 10 months ago

I've been OOO for a bit but will be back tomorrow.

No worries. Today is a holiday in the US anyway, so I wasn't even expecting you to have seen this until later on in the week. :+1:

jpata commented 10 months ago

Review checklist for @jpata

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

saforem2 commented 10 months ago

Review checklist for @saforem2

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

matthewfeickert commented 10 months ago

As all reviewers have their checklist generated now I'll have @editorialbot give us reminders in 3 weeks to follow up on the state of the review.

matthewfeickert commented 10 months ago

@editorialbot remind @smsharma in 3 weeks

editorialbot commented 10 months ago

Reminder set for @smsharma in 3 weeks

matthewfeickert commented 10 months ago

@editorialbot remind @jpata in 3 weeks

editorialbot commented 10 months ago

Reminder set for @jpata in 3 weeks

matthewfeickert commented 10 months ago

@editorialbot remind @saforem2 in 3 weeks

editorialbot commented 10 months ago

Reminder set for @saforem2 in 3 weeks

jpata commented 10 months ago

@matthewfeickert I declare a conflict of interest, as I have joint papers in the last four years with one of the coauthors (Javier Duarte).

From my point of view, the topic in the paper under review here is sufficiently different that I would be able to offer an impartial review, but let me know what is the editorial boards view on this.

matthewfeickert commented 10 months ago

I declare a conflict of interest, as I have joint papers in the last four years with one of the coauthors (Javier Duarte).

Thanks @jpata for disclosing this. Indeed, your nice work with Javier does put you in conflict given

As a reviewer (or editor), COIs are your present or previous association with any authors of a submission: recent (past four years) collaborators in funded research or work that is published

We appreciate you briniging this up early!

matthewfeickert commented 10 months ago

@editorialbot remove @jpata from reviewers

editorialbot commented 10 months ago

@jpata removed from the reviewers list!

matthewfeickert commented 10 months ago

Note we still have 2 reviewers so the review can continue uninterrupted.

editorialbot commented 9 months ago

:wave: @smsharma, please update us on how your review is going (this is an automated reminder).

editorialbot commented 9 months ago

:wave: @jpata, please update us on how your review is going (this is an automated reminder).

editorialbot commented 9 months ago

:wave: @saforem2, please update us on how your review is going (this is an automated reminder).

jpata commented 9 months ago

the reminder to me is probably a bug 🙂

matthewfeickert commented 9 months ago

the reminder to me is probably a bug 🙂

Indeed, it is. I don't think that there's a way to remove a reminder at the moment given the list of editorialbot commands.

saforem2 commented 9 months ago

Should be good to go!

smsharma commented 9 months ago

Review

Overall

JetNet provides an intuitive interface for accessing jet datasets and evaluating / computing losses when using them for machine learning applications in collider physics. The package has already impacted the field, having been used in several publications, and is starting to become a standard for benchmarking machine learning algorithms on a range of tasks involving structured particle physics datasets. It also lowers the barrier to entry for machine learning practitioners from adjacent fields looking to work with these kinds of datasets.

Domain-specific packages like this systematize the development and comparison of machine learning algorithms, which is super valuable, and also set an example for other domains where machine learning is starting to be widely applied. Congrats to the authors for a nice contribution, which I can easily recommend for publication in JOSS, considering the minor comments below.

Installation and testing

I was able to install the package without problems using the instructions in the documentation. I was also able to run the unit tests using pytest.

A couple suggestions in particular re: the unit test pipeline:

Usage

Usage instructions are provided through a combination of a Quickstart guide, API documentation, and a tutorial notebook. I was able to test out basic data loading, evals, and loss function computation using these.

A more centralized exposition of various capabilities through e.g. tutorial notebooks covering different usage aspects, cross-published in the docs, could be helpful for users looking to either use JetNet for a particular thing or to gain general familiarity, although the current documentation is certainly adequate.

Contributions

Given the scope of the package, it is well-suited for external contributions and development milestones. More specific wording on contributions and expectations for contributing would be welcome. This could be as simple as an invitation to open an issue on GitHub for bugs or functionality requests, or a more comprehensive CONTRIBUTING.md file.

rkansal47 commented 9 months ago

Thank you @jpata, @saforem2, and @smsharma for the reviews! I've opened issues for the suggestions and we will address them shortly.

rkansal47 commented 9 months ago

I believe all comments have been addressed, @matthewfeickert please let us know how to proceed.

smsharma commented 9 months ago

Thanks @rkansal47 for implementing the suggested changes. I've now gone ahead and marked the remaining checklist items. Congrats again to the authors for a nice package!

matthewfeickert commented 9 months ago

@editorialbot generate pdf

editorialbot commented 9 months ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

matthewfeickert commented 9 months ago

@editorialbot check references

editorialbot commented 9 months ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1038/s41597-021-01109-0 is OK
- 10.1140/epjc/s10052-023-11633-5 is OK
- 10.1103/PhysRevD.107.076017 is OK
- 10.5281/zenodo.6975118 is OK
- 10.5281/zenodo.2603256 is OK
- 10.5281/zenodo.3164691 is OK
- 10.1103/PhysRevLett.123.041801 is OK
- 10.21468/SciPostPhys.7.1.014 is OK
- 10.1088/1361-6633/ac36b9 is OK

MISSING DOIs

- 10.21468/scipostphys.15.4.130 may be a valid DOI for title: EPiC-GAN: Equivariant Point Cloud Generation for Particle Jets
- 10.1103/physrevd.108.036025 may be a valid DOI for title: Fast Point Cloud Generation with Diffusion Models in High Energy Physics

INVALID DOIs

- None
matthewfeickert commented 9 months ago

Thank you both very much for your reviews @saforem2 and @smsharma!

@rkansal47 I'll start the editoral pass this week and we can hopefully conclude things in the near future. :+1: Can you verify if the missing DOIs caught by @editorialbot are valid or not?

matthewfeickert commented 9 months ago

Post-Review Checklist for Editor and Authors

Additional Author Tasks After Review is Complete

Editor Tasks Prior to Acceptance

rkansal47 commented 9 months ago

@matthewfeickert I have verified the DOIs and updated the references.

matthewfeickert commented 9 months ago

@editorialbot check references

editorialbot commented 9 months ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1038/s41597-021-01109-0 is OK
- 10.1140/epjc/s10052-023-11633-5 is OK
- 10.1103/PhysRevD.107.076017 is OK
- 10.21468/SciPostPhys.15.4.130 is OK
- 10.1103/PhysRevD.108.036025 is OK
- 10.5281/zenodo.6975118 is OK
- 10.5281/zenodo.2603256 is OK
- 10.5281/zenodo.3164691 is OK
- 10.1103/PhysRevLett.123.041801 is OK
- 10.21468/SciPostPhys.7.1.014 is OK
- 10.1088/1361-6633/ac36b9 is OK

MISSING DOIs

- None

INVALID DOIs

- None
matthewfeickert commented 9 months ago

@editorialbot generate pdf

editorialbot commented 9 months ago

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

matthewfeickert commented 9 months ago

@rkansal47 While going through the editorial review there were some minor things that I raised as https://github.com/jet-net/JetNet/issues/53 and https://github.com/jet-net/JetNet/issues/54. Otherwise things are looking very good.

Once those have been addressed, all that's left to do now before publication is to ensure that there is a long term public archive of the code that was reviewed. In this case the code was JetNet v0.2.3 though there has been some development between then and the current HEAD, so we'd suggest making a new release (as you see fit with respect to SemVer).

We'd suggest depositing the code either with Zenodo or with figshare to get an archive with a DOI. If you use Zenodo there is an (optional) GitHub integration that can create a Zenodo archive for you anytime you make a GitHub release of your code.

Zenodo_DOI_guide

Howerver, I think you already know this as you have a Zenodo DOI in your README (Zendo is down for upgrades as I write this, otherwise I would actually check it)!

DOI

Once you make a new release of JetNet and have a DOI for the archive please just report them here and I'll have @editorialbot update the version listed in the review and add the archive.

Let me know if you have any questions. :+1: