30 FairRunAna* fRunAna =
new FairRunAna();
36 fRunAna->SetField(magField);
40 out->
Add(fileName.Data());
41 cout <<
"#recorded entries = " << out->
GetEntries() << endl;
69 cX->
Range(-1100., -130., 1100., 110.);
71 cY->
Range(-1100., -130., 1100., 110.);
75 for (
Int_t iEv = 0; iEv < nEvents; iEv++) {
79 printf(
"event: %d\n", iEv);
99 Double_t x1 = x01 + tx1 * (z_targ - z01);
100 Double_t y1 = y01 + ty1 * (z_targ - z01);
101 Double_t x2 = x02 + tx2 * (z2_sil - z02);
102 Double_t y2 = y02 + ty2 * (z2_sil - z02);
105 TLine* lX =
new TLine(z_targ, x1, z2_sil, x2);
111 TLine* lY =
new TLine(z_targ, y1, z2_sil, y2);
125 Int_t nSteps = (isField) ? 20 : 1;
136 xPrev = parPrev.GetX();
137 yPrev = parPrev.GetY();
138 zPrev = parPrev.GetZ();
140 xPrev += parPrev.GetTx() * (zPrev - z1_gem);
141 yPrev += parPrev.GetTy() * (zPrev - z1_gem);
145 for (
Int_t iStep = 0; iStep < nSteps; iStep++) {
149 Double_t x = xPrev + parPrev.GetTx() * step;
150 Double_t y = yPrev + parPrev.GetTy() * step;
180 if (Z >= -809. && Z <= -807.)
182 if (Z >= -290. && Z <= -288.)
197 Double_t x1 = x0 + tx * (z1_mwpc - z0);
198 Double_t y1 = y0 + ty * (z1_mwpc - z0);
199 Double_t x2 = x0 + tx * (z_targ - z0);
200 Double_t y2 = y0 + ty * (z_targ - z0);
203 TLine* lX =
new TLine(z1_mwpc, x1, z_targ, x2);
209 TLine* lY =
new TLine(z1_mwpc, y1, z_targ, y2);
216 Double_t x1 = x0 + tx * (z3_mwpc - z0);
217 Double_t y1 = y0 + ty * (z3_mwpc - z0);
218 Double_t x2 = x0 + tx * (z4_mwpc - z0);
219 Double_t y2 = y0 + ty * (z4_mwpc - z0);
222 TLine* lX =
new TLine(z3_mwpc, x1, z4_mwpc, x2);
228 TLine* lY =
new TLine(z3_mwpc, y1, z4_mwpc, y2);
252 Double_t x1 = x0 + tx * (z1_dch1 - z0);
253 Double_t y1 = y0 + ty * (z1_dch1 - z0);
254 Double_t x2 = x0 + tx * (z2_dch1 - z0);
255 Double_t y2 = y0 + ty * (z2_dch1 - z0);
258 TLine* lX =
new TLine(z1_dch1, x1, z2_dch1, x2);
264 TLine* lY =
new TLine(z1_dch1, y1, z2_dch1, y2);
269 }
else if (z0 > 650) {
275 Double_t x1 = x0 + tx * (z1_dch2 - z0);
276 Double_t y1 = y0 + ty * (z1_dch2 - z0);
277 Double_t x2 = x0 + tx * (z2_dch2 - z0);
278 Double_t y2 = y0 + ty * (z2_dch2 - z0);
281 TLine* lX =
new TLine(z1_dch2, x1, z2_dch2, x2);
287 TLine* lY =
new TLine(z1_dch2, y1, z2_dch2, y2);
300 TGaxis* axisX1 =
new TGaxis(-900, -100, -900, 100, -100, 100, 510,
"");
307 TGaxis* axisY1 =
new TGaxis(-900, -100, 1000, -100, -900, 1000, 510,
"");
314 const Int_t nPlane = 16;
317 Double_t zPos[nPlane] = {-850, -752, -645, -433, -429, -357, -318, -207.4, 65, 89, 113, 137, 161, 185, 510, 710};
318 Double_t xPos[nPlane] = {14, 14, 3, 6, 6, 14, 12, 14, 80, 80, 80, 80, 80, 80, 90, 90};
319 Double_t yPos[nPlane] = {14, 14, 3, 6, 6, 14, 12, 14, 23, 23, 23, 23, 23, 23, 90, 90};
320 for (
Int_t i = 0;
i < nPlane; ++
i) {
328 TGaxis* axisX2 =
new TGaxis(-870, -100, -870, 100, -100, 100, 510,
"");
334 TGaxis* axisY2 =
new TGaxis(-900, -100, 850, -100, -900, 900, 510,
"");
341 for (
Int_t i = 0;
i < nPlane; ++
i) {
349 cX->
SaveAs(
"tracks_ZX.pdf");
350 cY->
SaveAs(
"tracks_ZY.pdf");