Study the MDT single-tube resolution in data and in MC and its impact on the muon momentum resolution.
Qualification Project summary
Introduction
This study investigates the impact of calibration uncertainties on the MDT performance. It focuses on high-pT muons as the impact on them is expected to be largest.
It employs tools specifically developed for this task, the MdtCalibT0ShiftSvc and the TMaxShiftSvc, which are part of the
MdtCalibShiftMapTools
package .
Background
Charge traveling through the gas volume of a MDT has a characteristic drift time spectrum. The drift time can be converted to a drift distance

. The drift time measurement has an offset from the detector clock that is measured as

. The

relation is parametrised as a function of the maximum drift time

. Both

and

can be extracted from a parametric fit to the drift time spectrum. As fit parameters they carry uncertainties that to this day are not taken into account.
A typical drift time measurement.
The impact of

and

variations within their uncertainties is the main interest of this project. Simulated high pT muon samples are reconstructed using shifts of the

and

values. The shifts are calculated for every tube, are normally distributed with central values of typical

and

uncertainties, and are fixed values (i.e. they don't change from event to event, or run to run, or day to day, etc.).
transformation
Applying the

uncertainty is straightforward and implemented as

. The

is a random number, drawn for every tube from a normal distribution with a central value of 0 and different

values. The values are summarised in Table 1 and shown on the right.
t0 shift values.
Modifying
The

relation was modified in two ways. In a first study, the input value

is shifted by a per-tube random but fixed integer which is drawn from a uniform distribution. In a second study the calculated

value is shifted. Both approaches yield negligible specotrometer resolution deteriorations. Both approaches are described in more detail in the following paragraphs.
The

relation has a few solutions that are per definition correct. For example, the

will always be mapped onto 0,

will always be mapped on the maximimal drift length of 14.6 mm.
A track traversing the chambers with zero angle will also have zero error on the drifth length at

. This case is studied as a reference case to estimate the uncertainty introduced by modifying the

relation. [Oliver has to explain to me again why this is true and how the behaviour looks like for non-zero angles. An overlayed picture with "asyemmtric" sin functions with different 0 intercepts might be useful.]
In this simplest case, the uncertainties are point symmetric w.r.t.

and modelled by a sinus with different amplitudes. The amplitudes are chosen such that the RMS values are 30, 50, and 80

.
Sketch of r(t) modifications.
Code summary
The
MdtCalibShiftMapTools
package is hosted on CERN's github.
The following lines explain how to set up the package within a r21 athena release, e.g. on lxplus. (Once the package is part of athena this should no longer be necessary.)
1. Prepare working directory
# here we use athena 21.0.37
mkdir 21.0.37
cd 21.0.37
mkdir build source run
cd source
asetup 21.0.37,Athena,here
2. Add MdtCalibShiftMapTools in correct subfolder
# in source subdir
mkdir -p MuonSpectrometer/MuonCalib/MdtCalib/
cd MuonSpectrometer/MuonCalib/MdtCalib/
git clone https://:@gitlab.cern.ch:8443/ahoenle/MdtCalibShiftMapTools.git
3. Add modified MdtCalibSvc
I added a few changed to the MdtCalibSvc that are not yet part of the core athena release. The
modified MdtCalibSvc
is also on CERN's gitlab. There are currently two branches.
- master: Has additional debug and testing statements that won't be part of the final version.
- ShiftMapToolsChanges_from=21.0.37: Everything that is needed to run the shift maps. Use this branch if you "just want to run the thing"!
# in source subdir
cd MuonSpectrometer/MuonCalib/MdtCalib/
git clone https://:@gitlab.cern.ch:8443/ahoenle/MdtCalibSvc.git
cd MdtCalibSvc
git checkout ShiftMapToolsChanges_from=21.0.37
4. Build
# in build subdir
cmake ../source
make
source x86_64-slc6-gcc62-opt/setup.sh
5. Run a test job
I used Reco_tf.py to run my code. Local tests were done with a single file from some 1 TeV muon-pT sample. A list of samples can be found in
MuonPerformanceSimulationSamples.
The test_preInclude.py is attached to this TWiki article.
It is used to set a few properties of the shift tools. Currently, I don't know how to look for files in paths relative to the package, that's why you'll find e.g. the line
ServiceMgr.MdtCalibrationT0ShiftSvc.MapFile = '/ptmp/mpp/hyperion/dev/quali/21.0.37/source/MuonSpectrometer/MuonCalib/MdtCalib/MdtCalibShiftMapTools/share/shift_t0_0ns.dat'
After checking out the MdtCalibShiftMapTools you also have the .dat files in your share directory, but the absolute path is likely to be different. Until this is changed to a relative path, please update it accordingly.
Now you can start the job.
# in run subdir
mkdir test_local
cd test_local
# This FILEIN is just an example. You can use anything
FILEIN=/ptmp/mpp/hyperion/data/group.det-muon.mnagel.SingleMuon1000GeV_task9509539.pileup.HITStoRDO.20161015.v03_EXT0/group.det-muon.mnagel.SingleMuon1000GeV_task9509539.pileup.HITStoRDO.20161015.v03_EXT0.100569323/group.det-muon.9625892.EXT0._000490.RDO.pool.root;
FILEOUT=test;
PREINCLUDE=/path/to/test_preInclude.py # ** don't forget to give the correct path here! **
Reco_tf.py \
--steering doRAWtoALL --maxEvents 10 --skipEvents 0 \
--autoConfiguration 'everything' \
--preInclude "all:$PREINCLUDE" \
--postInclude 'default:RecJobTransforms/UseFrontier.py' \
--inputRDOFile $FILEIN \
--outputESDFile $FILEOUT.ESD.root --outputAODFile $FILEOUT.AOD.pool.root
--
AndreasHoenle1 - 2018-01-03