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 hi ts. 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, 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 TrigInDetVlidation -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.

  • Third step:
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,,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/

alias asetup='source $AtlasSetup/scripts/'

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:


In this folder there are some scripts to perform the steps:



cd Htautau/


It will take ~ 10-20 minutes. In this step the FTKMergeAlgo finds the track of the standalone simulation ( /afs/ files in the RDO: /afs/

the used pmamp is: /afs/

In order to produce the plots:

cd $TestArea/Trigger/TrigAnalysis/TrigInDetAnalysisUser/share/


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
FTK_eta_eff.pngFTK_phi_eff.pngFTK_pT_eff.pngFTK_d0_eff.pngFTK_eta_res.pngFTK_phi_res.pngFTK_ipT_res.pngFTK_z0_res.png 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. FTK_ntracks_rec.pngFTK_rd0_vs_ipt_sigma.pngFTK_reta_vs_ipt_sigma.pngFTK_ript_vs_ipt_sigma.pngFTK_rzed_vs_ipt_sigma.pngFTK_rd0_vs_eta_sigma.pngFTK_rzed_vs_eta_sigma.pngFTK_reta_vs_eta_sigma.pngeta_phi_rec.pngphi_d0_rec.png



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

Topic attachments
I Attachment History Action Size Date Who Comment
PNGpng FTK_d0_eff.png r1 manage 16.2 K 2013-08-08 - 15:13 MaddalenaGiulini  
PNGpng FTK_eta_eff.png r1 manage 14.2 K 2013-08-08 - 15:13 MaddalenaGiulini  
PNGpng FTK_eta_res.png r1 manage 24.4 K 2013-08-08 - 15:13 MaddalenaGiulini  
PNGpng FTK_ipT_res.png r1 manage 27.3 K 2013-08-08 - 15:13 MaddalenaGiulini  
PNGpng FTK_ntracks_rec.png r1 manage 22.2 K 2013-08-08 - 15:13 MaddalenaGiulini  
PNGpng FTK_pT_eff.png r1 manage 18.3 K 2013-08-08 - 15:13 MaddalenaGiulini  
PNGpng FTK_phi_eff.png r1 manage 15.1 K 2013-08-08 - 15:13 MaddalenaGiulini  
PNGpng FTK_phi_res.png r1 manage 24.9 K 2013-08-08 - 15:13 MaddalenaGiulini  
PNGpng FTK_rd0_vs_eta_sigma.png r1 manage 17.6 K 2013-08-08 - 15:13 MaddalenaGiulini  
PNGpng FTK_rd0_vs_ipt_sigma.png r1 manage 18.1 K 2013-08-08 - 15:16 MaddalenaGiulini  
PNGpng FTK_rd0_vs_pt_sigma.png r1 manage 16.7 K 2013-08-08 - 15:16 MaddalenaGiulini  
PNGpng FTK_reta_vs_eta_sigma.png r1 manage 16.2 K 2013-08-08 - 15:16 MaddalenaGiulini  
PNGpng FTK_reta_vs_ipt_sigma.png r1 manage 17.4 K 2013-08-08 - 15:16 MaddalenaGiulini  
PNGpng FTK_reta_vs_pt_sigma.png r1 manage 16.4 K 2013-08-08 - 15:16 MaddalenaGiulini  
PNGpng FTK_ript_vs_ipt_sigma.png r1 manage 20.6 K 2013-08-08 - 15:16 MaddalenaGiulini  
PNGpng FTK_ript_vs_pt_sigma.png r1 manage 17.8 K 2013-08-08 - 15:16 MaddalenaGiulini  
PNGpng FTK_rzed_vs_eta_sigma.png r1 manage 17.4 K 2013-08-08 - 15:16 MaddalenaGiulini  
PNGpng FTK_rzed_vs_ipt_sigma.png r1 manage 19.3 K 2013-08-08 - 15:16 MaddalenaGiulini  
PNGpng FTK_rzed_vs_pt_sigma.png r1 manage 17.5 K 2013-08-08 - 15:16 MaddalenaGiulini  
PNGpng FTK_rzed_vs_zed_sigma.png r1 manage 16.1 K 2013-08-08 - 15:16 MaddalenaGiulini  
PNGpng FTK_z0_res.png r1 manage 21.8 K 2013-08-08 - 15:16 MaddalenaGiulini  
PNGpng eta_phi_rec.png r1 manage 34.2 K 2013-08-08 - 15:13 MaddalenaGiulini  
PNGpng phi_d0_rec.png r1 manage 24.5 K 2013-08-08 - 15:16 MaddalenaGiulini  
Edit | Attach | Watch | Print version | History: r8 < r7 < r6 < r5 < r4 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r8 - 2013-10-15 - MaddalenaGiulini
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Sandbox All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2023 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback