Skip to content

Welcome to Expresso documentation

Expresso is based on coffea, wrapped with functionalities to share analysis methods between different analysis teams, proper logging support and ability to save the status of the analysis at various stages like preselection, preprocessing etc.

Step 1: User issues one or more commands for different processes

example:

./expresso.py --Sample DYsample.json --Analysis 'testAnalysis' --NumberOfTasks 2
./expresso.py --Sample TTsample.json --Analysis 'testAnalysis' --NumberOfTasks 2

graph LR
  A(Sample files) --> C(expresso.py)
  B(Analysis files) --> C(expresso.py)
  C --> |Multiprocessing| D(pre processor)
  D --> E(pre selector)
  E --> F(save root file)
  E --> G(main analysis)
  G --> H(output)

Step 2: User makes plots

example:

./plot+.py --PlotterScript Analysis/testAnalysis/plot.yaml --HistoFolder ./Output/Analysis/testAnalysis/output/analysis/
graph LR
  H(output) --> I(plot+.py)
  I --> J(make plots)