Luca's Bachelor project
Overview
- Project title: Investigating the calibration method of tracking detectors based on Millepede II algorithms and its validation with simulated data
- Estimated duration: 4-5 months (20.10.2025 ~ 03.2026)
Project description
The calibration of the tracking detectors (e.g. NeuLAND) commonly utilizes hits from cosmic muons, which travel through the detector in a straight line at the speed of light. If the muon track is known, the calibration parameters, which are used to calculate time and position values of hits, can be obtained thorough a parameter optimization such that the resulting hits are all aligned in the straight line. However, muons traveling through the detector are unknown in terms of their orientations and their locations. Thus, the optimization not only involves with the calibration parameters from the detector, but the geometrical parameters of each muon track as well. This makes the optimization process too expensive to compute when a large number of muon tracks are used during the calibration. Millepede-II algorithm solves this issue by separating the total parameters into global parameters (relating to the detector) and local parameters (relating to individual muon tracks). For each iteration during the optimization, only the global parameters are updated and the major computation complexity is only depending on the number of global parameters.
Important
Even though the theory of the Millepede-II algorithm is not used to generate the final results of the project, it's still recommended to understand how the algorithm works in general.
The main implementation of the Millepede-II algorithm can be found in this program, which has two major components: mille and pede. The mille component generates the binary data file, containing all required input data for pede component, such as values of the first order derivatives, measurement and errors. Then, the pede component optimizes the given parameters based on the input data and user configurations.
Project goal
-
Generate simulated data from a conceptual detector based on predefined parameters with linear calibration relations. -
Converting the simulated output data to the specific binary data using the mille component. -
Launch the pede program to calculate the parameter values and compare them with the predefined values -
Repeat the same process but with a non-linear calibration relation. -
Adjusting the user configurations, such as solution method, to improve the final results.
Project agenda
Important
- Weekdays with the content as buffer can be used flexibly.
- The following agenda is just an initial plan and doesn't need to be followed strictly.
- I will be away from 01.02.2026 till 09.03.2026. So it's better to start to write the thesis before this period.
1st week (20.10.25 ~ 24.10.25)
The first week are focused on fundamentals, such as tools, workflow and programming.
| Weekday | Content | Status | PR |
|---|---|---|---|
| Mon |
|
n/a | |
| Tue |
|
n/a | |
| Wed | buffer | n/a | |
| Thu |
|
n/a | |
| Fri | buffer | n/a |
2nd week (27.10.25 ~ 31.10.25)
The main focus of the second week is programming (C++ and python) and ROOT library.
| Weekday | Content | Status | PR |
|---|---|---|---|
| Mon |
|
n/a | |
| Tue | buffer | n/a | |
| Wed |
|
n/a | |
| Thu | buffer | n/a | |
| Fri | buffer | n/a |
3rd week (27.10.25 ~ 31.10.25)
The main focus of the week is trying to create simulated output data. (complete first goal)
| Weekday | Content | Status | PR |
|---|---|---|---|
| Mon | Create predefined parameters and its visualization with Python | n/a | |
| Tue | buffer | n/a | |
| Wed | Creating a simulated data from a conceptual tracking detector | n/a | |
| Thu | buffer | n/a | |
| Fri | Understanding Millepede theory | n/a |
4th week (03.11.25 ~ 07.11.25)
The main focus of the week is understanding millepede theory
| Weekday | Content | Status | PR |
|---|---|---|---|
| Mon | Understanding Millepede theory | n/a | |
| Tue | buffer | n/a | |
| Wed | buffer | n/a | |
| Thu | buffer | n/a | |
| Fri | buffer | n/a |
5th week (10.11.25 ~ 14.11.25)
The main focus of the week is using pede program to calculate parameters
| Weekday | Content | Status | PR |
|---|---|---|---|
| Mon | Generate binary file with mille | n/a | |
| Tue | buffer | n/a | |
| Wed | Launch pede program | n/a | |
| Thu | buffer | n/a | |
| Fri | Get the parameter values from the pede output | n/a |
6th week (17.11.25 ~ 21.11.25)
The main focus of the week is using pede program to calculate parameters (complete third goal)
| Weekday | Content | Status | PR |
|---|---|---|---|
| Mon | Generate binary file with mille | n/a | |
| Tue | buffer | n/a | |
| Wed | Launch pede program | n/a | |
| Thu | buffer | n/a | |
| Fri | Get the parameter values from the pede output | n/a |
7th week (24.11.25 ~ 28.11.25)
The main focus of the week is the code review and improving programming skills
| Weekday | Content | Status | PR |
|---|---|---|---|
| Mon | Code review | n/a | |
| Tue | buffer | n/a | |
| Wed | buffer | n/a | |
| Thu | buffer | n/a | |
| Fri | buffer | n/a |
8th week (01.12.25 ~ 05.12.25)
The main focus of the week is the code review and improving programming skills
| Weekday | Content | Status | PR |
|---|---|---|---|
| Mon | Code review | n/a | |
| Tue | buffer | n/a | |
| Wed | Advanced C++ | n/a | |
| Thu | buffer | n/a | |
| Fri | buffer | n/a |
9th week (08.12.25 ~ 12.12.25)
Break
| Weekday | Content | Status | PR |
|---|---|---|---|
| Mon | buffer | n/a | |
| Tue | buffer | n/a | |
| Wed | buffer | n/a | |
| Thu | buffer | n/a | |
| Fri | buffer | n/a |
10th week (15.12.25 ~ 19.12.25)
The main focus of the week is redoing calibration again but with non-linear calibration relation
| Weekday | Content | Status | PR |
|---|---|---|---|
| Mon | buffer | n/a | |
| Tue | buffer | n/a | |
| Wed | buffer | n/a | |
| Thu | buffer | n/a | |
| Fri | buffer | n/a |
11th-13th week (22.12.25 ~ 09.01.26)
Chrismas break
14th week (12.01.26 ~ 16.01.25)
The main focus of the week is investigating user configurations from pede program
| Weekday | Content | Status | PR |
|---|---|---|---|
| Mon | buffer | n/a | |
| Tue | buffer | n/a | |
| Wed | buffer | n/a | |
| Thu | buffer | n/a | |
| Fri | buffer | n/a |