Even 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 some data being unusable for analysis. Good Runs Lists (GRLs) are maintained to record luminosity blocks of data that are considered “good for physics” based on a specific set of criteria. A luminosity block, which is about a minute of data, is the smallest unit of data for which the quality is determined. 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
Not all analyses use the same GRL! For example, if some issue affected triggering on heavy flavor jets specifically, then analyses using other triggers might still be able to include those data. There are a few standard GRLs for each year that are normally used, but for special analyses it is possible to prepare a GRL that is either more or less restrictive about detector problems.
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 running.
Metadata from the input file are retrieved in
the steering macro and are passed into the basic sequence of the job.
From these values, a good default GRL is automatically selected 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 these detector issues and therefore, all of them are used.
To make sure the GRL selector 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.
Did you notice anything else change? When running on data, the event cleaning block gets an extra algorithm, the
EventFlagSelectionAlg
. This algorithm looks for specific flags in data that mark corrupt events that should be excluded. These flags are the mechanism by which only a few events from a luminosity block are rejected in case most of the luminosity block is good.
Make sure you change dataType
back to "mc"
before proceeding.