Common CP Algorithms Introduction

Last update: 18 Nov 2022 [History] [Edit]

The combined performance (CP) groups provide recommendations for use in analysis. This ranges from data quality to pileup reweighting to calibrations and uncertainties for physics objects. In order to ensure that CP recommendations can be easily and consistently implemented in analyses regardless of which framework is used.

You can find all recommendations from CP groups on their corresponding twiki pages. All of these pages can easily be accessed from the main AtlasPhysics twiki page.

tip Some existing analyses may be using older methods, but the approach presented here is the recommendation for new analyses moving forward.

CP algorithms are run at the start of your analysis job and they make corrected object available to be accessed and used as though they were directly from the input file. Additionally, it is possible to produce ntuples directly using algorithms without the need for user analysis code. However, for this tutorial, we will still make use of user analysis code to give you a hands-on understanding of how information is stored and accessed in files in ATLAS.

The basic design of the CP algorithms should allow for a great amount of flexibility to the user. Some examples of this are:

  • CP algorithms can be run in either EventLoop or Athena

  • Users can change the configuration of any CP algorithm/tool at will, re-order them and run only those that are needed

  • The algorithms can run multiple working points for a single object type (e.g. muons) and apply decorations for all of them to the same object

  • A basic preselection can be performed on objects/events and the CP algorithms can be applied only to those objects/events that pass the preselection (to save computing time)

  • This approach can produce smaller ntuples (1-2 orders of magnitude smaller) than those produced using older frameworks, which also translates into shorter runtimes when producing histograms.

tip The configuration of the CP algorithms is still under development and the tutorial may be updated from time to time to reflect any changes.

Where to find CP algorithm sequences

The various tools provided by CP groups for use in analysis are spread out throughout the Athena codebase, but the algorithms and algorithm sequences that call these tools are centrally located for ease of use. You can find a list of the available CP algorithm sequences in PhysicsAnalysis/Algorithms. Each algorithm sequence can be found in its respective directory under the python subdirectory and is called *AnalysisSequence.py. One exception is the Good Runs List selector algorithm, which is currently kept in DataQuality/GoodRunsLists, but will soon be moved to the same directory as the others.

An example of the implementation of most available algorithm sequences can be found in FullCPAlgorithmsTest.py. The ntuples that will be used in later tutorial steps have been produced using a customized version of the code that mostly uses the same sequences.