Difference: ReconstructionDetails ( vs. 1)

Revision 12015-04-21 - KennyWraight

Line: 1 to 1
META TOPICPARENT name="EUTelescopeAndIBLTestbeam"

Testbeam Reconstruction Details


Installation: http://eutelescope.web.cern.ch/content/installation

After installing and sourcing environment (build_env.sh) the main directory is $EUTELESCOPE

Useful directories

  • src (include): contains processor source code (headers)
  • build: recompilation after code changes
    • > cmake ..
    • > make install
  • jobsub: includes examples folder with template reconstructions
  • pixgeo: where geometry files for sensor libraries are stored
  • external: includes eudaq code

Working Folder

In working folder: $EUTELESCOPE/jobsub/examples/SOME_EXAMPLE

  • Steering folder: Steering files for each reconstruction step. Each file contains list of Processors executed in the step
  • Configuration file: Specifies user directories: data directory, output directories
    • general parameters: number of events, output frequency
    • steering parameters: specific to each reconstruction step
  • Gear file: Specifies devices and physical positions/orientations of set-up
  • Runlist file: Parameters specific to particular runs
  • Output directories: Store histograms and hit sets form each reconstruction step


These are specified in the config file.

In working folder: $EUTELESCOPE/jobsub/examples/SOME_EXAMPLE/output

  • histograms: Root files with distribution plots produced in reconstruction step
  • lcio: Input/output collections used by EUTelescope and passed between steps
  • database: Parameters used by the reconstruction
  • logs: Log files for each jobsub execution

Each file has standard prefix (set in config): runXXXXXX

  • XXXXXX is run number specified on execution -always six digits


There are five basic steps to run the reconstruction chain (i.e. to transform raw data into analysis ready data):

  • converter: Read in telescope and DUT hit information, from native DAQ to LCIO format
  • clustering: Combine individual hits on each plane to hit clusters on each plane
  • hitmaker: Globally orient planes
  • align: Global alignment of planes: based on pattern recognition & track fitting
  • fitter: Generate tracks --> device resolution

Parameters used in each reconstruction step are defined between config, runlist and steering files: config includes global parameters; runlist includes run specific parameters; and, gear file has the sensor specification. Other values can be found in the individual steering files, though any non-global values can be defined elsewhere. Parameters are refered to across files using @NAME@ syntax.

Other steps are definable in the steering directory. All follow the form of a recipe of processors (in execution order) with processor definitions below (no order required). The source coude for each processor can be found in $EUTELESCOPE/src (include) by identifying the processor "type" specified at the top of each processor definition in the steering file.

The basic steps are expanded on below.


Two functions

  • Decode raw files: telescope plane and DUT hit information
    • Translated into LCIO hits (format of EUTELESCOPE), Uses eudaq to convert from native format.
    • Converter file found in: $EUTELESCOPE/external/eudaq/<version>/main/lib/src
  • check for hot pixels -> create list for masking later


  • Specification of planes: gear file & steering file
    • Plane names (i.e. numbers) to expect
    • Correct specification of devices (# detector elements) in gear file
  • Library of detector geometry required


  • Config: Max Firing Frequency Ė identify hot pixels


  • OUTPUTPATH/histograms/runXXX-converter-histo.root
  • OUTPUTPATH/database/runXXX-hotpixel-m26-db.slcio
  • OUTPUTPATH/lcio/runXXX-converter.slcio

Check noisy pixels from histograms


Combine hit pixels in proximity into clusters

Alternative methods:

  • Clustering: pixel based clustering
  • Geoclustering: geometry based clustering


  • OUTPUTPATH/lcio/runXXX-converter.slcio
  • Gear file for pitch parameter ( geometric clustering only)


  • OUTPUTPATH/histograms/runXXX-clustering-histo.root
  • OUTPUTPATH/lcio/runXXX-clustering-histo.root

Check device response from cluster plots.

Standard: signal, total size, sizeX, sizeY, multiplicity


Globally orient planes.

Alternative methods:

  • Clustering: pixel based clustering
  • Geoclustering: geometry based clustering


  • Specification of plane orientation: gear file
  • OUTPUTPATH/lcio/runXXX-clustering.root


  • Config: Specify cuts around hit peaks for pre-alignment


  • OUTPUTPATH/histograms/runXXX-hitmaker-histo.root
  • OUTPUTPATH/database/runXXX-refhit-db.slcio
  • OUTPUTPATH/database/runXXX-prealign-db.slcio
  • OUTPUTPATH/lcio/runXXX-hitmaker-histo.root

Check success in correlation plots (bottom-left to top-right strip)


Global alignment of planes: based on pattern recognition & track fitting


  • Config: Specify resolution cuts around hits


  • OUTPUTPATH/lcio/runXXX-hitmaker.root


  • OUTPUTPATH/histograms/runXXX-align-histo.root
  • OUTPUTPATH/lcio/runXXX-align-histo.root
  • OUTPUTPATH/database/runXXX-alignment.slcio

Check success in chi2 distribution


Generate tracks -> device resolution


  • Config: Specify resolution cuts around hits


  • OUTPUTPATH/lcio/runXXX-hitmaker.root
  • OUTPUTPATH/lcio/runXXX-align.root


  • OUTPUTPATH/histograms/runXXX-fitter.slcio
  • OUTPUTPATH/lcio/runXXX-track.slcio

Check success in chi2 distribution


Donít source build environment more than once

Remember to recompile (update cmake) after changing source code


-- Kenneth Wraight - 2015-04-21


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.
Ideas, requests, problems regarding TWiki? Send feedback