PandaRoot
PndTrkConstants.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 #ifndef PndTrkConstants_H
14 #define PndTrkConstants_H 1
15 
16 // definition of constants used in PndTrk.... classes;
17 
18 // integer constants
19 const int MAXHITSINCELL = 20,
20  // the following MAXHITSINFIT cannot be too large because the fit
21  // crashes 'silently' for too much memory consumption in the character arrays
22  // or takes too long time;
23 
24  TIMEOUT = 60;
25 
26 // B field in Tesla
27 const Double_t BFIELD = 2.,
28  CVEL = 2.99792, // velocity of light
29  // DELTAnR = range of nR in TrkAssociatedParallelHitsToHelixquater
30  DELTAnR = 2., // range of nR in TrkAssociatedParallelHitsToHelixquater
31  PMAX = 100.,
32  VERTICALGAP = 4.; // (cm) gap between Left and Right sections of detector.
33 
34 //----------------------------- Mvd constants, according to Mvd design;
35 const Double_t ERRORPIXEL = 0.02611, ERRORSTRIP = 0.02611, ERRORSQPIXEL = 0.00068175, ERRORSQSTRIP = 0.00068175;
36 
37 // averge radius of the various layers of the barrel part;
38 const int MAXMVDMCPOINTS = 2000;
39 
40 //--------------------------------------- MVD Barrel, full azimuthal coverage;
41 const int MVD_BARREL_LAYERS_FULL_AZIMUTH = 3; // number of barrel layers with 360 degree azimuthal coverage;
42 const Double_t MVD_BARREL_FULL_AZIMUTH_MAX_RADIUS[3] = {12.35, 9., 12.35}, MVD_BARREL_FULL_AZIMUTH_Z_LOW[3] = {-16.917, -13.376, -10.048},
43  MVD_BARREL_FULL_AZIMUTH_Z_UP[3] = {-10.248, -6.707, -3.379};
44 
45 //--------------------------------------- MVD Barrel, partial azimuthal coverage;
46 
47 const int MVD_BARREL_LAYERS_PARTIAL_AZIMUTH = 11, // number barrel layers with less than 360 degree azimuthal coverage;
48 
49  // in the geometry of the Mvd it is possible to assume that the number of gaps is
50  // not necessarily the same for the Inner and Outer barrels of any Mvd Section;
51  // therefore in MVD_BARREL_PARTIAL_AZIMUTH_NGAP[i][j] i is the index indicating the
52  // i-th Barrel having Partial Azimuth Coverage; j is the index indicating
53  // the INNER (j=0) and the OUTER (j=1) number of azimuthal gaps;
54 
55  MVD_BARREL_PARTIAL_AZIMUTH_NGAP[11][2] = {13, 10, 3, 5, 3, 0, 4, 4, 4, 5, 2, 0, 13, 10, 2, 2, 3, 3, 2, 2, 3, 3};
56 const Double_t
57  // in practice there are never more than 13 gaps in azimuthal angle in radians from 0 to 2*pi;
59  {
60 
61  0., 0.347, 0.701, 1.2437, 2.141, 2.590, 3.039, 3.489, 3.843, 4.385, 5.282, 5.7311, 6.18, // first Barrel
62  0., 1.693, 4.834, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // second Barrel
63  0., 1.827, 4.969, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // third Barrel
64  0., 1.2687, 2.167, 4.858, 0., 0., 0., 0., 0., 0., 0., 0., 0., // fourth Barrel
65  0.372, 3.066, 3.9615, 5.758, 0., 0., 0., 0., 0., 0., 0., 0., 0., // fifth Barrel
66  1.1525, 4.555, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // sixth Barrel
67  0., 0.347, 0.701, 1.2437, 2.141, 2.590, 3.039, 3.489, 3.843, 4.385, 5.282, 5.7311, 6.18, // seventh Barrel
68  1.2, 4.34, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // eighth Barrel
69  0., 1.828, 4.9696, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // ninth Barrel
70  1.2, 4.341, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // tenth Barrel
71  0., 1.827, 4.969, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0. // eleventh Barrel
72 },
74  {
75  0.103, 0.5519, 1.001, 1.898, 2.4406, 2.7946, 3.2446, 3.6935, 4.1426, 5.0393, 5.582, 5.936, 6.283, // first Barrel
76  1.449, 4.59, 6.283, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // second Barrel
77  1.162, 4.303, 6.283, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // third Barrel
78  0.75, 1.646, 4.34, 6.283, 0., 0., 0., 0., 0., 0., 0., 0., 0., // fourth Barrel
79  2.545, 3.444, 5.237, 6.136, 0., 0., 0., 0., 0., 0., 0., 0., 0., // fifth Barrel
80  1.877, 5.019, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // sixth Barrel
81  0.103, 0.5519, 1.001, 1.898, 2.4406, 2.7946, 3.2446, 3.6935, 4.1426, 5.0393, 5.582, 5.936, 6.283, // seventh Barrel
82  1.789, 4.931, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // eighth Barrel
83  1.161, 4.302, 6.283, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // ninth Barrel
84  1.789, 4.931, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // tenth Barrel
85  1.162, 4.303, 6.283, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0. // eleventh Barrel
86 },
87 
89  {
90  0.1104, 0.559, 1.008, 2.353, 2.8026, 3.252, 3.7, 4.149, 5.495, 5.944, 0., 0., 0., // first Barrel
91  0., 1.460, 1.9, 4.6, 5.045, 0., 0., 0., 0., 0., 0., 0., 0., // second Barrel
92  0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // third Barrel
93  0., 1.666, 4.356, 5.256, 0., 0., 0., 0., 0., 0., 0., 0., 0., // fourth Barrel
94  0., 0.763, 2.559, 3.46, 6.1486, 0., 0., 0., 0., 0., 0., 0., 0., // fifth Barrel
95  0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // sixth Barrel
96  0.1104, 0.559, 1.008, 2.353, 2.8026, 3.252, 3.7, 4.149, 5.495, 5.944, 0., 0., 0., // seventh Barrel
97  1.413, 4.555, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // eighth Barrel
98  0., 1.8964, 5.038, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // ninth Barrel
99  1.4135, 4.555, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // tenth Barrel
100  0., 1.896, 5.038, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0. // eleventh Barrel
101 },
103  {
104  0.339, 0.788, 2.133, 2.582, 3.0312, 3.489, 3.929, 5.275, 5.724, 6.173, 0., 0., 0., // first Barrel
105  1.238, 1.683, 4.383, 4.825, 6.283, 0., 0., 0., 0., 0., 0., 0., 0., // second Barrel
106  0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // third Barrel
107  1.252, 3.947, 4.843, 6.283, 0., 0., 0., 0., 0., 0., 0., 0., 0., // fourth Barrel
108  0.352, 2.148, 3.046, 5.739, 6.283, 0., 0., 0., 0., 0., 0., 0., 0., // fifth Barrel
109  0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // sixth Barrel
110  0.339, 0.788, 2.133, 2.582, 3.0312, 3.489, 3.929, 5.275, 5.724, 6.173, 0., 0., 0., // seventh Barrel
111  1.876, 5.018, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // eighth Barrel
112  1.393, 4.5346, 6.283, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // ninth Barrel
113  1.876, 5.018, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // tenth Barrel
114  1.393, 4.535, 6.283, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0. // eleventh Barrel
115 },
116  // radius of INNER and OUTER layers of a Barrel; in case the Barrel can be described by one
117  // radius only then MVD_BARREL_PARTIAL_AZIMUTH_RADIUS_OUTER is set at -1.;
118 
119  MVD_BARREL_PARTIAL_AZIMUTH_RADIUS_INNER[11] = {4.7624, 4.7654, 9.343, 2.262, 2.255, 12.63, 4.7624, 9.342, 9.314, 9.315, 9.3435},
120  MVD_BARREL_PARTIAL_AZIMUTH_RADIUS_OUTER[11] = {5.2624, 5.25, -1., 2.84, 2.84, -1., 5.2624, 12.61, 12.61, 13.11, 12.5725},
121 
122  MVD_BARREL_PARTIAL_AZIMUTH_Z_LOW[11] = {-7.98, -7.48, -6.507, -3.98, -3.54, -3.179, -1.02, 0.362, 3.69, 7.231, 10.559},
123  MVD_BARREL_PARTIAL_AZIMUTH_Z_UP[11] = {-1.18, -1.82, -3.166, -1.74, 0.98, 0.162, 5.78, 7.031, 10.359, 13.9, 13.9};
124 
125 // old stuff;------------------------------------------------------------------------------------
126 // 0 --> innermost layer; 3 --> outermost layer;
127 
128 const int MVD_BARREL_LAYERS = 4; // number of barrel layers;
129 
130 // Radia of the Barrel Mvd layers;
131 // MVD_BARREL_AVERAGE_RADIUS[i] == AVERAGE Radius of i-th layer;
132 // MVD_BARREL_ZLIMITS[0][i] = Minimum Z of i-th layer,
133 // MVD_BARREL_ZLIMITS[1][i] = Maximum Z of i-th layer,
134 // MVD_BARREL_NOZONE_X[0 or 1] = X lower and upper limits of the zone of the beam pipe;
135 // MVD_BARREL_NOZONE_X[0 or 1] = Z lower and upper limits of the zone of the beam pipe;
136 
137 const Double_t MVD_BARREL_AVERAGE_RADIUS[4] = {(2.18 + 2.858) / 2., (4.73 + 5.282) / 2., (8.972 + 9.686) / 2., (12.32 + 12.994) / 2.},
138  MVD_BARREL_RADIASQMean[4] = {6.4762, 25.15, 87.15, 160.31}, MVD_BARREL_RADIASQDifference[4] = {3.5, 5.5, 13.32, 17.06}, MVD_BARREL_NOZONE_X[2] = {-2., 2.},
139  MVD_BARREL_NOZONE_Z[2] = {-2., 2.}, MVD_BARREL_ZLIMITS[2][4] = {-3.98, -7.9, -13.376, -16.917, 13.9, 13.9, 13.9, 13.9};
140 
141 // end of old stuff ---------------------------------------------------------------------------------
142 
143 //---------------------------------------- MVD MiniDisks geometry infos;
144 
145 // this disks are positioned perpendicularly to the Z direction; the thickness of the sensitive layer is 0.02 ;
146 const int MVD_MINIDISK_LAYERS = 12; // number of Mvd MiniDisks;
147 // Z positions;
148 const Double_t MVD_Z_LAYER_BEGIN[12] = {1.97, 2.41, 3.97, 4.41, 6.97, 7.41, 9.97, 10.41, 14.77, 15.21, 21.77, 22.21},
149  MVD_Z_LAYER_END[12] = {1.99, 2.43, 3.99, 4.43, 6.99, 7.43, 9.99, 10.43, 14.79, 15.23, 21.79, 22.23};
150 
151 //---------------------------------------- MVD Disks
152 
153 // 0 --> most upstream layer; 1 --> most downstream layer;
154 const int MVD_DISK_LAYERS = 2; // number of Mvd disks;
155 // Z positions; in reality there are to disks very close to each other
156 // then take the average Z to describe both;
157 const Double_t MVD_DISK_Z[2] = {16.265, 20.735},
158 
159  // each layer has a maximum radius and a minimum radius;
160  MVD_DISK_MIN_RADIUS[2] = {7.5, 7.5}, MVD_DISK_MAX_RADIUS[2] = {13.11, 13.11};
161 
162 //-----------------------------
163 
164 //----------------------------- SciTil detector constants
165 // RADIUSSCITIL = radius of the cylinder tangent to the SciTil tiles in the middle of each tile;
166 const Double_t RADIUSSCITIL = 49.27, DIMENSIONSCITIL = 2.85;
167 //-----------------------------
168 
169 //----------------------------- STT detector constants
170 // maximum radius of the Stt detector in cm; this is the radius CIRCUMSCRIBED to the outer Hexagon
171 // delimiting the STT detector;
172 const Double_t RSTRAWDETECTORMAX = 40.73,
173  // APOTEMA means the radius of a circle INSCRIBED in a Hexagon (this is the same as the
174  // mathematical definition); otherwise the name Radius is used instead;
176  APOTEMAMAXSKEWSTRAW = 31.517569, // delimitation of the skew area
178  APOTEMAMINSKEWSTRAW = 23.246827, // delimitation of the skew area
179  APOTEMASTRAWDETECTORMIN = 16.119; // minimum APOTEMA of the Stt detector in cm
180  // this is the Radius of the circle INSCRIBED in the
181  // smaller Hexagon delimiting the STT detector;
182 const int MAXFOUNDCLUSTERS = 100, // maximum allowed clusters in the event;
183  MAXHITSINCLUSTER = 200, // maximum allowed hits in a cluster;
185 
187  MAX_NOT_CONNECTED = 1; // maximum # of STT "holes" in the hits of a track;
188 
189 const Double_t DIAMETERSTRAWTUBE = 1., DIAMETERSTRAWTUBE2 = 1.,
190  // semilength of a axial straw;
192  STTDRIFTVEL = 0.0025, // in cm/nsec
193  // Z position of the center of the axial straw;
195 
196 //-----------------------------
197 
198 const Double_t PI = 3.141592654, TWO_PI = 6.283185307;
199 
200 #endif
const int TIMEOUT
const int MVD_BARREL_LAYERS_PARTIAL_AZIMUTH
const Double_t RSTRAWDETECTORMAX
const Double_t STRAWRESOLUTION
const Double_t MVD_BARREL_PARTIAL_AZIMUTH_GAP_LOW_OUTER[11][13]
const Double_t STTDRIFTVEL
const Double_t PMAX
const Double_t DIAMETERSTRAWTUBE2
const Double_t MVD_Z_LAYER_END[12]
const Double_t MVD_BARREL_ZLIMITS[2][4]
const Double_t MVD_BARREL_NOZONE_Z[2]
const int MVD_MINIDISK_LAYERS
const Double_t DIAMETERSTRAWTUBE
const Double_t MVD_BARREL_RADIASQMean[4]
const int MINOUTERHITSPERTRACK
const int MAXMVDMCPOINTS
const int MINIMUMMVDHITSPERTRACK
const Double_t APOTEMAMINSKEWSTRAW
const int MVD_DISK_LAYERS
const Double_t BFIELD
const int MAX_NOT_CONNECTED
const Double_t MVD_BARREL_PARTIAL_AZIMUTH_GAP_LOW_INNER[11][13]
const Double_t STRAW_SKEW_INCLINATION
const Double_t MVD_BARREL_NOZONE_X[2]
const Double_t TWO_PI
const Double_t RADIUSSCITIL
const int MAXHITSINCELL
const int MVD_BARREL_LAYERS_FULL_AZIMUTH
const Double_t SEMILENGTH_STRAIGHT
const Double_t PI
const int MVD_BARREL_LAYERS
const Double_t STRAWRADIUS
const Double_t ERRORSTRIP
const Double_t MVD_BARREL_FULL_AZIMUTH_MAX_RADIUS[3]
const Double_t APOTEMAMINOUTERPARSTRAW
const Double_t DELTAnR
const int MAXFOUNDCLUSTERS
const Double_t MVD_BARREL_PARTIAL_AZIMUTH_RADIUS_INNER[11]
const Double_t MVD_BARREL_PARTIAL_AZIMUTH_GAP_UP_INNER[11][13]
const Double_t MVD_DISK_Z[2]
const Double_t VERTICALGAP
const int MAXSKEWHITSINFIT
const Double_t ERRORSQSTRIP
const Double_t MVD_BARREL_PARTIAL_AZIMUTH_Z_LOW[11]
const int MAXHITSINCLUSTER
const Double_t APOTEMAMAXINNERPARSTRAW
const int MAXSTTHITSINTRACK
const Double_t MVD_BARREL_FULL_AZIMUTH_Z_LOW[3]
const Double_t CVEL
const Double_t MVD_Z_LAYER_BEGIN[12]
const Double_t ERRORSQPIXEL
const Double_t MVD_DISK_MAX_RADIUS[2]
const int MAXHITSINFIT
const Double_t MVD_BARREL_AVERAGE_RADIUS[4]
const Double_t ERRORPIXEL
const int MINIMUMSTTMHITSPERTRACK
const Double_t APOTEMAMAXSKEWSTRAW
const Double_t MVD_DISK_MIN_RADIUS[2]
const Double_t MVD_BARREL_RADIASQDifference[4]
const Double_t APOTEMASTRAWDETECTORMIN
const Double_t MVD_BARREL_PARTIAL_AZIMUTH_Z_UP[11]
const Double_t MVD_BARREL_FULL_AZIMUTH_Z_UP[3]
const int MVD_BARREL_PARTIAL_AZIMUTH_NGAP[11][2]
const Double_t ZCENTER_STRAIGHT
const Double_t MVD_BARREL_PARTIAL_AZIMUTH_RADIUS_OUTER[11]
const Double_t MVD_BARREL_PARTIAL_AZIMUTH_GAP_UP_OUTER[11][13]
const Double_t DIMENSIONSCITIL