PandaRoot
PndTrkConstants.h
Go to the documentation of this file.
1 #ifndef PndTrkConstants_H
2 #define PndTrkConstants_H 1
3 
4 // definition of constants used in PndTrk.... classes;
5 
6 // integer constants
7 const int MAXHITSINCELL = 20,
8  // the following MAXHITSINFIT cannot be too large because the fit
9  // crashes 'silently' for too much memory consumption in the character arrays
10  // or takes too long time;
11 
12  TIMEOUT = 60;
13 
14 // B field in Tesla
15 const Double_t BFIELD = 2.,
16  CVEL = 2.99792, // velocity of light
17  // DELTAnR = range of nR in TrkAssociatedParallelHitsToHelixquater
18  DELTAnR = 2., // range of nR in TrkAssociatedParallelHitsToHelixquater
19  PMAX = 100.,
20  VERTICALGAP = 4.; // (cm) gap between Left and Right sections of detector.
21 
22 //----------------------------- Mvd constants, according to Mvd design;
23 const Double_t ERRORPIXEL = 0.02611, ERRORSTRIP = 0.02611, ERRORSQPIXEL = 0.00068175, ERRORSQSTRIP = 0.00068175;
24 
25 // averge radius of the various layers of the barrel part;
26 const int MAXMVDMCPOINTS = 2000;
27 
28 //--------------------------------------- MVD Barrel, full azimuthal coverage;
29 const int MVD_BARREL_LAYERS_FULL_AZIMUTH = 3; // number of barrel layers with 360 degree azimuthal coverage;
30 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},
31  MVD_BARREL_FULL_AZIMUTH_Z_UP[3] = {-10.248, -6.707, -3.379};
32 
33 //--------------------------------------- MVD Barrel, partial azimuthal coverage;
34 
35 const int MVD_BARREL_LAYERS_PARTIAL_AZIMUTH = 11, // number barrel layers with less than 360 degree azimuthal coverage;
36 
37  // in the geometry of the Mvd it is possible to assume that the number of gaps is
38  // not necessarily the same for the Inner and Outer barrels of any Mvd Section;
39  // therefore in MVD_BARREL_PARTIAL_AZIMUTH_NGAP[i][j] i is the index indicating the
40  // i-th Barrel having Partial Azimuth Coverage; j is the index indicating
41  // the INNER (j=0) and the OUTER (j=1) number of azimuthal gaps;
42 
43  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};
44 const Double_t
45  // in practice there are never more than 13 gaps in azimuthal angle in radians from 0 to 2*pi;
47  {
48 
49  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
50  0., 1.693, 4.834, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // second Barrel
51  0., 1.827, 4.969, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // third Barrel
52  0., 1.2687, 2.167, 4.858, 0., 0., 0., 0., 0., 0., 0., 0., 0., // fourth Barrel
53  0.372, 3.066, 3.9615, 5.758, 0., 0., 0., 0., 0., 0., 0., 0., 0., // fifth Barrel
54  1.1525, 4.555, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // sixth Barrel
55  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
56  1.2, 4.34, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // eighth Barrel
57  0., 1.828, 4.9696, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // ninth Barrel
58  1.2, 4.341, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // tenth Barrel
59  0., 1.827, 4.969, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0. // eleventh Barrel
60 },
62  {
63  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
64  1.449, 4.59, 6.283, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // second Barrel
65  1.162, 4.303, 6.283, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // third Barrel
66  0.75, 1.646, 4.34, 6.283, 0., 0., 0., 0., 0., 0., 0., 0., 0., // fourth Barrel
67  2.545, 3.444, 5.237, 6.136, 0., 0., 0., 0., 0., 0., 0., 0., 0., // fifth Barrel
68  1.877, 5.019, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // sixth Barrel
69  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
70  1.789, 4.931, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // eighth Barrel
71  1.161, 4.302, 6.283, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // ninth Barrel
72  1.789, 4.931, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // tenth Barrel
73  1.162, 4.303, 6.283, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0. // eleventh Barrel
74 },
75 
77  {
78  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
79  0., 1.460, 1.9, 4.6, 5.045, 0., 0., 0., 0., 0., 0., 0., 0., // second Barrel
80  0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // third Barrel
81  0., 1.666, 4.356, 5.256, 0., 0., 0., 0., 0., 0., 0., 0., 0., // fourth Barrel
82  0., 0.763, 2.559, 3.46, 6.1486, 0., 0., 0., 0., 0., 0., 0., 0., // fifth Barrel
83  0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // sixth Barrel
84  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
85  1.413, 4.555, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // eighth Barrel
86  0., 1.8964, 5.038, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // ninth Barrel
87  1.4135, 4.555, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // tenth Barrel
88  0., 1.896, 5.038, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0. // eleventh Barrel
89 },
91  {
92  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
93  1.238, 1.683, 4.383, 4.825, 6.283, 0., 0., 0., 0., 0., 0., 0., 0., // second Barrel
94  0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // third Barrel
95  1.252, 3.947, 4.843, 6.283, 0., 0., 0., 0., 0., 0., 0., 0., 0., // fourth Barrel
96  0.352, 2.148, 3.046, 5.739, 6.283, 0., 0., 0., 0., 0., 0., 0., 0., // fifth Barrel
97  0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // sixth Barrel
98  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
99  1.876, 5.018, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // eighth Barrel
100  1.393, 4.5346, 6.283, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // ninth Barrel
101  1.876, 5.018, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., // tenth Barrel
102  1.393, 4.535, 6.283, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0. // eleventh Barrel
103 },
104  // radius of INNER and OUTER layers of a Barrel; in case the Barrel can be described by one
105  // radius only then MVD_BARREL_PARTIAL_AZIMUTH_RADIUS_OUTER is set at -1.;
106 
107  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},
108  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},
109 
110  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},
111  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};
112 
113 // old stuff;------------------------------------------------------------------------------------
114 // 0 --> innermost layer; 3 --> outermost layer;
115 
116 const int MVD_BARREL_LAYERS = 4; // number of barrel layers;
117 
118 // Radia of the Barrel Mvd layers;
119 // MVD_BARREL_AVERAGE_RADIUS[i] == AVERAGE Radius of i-th layer;
120 // MVD_BARREL_ZLIMITS[0][i] = Minimum Z of i-th layer,
121 // MVD_BARREL_ZLIMITS[1][i] = Maximum Z of i-th layer,
122 // MVD_BARREL_NOZONE_X[0 or 1] = X lower and upper limits of the zone of the beam pipe;
123 // MVD_BARREL_NOZONE_X[0 or 1] = Z lower and upper limits of the zone of the beam pipe;
124 
125 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.},
126  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.},
127  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};
128 
129 // end of old stuff ---------------------------------------------------------------------------------
130 
131 //---------------------------------------- MVD MiniDisks geometry infos;
132 
133 // this disks are positioned perpendicularly to the Z direction; the thickness of the sensitive layer is 0.02 ;
134 const int MVD_MINIDISK_LAYERS = 12; // number of Mvd MiniDisks;
135 // Z positions;
136 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},
137  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};
138 
139 //---------------------------------------- MVD Disks
140 
141 // 0 --> most upstream layer; 1 --> most downstream layer;
142 const int MVD_DISK_LAYERS = 2; // number of Mvd disks;
143 // Z positions; in reality there are to disks very close to each other
144 // then take the average Z to describe both;
145 const Double_t MVD_DISK_Z[2] = {16.265, 20.735},
146 
147  // each layer has a maximum radius and a minimum radius;
148  MVD_DISK_MIN_RADIUS[2] = {7.5, 7.5}, MVD_DISK_MAX_RADIUS[2] = {13.11, 13.11};
149 
150 //-----------------------------
151 
152 //----------------------------- SciTil detector constants
153 // RADIUSSCITIL = radius of the cylinder tangent to the SciTil tiles in the middle of each tile;
154 const Double_t RADIUSSCITIL = 49.27, DIMENSIONSCITIL = 2.85;
155 //-----------------------------
156 
157 //----------------------------- STT detector constants
158 // maximum radius of the Stt detector in cm; this is the radius CIRCUMSCRIBED to the outer Hexagon
159 // delimiting the STT detector;
160 const Double_t RSTRAWDETECTORMAX = 40.73,
161  // APOTEMA means the radius of a circle INSCRIBED in a Hexagon (this is the same as the
162  // mathematical definition); otherwise the name Radius is used instead;
164  APOTEMAMAXSKEWSTRAW = 31.517569, // delimitation of the skew area
166  APOTEMAMINSKEWSTRAW = 23.246827, // delimitation of the skew area
167  APOTEMASTRAWDETECTORMIN = 16.119; // minimum APOTEMA of the Stt detector in cm
168  // this is the Radius of the circle INSCRIBED in the
169  // smaller Hexagon delimiting the STT detector;
170 const int MAXFOUNDCLUSTERS = 100, // maximum allowed clusters in the event;
171  MAXHITSINCLUSTER = 200, // maximum allowed hits in a cluster;
173 
175  MAX_NOT_CONNECTED = 1; // maximum # of STT "holes" in the hits of a track;
176 
177 const Double_t DIAMETERSTRAWTUBE = 1., DIAMETERSTRAWTUBE2 = 1.,
178  // semilength of a axial straw;
180  STTDRIFTVEL = 0.0025, // in cm/nsec
181  // Z position of the center of the axial straw;
183 
184 //-----------------------------
185 
186 const Double_t PI = 3.141592654, TWO_PI = 6.283185307;
187 
188 #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