{"id":"daaceb8c-086f-465d-bd51-beeb89a70b7e","arxiv_id":"2501.06896","paper_version":1,"verdict":"CONDITIONAL","confidence":"HIGH","novelty_score":4.0,"correctness_risk":"low","formal_verification":"none","parameter_count":0,"one_line_summary":"This resource paper makes a curated subset of CMS open data available as pandas DataFrames and explains the underlying particle physics.","lead":"Physicists at the University of Bonn converted a set of CMS LHC open data from the ROOT format into pandas DataFrames and published them in a public repository. The paper introduces the physics concepts and the converted data so computer scientists can start machine learning projects without learning the ROOT framework.","discovery_kind":"extension","skeptic_critique":{"model":"deepseek-v4-flash","headline":"Histograms in Figures 15–22 cannot detect corruption of per-object array alignment; the released DataFrames are unverified against the source ROOT files, so the central deliverable rests on trust.","rationale":"Both the paper and the reader identify the conversion as the load-bearing element. I sharpen the reader's concern: the displayed histograms are not merely weak evidence, they are theoretically unable to detect the most likely failure mode, which is corruption of the per-object array alignment during the TTree-to-DataFrame transposition. Since the DataFrames transpose from per-variable ROOT branches to per-event rows, this step is exactly where index-alignment bugs occur (e.g., a jagged array read incorrectly or a branch order mismatch). The paper's statement in A.2 that the transformation is done 'without altering or discarding any of the contained values' is an assertion, not a demonstrated property. Additional small red flags (duplicate dataset row, impossible mean object counts, incorrect formula for invariant mass) reinforce that the manuscript has not undergone careful data-integrity review. None of this is an accusation of bad faith; the pipeline may well be correct. But the central claim is empirical: these DataFrames really are the CMS data, usable for ML. Empirical claims in a resource paper need verification, and the verification is absent. The concrete test above is inexpensive and would settle the question. If it passes, the paper is a solid contribution; if it fails, the released files may need to be regenerated. The reader's CONDITIONAL verdict is exactly right: accept only once the validation is performed. No change to the verdict is needed; hence I recommend UNCHANGED.","tokens_in":29581,"tokens_out":6596,"duration_ms":66208,"concrete_test":"Download one original ROOT dataset from CERN Open Data for a sample listed in Table 14 (e.g., WplusToMuNu) together with its corresponding released DataFrame from bonndata. Write an independent uproot-based reader (no CMSSW) that extracts, for a few thousand events, the same variables that the appendix claims to retain, keyed by the event identifiers runNum, evtNum, and lumisection. Join the two representations on those keys and compare every variable element-wise: array lengths, dtypes, and each index i of every vec* array, so that PT[i], Eta[i], Phi[i] are checked as a tuple, not as marginals. As a physics cross-check, recompute the dimuon invariant mass from the DataFrame's vecMuon arrays and verify that the Z-boson peak position and width match the value obtained directly from the original ROOT file.","verdict_should_be":"UNCHANGED","load_bearing_attack":"The central deliverable is the set of pandas DataFrames; the central claim is that they faithfully preserve the CMS Open Data in a usable form (Sections 1, 4, A.2). The pipeline (Appendix A.2) filters ~100 of 121 variables through a CMSSW EDAnalyzer, writes a TTree, then transposes it with uproot3 and pandas, asserting that this last step is lossless. The only published validation, however, is a set of one-dimensional histograms (Figures 15–22). Those histograms are invariant under permutations of objects within an event and under changes in the association between variables of the same object; for example, swapping the i-th entry of vecMuon_PT with the i-th entry of vecMuon_Eta would leave every histogram in Figures 16 and 21 unchanged while destroying the event-level structure that any ML model would consume. The paper provides no event-by-event comparison against the original ROOT files, no checksum for the released feather files, and no commit hash for the pipeline in reference [12], so the exact code that produced the DataFrames cannot be re-run or verified. The duplicate row for DYToMuMu in Table 14, the physically implausible means in Tables 15 and 16 (e.g., 78 tauons and 78 jets per event with identical values), and the incorrect invariant-mass definition in Section 2.4 further indicate that the manuscript's self-checks are not yet reliable. Consequently, the central claim of a usable, trustworthy entry point is not supported by evidence until an independent validation is performed.","agreement_with_reader":"agree"},"referee_report":{"model":"deepseek-v4-flash","summary":"This paper presents a conversion of a subset of CMS LHC open data from ROOT TTrees to pandas DataFrames, released through the University of Bonn bonndata repository. The manuscript has three main parts: a pedagogical primer on Standard Model particles, LHC detectors, and kinematic variables; a detailed catalogue of the roughly 100 DataFrame variables organized by object type; and a description of the conversion pipeline (a CMSSW EDAnalyzer followed by uproot3/pandas transposition) together with file-format benchmarks. As a use case, the authors perform a simple W-boson selection and show data/Monte Carlo agreement. The central claim is that the released DataFrames are a faithful, usable entry point for machine-learning researchers without a particle-physics background.","tokens_in":29946,"tokens_out":5833,"duration_ms":55548,"significance":"If the DataFrames are faithful to the original CMS open data, this is a genuinely useful community resource: it lowers the entry barrier for computer scientists, provides a documented variable catalogue, and ships a reproducible pipeline skeleton on GitHub. The paper is honest about being a tutorial and data descriptor rather than a methods contribution, and the data/MC comparison in Section 5 is a reasonable first sanity check. The main value hinges on trust in the conversion, and that trust is not yet established by the evidence in the manuscript.","major_comments":[{"comment":"The central claim of a trustworthy conversion is not yet supported by the published validation. The pipeline in Appendix A.2 filters roughly 100 of 121 variables and transposes the data with uproot3/pandas, but the only validation consists of one-dimensional histograms (Figures 15-22). Such histograms are invariant under permutations of objects within an event and under swaps between variables of the same object (for example, exchanging the i-th entries of vecMuon_PT and vecMuon_Eta changes no histogram in Figures 16 and 21). I ask for an event-by-event comparison of the released DataFrames against the source ROOT files (or a documented subset), checksums for the released feather files, and a commit hash or version tag for the GitHub repository in reference [12] so that the exact pipeline that produced the data can be identified and re-run.","section":"Appendix A.2, Figures 15-22"},{"comment":"The tau-lepton counts appear to be corrupted. In Table 3, the values of nTau are identical to nJets in all three example events (64/64, 98/98, 96/96), and in Tables 15 and 16 the mean \"Tauon\" value exactly equals the mean \"Jets\" value (78.2536 and 71.1567, respectively). Since roughly 78 reconstructed tau leptons per event is physically implausible, this strongly suggests that the tau variables were filled from the jet branch (or vice versa). The paper must clarify this and, if the released nTau/vecTau columns are wrong, regenerate and re-validate the affected datasets before the resource can be used.","section":"Section 4.1, Tables 3, 15, and 16"},{"comment":"The invariant-mass formula is stated incorrectly. The text defines the scalar product p1.p2 = E1*E2 - p_x1*p_x2 - p_y1*p_y2 - p_z1*p_z2 and equates it directly to (m12)^2, but the invariant mass of a two-particle system is obtained from the square of the summed four-vector, (p1+p2)^2 = m12^2, not from p1.p2. The subsequent discussion of adding the two muon four-vectors to obtain the Z-boson mass is conceptually correct, so the equation and the sentence \"By taking the scalar product of this four-vector\" need to be corrected to avoid teaching a wrong definition to the target audience.","section":"Section 2.4"},{"comment":"The dataset catalogue contains a duplicate entry: the DYToMuMu M-20 CT10 TuneZ2star v2 8TeV sample is listed twice with the same DOI (10.7483/OPENDATA.CMS.QGC3.PTZ9), so Table 14 lists six rows but only five distinct samples. Since the paper's deliverable is a documented set of public datasets, the catalogue must be corrected and each dataset should carry a stable record identifier or DOI so that users can cite and retrieve the exact version they used.","section":"Table 14, Section 4.3"}],"minor_comments":[{"comment":"There are many typographical and formatting errors, including \"T able\" in several table captions, \"Panda Data Frames\" in the Appendix title, and \"We are hope\" in the Conclusion; please run a careful proofreading pass.","section":"Throughout"},{"comment":"The caption of Table 12 says \"Description of the variables associated to Monte Carlo Truth\" but the table actually describes jet variables; the caption should be corrected.","section":"Table 12"},{"comment":"The first paragraph of Section 4.1 describes a Top-AntiTop semi-leptonic decay, but the caption of Table 4 refers to a \"ZZ to 4mu decay\"; the example and the caption should be aligned.","section":"Section 4.1, Table 4"},{"comment":"The statement that the python step transforms the file \"without altering or discarding any of the contained values\" should be clarified to apply only to the ROOT-to-DataFrame step, because the EDAnalyzer already filters out roughly 20 of the 121 variables; as written, the two sentences can be read as claiming losslessness of the full pipeline.","section":"Section A.2"},{"comment":"The text says \"one GeV corresponds to 1.783 * 10^27 kg\"; the exponent is missing a minus sign and should be 10^-27 kg.","section":"Section 2.1, Table 1"}],"recommendation":"major_revision","confidential_remarks":"The paper is best evaluated as a data/tutorial descriptor rather than a methods contribution. Its value depends entirely on the trustworthiness and longevity of the released DataFrames, so I would ask the editor to treat the absence of versioning, checksums, and event-level validation as a publication-blocking issue for this venue. The duplicate dataset row and the nTau/nJets identity suggest that the manuscript's self-checks were not thorough; these are fixable, but they need to be fixed before external users build on the data."},"author_rebuttal":null,"desk_editor":{"model":"deepseek-v4-flash","letter":"The genuinely new thing here is an artifact: six curated CMS Open Data datasets converted to per-event pandas DataFrames with a documented variable dictionary, deposited on bonndata. The conversion itself is a known operation (uproot + pandas), but this particular resource did not exist before, and for computer scientists who bounce off ROOT it can lower the barrier to entry substantially. The primer sections are competent, and the W-boson mini-analysis in Section 5 is a useful sanity check that the DataFrames preserve enough information for a simple cross-section-style comparison with Monte Carlo.\n\nWhat the paper does well: the variable tables in Section 4 are extensive and mostly clear; the data/MC agreement in Figure 22 gives real evidence of usability; the pipeline is on GitHub; the choice of feather with zstd compression is reasoned and benchmarked against alternatives. That is legitimate, reproducible groundwork.\n\nSoft spots, in proportion: the validation is weaker than the central claim. Figures 15–22 are one-dimensional histograms. They cannot catch swapped entries between arrays of the same object, and they cannot detect a silent break in per-event object alignment. That is a real gap, though it is a validation gap, not evidence of actual corruption. More concrete: there are no checksums for the released feather files and no commit hash for the pipeline in reference [12], so the exact code that produced the DataFrames cannot be pinned down. The editorial errors are also real—the duplicate DYToMuMu row in Table 14 and the physically implausible identical means for tauons and jets in Tables 15/16 (78 per event) suggest the manuscript's self-checks are not yet reliable. The stress-test note also flags the invariant-mass definition in Section 2.4; I think that specific concern does not hold, since p1·p2 = m12^2 is the standard definition. So: fix the tables, add checksums and a commit hash, and ideally include an event-by-event comparison script for a few files.\n\nWho this is for: computer scientists who want to try machine learning on LHC data without first learning ROOT. They will get real value from this resource. There is no new physics and no new ML method, but that is not the point of the paper. I would send it to peer review with a request for revision, and I would cite it if I were working with these datasets.","headline":"A genuinely useful resource paper: six CMS open datasets converted to documented per-event pandas DataFrames, but the validation and provenance details need tightening before it should be widely promoted.","tokens_in":30375,"tokens_out":1844,"would_cite":true,"duration_ms":20201,"reading_group":"yes","serious_thinker":"yes","would_accept_peer_review":true},"rs_alignment":null,"lean_confirmation":null,"pith_extraction":{"msc":[],"pacs":[],"model":"deepseek-v4-flash","headline":"CMS open data from the LHC is converted into documented pandas DataFrames for computer scientists.","keywords":["LHC open data","CMS","pandas DataFrames","ROOT","machine learning","particle physics","data conversion","interdisciplinary collaboration"],"falsifier":"Choose one of the published 10000-event DataFrames and re-extract the same events from the original ROOT files with a fresh reader, then compare the full set of retained variables element by element; any mismatch outside floating-point tolerance would show the conversion is not faithful. A less direct falsifier is to compute the dimuon invariant-mass peak from vecMuon PT, Eta, Phi in the Z-boson sample and check that it reproduces the known Z mass.","tokens_in":29410,"feed_emoji":"🐼","tokens_out":6726,"duration_ms":61604,"temperature":0.7,"pith_summary":"This paper converts CMS open data from the Large Hadron Collider, originally stored in the ROOT format, into pandas DataFrames and publishes the result along with detailed documentation of every variable. The intent is to remove two barriers that keep computer scientists away from particle physics data: an unfamiliar file format and the need for a physics background to interpret the stored observables. The paper shows, through a worked example of a W-boson cross-section measurement and two sketched machine-learning tasks, that the converted data can support real analyses. If the conversion is faithful, the published DataFrames give the machine-learning community a direct, documented entry point to real collision data.","feed_headline":"LHC open data now in pandas DataFrames for machine learning","feed_subtitle":"A documented dataset lets computer scientists train models on real proton-proton collisions without ROOT skills.","key_machinery":"The load-bearing mechanism is the conversion pipeline described in the appendix: a CMS analysis module filters the desired objects and roughly 100 variables per event out of each 2 GB ROOT file, writes them to a temporary ROOT tree, and a Python script converts the tree into pandas DataFrames, transposing the storage from per-variable to per-event orientation and saving the result as compressed feather files. The second half of the machinery is the paper's variable dictionary: a set of tables that maps every DataFrame column, such as vecMuon PT or nVertex, to its physical meaning, so the data can be used without a physics background.","core_discovery":"The central claim is that a large, useful portion of CMS open data from the 2011-2012 LHC run can be served to computer scientists as pandas DataFrames rather than ROOT trees. The authors implemented a pipeline in which a CMS analysis module filters roughly 100 of 121 event variables out of each 2 GB ROOT file, converts the values without alteration into a per-event tabular layout, and saves the result as compressed feather files that can be read directly with pandas. The released datasets cover simulated and real proton-proton collisions at 8 TeV, including a top-quark pair sample, W and Z boson samples, and muon-trigger data, each with 10000-event files. The paper presents the full variable dictionary, histograms of key distributions, and a step-by-step analysis estimating W-boson signal events to demonstrate that the DataFrames behave like the original physics data.","pith_inferences":["The same conversion approach could be applied to other ROOT-based open datasets beyond CMS, including ATLAS data, which would extend the bridge between high-energy-physics open data and the Python machine-learning ecosystem.","Because the DataFrames keep only about 100 of 121 variables, the dropped variables may matter for some analyses; a faithful machine-learning benchmark built on these files should state that the filtering step is part of the dataset definition.","The paper's variable tables could serve as the starting schema for a standardized interchange format for tabular high-energy-physics data, reducing the need for each new collaboration to re-derive the mapping.","The histogram comparisons in the paper could be turned into automated data-quality regression tests: any future change to the conversion pipeline should leave these distributions statistically unchanged."],"forward_implications":["Machine-learning researchers can load and explore real LHC collision data with standard pandas tooling, without installing ROOT or learning its object model.","The per-event storage layout matches the way deep-learning data loaders typically consume tabular inputs, so the DataFrames can feed neural-network pipelines almost directly.","The documented variable tables give non-physicists enough vocabulary to design features and understand what each observable means physically.","The worked W-boson analysis shows the DataFrames support a conventional physics measurement, not just machine-learning toy tasks.","The pipeline is reusable: the same single-container recipe can be pointed at other ROOT-based CMS open data."],"supporting_citations":[{"why":"Publishes the converted DataFrames, the central artifact of the paper.","marker":"[1]"},{"why":"Provides the pandas library that defines the target data format central to the conversion.","marker":"[8]"},{"why":"The foundational pandas paper describing the DataFrames data structure the authors adopt.","marker":"[9]"},{"why":"The source portal from which the ROOT-format CMS open data used as input is obtained.","marker":"[10]"},{"why":"Documents the known challenges of using CMS open data, motivating the conversion to a friendlier format.","marker":"[11]"},{"why":"The code repository for the OpenDataToDataFrame pipeline that performs the conversion described in the paper.","marker":"[12]"}],"fun_headline_variants":["LHC data now in pandas DataFrames for ML","ROOT files become pandas DataFrames for ML","LHC open data gets a pandas makeover for ML","Pandas DataFrames unlock LHC data for computer scientists","LHC data for ML: now in pandas format"],"cache_read_input_tokens":3200,"weakest_assumption_plain":"The load-bearing premise is that the single-pass filtering step keeps every variable a machine-learning model could need and introduces no silent corruption of the values, so users can trust the released DataFrames without re-checking them against the original ROOT files.","fun_headline_variants_meta":{"raw":{"variants":["LHC data now in pandas DataFrames for ML","ROOT files become pandas DataFrames for ML","LHC open data gets a pandas makeover for ML","Pandas DataFrames unlock LHC data for computer scientists","LHC data for ML: now in pandas format"]},"model":"deepseek-v4-flash","effort":"low","cost_usd":0.000533,"raw_usage":{"total_tokens":2526,"prompt_tokens":871,"completion_tokens":1655,"prompt_tokens_details":{"cached_tokens":384},"prompt_cache_hit_tokens":384,"prompt_cache_miss_tokens":487,"completion_tokens_details":{"reasoning_tokens":1575}},"tokens_in":487,"tokens_out":1655,"duration_ms":11758,"temperature":1.0,"reasoning_tokens":1575,"cache_read_input_tokens":384,"cache_creation_input_tokens":0},"cache_creation_input_tokens":0},"created_at":"2026-08-10T20:48:55.740229+00:00","model_set":{"reader":"deepseek-v4-flash"},"falsifier":"Choose one of the published 10000-event DataFrames and re-extract the same events from the original ROOT files with a fresh reader, then compare the full set of retained variables element by element; any mismatch outside floating-point tolerance would show the conversion is not faithful. A less direct falsifier is to compute the dimuon invariant-mass peak from vecMuon PT, Eta, Phi in the Z-boson sample and check that it reproduces the known Z mass.","supporting_citations":[{"cited_title":"URL https://bonndata.uni-bonn.de/dataverse/lhc_open_df","cited_arxiv_id":null,"evidence_quote":"Publishes the converted DataFrames, the central artifact of the paper."},{"cited_title":null,"cited_arxiv_id":null,"evidence_quote":"The foundational pandas paper describing the DataFrames data structure the authors adopt."},{"cited_title":"URL https://opendata.cern.ch/","cited_arxiv_id":null,"evidence_quote":"The source portal from which the ROOT-format CMS open data used as input is obtained."},{"cited_title":"Saala, OpenDataToDataFrame (2025)","cited_arxiv_id":null,"evidence_quote":"The code repository for the OpenDataToDataFrame pipeline that performs the conversion described in the paper."}],"review_version":1}