How alaha999/nanordf works
NanoRDF is a CMS NanoAOD sample-management and RDataFrame analysis framework. Users maintain campaign/sample metadata, prepare input configurations from CRAB outputs, then run analysis locally or submit processing through CRAB or CERN Condor. The analysis defines event selections and weights, applies campaign-aware filters, and writes histograms; the CRAB branch also supports configurable skimming. Calibration payloads and golden-luminosity JSONs provide analysis inputs. Edges are limited to README statements and shown source references/calls; some submission and analysis internals were not sampled.
Main entry points: nanoRDF.py RDataFrame Analysis · lumiJsonFilter.C Luminosity Filter · createInputSample.py Build Inputs · crab_script_runNanoRDF_advancedSkimming.py CRAB Skimming
Components 19
Sample Catalog
- Sample Metadata
database/database.yaml - Campaign Inputs
input - Build Inputs
createInputSample.py - Inspect Catalog
printDatabase.py
Job Workflows
- CRAB Submission
crab_setup/bulkSubmitCrab.py - CRAB Job Config
crab_setup/crab_config.py - CRAB Skimming
crab_setup/crab_script_runNanoRDF_advancedSkimming.py - CMSSW Input
crab_setup/PSet.py - Condor Submission
submitCondor.py
Analysis Runtime
- RDataFrame Analysis
nanoRDF.py - Analysis Helpers
tools/customFunctions.C - Luminosity Filter
tools/lumiJsonFilter.C - JSON Parser
tools/nlohmann/json.hpp
Physics Resources
- Golden JSONs
tools/goldenjsonfiles - POG Corrections
tools/POG
Other components
- Analyst
- DAS
- CRAB Outputs
- ROOT Results
Connections 18
- Analyst → Sample Metadata: maintains
README.md - Sample Metadata → Build Inputs: provides metadata
README.md - CRAB Outputs → Build Inputs: provides files
README.md - Build Inputs → Campaign Inputs: creates configs
README.md - Analyst → Condor Submission: submits jobs
README.md - Campaign Inputs → Condor Submission: configures jobs
README.md - Analyst → CRAB Submission: submits campaign
crab_setup/bulkSubmitCrab.py - CRAB Submission → CRAB Job Config: invokes config
- CRAB Skimming → RDataFrame Analysis: imports runtime
crab_setup/crab_script_runNanoRDF_advancedSkimming.py - CRAB Skimming → CMSSW Input: reads source
crab_setup/crab_script_runNanoRDF_advancedSkimming.py - RDataFrame Analysis → Analysis Helpers: loads helpers
nanoRDF.py - RDataFrame Analysis → Luminosity Filter: calls filter
nanoRDF.py - Luminosity Filter → JSON Parser: parses JSON
tools/lumiJsonFilter.C - Luminosity Filter → Golden JSONs: reads ranges
tools/lumiJsonFilter.C - RDataFrame Analysis → POG Corrections: uses corrections
- RDataFrame Analysis → ROOT Results: writes histograms
README.md - DAS → Inspect Catalog: queries summaries
printDatabase.py - Analyst → Inspect Catalog: inspects catalog
README.md