O2 Analysis Framework Documentation

Welcome to the documentation page of the O2 analysis framework! Please use the links below to navigate quickly to the content you're looking for.

Getting started

| Git basics | Installing O2 and O2Physics | The O2Physics repository structure | Contributing to the repository | Editing this documentation |

Writing an analysis task

| Introduction to the framework | The data format: interconnected tables | The basic structure of an analysis task | Subscribing to data | Filtering and partitioning data | Creating new tables | Combining data: pairs, triplets and beyond | The CCDB: calibration data |

Running an analysis

| Downloading AO2D samples | Setting up an execution | Using json configuration files | Helper tasks | Saving tables to a file | Reading tables from files | Options for running analyses |

Using Hyperloop for analysis

| User Documentation | Notifications | Operator Documentation | For the Run 2 LEGO train expert. What has changed? |

Advanced features and PWG specifics

| Event Mixing | Machine Learning | PWG-CF | PWG-DQ | PWG-EM | PWG-HF | PWG-JE | PWGLF | PWG-MM | PWG-UD |

Examples and tutorials

| Analysis Task | Track Iteration | Table Combinations | Histograms | Histogram Registry | Creating Tables | Extending Tables | Data Selection | Index Tables | Event Mixing | Table IO | CCDB | MC Data | Multi Process | More tutorials |

Frequently asked questions (FAQ)

Support and troubleshooting

Appendix: data model reference

| AO2D tables | Helper task tables | PWG tables | Joins and iterators |