Master by Research (MRes) project of Bogdan Mishchenko :"Simulation, reconstruction, Physics sensitivity studies for the SiD(Sillicon Detector) "
Project Aim
The main aim of the project is the Physics sensitivity studies(Higgs physics, top quark
Physics, beyond standart model physics) at future ILC(International Linear Collider). The
project focused on simulation, reconstruction, physics analysis of of the results Tracking system from
SiD(Sillicon Detector).
Below you can find link to the brief report on the progress:
SiD detector model
SiD detector mentioned above is the one of two detector concepts proposed for ILC. Below you can see layout of the detector. My thesis is focused mostly on the Tracker subsystem. Please refer to the report that will be attached later on for more details on it.
Generation/simulation chain
Prior simulation of detector response of the
SiD, we need to generate particles. In the simple case it can be running script that specifies PDG number of particle, 4 vector of particle and other usefull parameters.
How to generate file with blank of particles
Assuming that you have installed lcgeo(linear collider geometry package). If not, follow instruction on
https://twiki.ppe.gla.ac.uk/bin/view/LinearCollider/GlaSiDGettingStarted . On the fresh login to terminal execute :
source /cvmfs/sft.cern.ch/lcg/releases/gcc/4.8.4/x86_64-slc6/setup.sh
source /cvmfs/ilc.desy.de/sw/x86_64_gcc48_sl6/v01-17-10/init_ilcsoft.sh
cd lcgeo/
python example/lcio_particle_gun.py (where you specify PDG and incident angle \theta and number of generated particles and other parameters)
Do the following command to have a look inside the file:
anajob mcparticles.slcio (prints MCParticle collection for each event)
or
dumpevent mcparticles.slcio (prints details of MCParticle collection for each event)
Run the simulation:bogdanmishchenko
ddsim --compactFile=SiD/compact/SiD_o1_v01/SiD_o1_v03.xml --runType=batch --inputFile mcparticles.slcio -N=10 --outputFile=testSiD_o1_v03.slcio
anajob testSiD_o1_v03.slcio (prints MCParticle collection and hit collections for different subdetector parts (SiTrackerBarrelHits of SimTrackerHit type) and other collections )
Digitization/reconstruction chain
Aim of the MC(Monte Carlo) Truth Tracking is to get make sure that we can get sensible results from analysis of the data from the simulation/reconstruction chain.
Definitions
Description of the reconstruction code, How to run it.
Reconstruction code for
SiD was adopted from CLIC (Clicperformance package). It has following modifications:
For layer residuals code we are using hard coded
SiDecoderString: "subdet:6,side:3,layer:4,module:12,sensor:1" for decoding. Additionally, We do not do refitting and extrapolating of tracks, what have been implemented in the CLIC code.
Assuming that you are on the fresh login in terminal:
source /cvmfs/sft.cern.ch/lcg/releases/gcc/4.8.4/x86_64-slc6/setup.sh
source /cvmfs/ilc.desy.de/sw/x86_64_gcc48_sl6/v01-17-10/init_ilcsoft.sh
cd lcgeo/
wget https://twiki.ppe.gla.ac.uk/pub/LinearCollider/SiDTrackingEfficiencies/Tracking.tar.gz (To get the reconstruction code)
tar xvzf Tracking.tar.gz Tracking/ (To unpack archive)
cd Tracking/
find(to list all files in the directory)
./src(directory with Marlin processor source codes)
./src/Global_residuals.cc (processor that output residuals, pulls for hits)
./src/HitResiduals.cc (processor that output layer residuals )
./src/ResidualsCalculator.cc( processor that calculates trackreconstruction efficiencies versus, pt(transverse momentum, theta, eta(pseudorapidity)
./include ( directory that contains header files)
./include/Global_residuals.h
./include/HitResiduals.h
./include/ResidualsCalculator.h
./include/LinkDef.h
./include/fpcompare.h
./CMakeLists.txt ( CMake configuration file )
./SiDReconstruction_161910_new_bogdan.xml (Marlin steering file)
./treeDraw.cxx (script to draw residuals per layer with specifying root file)
./make+run.sh~
./treeDraw_x.cxx (script to draw x layer residuals)
./pulls.cxx ( script that draw pull distributions)
./make+run.sh ( bash script to compile code and to run Marlin with steering file)
./histograms500GeV_ttbar_10000.root (root file with tree structure that contains track reconstruction efficiencies)
./analysis_100_40_10_mu.root (root file with tree structure that contains residuals and pool distribution)
./hitresiduals_layer_40_10_v02_SiD_100.root (root file that have layer residuals )
./SiD_02_v01_10_10_85.slcio (slcio file that can be used as input for running Marlin)
./gear_sid.xml ( gear with detector specification that attached to the Marlin steering file)
Then:
mkdir build lib ( make directories)
cd build/
cmake -DCMAKE_CXX_COMPILER=`which g++` -DCMAKE_C_COMPILER=`which gcc` \
-DILCUTIL_DIR=/cvmfs/ilc.desy.de/sw/x86_64_gcc48_sl6/v01-17-10/ilcutil/v01-03/ -C $ILCSOFT/ILCSoft.cmake ..
make
make install
After successful compilation:
cd ..
export MARLIN_DLL=$MARLIN_DLL:$PWD/lib//libTrackAna.so (to link Marlin with compiled object files)
Marlin SiDReconstruction_161910_new_bogdan.xml(with specifying slcio file (SiD_02_v01_10_10_85.slcio))
Marlin -c SiDReconstruction_161910_new_bogdan.xml(check given steering file for consistency)
How to produce Hit residuals
How to produce Hit pull distributions
If you will specify in the in the pulls.cxx script root file : (TFile *residuals = new TFile("analysis_100_40_10_mu.root")) and then:
root pulls.cxx
Below you can find Pulls distribution track parameters, which indicate good performance of the MC Truth Tracking(Gaussian distributions with mean close to 0 and sigma close to 1(small box) ):
How to produce track parameter resolutions (d_{0}, z_{0}, pt)
How to produce Tracking efficiencies
Pattern recognition
Pattern recognition is a field of applied mathematics, which aim is the classification of objects. For instance, position measurements along particle trajectories can be classified as different physical objects. Please refer to the report that will be attached later on for more details on it.
How to run Conformal tracking code
Tracker optimization studies
The aim of the optimization studies is to optimize particularly, Tracking system for the best price/performance ratio. For example, We can look how each layer of tracker perform or how the tracking system perform with pixels versus performance with strips. For more details please refer to the report that will be attached latter on for more details on it.
Physics sensitivity studies
Physics studies for
SiD can be following: precise Higgs physics measurements or searches for new physics like composite Higgs models, top quarks physics.Please refer to the report that will be attached later on for more details on it.
Marlin tips
For more options of running Marlin:
Marlin -?
Particularly useful:
Marlin -c SiDReconstruction_v03_160711.xml (check given steering file for consistency)