How cmssnu/sknanoanalyzer works
SKNanoAnalyzer is a NanoAODv15/RNTuple event-analysis backend plus Python submission and plotting tools. The principal workflow is users selecting an analyzer and samples, submitting jobs, processing RNTuple events through shared views and analysis services, and producing typed datasets and histograms for plotting. The graph also preserves correction and common-analyzer capabilities. Some links reflect README descriptions or SOURCE INDEX references; unsampled implementation details are not inferred as direct calls.
Main entry points: SKNano.py Job submission · AnalyzerCoreObjects.cc Analyzer core · JetView.h Event views · AnalyzerCoreOutput.cc Typed output
Components 20
Submission and samples
- Job submission
python/SKNano.py - Sample resolution
python/sample_paths.py - Job configuration
templates/job_dict.py
Event processing
- Input loading
AnalyzerFramework/src/SKNanoLoader.cc - RNTuple source
AnalyzerFramework/src/RNTupleSource.cc - Branch management
AnalyzerFramework/include/AnalyzerFramework/BranchManager.h - Column access
SKNanoCore/include/ColumnSource.h - Event views
DataFormats/include/JetView.h - Analyzer core
AnalyzerFramework/src/AnalyzerCoreObjects.cc - Execution utilities
SKNanoCore/include/DoubleBufferPipeline.h - Failure handling
SKNanoCore/include/AnalysisException.h
Physics services
- Corrections
AnalyzerTools/src/MyCorrectionLeptons.cc - Systematics
AnalyzerTools/src/SystematicHelper.cc - ML inference
AnalyzerTools/src/MLHelper.cc - Common analyzers
CommonAnalyzers/src/ModellingPatch.cc
Outputs and visualization
- Typed output
AnalyzerFramework/src/AnalyzerCoreOutput.cc - Plot workflow
python/sknano_plotter/tasks.py - Plot schema
python/sknano_plotter/schema.py - Input catalog
python/sknano_plotter/catalog.py
Other components
- Analyst
Connections 12
- Analyst → Job submission: submits jobs
README.md - Job submission → Sample resolution: resolves samples
python/SKNano.py - Job submission → Job configuration: uses configuration
python/SKNano.py - Input loading → RNTuple source: reads input
README.md - Branch management → Column access: provides columns
AnalyzerFramework/include/AnalyzerFramework/BranchManager.h - Event views → Column access: accesses columns
- Analyzer core → Typed output: writes results
README.md - Analyzer core → Event views: uses event views
AnalyzerFramework/src/AnalyzerCoreObjects.cc - Execution utilities → Failure handling: raises errors
SKNanoCore/include/DoubleBufferPipeline.h - Plot workflow → Plot schema: uses schema
python/sknano_plotter/tasks.py - Plot schema → Input catalog: maps catalog
python/sknano_plotter/schema.py - Typed output → Plot workflow: feeds plotting
README.md