51 #include "StTofSimParam.h"
53 #include "StMessMgr.h"
68 m_adc_overflow = 1024.0 ;
75 m_gate_width = 200.e-9 ;
76 m_geo_from_geant = 1. ;
77 m_GeV_2_n_photons = 1.e+7 ;
80 m_position_tolerance = 0.3 ;
82 m_start_res = 50.e-12 ;
84 m_time_res = 16.e-12 ;
85 m_tdc_overflow = 2048.0 ;
95 m_clus_par[0] = 10.07 ;
96 m_clus_par[1] = -6.781 ;
97 m_clus_par[2] = 6.396 ;
98 m_clus_par[3] = -0.6407 ;
107 m_res_fee = 45.e-12 ;
110 m_res_tof = 85.e-12 ;
112 m_res_vpd = 140.e-12 ;
116 for(
int i=0;i<120;i++) {
117 for(
int j=0;j<192;j++) {
118 m_eff_tof[i][j] = 0.95;
124 for(
int i=0;i<50;i++) {
125 if(i<38) m_eff_vpd[i] = 0.95;
126 else m_eff_vpd[i] = 0.0;
152 float StTofSimParam::nclus(
float beta)
const
154 if (beta>0.999999) beta = 0.999999;
155 if (beta<0.) beta = 0.;
157 float ga = 1./sqrt(1.-beta*beta);
158 float para = 1./sqrt(ga);
159 float clus = m_clus_par[0] + m_clus_par[1]*para + m_clus_par[2]*para*para + m_clus_par[3]*para*para*para;
164 void StTofSimParam::print(){
165 LOG_INFO <<
"------StTofSimParam::print()------" << endm;
167 LOG_INFO <<
" ==>> TOFp parameters <<== " << endm;
168 LOG_INFO <<
" adc_overflow = " << m_adc_overflow << endm;
169 LOG_INFO <<
" attlen = " << m_attlen << endm;
170 LOG_INFO <<
" cath_eff = " << m_cath_eff << endm;
171 LOG_INFO <<
" cath_surf = " << m_cath_surf << endm;
172 LOG_INFO <<
" delay = " << m_delay << endm;
173 LOG_INFO <<
" elec_noise = " << m_elec_noise << endm;
174 LOG_INFO <<
" gate_t0 = " << m_gate_t0 << endm;
175 LOG_INFO <<
" gate_width = " << m_gate_width << endm;
176 LOG_INFO <<
" geo_from_geant = " << m_geo_from_geant << endm;
177 LOG_INFO <<
" GeV_2_n_photons = " << m_GeV_2_n_photons << endm;
178 LOG_INFO <<
" nphe_to_adc = " << m_nphe_to_adc << endm;
179 LOG_INFO <<
" phys_noise = " << m_phys_noise << endm;
180 LOG_INFO <<
" position_tolerance = " << m_position_tolerance << endm;
181 LOG_INFO <<
" slat_para = " << m_slat_para << endm;
182 LOG_INFO <<
" start_res = " << m_start_res << endm;
183 LOG_INFO <<
" surf_loss = " << m_surf_loss << endm;
184 LOG_INFO <<
" tdc_overflow = " << m_tdc_overflow << endm;
185 LOG_INFO <<
" time_res = " << m_time_res << endm;
188 LOG_INFO <<
" ==>> VPD parameters <<== " << endm;
189 LOG_INFO <<
" res_vpd = " << m_res_vpd << endm;
190 LOG_INFO <<
" thre_vpd = " << m_thre_vpd << endm;
193 LOG_INFO <<
" ==>> MRPC TOF fast simu parameters <<== " << endm;
194 LOG_INFO <<
" res_tof = " << m_res_tof << endm;
195 LOG_INFO <<
" thre_tof = " << m_thre_tof << endm;
198 LOG_INFO <<
" ==>> MRPC TOF slow simu parameters <<== " << endm;
199 LOG_INFO <<
" n_gap = " << m_n_gap << endm;
200 LOG_INFO <<
" nmax_clus = " << m_nmax_clus << endm;
201 LOG_INFO <<
" d_in = " << m_d_in << endm;
202 LOG_INFO <<
" d_out = " << m_d_out << endm;
203 LOG_INFO <<
" d_gap = " << m_d_gap << endm;
204 LOG_INFO <<
" alpha = " << alpha() << endm;
205 LOG_INFO <<
" er = " << m_er << endm;
206 LOG_INFO <<
" vd_mean = " << m_vd_mean << endm;
207 LOG_INFO <<
" nmean_e = " << m_nmean_e << endm;
208 LOG_INFO <<
" nmax_e = " << m_nmax_e << endm;
209 LOG_INFO <<
" dt = " << m_dt << endm;
210 LOG_INFO <<
" ndt = " << m_ndt << endm;
211 LOG_INFO <<
" toffset = " << m_toffset << endm;
212 LOG_INFO <<
" adc_thre = " << m_adc_thre << endm;
213 LOG_INFO <<
" xtalk_dy = " << m_xtalk_dy << endm;
214 LOG_INFO <<
" res_fee = " << m_res_fee << endm;
216 LOG_INFO <<
" ==>> VPD dead channels <<== " << endm;
217 for(
int i=0;i<38;i++) {
218 if(m_eff_vpd[i]<1.e-4) {
219 const char *westeast = (i/19) ?
"West" :
"East";
220 int itube = i%19 + 1;
221 LOG_INFO <<
" " << westeast <<
" tube " << itube << endm;
224 LOG_INFO <<
" ==>> TOF dead channels <<== " << endm;
225 for(
int i=0;i<120;i++) {
226 for(
int j=0;j<192;j++) {
228 int imodule = j/6 + 1;
230 if(m_eff_tof[i][j]<1.e-4)
231 LOG_INFO <<
" tray " << itray <<
" module " << imodule <<
" cell " << icell << endm;
234 LOG_INFO <<
"----------------------------------" << endm;
StTofSimParam()
Slow simulator for MRPC-TOF.
~StTofSimParam()
default empty destructor
void init()
initializes calibration from XDF or dBase (not functioning yet)