Standalone FTK in RTT
In this twiki the implementation of the standalone FTK simulation in RTT is described.
The FTK will be integrated in the trigger chain and will perform fast and precise online full track reconstruction in the inner detector silicon layers. The main parts of this hardware are the Associative Memory, which finds tracks with coarse granularity, and the Track Fitter, which refines the track quality with high precision hits. An FTK simulation software mimics the behaviour and the output of this hardware, based on simulated detector hits.
The
RunTimeTester (RTT) is a Python coded framework used to test daily the ATLAS software. The goal is the inclusion of the FTK simulation software in this framework. It consists also of the implementation of FTK validation histograms, which will be produced in nightly tests by the RTT. Thanks to these histograms, it will be possible to monitor that the trigger software changes do not affect the FTK performance. After the offline implementation of the FTK online validation in RTT, the tool will be moved to the online RTT.
RTT Structure
In order to check that the software changes do not affect the performance of the
FTKMergeAlgo algorithm of the
TrigFTKSim package,
FTKMergeAlgo is implemented in the
RunTimeTester.
Having as an input RDO datasets, and the output of the FTK standalone simulation, the track collections related to the FTK can be retrieved via the
FTKMergeAlgo.
As it is described in
https://twiki.cern.ch/twiki/bin/viewauth/Atlas/InnerDetectorTriggerRTT, using for example the muonSlice topOption file, the RTT proceeds in three steps.
- First step is the NTUPLE creation containing the tracks retrieved: the possible track collections are the following:
-
Rec::TrackParticleContainer
, which contains Rec::TrackParticle
-
TruthParticleContainer
, which contains TruthParticle
-
TrigInDetTrackCollection
, which contains TrigInDetTrack
- Second step: reading the tracks, filtering them and matching with a reference tracks (e.g. truth tracks), in order to produce efficiency and purity histograms, 2D histograms, etc.
- Third step: produce histograms that should be uploaded on the RTT webpage.
RTT commands and files
The files that governs these three RTT steps are here listed:
- First step: the command to obtain the ntuple is
athena.py TrigInDetVlidation _RTT_topOptions_FTKTopOption.py -c "EventMax=1"
in this topOption one could specify the triggers of interest. Running athena with this topOption, the output
TrkNtuple-0000.root
is obtained. The file:
$TestArea/Trigger/TrigAnalysis/TrigInDetAnalysisExample/src/AnalysisConfig_Ntuple.cxx
contains the instruction on how to retrieve and store the collections that are required in the topOption. For example, if in the topOption a
L2_mu6_FTK:TrigL2SiTrackFinder_Muon:0
is requested in the
chainNames
, it will be automatically requested a collection
TrigInDetTrackCollection
with the name of HLT_TrigL2SiTrackFinder_Muon if the
L2_mu6_FTK
trigger was fired. So the
L2
are associated to
TrigInDetTrackCollection
; while the
EF
are associated to
Rec::TrackParticleContainer
. Moreover in the
chainNames
it is possible through the
Truth
flag to request for example for the
TruthEvent
related to the
TruthParticleContainer
.
- Second step: in order to produce the root file containing the histograms from the processing of the Ntuple the command is the following:
TIDAdict.exe TIDAhtautau.txt -f muon.root -p 13
$TestArea/Trigger/TrigAnalysis/TrigInDetAnalysisUser/Analysis/src/rmain.cxx
contains the instructions for the Ntuple reading than it calls
$TestArea/Trigger/TrigAnalysis/TrigInDetAnalysisUser/Analysis/src/ConfAnalysis.cxx
for the plot description.
TIDAcomparitor.exe muon.root refe.root L2_mu6_FTK_TrigL2SiTrackFinder_Muon_0
produces plots. The layout or the plot type can be changed in the
$TestArea/Trigger/TrigAnalysis/TrigInDetAnalysisUser/Analysis/src/comparitor.cxx
.
Reading FTK tracks
Since the input files of the
TopOptions are RDO files, the Tracks obtained by the FTK could not be retrieved from the RDO. In order to have the FTK track collections:
FTK_TrackParticle
or
FTK_LVL2_Trk
, the
FTKMergerAlgo should be added in the topOption so that it reads the output of the standalone simulation (given as an input to
FTKMergerAlg) and retrieves those track collections. In
AnalysisConfig_Ntuple.cxx
new FTK flags have been added so that in
chainNames
requiring e.g.
FTK_TrackParticle
, these tracks are stored in the output Ntuple. The scheme follows the structure of the Truth track collection retrieval.
Setups and releases
In order to try the chain to produce the ntuples and the plots one could use for example:
-
asetup dev,rel_2,here,gcc47,AtlasProduction
-> usually very uptodate with all the packages
-
asetup TrigMC,17.2.X.Y.Z-VAL,rel_1,here,slc5
-> not up to date with the InDetTrack packages
-
asetup IBLProd,17.3.10.1.11,rel_1,here,slc5
-> not up to date with the InDetTrack packages
In order to be sure that everything works one should check that the default tag of Trigger/TrigValidation/TrigInDetValidation is around o greater than
TrigInDetValidation-00-03-6*
For example today (15 October 2013)
-
devval
has
-
TrigInDetAnalysisUtils-00-01-20
-
TrigInDetAnalysisExample-00-02-36
-
TrigInDetAnalysis-01-01-15
-
TrigInDetValidation-00-03-64
RTT plots for the standalone FTK
Setup used to run the RTT:
export AtlasSetup=/afs/cern.ch/atlas/software/dist/AtlasSetup
alias asetup='source $AtlasSetup/scripts/asetup.sh'
asetup TrigMC,17.2.X.Y.Z-VAL,rel_1,here,slc5
The packages used:
cmt co Trigger/TrigAnalysis/TrigInDetAnalysisUser/
cmt co Trigger/TrigAnalysis/TrigInDetAnalysisUtils/
cmt co Trigger/TrigAnalysis/TrigInDetAnalysisExample/
They have been modified and the version related to FTK can be found here:
/afs/cern.ch/work/g/giulini/public/FTKinRTT/TrigMC
In this folder there are some scripts to perform the steps:
source aliassetup.sh
source compileall.sh
cd Htautau/
source run_first_step.sh
It will take ~ 10-20 minutes. In this step the
FTKMergeAlgo finds the track of the standalone simulation (
/afs/cern.ch/user/g/giulini/workdir/public/Htautau/group.trig-daq.raw_8Lc_15x16x36_mc11VBFH125tautaulh_d603_final.merge_ftk.2013_05_02_22_47_53.130502224852/output/raw_8Lc_15x16x36_mc11VBFH125tautaulh_d603_final_np4192340/tracks_merge/64/ftktracks_group.trig-daq.264944_004156.EXT0._00001.ftksim_wrap_raw.root
) files in the RDO:
/afs/cern.ch/user/g/giulini/workdir/public/Htautau/mc11_14TeV.161606.PowHegPythia8_AU2CT10_VBFH125_tautaulh.digit.RDO.e1904_s1664_d603_tid01226789_00/RDO.01226789._000001.pool.root.1
.
the used pmamp is:
/afs/cern.ch/work/g/giulini/public/FTKinRTT/TrigMC/Htautau/raw_11L.pmap
In order to produce the plots:
cd $TestArea/Trigger/TrigAnalysis/TrigInDetAnalysisUser/share/
source second_step.sh
With this last script the plots will be saved in the Htautau folder.
In the last step the following plots are provided (related to a sample H->tau tau (lq)) where:
- the reference distributions are produced with TrigFTKSim-00-07-21: 4900 events
- the not reference distributions are produced with TrigFTKSim-00-08-03: 1000 events








The following plots come from a 2D distribution of the residuals of one variable in slices of another one. The RMS for 95% of the entries of the residual distribution in bin the second variable are then displayed with respect to the second variable.









Links
Talks:
Implementation of Standalone FTK in RTT : TDAQ/FTK meeting, 2 July 2013