SCT parametric simulation

From Charm-Tau Detector
(Difference between revisions)
Jump to: navigation, search
(→‎Parameterization)
(Blanked the page)
Line 1: Line 1:
−
= SctParSim (WIP) =
 
−
A parametric simulation is a tool to receive a detector response without detailed description of interaction of particles with matter.
 
  
−
Implemented detector subsystems:
 
−
* drift chamber
 
−
* FARICH PID system
 
−
* calorimeter
 
−
* muon system
 
−
 
−
The parametric simulation yields the detector response in the SCT EDM format thus allowing to analyze its result in the same manner as the result of the full simulation.
 
−
 
−
== Detector configuration ==
 
−
 
−
The detector parameters can be changed in the run script (see Configuration section).
 
−
The detector parameters and their default values can be viewed here.
 
−
 
−
=== SctParSimAlg ===
 
−
{| class="wikitable"
 
−
|-
 
−
! Name to change parameter
 
−
! Description
 
−
! Default value
 
−
|-
 
−
| B
 
−
| Detector magnetic field
 
−
| 1.5
 
−
|-
 
−
| mostProbMass
 
−
| The mass of most probable particle
 
−
| 0.13957
 
−
|}
 
−
 
−
=== TrackSystemTool ===
 
−
{| class="wikitable"
 
−
|-
 
−
! Name to change paramater
 
−
! Description
 
−
! Default value
 
−
|-
 
−
| trackRhoMin
 
−
| Inner radius of barrel tracker, m       
 
−
| 0.1
 
−
|-
 
−
| trackRhoMax             
 
−
| Outer radius of barrel tracker, m       
 
−
| 0.8
 
−
|-
 
−
| trackZMin               
 
−
| Inner z coordinate of endcup tracker, m 
 
−
| 0 
 
−
|-
 
−
| trackZMax               
 
−
| Outer z coordinate of endcup tracker, m 
 
−
| 1 
 
−
|-
 
−
| trackMinPt             
 
−
| Minimum momentum, GeV                   
 
−
|0.05
 
−
|-
 
−
| trackPtProb             
 
−
| Registration probabilities for different momentum, {GeV, prob}
 
−
| {{0.1, 0.8}, {0.3, 0.9}, {1, 0.95), {10, 0.99}}
 
−
|-
 
−
| trackRadLen             
 
−
| Radiation length in the track system, m 
 
−
| 187
 
−
|-
 
−
| trackResParPT           
 
−
| Parameterizaton parameters for xy projection
 
−
| 0.00212
 
−
|-
 
−
| trackResParPZ           
 
−
| Parameterization parameters for z projection
 
−
| {0.001281, 0.00308}
 
−
|-
 
−
| trackLayerAx           
 
−
| The radius of layers anf the location radius of the anod layers, mm
 
−
| {{6.306, 217.306}, {6.644, 227.1}, {7.165, 246.906}, {6.564, 341.938}, {6.794, 352.06}, {7.14, 371.992}, {7.388, 382.95}, {6.651, 467.57}, {6.823, 477.718}, {6.968, 488.097}, {7.12, 498.701}, {7.274, 509.535}, {6.768, 636.322}, {6.898, 646.501}, {7.007, 656.957}, {7.121, 667.581}, {6.791, 750.730}, {6.902, 761.027}, {6.995, 771.472}, {7.091, 782.061}}
 
−
|-
 
−
| trackLayerSt           
 
−
| The radius of layers and the location radius of the stereo layers, mm
 
−
| {{6.473, 280.136}, {6.747, 290.136}, {7.182, 310.863}, {7.486, 321.938}, {6.603, 405.941}, {6.799, 416.04}, {7.104, 436.741}, {7.314, 447.606}, {6.741, 533.35}, {6.859, 543.615}, {7.026, 554.088, {7.161, 564.762}, {6.778, 584.801}, {6.919, 595.108}, {7.039, 605.606}, {7.163, 6169.289}, {6.746, 689.948}, {6.865, 700.185}, {7.041, 720.09}, {7.165, 730.775}}
 
−
|}
 
−
 
−
=== FARICHSystemTool ===
 
−
{| class="wikitable"
 
−
|-
 
−
! Name to change paramater
 
−
! Description                         
 
−
! Default value     
 
−
|-
 
−
| farichRhoMin           
 
−
| Inner radius of barrel FARICH system, m         
 
−
| 0.82   
 
−
|-
 
−
| farichRhoMax           
 
−
| Outer radius of barrel FARICH system, m         
 
−
| 0.9   
 
−
|-
 
−
| farichZMin             
 
−
| Inner z coordinate of endcup FARICH system, m   
 
−
| 1.02   
 
−
|-
 
−
| farichZMax             
 
−
| Outer z coordinate of encup FARICH system, m   
 
−
| 1.273 
 
−
|-
 
−
| farichHoleR             
 
−
| Hole radius of FARICH system                   
 
−
| 0.3   
 
−
|-
 
−
| parSimFarichFileName   
 
−
| The path to the file with response histograms of FARICH
 
−
| ./pi_ms_f1_mppc2_px3_d200_mla4_graph2d.root
 
−
|}
 
−
 
−
=== CaloSystemTool ===
 
−
{| class="wikitable"
 
−
|-
 
−
! Name to change paramater
 
−
! Description                         
 
−
! Default value     
 
−
|-
 
−
| caloRhoMin             
 
−
| Inner radius of barrel calorimeter, m           
 
−
| 1.09   
 
−
|-
 
−
| caloRhoMax             
 
−
| Outer radius of barrel calorimeter, m           
 
−
| 1.55   
 
−
|-
 
−
| caloZMin               
 
−
| Inner z coordinate of endcup calorimeter, m     
 
−
| 1.293 
 
−
|-
 
−
| caloZMax               
 
−
| Outer z coordinate of endcup calorimeter, m     
 
−
| 1.86 
 
−
|-
 
−
| caloCosthmax           
 
−
| Maximum cosine                                 
 
−
| 0.9   
 
−
|-
 
−
| caloClSize             
 
−
| Calorimeter cluster size, m                     
 
−
| 0.045 
 
−
|-
 
−
| caloClSizeEGamma       
 
−
| Calorimeter cluster size for gamma, m           
 
−
| 0.15 
 
−
|-
 
−
| caloEMinBarrel         
 
−
| Minimal energy, GeV                             
 
−
| 0.015 
 
−
|-
 
−
| caloEMinEndcup         
 
−
| Minimal energy, GeV                             
 
−
| 0.015 
 
−
|-
 
−
| caloResPar             
 
−
| Parameterization parameters                     
 
−
| {1.34e-2, 0.066e-2, 0.0, 0.82e-2}
 
−
|}
 
−
 
−
=== MuonSystemTool ===
 
−
{| class="wikitable"
 
−
|-
 
−
! Name to change paramater
 
−
! Description                         
 
−
! Default value     
 
−
|-
 
−
| muonRhoMin             
 
−
| Inner radius of barrel muon system, m           
 
−
| 1.87   
 
−
|-
 
−
| muonRhoMax             
 
−
| Outer radius of barrel muon system, m           
 
−
| 2.15   
 
−
|-
 
−
| muonZMin               
 
−
| Inner z coordinate of endcup muon system, m     
 
−
| 1.88   
 
−
|-
 
−
| muonZMax               
 
−
| Outer z coordinate of endcup muon system, m     
 
−
| 2.16   
 
−
|-
 
−
| parSimMuonFileNameMu   
 
−
| The path to the file with response histograms of muon system (muon)
 
−
| ./g4beamline_mu_plus_100k_parse.root
 
−
|-
 
−
| parSimMuonFileNamePi   
 
−
| The path to the file with response histograms of muon system (pion)
 
−
| ./g4beamline_pi_plus_100k_parse.root
 
−
|}
 
−
 
−
 
−
== Parameterization (WIP) ==
 
−
=== Drift chamber (WIP) ===
 
−
 
−
=== FARICH PID system ===
 
−
 
−
The FARICH PID system works using the results of the full GEANT4 simulation. The system output is the particle speed and number of photons.
 
−
 
−
<gallery>
 
−
File:Farich_res.png|The dependence of the particle β factor on the momentum in the FARICH PID system
 
−
 
−
File:Farich_param.png|The dependence of the number of photoelectron on the βγ factor in the FARICH PID system for different angles (black - 10, red - 30, green - 45)
 
−
</gallery>
 
−
 
−
=== Calorimeter (WIP) ===
 
−
 
−
 
−
=== Muon system ===
 
−
The muon system works using the results of a reconducted stand-alone simulation on G4BeamLine. The system is a cylinder of eight absorber and sensitive polystyrene layers. The absorber is iron.
 
−
 
−
<gallery>
 
−
File:muon.png|The probability distribution for muons and pions to reach a certain layer in the muon system
 
−
</gallery>
 
−
 
−
= Configuration =
 
−
 
−
<pre>
 
−
from Configurables import ApplicationMgr
 
−
 
−
from Gaudi.Configuration import *
 
−
from Configurables import GenAlg, EvtGenInterface
 
−
from Configurables import HepMCToEDMConverter
 
−
from Configurables import ScTauDataSvc
 
−
 
−
from Configurables import PodioOutput
 
−
 
−
from Configurables import SctParSimAlg
 
−
from Configurables import EventLoader
 
−
from Configurables import NtupleAlg, NTupleSvc
 
−
from Configurables import ParticleCombinerAlg
 
−
 
−
from Configurables import Gaudi__ParticlePropertySvc
 
−
from PathResolver import PathResolver
 
−
 
−
ofile = 'sctparsim_out.root' # name of output file
 
−
eventNumber = 50000 # number of events
 
−
 
−
############################
 
−
####  Event generation  ####
 
−
############################
 
−
podioevent = ScTauDataSvc("EventDataSvc")
 
−
 
−
# Particle service
 
−
particlePropertySvc = Gaudi__ParticlePropertySvc(
 
−
    "ParticlePropertySvc",
 
−
    ParticlePropertiesFile=PathResolver.FindDataFile('GenParticleData/ParticleTable.txt')
 
−
)
 
−
 
−
# EvtGen
 
−
evtgen = EvtGenInterface('SignalProvider')
 
−
#evtgen.userdec = "./mydec.dec"
 
−
#evtgen.rootParticle = "J/psi"
 
−
 
−
gen = GenAlg('EvtGenAlg', SignalProvider=evtgen)
 
−
gen.hepmc.Path = 'hepmc'
 
−
 
−
# HepMC3 to PODIO
 
−
edm = HepMCToEDMConverter("Converter")
 
−
edm.hepmc.Path=gen.hepmc.Path
 
−
edm.genparticles.Path="allGenParticles"
 
−
edm.genvertices.Path="allGenVertices"
 
−
 
−
############################
 
−
# SctParSim
 
−
############################
 
−
sct_alg = SctParSimAlg('SctAlg')
 
−
#sct_alg.CaloSystemTool.caloClSizeEGamma = 0.2 # Example how to change a subsystem parameter
 
−
 
−
############################
 
−
# Podio output
 
−
############################
 
−
out = PodioOutput('out', filename=ofile)
 
−
out.outputCommands = ["keep *"]
 
−
 
−
############################       
 
−
# Analisis                         
 
−
############################
 
−
 
−
evlo = EventLoader('EvtLoader')
 
−
evlo.pcl.Path = 'Particles' # Branch (in the input ROOT-file) for reading
 
−
evlo.pListMap.Path = 'Lists1'
 
−
evlo.plists = [['gamma']] # Partilce list for further analisis
 
−
 
−
# Select particle combinations     
 
−
cmbr = ParticleCombinerAlg('Cmbr',
 
−
    decStr = 'pi0 -> gamma gamma', # Investigated decay
 
−
    cutStr = 'E > 0.5', # Selection criteria
 
−
    selfConj = True # if neutral particle True, else False
 
−
)
 
−
 
−
cmbr.pListMapI = evlo.pListMap.Path
 
−
cmbr.pListMapO.Path = 'Lists2'
 
−
 
−
# Select variables to save to n-tuple
 
−
tupl = NtupleAlg('piTuple')
 
−
tupl.listName = 'pi0'
 
−
tupl.fileName = 'scttuple/tup'
 
−
 
−
# List contains the particle parametes to write an output file
 
−
tupl.vars = [['px_mc', 'py_mc', 'pz_mc', 'E', 'pi0 -> ^gamma ^gamma'],
 
−
    ['M', ''],
 
−
]
 
−
 
−
tupl.pListMapI.Path = cmbr.pListMapO.Path
 
−
NTupleSvc(Output = ["scttuple DATAFILE='tup.root' OPT='NEW' TYP='ROOT'"])
 
−
 
−
options= {
 
−
    'TopAlg' : [gen, edm, sct_alg, evlo, cmbr, tupl],
 
−
    'EvtSel' : 'NONE',
 
−
    'ExtSvc' : [particlePropertySvc, podioevent],
 
−
    'EvtMax' : eventNumber,
 
−
    'StatusCodeCheck' : True,
 
−
    'AuditAlgorithms' : True,
 
−
    'AuditTools'      : True,
 
−
    'AuditServices'  : True,
 
−
    'OutputLevel'    : INFO,
 
−
    'HistogramPersistency' : 'ROOT',
 
−
}
 
−
 
−
ApplicationMgr(**options)
 
−
</pre>
 
−
 
−
More examples are shown in [https://git.inp.nsk.su/sctau/aurora/-/blob/master/Simulation/SctParSimAlg/jobOptions jobOptions]
 

Revision as of 12:07, 19 November 2021

Personal tools