Ecal Calibration


Jump to: navigation, search



Here you can find my thesis [1]

Calibration theorie

The Ecal resolution is


The aim of the calibration is then 1%.

This calibration is made with the Pi0 invariant mass (m = 134.97MeV/c2).

A Pi0 decay in 98.8% in two photons, thus its mass can be related to the energy of the two photons (E1 and E2) by


with theta the angle between the two photon into the lab frame.

Each energy of the photon is the sum of the energy of the cells forming the cluster


Those factors have to be corrected in order to obtain the good Pi0 mass. This is done applying corrections factors to the 6000 cells of the Ecal.

Correction factors are obtained fitting the Pi0 mass distribution by a gaussian when you've obtained N Pi0s into this cell.

Calibration algorithm

The calibration algorithm can be found at /lapp_data/lhcb/Calibration.

We can divide the software in 3 different parts :

- the algorithm to select the sample
- geometry of the detector
- de-calibration
- Pi0 mass calculation

Main File

The main algorithm is piloted by All the wanted histograms are declared there and the way to execute the program :

- de-calibration

- re-calibration

- the wanted histograms (with their fit if needed)

Executing the program you have the choice between executing with all the plots

./calib_gr Calib.ini

either without plots

./calib Calib.ini

or only with final plots ./calib_fin Calib.ini

Selected sample

The selected sample has been cleaned in order not to bias corrections. We selected a purer sample applying cuts, those cuts are described in my thesis (/lapp_data/lhcb/Calibration/TheseGael.pdf it's in french). Thus we developed an algorithm called NtupleEntier.{cc,hh)

The method to calculate the Fisher discriminant is also implemented into this algorithm.

This algorithm worked for DaVinci v19r7, it will maybe need modifications with new releases.

The reading and selection of the sample is done also with RootInterface.{cc,h}. This algorithm reads the .root as inputs and select only the photons and Pi0 you want for the calibration. You can chose the cuts you want to apply with the .ini.

The selected photons and Pi0s and fill a file into the directory "output". The first time you want to select your good photons and Pi0s you just need to put into Calib.ini


then once you've selected your sample you change this name with something else.

The geometry of the detector

The geometry of the detector depends of the way you work. For example in the next plots we group cells in a 3x3 cell pattern, which is reproduced in all a part of the Ecal.


That is to say that all the cells from a region of the Ecal with the same position in this pattern are considered as the same one. This is done in order to reduce the amount of necessary statistic to test our method.

In data tacking with real data, this geometry should me remove and each cell would be considered individually.

This part includes files DetectorGeometry.{cc,hh} and DetectorGrid.{cc,hh}.


The level of the de-calibration can be chosen in RandomGenerator.{cc,hh}. We chose to estimate the de-calibration as a Gaussian changing the value of the de-calibration into the method random_normal.

An example of de-calibration is show on the next plot, where the 3(regions)*(3*3)(pattern) new coefficients are represented.


This induces a shift and a spread of the Pi0 mass distribution, which can be seen in the next plot



Re-calibration coefficients are calculated and applied to the corresponding photons then the new Pi0 mass is calculated. This is done in DetectorGrid.{cc,hh} and PhotonsPair.{cc,hh}


The mass oscillates before coming back to its initial value for the whole and for each region of the Ecal.


The 27 (3x3x3) coefficients come back to one as well.


Time needed for data taking for the calibration is represented into the next table, with and without the tracker.


Personal tools