13 const int absorberactive = 0,
16 float svtx_inner_radius = 2.71;
18 if (radius > svtx_inner_radius) {
19 cout <<
"inconsistency: radius: " << radius
20 <<
" larger than SVTX inner radius: " << svtx_inner_radius << endl;
28 gSystem->Load(
"libg4detectors.so");
29 gSystem->Load(
"libg4testbench.so");
43 double si_thickness[7] = {0.02, 0.02, 0.032, 0.032, 0.032, 0.032, 0.032};
44 double svxrad[7] = {svtx_inner_radius, 4.63, 9.5, 10.5, 44.5, 45.5, 80.0};
46 double support_thickness[7] = {0.0154, 0.0154, 0.0338/2.0, 0.0338/2.0, 0.0238/2.0, 0.0238/2.0, 0.0238};
47 double length[7] = {20., 20., -1, -1., - 1., - 1., -1};
54 radius = svxrad[ilayer];
56 if (radius < inner_radius)
58 cout <<
"current radius " << radius <<
" smaller than inner radius "
59 << inner_radius << endl;
63 if (length[ilayer] > 0)
81 if (length[ilayer] > 0)
98 cout <<
"layer number mismatch for Max_si_layer, Max_si_layer "
105 cout <<
"============================ G4_Svtx.C::Svtx() ============================" << endl;
106 cout <<
" SVTX Material Description:" << endl;
108 cout <<
" layer " << ilayer
109 <<
" radius " << svxrad[ilayer]
110 <<
" zlength " << length[ilayer]
111 <<
" thickness (Si) " << si_thickness[ilayer]
112 <<
" support thickness (Cu) " << support_thickness[ilayer]
115 cout <<
"===========================================================================" << endl;
129 gSystem->Load(
"libfun4all.so");
130 gSystem->Load(
"libg4detectors.so");
147 double svxcellsizex[7] = {0.0050, 0.0050, 0.0060, 0.0240, 0.0060, 0.0240, 0.0060};
150 double svxcellsizey[7] = {0.0425, 0.0425, 0.8000, 0.2000, 0.8000, 0.2000, 0.8000};
157 svtx_cells->
cellsize(
i, svxcellsizex[idx], svxcellsizey[idx]);
176 gSystem->Load(
"libfun4all.so");
177 gSystem->Load(
"libg4hough.so");
189 PHG4SvtxDigitizer* digi =
new PHG4SvtxDigitizer();
191 digi->set_adc_scale(0, 255, 1.0
e-6);
192 digi->set_adc_scale(1, 255, 1.0
e-6);
193 digi->set_adc_scale(2, 255, 1.6
e-6);
194 digi->set_adc_scale(3, 255, 1.6
e-6);
195 digi->set_adc_scale(4, 255, 1.6
e-6);
196 digi->set_adc_scale(5, 255, 1.6
e-6);
197 digi->set_adc_scale(6, 255, 1.6
e-6);
204 PHG4SvtxDeadArea* deadarea =
new PHG4SvtxDeadArea();
218 PHG4SvtxThresholds* thresholds =
new PHG4SvtxThresholds();
220 thresholds->set_threshold(0,0.33);
221 thresholds->set_threshold(1,0.33);
222 thresholds->set_threshold(2,0.33);
223 thresholds->set_threshold(3,0.33);
224 thresholds->set_threshold(4,0.33);
225 thresholds->set_threshold(5,0.33);
226 thresholds->set_threshold(6,0.33);
227 thresholds->set_use_thickness_mip(0,
true);
235 PHG4SvtxClusterizer* clusterizer =
new PHG4SvtxClusterizer();
237 clusterizer->set_threshold(0.33);
238 clusterizer->set_z_clustering(2,
false);
239 clusterizer->set_z_clustering(3,
false);
240 clusterizer->set_z_clustering(4,
false);
241 clusterizer->set_z_clustering(5,
false);
242 clusterizer->set_z_clustering(6,
false);
253 PHG4HoughTransform* hough =
new PHG4HoughTransform(7,7);
255 hough->set_mag_field(1.4);
256 hough->set_material(0, 0.013);
257 hough->set_material(1, 0.013);
258 hough->set_material(2, 0.013);
259 hough->set_material(3, 0.013);
260 hough->set_material(4, 0.010);
261 hough->set_material(5, 0.010);
262 hough->set_material(6, 0.020);
263 hough->setPtRescaleFactor(0.9972);
264 hough->set_chi2_cut_init(3.0);
265 hough->set_chi2_cut_full(3.0);
266 hough->set_ca_chi2_cut(3.0);
267 hough->setCutOnDCA(
true);
268 hough->setDCACut(0.1);
269 hough->setDCAZCut(0.1);
270 hough->setRejectGhosts(
false);
271 hough->setRemoveHits(
false);
278 PHG4TrackGhostRejection* rejection =
new PHG4TrackGhostRejection(7);
280 rejection->set_max_shared_hits(3);
300 PHG4SvtxTrackProjection* projection =
new PHG4SvtxTrackProjection();
307 PHG4SvtxBeamSpotReco* beamspot =
new PHG4SvtxBeamSpotReco();
317 <<
"Warning: G4_Svtx_Reco() was moved to G4_Svtx.C and renamed to Svtx_Reco(), please update macros"
318 <<
"\033[0m" << endl;
330 gSystem->Load(
"libfun4all.so");
331 gSystem->Load(
"libg4detectors.so");
332 gSystem->Load(
"libg4hough.so");
333 gSystem->Load(
"libg4eval.so");