AnaAlgorithm Introduction

Last update: 21 Jul 2021 [History] [Edit]

AnaAlgorithm is a new (Sept 2017) algorithm base class that is meant to replace the existing algorithm class inside EventLoop as well as allow to run the same algorithms inside both EventLoop and Athena.

EventLoop Introduction

EventLoop is an ASG supported ROOT tool for handling optimized event looping and data management. If you are not using Athena, this is our recommendation of what you should be using. EventLoop integrates nicely into the ATLAS software infrastructure and provides some advanced features that will make your life easier in the long run. In the following pages we will give you instructions on how to setup a basic EventLoop job, and towards the end of the tutorial we will have more pages on how to use its more advanced features.

EventLoop is really the center piece of a whole infrastructure of tools that work together to execute your job. Most of these packages were designed so that they can be used by themselves, but together they form a fairly complete analysis infrastructure and they are very well integrated. For the tutorial we will mostly show you how to use them together, for instructions on how to use them by themselves as well as how to use any features not covered in the tutorial please consult the documentation of each tool.

Athena Introduction

Athena is the main software framework in ATLAS, used for the trigger, central production and derivation. While most users do not use it for analysis it can and is definitely used that way.

The main purpose of this tutorial section is to show you how to set up and use an Athena package in a way that is very similar to an EventLoop package, and more or less the same as the setup from the previous section on EventLoop. Most of the remaining sections of this tutorial are actually independent of whether you work in EventLoop or Athena, so you can work through the entire tutorial in Athena if you follow this section.

Where To Go From Here

You can do this tutorial using either EventLoop or Athena. As such you can set up either an AnalysisBase or an AthAnalysis release and work through the tutorial, but you have to pick one and stick to it. You can not have both releases set up at the same time, and trying to switch back and forth between them can lead to confusion if you forget which release you are currently working with.

After you worked through the basics you can (if you want to) switch between to the other release series to try that as well. For that you should start a new shell (log in again), and create a new build directory (e.g. call it build2). It is perfectly safe to have multiple build directories at the same time, as long as you only use the build directory for the release you have currently set up. And the way the tutorial is set up you should not have to modify any file in the source area when you switch between releases (making this a good way to check that your code runs in both releases).