README.rst

FTKxAODReader

FTKxAODReader creates simple ROOT ntuples containing information on raw and refit FTK tracks, offline tracks, and truth particles. These ntuples may be used as input for making validation plots of track parameter resolution and FTK efficiencies with respect to truth or offline tracking.

In addition to the documentation below, please refere to my slides and code on Indico here: https://indico.cern.ch/event/468480/ and the documentation on the Twiki: https://twiki.cern.ch/twiki/bin/view/Atlas/FTKSoftwareRDO2xAOD

Getting FTKxAODReader

Get the latest version of FTKxAODReader by cloning with git:

git clone https://gitlab.cern.ch/end/FTKxAODReader.git

Generating DAOD_FTK from RDO_FTK

Use the provided job options in FTKxAODReader/share/FTK2EVERYTHING.py to produce ESD, AOD, and DAOD_FTK from RDO_FTK as follows:

cd FTKxAODReader/share
setupATLAS --quiet
asetup AtlasProduction,20.7.4.1,here
voms-proxy-init -voms atlas
lsetup panda
pathena FTK2EVERYTHING.py \
   --nFilesPerJob 1 --supStream GLOBAL \
   --inDS [something].recon.RDO.[something] \
   --outDS user.[USER].[something]

This will create separate output datasets for each output type (log, ESD, AOD, and DAOD_FTK). The DAOD_FTK output container will be the input for FTKxAODReader.

Running FTKxAODReader on DAOD_FTK

Set up RootCore in a fresh terminal while in the directory containing FTKxAODReader:

setupATLAS --quiet
rcSetup Base,2.3.34
rc build
voms-proxy-init -voms atlas
lsetup panda
ftk2ntup -g user.[USER].[SOMETHING]_NTUP user.[USER].[SOMETHING]_DAOD_FTK [OUTPUT_DIRECTORY]

After the grid jobs have finished, the output should be present in the local output directory.

Another option is to download the DAOD_FTK container and run without the -g option (replace the input dataset with the directory containing the DAOD_FTK).

Making Plots

WORK IN PROGRESS

A script that creates plots of track parameters, efficiencies, and resolutions is provided by FTKxAODReader. This python script depends on a few python packages, as well as ROOT. First, if you don't have pip installed, do the following:

curl -O https://bootstrap.pypa.io/get-pip.py
python get-pip.py --user

Then install the following python packages:

pip install numpy matplotlib rootpy root_numpy

Now you should be able to run the plot-ftk script on the output ntuple from FTKxAODReader:

ftkplot /path/to/ntuple

Plans

  • Migrate plotting code from TrigFTKSim's efficiency code to FTKxAODReader
  • Create validation plots along with ntuple