Page tree


Pattern recognition


Point which set of plots will allow us to fully characterise tracking perofrmance.
Should our documentation/sw evaluation being based on ILDPerformance?
What we have:

- efficiency:
    requires physics samples. There is a script that can run the full simulation/reconstruction/analysis chain. The user should provide the generator file.
    General issue for efficiency is that is not clear how we should define the nominator (found tracks) and the denominator (acceptable track samples)
    We are currently use a set of criteria, most of them defined as processor par. inside the diagnostics xml file, however few of them are still hard coded.
    Which one should be the default set of criteria?

- Single tracks plots:
    Pulls (multipage pdf with all pulls)
    Means/sigmas: Plotting means and sigmas (+errors) for track parameters as function of P
    Impact parameter / momentum resolution: produce DBD-like resolution plots.
    All the above can be created by simply running a script (scripts exist for both Mokka/KalTest and DD4hep/DDKalTest sw)
    It will invoke particle gun, simulation/reconstruction, diagnostics and will end up
    opening a ROOT session and initiating a simplistic interface, where one can create all above plots
    by clicking on the corresponding buttons.

- Comparison with DBD:
    root files with single tracks created with DBD software should move somewhere publicly available
    for all ILD community.
    Macros that read those files, and the ones produced by running the above chain have been committed as well.
    So the comparison with DBD in terms of resolutions and pulls is straightforward to be produced.
    Do we want such a feature?

- Analysis:
    One button analysis (similar approach as for tracking) of Higgstrahlung
    hZ->mumuX channel.
    Produces the Higgs Recoils mass and fits it (fitting kind of complicated for tails..)
    It is based on LCTuple. The analysis is performed by a ROOT compiled macro, made by summer student Elena.





Calorimeter reconstruction


This document try to address the important parameters and settings which give important impact on the jet energy resolution. The reconstruction is run with Background overlay turned off. Standard steering file from ILDConfig and HEAD installation of ILCsoft (HEAD-2016-05-20)

Calorimeter digitisation

In calorimeter digitisation processor (ILDCaloDigi), all the calorimeter hits (ECAL, HCAL) will be digitised first and then corrected for the absorber. At the end of this step, the collections of calorimeter hits will be written out and to be used as input for MarlinPandora.

This section explains the following steps:

  • Digitisation: Mimics the electronic readout of hit energy deposition. A realistic option of digitisation can be done by turning on this option in the processor.
  • Absorber correction: Correction according to the sampling fraction and sampling frequency.


As mentioned, this part mimic the electronic readout of hit energy deposition, the main effects are: record time window, threshold and saturation. 


The record time window which is realistic for ILC detector is 100 ns

  <parameter name="UseEcalTiming" type="int">1</parameter>
  <parameter name="UseHcalTiming" type="int">1</parameter>
  <parameter name="ECALBarrelTimeWindowMax" type="float"> 100.0 </parameter>
  <parameter name="HCALBarrelTimeWindowMax" type="float"> 100.0 </parameter>
  <parameter name="ECALIEndcapTimeWindowMax" type="float"> 100.0 </parameter>
  <parameter name="HCALEndcapTimeWindowMax" type="float"> 100.0 </parameter>

One needs to correct for the time of propagation so these flags should be turned on properly. 

  <parameter name="ECALCorrectTimesForPropagation" type="int">1</parameter>
  <parameter name="HCALCorrectTimesForPropagation" type="int">1</parameter>


For ECAL, a cut of 0.3 MIP (Minimum Ionising Particle) is set: 

  <!--Threshold for ECAL Hits in GeV-->
  <parameter name="ECALThreshold" type="float">5e-05 </parameter>

For HCAL, a cut of half a MIP (Minimum Ionising Particle) is set:

  <parameter name="HCALThreshold" type="float">0.5 </parameter>
  <parameter name="HCALThresholdUnit" type="string">MIP</parameter>

The threshold can also be set in GeV. The parameter "HCALThresholdUnit" then need to be put accordingly. 

  <!-- Realistic HCal -->
  <parameter name="HCAL_apply_realistic_digi" type="int">1</parameter>
  <parameter name="HCALThresholdUnit" type="string">MIP</parameter>
  <parameter name="CalibHCALMIP" type="float">0.0004925</parameter>
  <parameter name="HCAL_maxDynamicRange_MIP" type="float">99999999</parameter>
  <parameter name="HCAL_elec_noise_mips" type="float">0.06</parameter>
  <parameter name="HCAL_deadCellRate" type="float">0</parameter>
  <parameter name="HCAL_PPD_N_Pixels" type="int">2000</parameter>
  <parameter name="HCAL_PPD_PE_per_MIP" type="float">15</parameter>
  <parameter name="HCAL_pixel_spread" type="float">0.05</parameter>
  <parameter name="HCAL_PPD_N_Pixels_uncertainty" type="float">0</parameter>
  <parameter name="HCAL_miscalibration_uncorrel" type="float">0</parameter>
  <parameter name="HCAL_miscalibration_correl" type="float">0</parameter>

Absorber correction

These coefficients are used to correct for the absorber material as the energy deposit there can not be detected. 

For ECAL, the two coefficients correspond to two different absorber thicknesses. 

  <!--Calibration coefficients for ECAL-->
  <parameter name="CalibrECAL" type="FloatVec">42.9631192209 85.9262384418</parameter>

For HCAL, the coefficients are separated for barrel, endcap and ring (HCALOther) parts. 

  <!--Calibration coefficients for HCAL barrel, endcap, other-->
  <parameter name="CalibrHCALBarrel" type="FloatVec">49.3344654494</parameter>
  <parameter name="CalibrHCALEndcap" type="FloatVec">55.3271575116</parameter>
  <parameter name="CalibrHCALOther" type="FloatVec">31.1454028868</parameter>

Remarks: These coefficients should reflect the detector material simulation. The numbers cited above are standard for baseline ILD detector design and should be a good reference to start with. For example, using wrong absorber material (less dense) in HCAL-Barrel will lead to a smaller "CalibrHCALBarrel" value.


It is important to read the right Pandora settings file. In default case, use PandoraSettingsDefault.xml. Perfect pattern recognition can also be performed using PandoraSettingsPerfectPFA.xml

For HEAD installation, the software compensation plugin has been implemented and is turned on by default for hadronic energy correction. This can be found in PandoraSettingsDefault.xmlfile:


MarlinPandora GeV2MIP constants

The input hit collections in MarlinPandora is provided by the Digitisation processor. The hit energy after digitisation and absorber correction is registered in GeV unit. Another MIP threshold is set here (cuts to be optimised). In order to perform this cut, hit energy in GeV is translated to MIP using the GeV2MIP calibration constants (e.g. HCalToMipCalibration). These constants quantify the number of MIP corresponding to 1 GeV.

Example: The MIP deposits 0.0004925 GeV in the HCAL scintillator. The absorber correction for HCAL barrel is roughly 50. The energy deposition after absorber correction is 0.0004925 x 50 = 0.024625 GeV. The GeV2MIP calibration constant for HCAL barrel is then computed as 1/0.024625 ~= 40. The value below is determined through a more detailed calibration process which will be explain in the section Calibration package.

  <!-- Calibration constants -->
  <parameter name="ECalToMipCalibration" type="float">153.846</parameter>
  <parameter name="HCalToMipCalibration" type="float">38.0228</parameter>
  <parameter name="MuonToMipCalibration" type="float">10.3093</parameter>
  <parameter name="ECalMipThreshold" type="float">0.5</parameter>
  <parameter name="HCalMipThreshold" type="float">0.3</parameter>

EM to HAD and HAD to EM constants

These following constants are the energy rescaling factor for electromagnetic/hadronic energy in the ECAL and HCAL. 

ECalToEMGeVCalibrationRescaling factor for electromagnetic energy in the ECAL
HCalToEMGeVCalibrationRescaling factor for the electromagnetic energy in the HCAL
ECalToHadGeVCalibrationRescaling factor for the hadronic energy in the ECAL
HCalToHadGeVCalibrationRescaling factor for the hadronic energy in the HCAL
  <parameter name="ECalToEMGeVCalibration" type="float">1.00326122634</parameter>
  <parameter name="HCalToEMGeVCalibration" type="float">1.06166688118</parameter>
  <parameter name="ECalToHadGeVCalibrationBarrel" type="float">1.16376244596</parameter>
  <parameter name="ECalToHadGeVCalibrationEndCap" type="float">1.16376244596</parameter>
  <parameter name="HCalToHadGeVCalibration" type="float">1.06166688118</parameter>

HCAL cell energy truncation

The HCAl cell energy truncation is a simple form of software compensation. It is used to mitigate the response of the HCAL detector to the electromagnetic sub-shower hits (very high energy hits). This simple cut must be optimised for each detector model (for instance, when varying the HCAL cell size) and can be quite effective. However when applying this cut, all the calibration constants must be re-calibrated due to the cut-out of high energy hits. For this reason, unless this cut is required for specific study, it is recommended to be disabled by simply using a large number (1e6). Software compensation when applying correctly should address the problem of non-compensating. 

  <parameter name="MaxHCalHitHadronicEnergy" type="float">1000000.</parameter>

Absorber radiation & interaction length

The absorber interaction and radiation length also need to be set properly. 

  <parameter name="AbsorberRadLengthECal" type="float">0.2854</parameter>
  <parameter name="AbsorberIntLengthECal" type="float">0.0101</parameter>
  <parameter name="AbsorberRadLengthHCal" type="float">0.0569</parameter>
  <parameter name="AbsorberIntLengthHCal" type="float">0.0060</parameter>
  <parameter name="AbsorberRadLengthOther" type="float">0.0569</parameter>
  <parameter name="AbsorberIntLengthOther" type="float">0.0060</parameter>

Particle Flow Object (PFO) analysis

After MarlinPandora, a final analysis performed on PFO level can be done through the PfoAnalysis processor (in PandoraAnalysis package). Once all the input collection names are provided properly, the processor will compute all the quantities needed for energy resolution computation. The results are registered in a ROOT tree and can be read using the AnalysisPerformance binary file (also provided in the PandoraAnalysis package). 

This processor can be also used for calibration procedure. The corresponding flag needs to be turned on in this case (together with all the required hit collections). 

  <!-- Turn on calibration helper information-->
  <parameter name="CollectCalibrationDetails" type="int"> 1 </parameter>

Calibration tool

Whenever one wants to change the detector model, the calibration step is needed to obtain new appropriate calibration constants. When validating a new detector model, it is also recommended to run the calibration procedure to check the detector simulation (geometry, material, layer thickness, etc.). 

The calibration tool lies in the PandoraAnalysis package. It provides plots at hit level.

For calibration, one needs three samples: muon at 10 GeV, gamma at 10 GeV, kaon0L at 20 GeV. Each sample is simulated with 10000 events.

With muon sample, the MIP peaks reflects the sensitive detector thickness.

Validation of standard steering file - Mokka


ILCSoft v01-17-10















Validation of standard steering file - DD4hep





ILCSoft v01-17-10


ILCSoft v01-19-01-pre and ILDConfig_HEAD

The ILD_o1_v05 tracking reconstruction performance with ilcsoft v01-19-01-pre and ILDConfig_HEAD:

The ILD_l1_v01 and ILD_s1_v01 tracking reconstruction performance with ilcsoft v01-19-01-pre and ILDConfig_HEAD:

  • Large ILD: TPC outer radius is 1800 mm, and BField is 3.5T
  • Small ILD: TPC outer radius is 1460 mm, and BField is 4.0T
  • Detail envelope parameters in the simulation page.


ILCSoft HEAD-2017-03-03 and ILDConfig_HEAD

The ILD_o1_v05  and ILD_l1_v01 tracking reconstruction performance with ilcsoft HEAD-2017-03-03 and ILDConfig_HEAD:


The performance for ILD_o1_v05 :




pulls mean:

pulls sigma:

The performance for ILD_l1_v01 :


pulls mean:

pulls sigma:







Calorimeter - Jet energy reconstruction


  • JER with DD4hep is at the right scale
  • Still worse compared to Mokka 
  • Applying software compensation or default energy corrections does improve JER, the size of improvement is compatible to what obtained with Mokka
  • Plans:
    • commit the current version of steering file to ILDConfig
    • investigate HCAL hit smearing
    • active layer seems to be correctly simulated, absorber correction (which gives sign about sampling fraction) also seems to be okay, but still worth to check other quantities (N_hits) to really validate


ILCsoft HEAD-07-05 With timing cut (100ns) No HCAL cell truncation Recalibrated

ECAL hits




 HCAL hits



Yoke hits

  • No labels