4.2.4 Physics Analysis Toolkit (PAT): Tutorial

PAT tutorials were discontinued in 2016, replaced by expanded CMSDAS, HATS etc



There exists a series of PAT Tutorials, which are held at cern. You can find the next PAT Tutorial announced on SWGuidePAT. Have a look at indico and the CMS elearning area to learn more about the Tutorials that have already taken place. On this page you can find a set of lectures, documentation and exercises for your personal studies. The following pages might be of help before getting started:

If you have more question or need more of support have a look at SWGuidePAT#Support.


You can find a list of recent lectures and documentation pages about PAT below:

  1. Lecture 1.1: PAT introduction. (Jul2013)
  2. Lecture 1.2: Learn how to access pat::Candidates with an EDAnalyzer or FWLite executable. (Jul2013)
  3. Lecture 2.1: Learn more about how PAT supports object cross cleaning. (Jul2013)
  4. Lecture 2.2: Learn more about how to configure the workflow and event content of a pat::Tuple. (Jul2013)
  5. Lecture 3.2: Learn more about how PAT supports matching to trigger objects or Monte Carlo truth information. (Jul2013)
  6. Lecture 4.1: Learn something about triggers, especially HLT, in CMS from the software point of view. (Jul2013)
  7. Lecture 4.2: Learn more about the production, configuration and use of the pat::TriggerEvent. (Jul2013)
  8. Lecture 4.3: Learn more about trigger matches to pat::Candidates. (Jul2013)
  9. Lecture 5: Learn more about access to particle flow objects in PAT (PFBRECO). (Jul2013)

These lectures are being updated for each PAT Tutorial every ~6 Month. The date of last update is indicated in brackets.


You can find a set of TWiki based Tutorial Exercises below. All exercises require:


  • A working cern account.
  • At least 2GB of free space in your afs directory. In case you need some more space increase your quota here: CERN Resources Portal: AFS Workspaces
  • Some knowledge of C++. Have a look to WorkBookBasicCPlusPlus to get a quick overhaul of the C++ you need.
  • Some minimal knowledge of CMSSW.

ALERT! Note:

This web course that is presented below is part of the PAT Tutorial, which takes regularly place at cern and in other places. When following the PAT Tutorial the answers of questions marked in RED on these TWiki pages should be filled into the exercise form that has been introduced at the beginning of the tutorial. Also the solutions to the Exercises found on these TWiki pages should be filled into the form. The exercises are marked in three colours, indicating whether this exercise is basic (obligatory), continuative (recommended) or optional (free). The colour coding is summarized in the table below:

Color Code Explanation
red Basic exercise, which is obligatory for the PAT Tutorial.
yellow Continuative exercise, which is recommended for the PAT Tutorial to deepen what has been learned.
green Optional exercise, which shows interesting applications of what has been learned.

Basic exercises ( red ) are obliged and the solutions to the exercises should be filled into the exercise form during the PAT Tutorial.


If you are feeling unsafe about how to do the preparation you have to do for the exercises indicated below you can follow the

Week exercise

For the Tutorial there is an over-spanning exercise from the area of Top-Physics that the participants should work on during the week. You can find this example on WorkBookPATWeekExercise (responsible: Felix Hoehle) (Jul2014) .

PAT Tutorial Exercises:

The WorkBookPAT exercises form a basic set of what you have to know about the production of pat::Tuples and the access to pat::Candidates. The SWGuidePAT exercises are more comprehensive demonstrations and examples of the features and the use of PAT.

More Exercises

You can find some more comprehensive examples of the use of PAT within special POG and PAG applications below:

PAG Applications of PAT:

In this section you can find a set of links to tutorials illustrating the typical use of PAT within your Physics Analysis Group (PAG):

POG Applications of PAT:

ALERT! Note:

These tutorials will cover the typical but only basic use of PAT in a simple POG/PAG specific application. They provide you with the following information:

  • A small number of EDAnalyer(s) or EDProducer(s) of manageable complexity.
  • A workflow, which highlights one or two PAG specific analysis aspects.
  • The typical content of pat::Candidate, which your PAG has agreed upon.
  • A short summary how the pat::Candiates were configured (when different from the PAT default).
  • The PAG specific use of pat::Candidates and tools (e.g. certain aspects of cleaning, or a special use of isolation variables).
  • Links to further PAG specific information.

The examples may refer to other parts of official code.

Review status

Reviewer/Editor and Date (copy from screen) Comments
RogerWolf - 02 Mai 2010 Documentation Rework

Responsible: RogerWolf
Last reviewed by: RogerWolf - 02 Mai 2010

Edit | Attach | Watch | Print version | History: r180 < r179 < r178 < r177 < r176 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r180 - 2022-01-27 - SudhirMalik



    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    CMSPublic All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2023 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback