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