Reconstruction tutorial: Part 2 - PowerPoint PPT Presentation

About This Presentation
Title:

Reconstruction tutorial: Part 2

Description:

A brief history of Atlas Reconstruction. Some algorithms development started more than ... always appends to the end (so, in particular, the order of algorithms ... – PowerPoint PPT presentation

Number of Views:38
Avg rating:3.0/5.0
Slides: 17
Provided by: iceppSU
Category:

less

Transcript and Presenter's Notes

Title: Reconstruction tutorial: Part 2


1
Reconstruction tutorial Part 2
  • General introduction on reconstruction
  • Web/documentation tour
  • Running Reconstruction with no user code
  • Customize jobOptions
  • Browsing the ntuple

2
A brief history of Atlas Reconstruction
  • Some algorithms development started more than 10
    years ago!
  • Pursued through the various detector Technical
    Design Reports till  Physics TDR  in 1999
    (still the most relevant reference document)
  • This was  atrecon , mostly fortran code in
     slug , a zebra based framework
  • Then migration to C then to Athena
  • validation of Athena Reconstruction this year
    plus on-going development (Detector Description,
    Event Data Model, new algorithms)
  • Plenty of things to do!

3
Some acronyms
  • All atlas offline code is stored in CVS, which
    manage the evolution of the source files
  • The build of the binaries (compilation option,
    include files, libraries) as well as the
    run-time environment are managed by CMT
  • A new version of the code is entirely rebuilt
    approximately every 3 weeks ( developer
    release  e.g 5.2.0) with a  major release 
    approximately every 6 months.

4
Brief tour of the web/ documentation
  • Mailing lists (sw-help, sw-reconstruction,
    sw-developers)
  • Reconstruction web page
  • Software Development web page
  • Howtos
  • viewcvs/lxr
  • release plan
  • release status

5

Moore flow
TES
  • Each step is driven by an Athena top-algorithm
  • Transient objects are passed via TDS/StoreGate
  • Independent algorithms, the only coupling is
    through the transient objects

MooAlgs
RPC/TGC digits
MooMakePhiSegments
PhiSegments
MooMakeRZSegments
MDT digits
MooMakeRoads
CrudeRZSegments
MooRoads
MooMakeiPatTracks
MooiPatTracks
MooStatistics
MooMakeNtuples
Ntuples
G.Cataldi
6
Typical reconstruction dataflow
Tracker digits
Tracker digits
Storegate Transient Event Data Store
Tracking
Tracks
Tracks
Calorimeter Digits
Calorimeter Clustering
Calorimeter clusters
Clusters
Tracks, Clusters
Electron/photon Identification
Apparent dataflow
Electron/photon
Real dataflow
Electrons/photons
7
Available algorithms (5.2.0)
  • (Some of these correspond to several Athena
    Algorithms)
  • Truth interface
  • xKalman (tracking)
  • iPatrec (tracking)
  • LArg Reconstruction
  • Tile Reconstruction
  • Muonbox (Muon reconstruction)
  • Moore (Muon reconstruction)
  • Jet
  • E/gamma identification
  • Tau identification
  • missing ET
  • Vertexing (primary vertex, interface of secondary
    vertices)
  • Conversion
  • Energy flow (new)
  • Coming soon the possibility to run Atlfast (fast
    simulation) in parallel to reconstruction

8
RecExCommon
  • All the available reconstruction algorithms are
    run from package RecExCommon, which is code free
  • (RecExCommon is systematically run to check a
    release is (not) working)
  • (almost) each Reconstruction algorithm fills a
    block of the combined ntuple (CBNT) with all the
    variables necessary at analysis level
  • This allow easy checking of basic quantities
  • However, the recommended model is not to write
    long kumacs to analyse the ntuples, but rather to
    do the analysis (i.e look for Z candidates and
    fill ntuple with Z variables) in the Athena
  • We do not have persistency (besides ntuple) so
    reconstruction need to be rerun anytime the
    analysis is changed
  • Description of variables (to be updated)
    Computing ?Organisation ?CSG domain ?
    Reconstruction?Reconstruction in Athena ?
    CBNT_Athena

9
Documentation
  • Poor right now, but we try to improve it
  • Where is the list of reco algorithms available ?
  • RecExCommon/share/RecExCommon_jobOptions is most
    likely to be up to date
  • Web page Reconstruction?Reconstruction in Athena
    (being updated)
  • Knowing the algorithm name how can i have
    information on the algorithm, and on its output
  • Same web page
  • Documentation hub (Software Development?TagCollect
    or then Package menu) exist but barely filled,
    on-going
  • Find the code Software Development?LXR (very
    useful to find where is a class/method defined)
  • Since release 4.6.0, Doxygen generated class
    diagram in ltpackagegt/doc/Doxygen/html/
  • http//atlas.web.cern.ch/Atlas/GROUPS/SOFTWARE/OO/
    dist/5.2.0/Reconstruction/egammaEvent/egammaEvent-
    00-01-01/doc/Doxygen/html/
  • Also reachable through tagcollector
  • CBNT_XXX algorithms to fill combined ntuple are
    usually good examples to see how to use object
    XXX

10
Use of CBNT ntuple
  • Ntuple ntuple.hbook is created in run area
    Reconstruction/RecExample/RecExCommon//run
  • Look at the truth
  • paw
  • Pawgt his/file 20 ntuple.hbook
  • Pawgt cd cbnt
  • Pawgt scan 3333 ! ! ! ! type ptgen etagen kmothnt
  • (type is PDG code 11ele, 13muon, 23Z, 25H
  • Kmothnt the index of the mother in the ntuple)
  • Can you guess what kind of events you are looking
    that ?
  • Plot reconstructed track pT
  • Pawgt nt/plot 3333.1/ptinvvert

11
Structure of jobOption file
  • Three parts in RecExCommon_jobOptions.txt
  • Setting up athena zebra event reading
  • User control number of events, printout level,
    ntuple files
  • Algorithms list (system reconstruction, combined
    reconstruction additional services)
  • In general include joboption fragments
  • include "VERTEXPRIMARYROOT/share/Vertex_jobOptio
    ns.txt"
  • CBNT_Athena.Members "CBNT_Vertex"
  • VERTEXPRIMARYROOT is an environment variable set
    up by cmt to point to the VertexPrimary package
    (in release or in user area)
  • The jobOption fragment is part of the Algorithm,
    should be maintained as carefully as the C code

12
Structure of the log file
  • A sample log file is available in
    RecExCommon/Testing/Reference_RecExCommonTesting.l
    og
  • dump of all nested jobOptions files
  • Dynamically load of libraries
  • Starting Athena services
  • Read data file header and first event
  • Algorithms initialisation
  • Algorithms execution
  • readexecute for each event
  • Algorithms finalize
  • Dump of CPU time per algorithm
  • Dump of ntuple structure
  • If anything goes wrong look for first occurrence
    of ERROR or WARNING (unfortunately some are
     normal )

13
Tuning the jobOption (1)
  • Switch off/on algorithms comment out the
    corresponding jobOption fragment (it turns out
    muon reconstruction is not functional in release
    5.2.0 we are using)
  • // AMDB database is needed by muonbox
  • ////include "AMDBSIMRECATHENAROOT/share/Amdbsimr
    ecAthena_jobOptions.txt"
  • //
  • ////include "MUONBOXATHENAROOT/share/Muonbox_job
    Options.txt"
  • //new f90 version of muonbox (at cern only so
    far)
  • //include "MUONBOYATHENAROOT/share/Muonboy_jobOp
    tions.txt"
  • //
  • ////CBNT_Athena.Members "CBNT_Muon"
  • //
  • ////include "MOOREROOT/share/Moore_jobOptions.tx
    t"
  • ////CBNT_Athena.Members "MooiPatNtuple"

14
Tuning the jobOptions (2)
  • Change the printout level in RecExCommon_jobOption
    s.txt
  • // Set output level threshold
  • //(0NIL 1VERBOSE, 2DEBUG, 3INFO, 4WARNING,
    5ERROR, 6FATAL )
  • MessageSvc.OutputLevel 2 //for
    everything (but do not do it now)
  • egamma.OutputLevel 2 // just for algorithm
    egamma
  • Use NameAuditor (print a message about entering
    and leaving each algorithm)
  • AuditorSvc.Auditors "NameAuditor"
  • Use StoreGate dump to see the list of all
    collections in each event
  • StoreGateSvc.Dump true
  • Try now and check you have indeed switched of
    muon reconstruction, requested debug printout to
    CaloRecsw, and switched on the name auditor
  • Note that to save time you can switch off the
    scrolling of the log file on the screen

15
Tuning the jobOption (3)
  • Use root tree rather than paw ntuple (root users
    raise your hand)
  • // Hbook Ntuple output
  • ApplicationMgr.DLLs "HbookCnv"
  • //// NTupleSvc.Output "FILE1
    DATAFILE'ntuple.hbook' OPT'NEW'"
  • //// ApplicationMgr.HistogramPersistency"HBOOK"
  • ////HistogramPersistencySvc.NPAWC 800000
  • // Root Ntuple output
  • ApplicationMgr.DLLs "RootHistCnv"
  • ApplicationMgr.HistogramPersistency "ROOT"
  • NTupleSvc.Output "FILE1 DATAFILE'ntuple.root'
    OPT'NEW'"
  • root
  • rootgt TBrowser()
  • (you are free to pursue the tutorial with either
    hbook or root ntuples pick the one you are most
    familiar with)
  • For the tutorial an alias setroot is available to
    set up root
  • RecExCommon/share/dump.C is a very simple example
    to use of root ntuple)

16
Tuning the jobOptions (4)
  • Change algorithm properties
  • I.e in share/CBNT_Truth_jobOptions.txt
  • // add a selector if nothing specified, tak
    everything within
  • // PtMin and EtaMax
  • CBNT_Truth.Members "CBNT_TruthSelector/TakeAl
    l"
  • TakeAll.PtMin-1. // minimum pt (if negative,
    no threshold)
  • Note
  • TakeAll is another instance of sub-algorithm
    CBNT_TruthSelector
  • These two lines can also be added in
    RecExCommon_jobOptions.txt after
  • include  CBNT_TRUTHROOT/share/CBNT_Truth_jobOpt
    ions.txt 
  • In general the order in the jobOptions does not
    matter except
  • If conflicting settings the last one wins
  • always appends to the end (so, in particular,
    the order of algorithms/subalgorithms is the
    order they appear in the jobOptions)
  • (it is possible to set the property of an
    algorithm before creating it)
  • (there will be a fatal error if you try to set a
    property which is unknown to the algorithm)
  • (there will be no error if you set a property to
    a non existing algorithm)
  • Please try now
  • check that the new instance is run grep TakeAll
    AskAthena.log check that you have more particles
    in the ntuple
Write a Comment
User Comments (0)
About PowerShow.com