Simple SCT parametric simulation
From Charm-Tau Detector
(Difference between revisions)
V.S.Vorobev (Talk | contribs) (Created page with " Category:Not_public") |
V.S.Vorobev (Talk | contribs) |
||
(One intermediate revision by one user not shown) | |||
Line 1: | Line 1: | ||
+ | == SimpleSctParSimAlg == | ||
+ | The <code>SimpleSctParSimAlg</code> algorithm ([https://git.inp.nsk.su/sctau/aurora/-/tree/master/Simulation/SimpleSctParSim gitlab]) implements parametric simulation routine. Tools implementing [https://git.inp.nsk.su/sctau/aurora/-/blob/master/Simulation/SimpleSctParSim/SimpleSctParSim/ICalorimeterTool.h <code>ICalorimeterTool</code>], [https://git.inp.nsk.su/sctau/aurora/-/blob/master/Simulation/SimpleSctParSim/SimpleSctParSim/ITrackerTool.h <code>ITrackerTool</code>], and [https://git.inp.nsk.su/sctau/aurora/-/blob/master/Simulation/SimpleSctParSim/SimpleSctParSim/SimplePIDTool.h <code>IPIDTool</code>] are required for actual simulation. A user can implement these tools with necessary logic. The following example tool implementations exist: | ||
− | [[ | + | * [https://git.inp.nsk.su/sctau/aurora/-/blob/master/Simulation/SimpleSctParSim/SimpleSctParSim/SimpleCalorimeterTool.h SimpleCalorimeterTool] |
+ | * [https://git.inp.nsk.su/sctau/aurora/-/blob/master/Simulation/SimpleSctParSim/SimpleSctParSim/SimpleTrackerTool.h SimpleTrackerTool] | ||
+ | * [https://git.inp.nsk.su/sctau/aurora/-/blob/master/Simulation/SimpleSctParSim/SimpleSctParSim/SimplePIDTool.h SimplePIDTool] | ||
+ | |||
+ | == SimpleCalorimeterTool == | ||
+ | The <code>SimpleCalorimeterTool</code> tool implements the following logic: | ||
+ | |||
+ | * Lower photon energy threshold (<code>energyThreshold</code> property) | ||
+ | * Photon detection efficiency (<code>deteff</code> property) | ||
+ | * Polar angle cut (<code>maxCosth</code> property) | ||
+ | * 3D Gaussian resolution for energy, cos(theta) and phi variables (<code>sampler</code> property) | ||
+ | |||
+ | == SimpleTrackerTool == | ||
+ | The <code>SimpleTrackerTool</code> tool implements the following logic: | ||
+ | |||
+ | * Minimal track transverse momentum (<code>ptcut</code> parameter) | ||
+ | * Track reconstruction efficiency (<code>deteff</code> parameter) | ||
+ | * Magnetic field (<code>bfield</code> parameter) | ||
+ | * Polar angle cut (<code>maxCosth</code> property) | ||
+ | * 3D Gaussian resolution for track vertex (<code>vertexSampler</code> property) | ||
+ | * 3D Gaussian resolution for track momentum (<code>momentumSampler</code> property) | ||
+ | |||
+ | == SimplePIDTool == | ||
+ | The <code>SimplePIDTool</code> tool implements the following logic: | ||
+ | |||
+ | * Probability of having PID decision (<code>eff</code> parameter) | ||
+ | * mu/pi separation quality (<code>sigmaMupi</code> parameter) | ||
+ | * K/pi separation quality (<code>sigmaKpi</code> parameter) | ||
+ | * K/p separation quality (<code>sigmaKp</code> parameter) | ||
+ | * electron id quality (<code>sigmaE</code> 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) |
Latest revision as of 18:25, 4 August 2021
Contents |
[edit] 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:
[edit] 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)
[edit] 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)
[edit] 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)
[edit] 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)