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.
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 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.
The GRLSelectorAlg
is automatically called within the EventCleaning
portion of the job, so there is no need to specify it when submitting
one. Files that contain values concerning the dataset are retrieved in
the steering macro and are passed into the basic sequence of the job.
From these values, the GRL is automatically detected for your data, and
events are filtered accordingly.
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. It will print out
additional information before your analysis and will also add outputs for
the GoodRunsList
and EventErrorState
filters.
Make sure you change dataType
back to "mc"
before proceeding.