Simple SCT parametric simulation
From Charm-Tau Detector
Revision as of 17:31, 16 April 2021 by V.S.Vorobev (Talk | contribs)
Contents |
SimpleSctParSimAlg
The SimpleSctParSimAlg
algorithm (gitlab) implements parametric simulation routine. Tools implementing ICalorimeterTool
, ITrackerTool
, and IPIDTool
are required for actual simulation. A user can implement these tools with necessary logic. The following example tool implementations exist:
SimpleCalorimeterTool
The SimpleCalorimeterTool
tool implements the following logic:
- Lower photon energy threshold (
energyThreshold
property) - Photon detection efficiency (
deteff
property) - Polar angle cut (
maxCosth
property) - 3D Gaussian resolution for energy, cos(theta) and phi variables (
sampler
property)
SimpleTrackerTool
The SimpleTrackerTool
tool implements the following logic:
- Minimal track transverse momentum (
ptcut
parameter) - Track reconstruction efficiency (
deteff
parameter) - Magnetic field (
bfield
parameter) - Polar angle cut (
maxCosth
property) - 3D Gaussian resolution for track vertex (
vertexSampler
property) - 3D Gaussian resolution for track momentum (
momentumSampler
property)
SimplePIDTool
The SimplePIDTool
tool implements the following logic:
- Probability of having PID decision (
eff
parameter) - mu/pi separation quality (
sigmaMupi
parameter) - K/pi separation quality (
sigmaKpi
parameter) - K/p separation quality (
sigmaKp
parameter) - electron id quality (
sigmaE
parameter)
Config example
parsimCfg = AuroraConfig({ 'Tracker' : { 'deteff': 0.99, 'ptcut': 50e-3, 'bfield': 1.5, 'maxCosth': np.cos(10./180. * np.pi), 'momentumSampler' : { 'mean' : np.zeros(3), 'covar': np.diag(np.ones(3)) * 1.e-3**2 }, 'vertexSampler' : { 'mean' : np.zeros(3), 'covar': np.diag(np.ones(3)) * 1.e-3**2 } }, 'PID' : { 'eff' : 1.00, 'sigmaKpi' : 6., 'sigmaMupi' : 4., 'sigmaKp' : 3., 'sigmaE' : 3., }, 'Calorimeter' : { 'deteff': 1.0, 'energyThreshold' : 15e-3, 'maxCosth' : np.cos(10./180. * np.pi), 'sampler' : { 'mean' : np.zeros(3), 'covar': (np.diag(np.ones(3)) * 1.e-2**2).ravel() } } }) am.add_parsim(which='simple', cfg=parsimCfg)