SND@LHC Software
|
Classes | |
class | ScifiCluster |
Class of SciFi Tracker ######################################################. More... | |
Variables | |
int | sipm_hor_pos = +1 |
GLOBAL VALUES AND PARAMETERS ############. | |
int | sipm_vert_pos = -1 |
bool | is_sipm_hor_reversed = True |
bool | is_sipm_vert_reversed = True |
float | hw = 19.528 |
float | pitch = 0.025 |
float | charr = 1.6 |
float | edge = 0.016 |
float | gap = 0.022 |
float | array = gap + 2.*charr |
float | biggap = 0.038 |
int | ch_max_num = 128*12 - 1 |
int | n_solid_sipms = 12 |
tuple | sipm_map |
dict | gaps_map |
float | firstmatgap_startch = 521.5 |
float | firstmatgap_endch = 523.5 |
float | secmatgap_startch = 1046.5 |
float | secmatgap_endch = 1048.5 |
float | chpos_min = -0.5 |
float | chpos_max = 1535.5 |
int | cluster_width_min = 1 |
int | cluster_width_max = 10 |
float | ly_loss_params = 20.78, -0.26, 7.89, -3.06 |
float | ly_loss_sigma_params = 6.8482, -0.5757, 3.4458 |
float | cluster_width_mean_params = 0.6661, -0.006955, 2.163 |
float | cluster_width_sigma_params = 1.103, -0.0005751 |
float | random_width_percent = 0.01 |
float | ly_min = 4.5 |
int | ly_max = 104 |
float | energy_range = 0.18, 0.477 |
float | CDF_integral = 0.0185640424 |
float | ly_linear_params = 332.882, -58.7085 |
float | k_cdfs_corr = 0.993076766938 |
float | sigma_in_percent = 0.01 |
int | sigma_from_width = 1 / 4. |
dict | ly_CDF_params |
dict | ly_CDF_landau_params |
dict | CDF_ly_params |
snd_geo = ConfigRegistry.loadpy("$SNDSW_ROOT/geometry/shipLHC_geom_config.py") | |
LOAD THE SCIFI GEOMETRY ############. | |
scifimat_width = snd_geo.Scifi.scifimat_width | |
scifimat_length = snd_geo.Scifi.scifimat_length | |
scifimat_gap = snd_geo.Scifi.scifimat_gap | |
scifi_x = snd_geo.Scifi.xdim | |
scifi_y = snd_geo.Scifi.ydim | |
scifimat_z = snd_geo.Scifi.scifimat_z | |
nmats = snd_geo.Scifi.nmats | |
n_planes = snd_geo.Scifi.nscifi | |
n_sipms = snd_geo.Scifi.nsipms | |
float | xshift = -27.8 |
Need to automatize this part so it works for every geometry #########. | |
float | yshift = +35.3 |
ScifiCluster.approx_function | ( | var, | |
approx_data | |||
) |
This universal function substitutes the parameters to the function. The parameters and the function are in the dictionary
Definition at line 466 of file ScifiCluster.py.
It converts a particle position measured channels to a position measured in cm. The SiPM map is used. The position is in the scifi module frame.
Definition at line 304 of file ScifiCluster.py.
ScifiCluster.cluster_generator | ( | amplitude, | |
width, | |||
wmp, | |||
cluster_width_max = cluster_width_max , |
|||
chpos_min = chpos_min , |
|||
chpos_max = chpos_max |
|||
) |
It generates an event cluster with given weighted mean position in channels, width and amplitude. If right side of the cluster can be out of range, the maximum of the right side will be right channel. At first an array [0, 0, 0, ... ] is generated which corresponds to the channels. Next the cluster generated in the array. Final array will be like [0, 0, ..., 1, 2, 5, 1, 0, ...], [0, 17, 0, ...] or etc.
Definition at line 513 of file ScifiCluster.py.
ScifiCluster.cluster_width_mean | ( | distance, | |
params = cluster_width_mean_params |
|||
) |
It return a mean cluster width depending on the distance to SiPMs
Definition at line 428 of file ScifiCluster.py.
ScifiCluster.cluster_width_random | ( | distance, | |
ly, | |||
percent = random_width_percent , |
|||
cluster_width_min = cluster_width_min , |
|||
cluster_width_max = cluster_width_max |
|||
) |
It generates a cluster. The cluster have 'ly' photoelectrons. The cluster width depends on the distance to SiPM
Definition at line 446 of file ScifiCluster.py.
ScifiCluster.cluster_width_sigma | ( | distance, | |
params = cluster_width_sigma_params |
|||
) |
It return a standard deviation of the mean cluster width depending on the distance to SiPMs
Definition at line 437 of file ScifiCluster.py.
ScifiCluster.cm_to_channel | ( | locpos, | |
sipm_map = sipm_map , |
|||
gaps_map = gaps_map , |
|||
pitch = pitch , |
|||
charr = charr , |
|||
reverse = False , |
|||
ch_max_num = ch_max_num , |
|||
n_solid_sipms = n_solid_sipms |
|||
) |
FUNCTIONS FOR SCIFICLASS ##################################################.
It converts a particle position (an event) measured in cm to a position measured in channels. The SiPM map is used. The position is in the scifi module frame.
Definition at line 276 of file ScifiCluster.py.
ScifiCluster.create_cluster | ( | amplitude, | |
width, | |||
wmp | |||
) |
The final function for creating a signal cluster
Definition at line 568 of file ScifiCluster.py.
ScifiCluster.edep_to_ly | ( | energy, | |
CDF_integral = CDF_integral , |
|||
energy_range = energy_range , |
|||
ly_linear_params = ly_linear_params , |
|||
k_cdfs_corr = k_cdfs_corr , |
|||
sigma_in_percent = sigma_in_percent , |
|||
ly_CDF_params = ly_CDF_params , |
|||
CDF_ly_params = CDF_ly_params , |
|||
ly_CDF_landau_params = ly_CDF_landau_params |
|||
) |
It returns the light yield calculated from the energy deposit. The calculations are based on the equality of the cumulative distribution functions (CDF) : energy => CDF(energy) => CDF(light yield) => ly The linear converting range 0.18 MeV < dE < 0.477 MeV corresponds 4.5 < LY < 104 ph.e. If energy more then 0.477 MeV the light yield calculated randomly (uniformly in the range) according to the distribution Also a little randomness is added to the CDF value with a normal distribution and standard deviation with 'sigma_in_percent' (in percent of the whole range 0 - max CDF)
Definition at line 478 of file ScifiCluster.py.
ScifiCluster.fcheck_wall | ( | cluster, | |
wmp | |||
) |
A function that prevents clusters from propagating to the gaps between the mats
Definition at line 592 of file ScifiCluster.py.
ScifiCluster.GetMatLength | ( | ) |
It returns a length of a scifi mat. Identical for vertical and horizontal.
Definition at line 343 of file ScifiCluster.py.
ScifiCluster.GetMatNum | ( | DetID | ) |
It returns an id (number) of a scifi module. In current version one plane has 3 vertical and 3 horizontal scifi assemblies.
Definition at line 334 of file ScifiCluster.py.
ScifiCluster.GetMatQty | ( | ) |
It returns a number of scifi mats in a plane. Identical for vertical and horizontal fiber planes.
Definition at line 351 of file ScifiCluster.py.
ScifiCluster.GetMatType | ( | DetID | ) |
It returns a type of a scifi module. 1 - vertical scifi assembly 0 - horizontal scifi assembly
Definition at line 324 of file ScifiCluster.py.
ScifiCluster.GetSiPMs | ( | ) |
It returns a number of SiPMs per plane. Identical for vertical and horizontal fiber planes.
Definition at line 359 of file ScifiCluster.py.
ScifiCluster.GetStationNum | ( | DetID | ) |
It returns an id of a plane. In current version the detector has 5 TT stations (numbering starts at 1.
Definition at line 367 of file ScifiCluster.py.
ScifiCluster.global_to_local | ( | DetID, | |
globalpos | |||
) |
These functions assume that the detector is aligned with the beam ######.
It returns the local coordinates in one scifi assembly frame from global coordinates.
Definition at line 379 of file ScifiCluster.py.
ScifiCluster.is_realistic | ( | cluster, | |
width | |||
) |
It returns TRUE if cluster is realistic: it doesn't have a gap between numders, like [..., 0, 1, 2, 0, 0, 5, 6, ...], and it doens't have the light yield less then width.
Definition at line 553 of file ScifiCluster.py.
ScifiCluster.local_to_global | ( | DetID, | |
localpos | |||
) |
It returns the global coordinates from the local coordinates in one scifi assembly frame.
Definition at line 394 of file ScifiCluster.py.
ScifiCluster.ly_attenuation | ( | distance | ) |
It return the light yield losses in percent depending on the distance to SiPMs
Definition at line 419 of file ScifiCluster.py.
ScifiCluster.ly_loss_mean | ( | distance, | |
params = ly_loss_params |
|||
) |
It returns the light yield depending on the distance to SiPMs
Definition at line 410 of file ScifiCluster.py.
ScifiCluster.weigthed_mean_pos | ( | cluster | ) |
Calculate the weighted mean position of the cluster
Definition at line 613 of file ScifiCluster.py.
Definition at line 43 of file ScifiCluster.py.
float ScifiCluster.biggap = 0.038 |
Definition at line 44 of file ScifiCluster.py.
float ScifiCluster.CDF_integral = 0.0185640424 |
Definition at line 171 of file ScifiCluster.py.
dict ScifiCluster.CDF_ly_params |
Definition at line 222 of file ScifiCluster.py.
int ScifiCluster.ch_max_num = 128*12 - 1 |
Definition at line 45 of file ScifiCluster.py.
float ScifiCluster.charr = 1.6 |
Definition at line 40 of file ScifiCluster.py.
float ScifiCluster.chpos_max = 1535.5 |
Definition at line 145 of file ScifiCluster.py.
float ScifiCluster.chpos_min = -0.5 |
Definition at line 144 of file ScifiCluster.py.
int ScifiCluster.cluster_width_max = 10 |
Definition at line 147 of file ScifiCluster.py.
float ScifiCluster.cluster_width_mean_params = 0.6661, -0.006955, 2.163 |
Definition at line 155 of file ScifiCluster.py.
int ScifiCluster.cluster_width_min = 1 |
Definition at line 146 of file ScifiCluster.py.
float ScifiCluster.cluster_width_sigma_params = 1.103, -0.0005751 |
Definition at line 156 of file ScifiCluster.py.
float ScifiCluster.edge = 0.016 |
Definition at line 41 of file ScifiCluster.py.
float ScifiCluster.energy_range = 0.18, 0.477 |
Definition at line 168 of file ScifiCluster.py.
float ScifiCluster.firstmatgap_endch = 523.5 |
Definition at line 139 of file ScifiCluster.py.
float ScifiCluster.firstmatgap_startch = 521.5 |
Definition at line 138 of file ScifiCluster.py.
float ScifiCluster.gap = 0.022 |
Definition at line 42 of file ScifiCluster.py.
dict ScifiCluster.gaps_map |
Definition at line 105 of file ScifiCluster.py.
float ScifiCluster.hw = 19.528 |
Definition at line 38 of file ScifiCluster.py.
bool ScifiCluster.is_sipm_hor_reversed = True |
Definition at line 23 of file ScifiCluster.py.
bool ScifiCluster.is_sipm_vert_reversed = True |
Definition at line 24 of file ScifiCluster.py.
float ScifiCluster.k_cdfs_corr = 0.993076766938 |
Definition at line 178 of file ScifiCluster.py.
dict ScifiCluster.ly_CDF_landau_params |
Definition at line 206 of file ScifiCluster.py.
dict ScifiCluster.ly_CDF_params |
Definition at line 192 of file ScifiCluster.py.
float ScifiCluster.ly_linear_params = 332.882, -58.7085 |
Definition at line 175 of file ScifiCluster.py.
float ScifiCluster.ly_loss_params = 20.78, -0.26, 7.89, -3.06 |
Definition at line 153 of file ScifiCluster.py.
float ScifiCluster.ly_loss_sigma_params = 6.8482, -0.5757, 3.4458 |
Definition at line 154 of file ScifiCluster.py.
int ScifiCluster.ly_max = 104 |
Definition at line 164 of file ScifiCluster.py.
float ScifiCluster.ly_min = 4.5 |
Definition at line 163 of file ScifiCluster.py.
ScifiCluster.n_planes = snd_geo.Scifi.nscifi |
Definition at line 259 of file ScifiCluster.py.
ScifiCluster.n_sipms = snd_geo.Scifi.nsipms |
Definition at line 260 of file ScifiCluster.py.
int ScifiCluster.n_solid_sipms = 12 |
Definition at line 46 of file ScifiCluster.py.
ScifiCluster.nmats = snd_geo.Scifi.nmats |
Definition at line 258 of file ScifiCluster.py.
float ScifiCluster.pitch = 0.025 |
Definition at line 39 of file ScifiCluster.py.
float ScifiCluster.random_width_percent = 0.01 |
Definition at line 160 of file ScifiCluster.py.
ScifiCluster.scifi_x = snd_geo.Scifi.xdim |
Definition at line 254 of file ScifiCluster.py.
ScifiCluster.scifi_y = snd_geo.Scifi.ydim |
Definition at line 255 of file ScifiCluster.py.
ScifiCluster.scifimat_gap = snd_geo.Scifi.scifimat_gap |
Definition at line 252 of file ScifiCluster.py.
ScifiCluster.scifimat_length = snd_geo.Scifi.scifimat_length |
Definition at line 251 of file ScifiCluster.py.
ScifiCluster.scifimat_width = snd_geo.Scifi.scifimat_width |
Definition at line 250 of file ScifiCluster.py.
ScifiCluster.scifimat_z = snd_geo.Scifi.scifimat_z |
Definition at line 256 of file ScifiCluster.py.
float ScifiCluster.secmatgap_endch = 1048.5 |
Definition at line 141 of file ScifiCluster.py.
float ScifiCluster.secmatgap_startch = 1046.5 |
Definition at line 140 of file ScifiCluster.py.
int ScifiCluster.sigma_from_width = 1 / 4. |
Definition at line 185 of file ScifiCluster.py.
float ScifiCluster.sigma_in_percent = 0.01 |
Definition at line 182 of file ScifiCluster.py.
int ScifiCluster.sipm_hor_pos = +1 |
GLOBAL VALUES AND PARAMETERS ############.
Definition at line 18 of file ScifiCluster.py.
tuple ScifiCluster.sipm_map |
Definition at line 50 of file ScifiCluster.py.
int ScifiCluster.sipm_vert_pos = -1 |
Definition at line 19 of file ScifiCluster.py.
ScifiCluster.snd_geo = ConfigRegistry.loadpy("$SNDSW_ROOT/geometry/shipLHC_geom_config.py") |
LOAD THE SCIFI GEOMETRY ############.
Definition at line 248 of file ScifiCluster.py.
float ScifiCluster.xshift = -27.8 |
Need to automatize this part so it works for every geometry #########.
Definition at line 269 of file ScifiCluster.py.
float ScifiCluster.yshift = +35.3 |
Definition at line 270 of file ScifiCluster.py.