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 (
energyThresholdproperty) - Photon detection efficiency (
deteffproperty) - Polar angle cut (
maxCosthproperty) - 3D Gaussian resolution for energy, cos(theta) and phi variables (
samplerproperty)
[edit] SimpleTrackerTool
The SimpleTrackerTool tool implements the following logic:
- Minimal track transverse momentum (
ptcutparameter) - Track reconstruction efficiency (
deteffparameter) - Magnetic field (
bfieldparameter) - Polar angle cut (
maxCosthproperty) - 3D Gaussian resolution for track vertex (
vertexSamplerproperty) - 3D Gaussian resolution for track momentum (
momentumSamplerproperty)
[edit] SimplePIDTool
The SimplePIDTool tool implements the following logic:
- Probability of having PID decision (
effparameter) - mu/pi separation quality (
sigmaMupiparameter) - K/pi separation quality (
sigmaKpiparameter) - K/p separation quality (
sigmaKpparameter) - electron id quality (
sigmaEparameter)
[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)