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
OUTPUT DIRECTORIES
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
RECONSTRUCTION STEPS:
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.
Converter
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
REQUIRES:
- 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
SET:
- Config: Max Firing Frequency – identify hot pixels
OUTPUT:
- OUTPUTPATH/histograms/runXXX-converter-histo.root
- OUTPUTPATH/database/runXXX-hotpixel-m26-db.slcio
- OUTPUTPATH/lcio/runXXX-converter.slcio
Check noisy pixels from histograms
Clustering
Combine hit pixels in proximity into clusters
Alternative methods:
- Clustering: pixel based clustering
- Geoclustering: geometry based clustering
REQUIRES:
- OUTPUTPATH/lcio/runXXX-converter.slcio
- Gear file for pitch parameter ( geometric clustering only)
OUTPUT:
- 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
HITMAKER
Globally orient planes.
Alternative methods:
- Clustering: pixel based clustering
- Geoclustering: geometry based clustering
REQUIRES:
- Specification of plane orientation: gear file
- OUTPUTPATH/lcio/runXXX-clustering.root
SET:
- Config: Specify cuts around hit peaks for pre-alignment
OUTPUT:
- 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)
ALIGN
Global alignment of planes: based on pattern recognition & track fitting
SET:
- Config: Specify resolution cuts around hits
REQUIRES:
- OUTPUTPATH/lcio/runXXX-hitmaker.root
OUTPUT:
- OUTPUTPATH/histograms/runXXX-align-histo.root
- OUTPUTPATH/lcio/runXXX-align-histo.root
- OUTPUTPATH/database/runXXX-alignment.slcio
Check success in chi2 distribution
FITTER
Generate tracks -> device resolution
SET:
- Config: Specify resolution cuts around hits
REQUIRES:
- OUTPUTPATH/lcio/runXXX-hitmaker.root
- OUTPUTPATH/lcio/runXXX-align.root
OUTPUT:
- OUTPUTPATH/histograms/runXXX-fitter.slcio
- OUTPUTPATH/lcio/runXXX-track.slcio
Check success in chi2 distribution
BEWARE
Don’t source build environment more than once
Remember to recompile (update cmake) after changing source code
--
Kenneth Wraight - 2015-04-21
Comments