How tomasate/bsm3g_coffea works
BSM3G Coffea processes CMS NanoAOD data and simulation through configurable physics selections, corrections, event weights, and histogram production, then combines, normalizes, reports, and plots results. The README documents filesets and workflow configuration as inputs and describes local and Condor execution. Sampled processor and postprocessing code supports the central processing and results flow; some runner, submission, and configuration wiring is documented but not sampled, so those links are limited accordingly.
Main entry points: base.py Base processor · coffea_postprocessor.py Histogram postprocessing · runner.py Workflow runner · selections Object and event selections
Components 17
Analysis inputs
- Dataset filesets
analysis/filesets - Workflow definitions
analysis/workflows
Event processing
- Base processor
analysis/processors/base.py - Workflow config
analysis/workflows/config/workflow_config_builder.py - Object and event selections
analysis/selections - Physics working points
analysis/working_points/working_points.py - Corrections and weights
analysis/corrections/corrections_manager.py - Histogram filling
analysis/histograms/hist_filler.py
Results and plots
- Coffea outputs
- Histogram postprocessing
analysis/postprocess/coffea_postprocessor.py - Cutflow and reports
run_postprocess.py - Plots
analysis/postprocess/coffea_plotter.py - ROOT output
analysis/utils/root_writer.py
Job execution
- Workflow runner
runner.py - Condor submission
submit_condor.py
Other components
- Analyst
- NanoAOD files
Connections 16
- Analyst → Workflow runner: selects workflow
- Analyst → Condor submission: submits jobs
- Dataset filesets → Workflow runner: selects samples
- Workflow definitions → Workflow runner: configures run
- NanoAOD files → Base processor: supplies events
- Workflow runner → Base processor: runs workflow
- Base processor → Workflow config: builds config
- Base processor → Object and event selections: selects objects
- Object and event selections → Physics working points: uses criteria
- Base processor → Corrections and weights: applies corrections
- Base processor → Histogram filling: fills histograms
- Base processor → Coffea outputs: writes results
- Coffea outputs → Histogram postprocessing: loads and combines
- Histogram postprocessing → Cutflow and reports: provides summaries
- Histogram postprocessing → Plots: provides histograms
- Histogram postprocessing → ROOT output: exports ROOT