This twikipage is obsolete, please use the new TrackCalib2 package at https://gitlab.cern.ch/farchill/trackcalib2
. However, this page might be still useful to some, as the principle of use is almost the same in TrackCalib2 as in TrackCalib. For the details about running the new TrackCalib2, see README file.
TrackCalib was created as tool for creating tracking efficiency correction tables allowing for user-defined track-quality cuts, binning and variable combinations. It also allows to check 1D- and 2D-efficiency dependencies for many variables. The name and idea was shamelessly stolen from PIDCalib.
The static tracking efficiency tables are available on the
Tracking efficiencies twiki.
In case of any questions of comments regarding the
TrackCalibTool contact authors
flavio.archilli@cernNOSPAMPLEASE.ch and
giulia.frau@cernNOSPAMPLEASE.ch. Also see the
Tutorial talk at A&S week, 06.04.2017
and
Tutorial talk at LHCb week, 05.12.2017
TrackCalib is now integrated in Urania. To get Urania, standard setup is used:
(Please contact the maintainers for the up to date instructions!)
LbLogin -c x86_64-centos7-gcc8-opt #might need gcc7 on SLC6, or gcc9 on CC7
lb-dev --nightly lhcb-head Urania/HEAD #latest stable release works too: try Urania/v9r0
cd UraniaDev _HEAD
git lb-use Urania
git lb-checkout Urania/master TrackCalib
git checkout Urania/master cmake #*not* lb-checkout
make configure
make
or with the latest Urania:
lb-set-platform x86_64-centos7-gcc9-opt
lb-dev Urania/v10r0
cd UraniaDev_v10r0
git lb-use Urania
git lb-checkout Urania/master TrackCalib
make configure
make install
Ancient instructions:
More detailed instructions can be found in the
Git4LHCb twiki.
TrackCalib is currently being cleaned up, in case of problems accessing 2016 sample, contact giulia.frau@cernNOSPAMPLEASE.ch
Easy quick fix in the case of a failure is to replace in TrackCalib/python/TrackCalib/Prepare.py, lines 131-143,
Data_2016_Mag
by Data_2016_25ns_Mag
TrackCalib running instructions
In order to run the
TrackCalib package, a bash shell needs to be loaded
./run bash --norc
The package is run from the Urania folder.
Minimal preparation script execution:
python TrackCalib/scripts/CreateTrackEffTables.py "2016_25ns"
This loops over both MC and Data, all three methods (Long, Velo and T), creates a reduced tuple (with multiplicity weights), fits in the default binning, and create plots of the results. The
year_conditions
define the dataset used. It is possible to also run this
step-by-step or to
add other options.
Valid year/conditions strings: are
"2015_50ns"
(EM),
"2015_25ns"
,
"2015_5TeV"
and
"2016_25ns"
. For more information see
the detailed list.
Running step-by-step
The three sub-scripts can be run separately by specifying:
--Prepare
: only runs the Prepare script, reducing the dataset to specified variables, weighting MC in multiplicity, and applying additional matching criteria
--Fit
: creates the efficiency fits in a given set of variables, mode, and method with an earlier created tuple
--Plot
: Plots the efficiencies from the fit, and creates data/MC correction tables in all 2D variables
Additional options
There are several additional options. Either they are global or they affect the sub-scripts only, as listed below:
Global options
-v
: verbose printout
-vROOT
: sets ROOT printout level to kInfo,
default: kFatal
-mode "MC/Data"
: specify to only run over Data or MC;
default: both
-simVer "SimXYZ"
: defines the Sim version of the MC;
default: Sim09b
-method "<method1>,<method2>"
: specify method to use, separate by comma;
default: Long, T, and Velo
-variables "<var1>,<var2>,<var3>"
: additional variables for which the efficiency dependency is evaluated;
default: P, ETA, nPVs, nSPDHits
-variables2D "<var1>-<var2>,<var3>-<var4>"
: additional sets of 2D variables for which the efficiency dependency is evaluated. Minus connects the variables within a set, comma separates sets;
default: P-ETA
-polarity "MagUp/MagDown"
: specify to run only over
MagUp or
MagDown. Does not affect the Prepare script
Hence, for example to run over 2016 collision data only, use Long and Velo methods for PT and ETA with
GhostProb < 0.5 of the probe, run:
python TrackCalib/scripts/CreateTrackEffTables.py "2016_25ns" -mode "Data" -method "Long,Velo" -variables "PT,ETA" -binning "PT:0,1000,5000" -variables2D "PT-ETA" -matchCrit "Probe: GhostProb <0.5"
Note that the
-matchCrit
is listed in the
Prepare options. This example might be useful to check the effect of looser cut on
GhostProb on PT and ETA on data. Note that since PT is not a default variable (P and ETA are), binning in PT needs to be specified. For more information about the binning option see
Fit options.
'Prepare' script options
Prepare.py runs over the master tuple for the given data taking conditions/Sim version, applies additional selection cuts and reweights MC in
nSPDHits
. The outputfile is local at
tuples/trackEffTuple_Data/MC_conditions(_simVer).root
-noWeight
: set to disable reweighting MC to fit the Data multiplicity
-weightVar
: reweighting MC to fit the Data multiplicity in the weighting variable;
default = "nSPDHits"
-cuts "Probe:<cut1,cut2,cut3>;Tag:<cut4>;Global:<cut6,cut7>"
: Define additional cuts applied to the probe/tag muon as well as global cuts (e.g. Jpsi cuts, runNumber, etc.). Separate individual cuts by comma, categories by semicolon. Name convention for particles is
muplus, muminus, J_psi_1S
, a cut example for all particles having η>2 would be
-cuts "Probe:ETA>2;Tag:ETA>2;Global:J_psi_1S_ETA > 2"
-matchCrit "Probe:<criterion1,criterion2>;Global:<criterion3>"
: Define tighter matching criterion (when is an event considered efficient), e.g.
Matched_GhostProb < 0.3
, separation as above
-maxEntries 1234567
: Sets the maximum number of events used per method and charge. Needed to limit memory consumption of fit script;
default: 2.5e8
As an example, running
Prepare
script over MC only, Sim08h with 100000 entries using only T-station method without multiplicity reweighting requires the following command:
python TrackCalib/scripts/CreateTrackEffTables.py "2015_50ns" -mode "MC" -simVer "Sim08h" -noWeight -method "T" -maxEntries 100000 --Prepare
This allows for a quicker check of the efficiencies in different MC samples.
'Fit' script
Executes a simultaneous fit to matched and failed events in each variable and bin to evaluate efficiency. It also creates a separate ROOT file for each variable, containing fitted distributions and efficiency histogram.
Output should be checked (at least) for convergence and reasonable data description. Output files are created at
results/conditions/(simVer)/trackEffData/MC_variable_method.root
-binning "<var1>:<binborder1>,<binborder2>,<binborder3>;<var2>:<binborder4>,..."
: binning scheme used for the customised variables defined as above. Bin borders separated by comma, variable+binning sets by semicolon.
-simFit "True/False"
: controls the use of a simultaneous fit to matched and failed events to evaluate efficiency. Should be set to False for binnings/datasets with low statistic.
default: True
-simpleFit "True/False"
:Controls the fit shape.Should be set to False for binnings/datasets with low statistic. If
True fit shape is 2 CBs (sig) + exp (bkg), if
False fit shape is 2 Gaussians (sig) + exp (bkg);
default: False
-binnedFit
: Sets the use of a binned fit to evaluate efficiency. Should be set to True for datasets with large statistics;
default: False
-binsInFit 123
: Sets the number of bins in the fit;
default: 100
As an example, the following command runs the
Fit
script for both MC and 2016 data, using Long method for PT and ETA with bins of PT 0MeV-1000MeV-5000MeV and standard ETA bins using binned fits:
python TrackCalib/scripts/CreateTrackEffTables.py "2016_25ns" -variables "PT,ETA" -binning "PT:0,1000,5000" -binnedFit --Fit
Sometimes, the unbinned fit requires too much resources and gets killed. In such a case, using
-binnedFit
: is recommended.
'Plot' script
This script uses the results of previous Fit script, plots all 1D efficiencies and compares data with MC. It also creates the data/MC ratio for 2D variables and saves the ratio as a ROOT file (meaning it creates the correction tables). It also combines the results from Velo and T station methods (called
combined
). As the final step it combines the combined method with Long method (called
final
).
For 2016 results, the T-station method is not fully functional for now , so use only Long method as an input for your analysis! The plots and tables are stored in
plots/conditions_simVer/
.
-vartitles "<var1>:<vartitle1>;<var2>:<vartitle2>"
: defines the axis title for the custom variables as defined above, standard TLatex synthax can be used
-maxError
: Sets the maximal acceptable error for the efficiency ratios;
default: 0.03. If the error is >maxError, the efficiency ratio is set to 1 +- 5%
-maxDeviation
: Sets the maximal deviation of the efficiency from 1;
default: 0.3. If the deviation is >maxDeviation, the efficiency is set to 1 +- 5%
-ignoreBins "<var1>-<var2>:<bin1var1>-<bin1var2>,<bin2var1>-<bin2var2>,..."
: Sets which variable bins should be set to 1+-5%;
default: P-ETA:1-2,5-1. Given bins are set to 1 +- 5%
In order to set the efficiency to 1+-5% in the first bin of PT-ETA as well as in any bin that has the efficiency error larger than 2%, run:
python TrackCalib/scripts/CreateTrackEffTables.py "2016_25ns" -variables2D "PT-ETA" -vartitles "PT:P_{T} [MeV]" -ignoreBins "PT-ETA:1-1" -maxError 0.02 --Plot
There are known issues when trying to plot only
Velo
or
T
methods. The fix will be included in the next release.
Adding global variables
Note that adding
non-standard global variables requires manual changes in Prepare.py.
Standard global variables are:
totCandidates, nTracks, nLongTracks, nTTTracks, nVeloTracks, nPVs, nSPDHits, nVeloClusters, nITClusters, nOTClusters, nTTClusters, nRich1Hits, nRich2Hits, nMuonTracks, matched, Polarity, runNumber
In case of
any doubt contact the authors.
Available datasets
2015 Early Measurements (50 ns)
”2015_50ns”: [”Sim09b”] EM Data (Reco15em/Turbo01em) and MC (Sim09b)
2015 (25ns)
”2015_25ns”: [”Sim09b”] Data (Reco15a/Turbo01a) and MC (Sim09b)
MC request
LHCBGAUSS-1003
, event type 12143001.
2015 5 TeV
”2015_5TeV”: [”Sim09b”] 5TeV Data (Reco15a/Turbo01aEM) and MC (Sim09b)
2016
”2016_25ns”: [”Sim09b”] Data (Reco16/Turbo02a) and MC (Sim09b)
Only the VELO & Long methods are available, due to a bug in the T-station Turbo lines
WGP requests for 2016 Turbo data 50326, 50325.
MC request
LHCBGAUSS-1003
, event type 12143001.
Pending datasets
2011
Requires ntuple production from Stripping 21r1p2 output, and generation of MC.
2012
Requires ntuple production from Stripping 21r0p2 output, and generation of MC.
2016 T-station method
Requires ntuple production from Stripping28r2.
Also need MC with a fixed
TCK for the Turbo lines or Stripping28r2. The existing MC from
LHCBGAUSS-1003
was filtered with
HLT_PASS_RE('Hlt2TrackEffDiMuon.*Decision')
with
TCK 0x6138160f (MC version of 0x2138160f) from August 2016, which uses the buggy version of the T-station lines.
2017
Requires ntuple production from Stripping29r2p1.
MC ntuples have been produced from Sim09 (MC request
LHCBGAUSS-1538
, event type 11442012, WGP requests 59564, 59565). The MC were generated with the fix to the T-station method Turbo lines, though the fix wasn't introduced in real data until 2018 (so real data must come from the stripping for 2017).
2018
Ntuples have been produced from Stripping34r0p1 (WGP requests 59568, 59569), as well as 2018 Turbo (WGP requests 50322, 50321).
MC ntuples have been produced from Sim09 (MC request
LHCBGAUSS-1665
, event type 11442012, WGP requests 59566, 59567).
These need to be added into
TrackCalib.
Versions
Version 1.0
First release version.
Version 1.1
Release date: 14.09.2018
Fixes:
-MaxEntries
the new default is
2.5e8. This allows to access the full data sample in 2016. This will be especially handy when using special cuts.
Plotting either Velo of T-station now doesn't crash
Fixed of the naming convention when plotting the efficiencies in order to produce ready-to-use
.C
plots.
Fixed using two methods at the same time.
New options:
-fineBinning
Creates default tables in the new fine binning
-autoBinning "<var1>:<NoOfBins>,<binBorderLow2>,<binBorderUp>;<var2>:<NoOfBins>,<binBorderLow2>,<binBorderUp>"
: binning scheme used for the customised variables defined as above. Bin borders separated by comma, variable+binning sets by semicolon. Format follows the usual ROOT definition (
Int_t nbinsx, Double_t xlow, Double_t xup
)
-ignoreBins1D "<var1><bin1>;<var2><bin3>,..."
: Sets which variable bins should be set to 1+-5%;
default: "". Given bins are set to 1 +- 5%
-MaxError1D
Sets the maximal acceptable error for the efficiencies;
default: 0.03. If the error is >maxError, the efficiency is set to 1 +- 5%
New features:
When fitting, a two log files are produced. First, called
trackEff_mode_method_status.out
returns the ROOT fit status (should be 0), χ^2 /NDOF of the fit, all parameter values with errors, its the relative errors and final efficiency values.
Second, file called
WARNINGS_trackEff_mode_method.out
is created. If the fit fails, the
χ^2 /NDOF>chi2Limit
or when the relative error is bigger than
relErrLimit
, an entry is created in the WARNINGS file. The limits at the moment are
chi2Limit = 5.0
and
relErrLimit = 0.5
. The values can be changed
here
Always check at least the warnings file for problematic fits.
Version 2.0
Release date: TBA
Will include 2017 DATA and MC. Will be released once the WG production of 2017 and 2018 data and 2017 Sim09h, 2018 SIM09h MC is finished.
Release date: TBA
Fixes:
2018 and 2017 tables available!
Added division-by-zero check into Fit.py
Organized the WG directory in a more natural way.
Prepared for including Run I efficiencies.
New empty default of
-ignoreBins
:
default: "".
Default cuts were moved into Dictionaries.py
New options:
-plotMassFits
Plot also mass fits in all bins for given sample and variables.
default: False
-plotOnlyOne
Plots only firstSample (see below) efficiency.
default: False
New features:
Disabled the annoying pop-up canvases in Fit.py
-firstSample -secondSample
Allows for plotting a comparison of two arbitrary samples, including the ratio of these efficiencies. Has to be in the format of mode, year, simVer (if mode is MC).
default: -firstSample: "data,year," -secondSample: "MC,year,simVer".
As and example, let's say we want to compare 2015 Data (25ns) (which is our default, therefore -firstSample doesn't have to be specified) and 2016 Sim09b sample:
python TrackCalib/scripts/CreateTrackEffTables.py "2015_25ns" --Plot -secondSample "MC,2016_25ns,Sim09b"
#Hadron track systematics
Tracking systematics for hadrons
TrackCalib is meant for muon tracking efficiency evaluation and doesn't provide any information for hadrons.
The reason for the difference in efficiency for muons and hadrons are hadronic interactions. Their cross-section depends on the
particle type.
A simulation of

, where

shows that about 11% of kaons and 14% of pions cannot be reconstructed due to the hadronic interactions.
The number of tracks that undergo a hadronic interaction before the last T-station depends mostly on its momentum and the amount of material it crosses. Since there is 10% material-budget uncertainty, hadronic efficiencies have an intristic uncertanity of 1.1% for kaons and 1.4% for pions.
In order to evaluate the systematics related to a hadronic track for a specific analysis, the fraction of hadrons that undergo a hadronic interaction before the last T station (around z = 9000mm) has to be evaluated.
The
MCTupleToolKinematic almost does that, but it has to be changed in order to make it to give gives you only hadronic interactions, and not also decays:
https://gitlab.cern.ch/lhcb/Analysis/blob/master/Phys/DecayTreeTupleMC/src/MCTupleToolKinematic.cpp#L113
All kinematic cuts that are used in the specific analysis has also to be applied, as this can change the final result.
This will then give a fraction, say 14%, and multiplied by the material-budget uncertainty, which is 10%, you'll get the uncertainty per particle type.
Meeting contributions
- Tracking and Alignment meeting, 11.07.2017 Update on tracking efficiencies - dimuon tag and probe method
- Tracking and Alignment meeting, 22.08.2017 Tracking efficiency toy studies
- Tracking and Alignment meeting, 17.10.2017 Tracking efficiencies from WG production
- Tracking and Alignment meeting, 17.10.2017 Status of TrackCalib
- Tracking and Alignment meeting, 28.11.2017 Tracking efficiency with WG production and TrackCalib update
- Tracking and Alignment meeting, 21.12.2017 Bug in the tracking efficiency HLT lines report
- Tracking and Alignment meeting, 15.02.2018 Plot of track reconstruction efficiency: 2012 - 2015 comparison with final method
- Tracking and Alignment meeting, 29.03.2018 HLT2 Analysis Task: monitoring of TrackEffDiMuon trigger lines
- Tracking and Alignment meeting, 26.04.2018 Effects of the TurCal bug on tracking efficiencies
- Tracking and Alignment meeting, 08.30.2018 Update on muon tracking efficiencies
- Tracking and Alignment meeting, 11.10.2018 Tracking efficiencies: working group production from stripping
- Tracking and Alignment meeting, 27.11.2018 TrackEff WG production update
Bugs
Only affects VELO and T-station methods in 2016. All public plots and correction tables are OK. However, there is a possibility for users to be affected by this bug in special cases as explained below. At the moment the recommendation is to use Long method for 2016.
A bug in Tesla was discovered, that rewrites candidate tracks by long tracks. Details to the bug can be found in this JIRA task:
https://its.cern.ch/jira/browse/LHCBPS-1774
This means
probe downstream and VELOmuon tracks were replaced by long tracks. Therefore applying any offline cut on variables produced by
DaVinci using direct track information is potentially dangerous, since long tracks behave differently when vertex fitting.
Default TrackCalib setting is safe to be used. It uses information directly from the trigger without reprocessing anything. However, several
TupleTools access the track information directly. List of variables that are safe and that are potentially dangerous to cut on or bin is can be found below.
In case of doubt, do not hesitate to contact the
TrackCalib authors.
Safe variables
It is safe to cut on global event variables, tag mu and Jpsi. It is also safe to use any kinematic variable (produced by
TupleToolKinematics,
TupleToolGeometry, ETA) or any PID variable.
Dangerous variables
Do not cut on/bin in anything that is produced by
TupleToolTrackInfo (such as TRACK
CHI2NDOF). Overlap information or matching information is not safe neither.
Does not affect the efficiency results. This bug effects 2015 and 2016 results. Due to a wrong
if
,
Overlap
variables in the tuples can only have values 0 or 1. This means custom cuts on the Overlap are not possible. The cuts used directly in the trigger are
OverlapTT, OverlapIT, OverlapMuon > 0.4, OverlapVelo > 0.5
.
For experts
WG production
- TupleToolTrackEffMatch
- TupleTool for creating TrackCalib input from both Turbo and Stripping. Input parameters are:
-
MC
is MC? Default: false
-
Turbo
use Turbo or stripping output? Default: true
- Turbo-related options:
-
MatchedLocation1
location of muons in turbo data. Default LowStat trigger line
-
MatchedLocation2
location of muons in turbo data. Default HighStat trigger line
- Stripping-related options:
-
Method
Which method is used? Options are "MuonTT" (long), "VeloMuon" (T), "DownMuon" (velo) or "Downstream" (velo). Default: MuonTT
-
VeloAssocFrac
Minimal fraction of common VELO hits when a track is considered associate. Default: 0.5=
-
MuonAssocFrac
Minimal fraction of common MUON hits when a track is considered associate. Default: 0.4=
-
TTAssocFrac
Minimal fraction of common TT hits when a track is considered associate. Default: 0.4=
-
ITAssocFrac
Minimal fraction of common IT hits when a track is considered associate. Default: 0.4=
-
OTAssocFrac
Minimal fraction of common OT hits when a track is considered associate. Default: 0.4
- Output:
-
-head_Assoc
: Does the probe track have an associated track?
-
-head_hasTTHits
: Does the probe track have an associated track?
-
-head_Overlap_TTFraction
: Maximum overlap fraction of the probe track in TT
-
-head_Overlap_TFraction
: Maximum overlap fraction of the probe track in T (meaning OT+IT)
-
-head_Overlap_ITFraction
: Maximum overlap fraction of the probe track in IT
-
-head_Overlap_OTFraction
: Maximum overlap fraction of the probe track in OT
-
-head_Overlap_VeloFraction
: Maximum overlap fraction of the probe track in VELO
-
-head_Overlap_MuonFraction
: Maximum overlap fraction of the probe track in MUONs
-
-head_maxOverlap
: Maximum sum of all previous overlap fractions.
-
-head_Matched_StateCTB_tx
: state closest to beam Tx
-
-head_Matched_StateCTB_ty
: state closest to beam Ty
-
-head_Matched_StateCTB_x
: state closest to beam X
-
-head_Matched_StateCTB_y
: state closest to beam Y
-
-head_Matched_StateCTB_z
: state closest to beam Z
-
-head_Matched_Px
: x component of momentum of track matched to the probe track.
-
-head_Matched_Py
: y component of momentum of track matched to the probe track.
-
-head_Matched_Pz
: z component of momentum of track matched to the probe track.
-
-head_Matched_dP
: Momentum error of associated track
-
-head_Matched_probChi2
: ProbChi2 of track matched to the probe track.
-
-head_Matched_Chi2NDoF
: Chi2 / ndof of track matched to the probe track.
-
-head_Matched_VeloChi2
: ProbChi2 of track matched to the probe track.
-
-head_Matched_VeloNDoF
: Chi2 / ndof of velo track matched to the probe track.
-
-head_Matched_GhostProb
: Chi2 / ndof of velo track matched to the probe track.
-
-head_DeltaR
: Delta R between the probe track and track matched to the probe track.
-
-head_DeltaP
: Momentum difference between the probe track and track matched to the probe track.
-
-head_DeltaPhi
: Phi difference between the probe track and track matched to the probe track.
-
-head_DeltaEta
: Pseudorapidity difference between the probe track and track matched to the probe track.
-
-head_Matched_SameMCPart
: probe MC particle has an associated MC particle
-
-head_MCPart
: Does the probe track have an MC particle?
-
-head_Matched_MCPart
: Does the associated track have an MC particle?
-
-head_MatchedMCPx
: Associated MC particle x component of momentum
-
-head_MatchedMC_Py
:Associated MC particle y component of momentum
-
-head_MatchedMC_Pz
: Associated MC particle z component of momentum
-
-head_MatchedMC_P
: Associated MC particle momentum
-
-head_MatchedMC_PID
: Associated MC particle PID
- TupleToolTrackEff
- TupleTool for creating long method (MuonTT tracks) tuples suitable for efficiency studies from Stripping.
- Parameters of the tool:
-
TTAssocFraction:
Minimal fraction of common TT hits when a track is considered associate
-
MuonAssocFraction:
Minimal fraction of common muon hits when a track is considered associate
-
InverseMatch:
Start tag-and-probe from J/psi
-
InverseMatchLocation:
Location of the J/psi from stripping
-
MotherLocation:
Location of the J/psi from stripping (for purityAssoc)
-
MC:
Use MC output?
- Basic output (the MuonTT suffix is there in order to distinguish output from this tool from the output of TupleToolTrackEffMatch)
-
-head_Overlap_MuonFraction_MuonTT
: The maximum fraction of muon hits matched to the long track
-
-head_TFraction_MuonTT
: The maximum fraction of muon hits matched to the long track
-
-head_hasTTHits_MuonTT
: Has the probe track TT hits?
-
-head_TTHitAssoc_MuonT
: Is MuonTT track matched to a long track with TT hits?
-
-head_noTTHitAssoc_MuonTT
: Is MuonTT track matched to a long track without TT hits?
- if Verbose is true:
-
-head_upgradedMass_MuonTT
: Invariant mass of tag track and track associated to probe track
-
-head_nTTHits_MuonTT
: Number of TT hits of MuonTT track.
-
-head_Matched_nTTHits_MuonTT
: Number of TT hits on track matched to MuonTT track.
-
-head_Matched_Px_MuonTT
: x component of momentum of track matched to MuonTT track.
-
-head_Matched_Py_MuonTT
: y component of momentum of track matched to MuonTT track.
-
-head_Matched_Pz_MuonTT
: z component of momentum of track matched to MuonTT track.
-
-head_Matched_P_MuonTT
: absolute value of momentum of track matched to MuonTT track.
-
-head_Matched_dP_MuonTT
: error on first track state of track matched to MuonTT track.
-
-head_Matched_probChi2_MuonTT
: ProbChi2 of track matched to MuonTT track.
-
-head_Matched_Chi2NDoF_MuonTT
: Chi2 / ndof of track matched to MuonTT track.
-
-head_DeltaR_MuonTT
: Delta R between MuonTT track and track matched to MuonTT track.
-
-head_DeltaP_MuonTT
: Momentum difference between MuonTT track and track matched to MuonTT track.
-
-head_wrongDeltaR_MuonTT
: Delta R between MuonTT track and track closest to MuonTT track, not being the matched one. A track was matched in this event.
-
-head_wrongDeltaP_MuonTT
: Momentum difference between MuonTT track and track closest to MuonTT track, not being the matched one. A track was matched in this event.
-
-head_wrongP_MuonTT
: Momentum of track closest to MuonTT track, not being the matched one. A track was matched in this event.
-
-head_wrongDeltaR2_MuonTT
: Delta R between MuonTT track and track closest to MuonTT track. No track was matched in this event.
-
-head_wrongDeltaP2_MuonTT
: Momentum difference between MuonTT track and track closest to MuonTT track. No track was matched in this event.
-
-head_wrongP2_MuonTT
: Momentum of track closest to MuonTT track. No track was matched in this event.
-
-head_Matched_MCPart_T
: Has the probe track matched MC particle?
-
-head_MatchedMC_Px_MuonTT
: x component of momentum of MC particle mached to the track matched to MuonTT track.
-
-head_MatchedMC_Py_MuonTT
: y component of momentum of MC particle mached to the track matched to MuonTT track.
-
-head_MatchedMC_Pz_MuonTT
: z component of momentum of MC particle mached to the track matched to MuonTT track.
-
-head_MatchedMC_P_MuonTT
: Absolute value of momentum of MC particle mached to the track matched to MuonTT track.
-
-head_MatchedMC_PID_MuonTT
: PID of MC particle mached to the track matched to MuonTT track.
Stripping lines
In the restripping campaign in 2019 (restripping of both Run I and Run II data), significant changes in the stripping lines were made. Main changes are summarized in
this talk
, however, the list in the talk is not exhaustive.
General naming convension is to have two lines per method: one for μ+ as a probe and one for μ- being a probe. The Jpsi/Upsilon/Z in the line stands for the mother particle of the muons.
Strucutre of the lines is as follows: first, probe μ is created (algorithm starts by creating muon protoParticles, from which a muon Particle is made), then the tag filter selectes tag μ (by applying tag cuts on HLT muons). Then chargeFilter that depending on the line (1 or 2) selects μ+ as a probe and μ- as a tag (or the other way around) is applied. Last, an algorithm that creates the resonance from tag and probe and applies cuts on the resonance is used.
The tag, probe and resonance cuts are defined outside of these algorithms to increase transparency of the
StrippingLine code. The units of the cuts are always
MeV, in the case of
p and
pT the unit is
GeV. All cuts in the stripping lines now agree with Run II Turbo cuts or they are looser.
Having
StrippingLines in an unified structure also allows for using
TrackCalib very easily on Run I data.
StrippingTrackEffDownMuon
The main change is replacing
StrippingTrackEffDownMuonNominalLine by
DownMuonLine1 and
DownMuonLine2.
StrippingTrackEffDownMuonNominalLine used two
downstream tracks for tag and probe, while
DownMuonLine1,2 use downstream track as a probe and long track as a tag. Study was made to check the possible bias on tracks that might occur to resonances creaty very close to the VELO edge. The effect is of second order and it is not significant for the efficiencies. The effect on the data/MC ratio is negligible.
VeloMuon (T-station method)
StrippingTrackEffVeloMuon
The T-station method tracking was buggy in the previous version. New lines were written, they are not in accordance of the previously described structure.
Variables used for cuts in this stripping lines were redefined in a way that there is a clear distinction between probe, tag and resonance (Jpsi/Z/Upsilon) cuts.
MuonTT (Long method)
StrippingTrackEffMuonTT
All the previously hard-coded cuts were now moved to the config.
LowMultJpsiLines were added. These lines are designed to select Jpsis from events with very low occupancy, making them very useful for very-low multiplicity production studies.