Good Runs Lists

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

Introduction to Good Runs Lists

During normal LHC running, the ATLAS detector is prone to various issues that prevent subdetector systems from performing correctly. While many of these issues are not detrimental to data taking, there are detector conditions that result in luminosity blocks being unusable for analysis. Good Runs Lists (GRLs) are maintained to record luminosity blocks of data that are collected under various conditions. The complete set of available GRLs can be found on the ATLAS DQM page. If you click on one of the GRLs, you will see information summarizing the runs in the list.

tip If you want to use a GRL locally (which is not needed for this tutorial), you can download it using the wget command, e.g.:

wget http://atlasdqm.web.cern.ch/atlasdqm/grlgen/All_Good/data16_13TeV.periodAllYear_DetStatus-v89-pro21-01_DQDefects-00-02-04_PHYS_StandardGRL_All_Good_25ns.xml

The GRL algorithm

The GRLSelectorAlg is an algorithm that checks data events against user-defined GRLs. If an event is not in a luminosity block in the GRLs, the event is skipped for all later algorithms in the job. This is a type of algorithm referred to as a filter because events that fail it are filtered out. It can be scheduled after other CP algorithms, but must be scheduled before your analysis algorithm. If you are using an ntuple output algorithm (which we aren’t in this tutorial), make sure to schedule the GRL algorithm before it.

To add the GRL algorithm to your algorithm sequence, add the following include statement to the top of MyAnalysisAlgorithms.py:

from AnaAlgorithm.DualUseConfig import createAlgorithm, addPrivateTool

and the following lines to the makeSequence() method where it says "# Add your sequences here":

    # Include and set up the grl algorithm:
    if dataType == 'data' :
        grlAlg = createAlgorithm ('GRLSelectorAlg', 'GRLSelectorAlg')
        addPrivateTool (grlAlg, 'Tool', 'GoodRunsListSelectionTool')
        grlAlg.Tool.GoodRunsListVec = [ 'GoodRunsLists/data17_13TeV/20180619/data17_13TeV.periodAllYear_DetStatus-v99-pro22-01_Unknown_PHYS_StandardGRL_All_Good_25ns_Triggerno17e33prim.xml',
                                        'GoodRunsLists/data18_13TeV/20190318/data18_13TeV.periodAllYear_DetStatus-v102-pro22-04_Unknown_PHYS_StandardGRL_All_Good_25ns_Triggerno17e33prim.xml']

        # Add the grl algorithm to the job
        algSeq += grlAlg

tip Note that the GRL algorithm is only scheduled for jobs that run over data. Monte Carlo events are not subject to detector downtime and therefore, all of them are used.

To test this to make sure it is configured correctly, you can temporarily change dataType to "data" in your steering macro or JOs and re-run your job. After you see that the algorithm is being called correctly (it will print out information at the beginning of the job before your analysis algorithm is executed), make sure you change it back to "mc" before proceeding.

Commit your changes

Commit and push your changes.