R3BROOT
R3B analysis software
Loading...
Searching...
No Matches
R3BNeulandOnlineSpectra.cxx
Go to the documentation of this file.
1/******************************************************************************
2 * Copyright (C) 2019 GSI Helmholtzzentrum für Schwerionenforschung GmbH *
3 * Copyright (C) 2019-2025 Members of R3B Collaboration *
4 * *
5 * This software is distributed under the terms of the *
6 * GNU General Public Licence (GPL) version 3, *
7 * copied verbatim in the file "LICENSE". *
8 * *
9 * In applying this license GSI does not waive the privileges and immunities *
10 * granted to it by virtue of its status as an Intergovernmental Organization *
11 * or submit itself to any jurisdiction. *
12 ******************************************************************************/
13
15#include "R3BEventHeader.h"
16#include "R3BShared.h"
17
18#include <FairRunOnline.h>
19
20#include <FairRootManager.h>
21#include <TCanvas.h>
22#include <TFile.h>
23#include <TH1D.h>
24#include <TH2D.h>
25#include <THttpServer.h>
26#include <iostream>
27#include <limits>
28
30 : FairTask("R3BNeulandOnlineSpectra", 0)
31 , fNeulandMappedData("NeulandMappedData")
32 , fNeulandCalData("NeulandCalData")
33 , fNeulandHits("NeulandHits")
34{
35}
36
38{
39 // Initialize random number:
40 std::srand(std::time(0)); // use current time as seed for random generator
41
42 auto run = FairRunOnline::Instance();
43 if (run != nullptr && run->GetHttpServer() != nullptr)
44 {
45 fIsOnline = true;
46 }
47
48 if (fIsOnline)
49 {
50 run->GetHttpServer()->Register("/Tasks", this);
51 run->GetHttpServer()->RegisterCommand("Reset_Neuland", Form("/Tasks/%s/->ResetHistos()", GetName()));
52 run->GetHttpServer()->RegisterCommand("Reset_Neuland_Mapped",
53 Form("/Tasks/%s/->ResetHistosMapped()", GetName()));
54 }
55
56 auto ioman = FairRootManager::Instance();
57 if (ioman == nullptr)
58 {
59 throw std::runtime_error("R3BNeulandOnlineSpectra: No FairRootManager");
60 }
61
62 fEventHeader = dynamic_cast<R3BEventHeader*>(ioman->GetObject("EventHeader."));
63 if (fEventHeader == nullptr)
64 {
65 throw std::runtime_error("R3BNeulandOnlineSpectra: No R3BEventHeader");
66 }
67
68 fNeulandMappedData.Init();
69 fNeulandCalData.Init();
70 fNeulandHits.Init();
71
72 auto canvasMapped = new TCanvas("NeulandMapped", "NeulandMapped", 10, 10, 850, 850);
73 canvasMapped->Divide(1, 2);
74
75 canvasMapped->cd(1);
76 ahMappedBar1[0] = R3B::root_owned<TH1D>("hMappedBar1fLE", "Mapped: Bars fine 1LE", fNBars, 0.5, fNBars + 0.5);
77 ahMappedBar1[0]->Draw();
78 ahMappedBar1[1] = R3B::root_owned<TH1D>("hMappedBar1fTE", "Mapped: Bars fine 1TE", fNBars, 0.5, fNBars + 0.5);
79 ahMappedBar1[1]->SetLineColor(1);
80 ahMappedBar1[1]->Draw("same");
81 ahMappedBar1[2] = R3B::root_owned<TH1D>("hMappedBar1cLE", "Mapped: Bars coarse 1LE", fNBars, 0.5, fNBars + 0.5);
82 ahMappedBar1[2]->SetLineColor(2);
83 ahMappedBar1[2]->Draw("same");
84 ahMappedBar1[3] = R3B::root_owned<TH1D>("hMappedBar1cTE", "Mapped: Bars coarse 1TE", fNBars, 0.5, fNBars + 0.5);
85 ahMappedBar1[3]->SetLineColor(6);
86 ahMappedBar1[3]->Draw("same");
87
88 canvasMapped->cd(2);
89 ahMappedBar2[0] = R3B::root_owned<TH1D>("hMappedBar2fLE", "Mapped: Bars fine 2LE", fNBars, 0.5, fNBars + 0.5);
90 ahMappedBar2[0]->Draw();
91 ahMappedBar2[1] = R3B::root_owned<TH1D>("hMappedBar2fTE", "Mapped: Bars fine 2TE", fNBars, 0.5, fNBars + 0.5);
92 ahMappedBar2[1]->SetLineColor(1);
93 ahMappedBar2[1]->Draw("same");
94 ahMappedBar2[2] = R3B::root_owned<TH1D>("hMappedBar2cLE", "Mapped: Bars coarse 2LE", fNBars, 0.5, fNBars + 0.5);
95 ahMappedBar2[2]->SetLineColor(2);
96 ahMappedBar2[2]->Draw("same");
97 ahMappedBar2[3] = R3B::root_owned<TH1D>("hMappedBar2cTE", "Mapped: Bars coarse 2TE", fNBars, 0.5, fNBars + 0.5);
98 ahMappedBar2[3]->SetLineColor(6);
99 ahMappedBar2[3]->Draw("same");
100
101 canvasMapped->cd(0);
102 if (fIsOnline)
103 {
104 run->AddObject(canvasMapped);
105 }
106
107 auto canvasJump = new TCanvas("NeulandJumps", "NeulandJumps", 10, 10, 850, 850);
108 canvasJump->Divide(1, 2);
109
110 hJumpsvsEvnt = R3B::root_owned<TH2D>("hJumpsvsEvnt", "Jumps vs Evnt", 1000, 0, 10000000, 1000, -11000, 11000);
111 canvasJump->cd(1);
112 gPad->SetLogz();
113 hJumpsvsEvnt->Draw("colz");
114
115 hJumpsvsEvntzoom =
116 R3B::root_owned<TH2D>("hJumpsvsEvntzoom", "Jumps vs Evnt zoomed", 1000, 0, 10000000, 1000, -200, 200);
117 canvasJump->cd(2);
118 gPad->SetLogz();
119 hJumpsvsEvntzoom->Draw("colz");
120
121 canvasJump->cd(0);
122 if (fIsOnline)
123 {
124 run->AddObject(canvasJump);
125 }
126
127 auto canvasCal = new TCanvas("NeulandCal", "NeulandCal", 10, 10, 850, 850);
128 canvasCal->Divide(2, 3);
129
130 hTstart = R3B::root_owned<TH1D>("hTstart", "Tstart", 1000, -10000., 50000.);
131 canvasCal->cd(1);
132 hTstart->Draw();
133
134 hNstart = R3B::root_owned<TH1D>("hNstart", "Nstart", 20, 0.5, 20.5);
135 hTestJump = R3B::root_owned<TH2D>("hTestJump", "Test Jump", fNBars, 0.5, fNBars + 0.5, 1000, -11000., 11000.);
136 canvasCal->cd(2);
137 // hNstart->Draw();
138 gPad->SetLogz();
139 hTestJump->Draw("colz");
140
141 ahCalTvsBar[0] = R3B::root_owned<TH2D>(
142 "hCalT1vsBar", "CalLevel: Time1 vs Bars ", fNBars, 0.5, fNBars + 0.5, 2000, -5000, 15000);
143 canvasCal->cd(3);
144 ahCalTvsBar[0]->Draw("colz");
145
146 ahCalTvsBar[1] = R3B::root_owned<TH2D>(
147 "hCalT2vsBar", "CalLevel: Time2 vs Bars ", fNBars, 0.5, fNBars + 0.5, 2000, -5000, 15000);
148 canvasCal->cd(4);
149 ahCalTvsBar[1]->Draw("colz");
150
151 ahCalEvsBar[0] =
152 R3B::root_owned<TH2D>("hCalE1vsBar", "CalLevel: Energy1 vs Bars", fNBars, 0.5, fNBars + 0.5, 600, 0, 600);
153 canvasCal->cd(5);
154 ahCalEvsBar[0]->Draw("colz");
155
156 ahCalEvsBar[1] =
157 R3B::root_owned<TH2D>("hCalE2vsBar", "CalLevel: Energy2 vs Bars", fNBars, 0.5, fNBars + 0.5, 600, 0, 600);
158 canvasCal->cd(6);
159 ahCalEvsBar[1]->Draw("colz");
160
161 canvasCal->cd(0);
162 if (fIsOnline)
163 {
164 run->AddObject(canvasCal);
165 }
166
167 auto canvasHit = new TCanvas("NeulandHit", "NeulandHit", 10, 10, 850, 850);
168 canvasHit->Divide(2, 2);
169
170 hHitEvsBar =
171 R3B::root_owned<TH2D>("hHitEvsBar", "HitLevel: Energy vs Bars ", fNBars, 0.5, fNBars + 0.5, 1000, 0, 60);
172 canvasHit->cd(1);
173 hHitEvsBar->Draw("colz");
174
175 hTdiffvsBar = R3B::root_owned<TH2D>("hTdiffvsBar", "Tdiff vs Bars", fNBars, 0.5, fNBars + 0.5, 1000, -60, 60);
176 canvasHit->cd(2);
177 hTdiffvsBar->Draw("colz");
178
179 hToFvsBar = R3B::root_owned<TH2D>("hTofvsBar", "Tof vs Bars", fNBars, 0.5, fNBars + 0.5, 6000, -100, 400);
180 hToFcvsBar = R3B::root_owned<TH2D>("hTofcvsBar", "Tofc vs Bars", fNBars, 0.5, fNBars + 0.5, 6000, -100, 400);
181 canvasHit->cd(3);
182 // hToFcvsBar->Draw("colz");
183 hToFvsBar->Draw("colz");
184
185 hTofvsEhit = R3B::root_owned<TH2D>("hTofvsEhit", "Tof vs Ehit", 2000, 0, 120, 6000, -100, 400);
186 hTofcvsEhit = R3B::root_owned<TH2D>("hTofcvsEhit", "Tofc vs Ehit", 2000, 0, 120, 6000, -100, 400);
187 canvasHit->cd(4);
188 // hTofcvsEhit->Draw("colz");
189 hTofvsEhit->Draw("colz");
190
191 canvasHit->cd(0);
192 if (fIsOnline)
193 {
194 run->AddObject(canvasHit);
195 }
196
197 auto canvasHitCosmics = new TCanvas("NeulandHitCosmics", "NeulandHitCosmics", 10, 10, 850, 850);
198 canvasHitCosmics->Divide(2, 2);
199
200 hHitEvsBarCosmics = R3B::root_owned<TH2D>(
201 "hHitEvsBarCosmics", "HitLevel: Energy vs Bars cosmics", fNBars, 0.5, fNBars + 0.5, 1000, 0, 60);
202 canvasHitCosmics->cd(1);
203 hHitEvsBarCosmics->Draw("colz");
204
205 hTdiffvsBarCosmics =
206 R3B::root_owned<TH2D>("hTdiffvsBarCosmics", "Tdiff vs Bars cosmics", fNBars, 0.5, fNBars + 0.5, 1000, -60, 60);
207 canvasHitCosmics->cd(2);
208 hTdiffvsBarCosmics->Draw("colz");
209
210 hDT675 =
211 R3B::root_owned<TH2D>("hDT675", "Thit - Thit675 vs Bars cosmics", fNBars, 0.5, fNBars + 0.5, 1000, -20, 20);
212 canvasHitCosmics->cd(3);
213 hDT675->Draw("colz");
214
215 hDT675c = R3B::root_owned<TH2D>(
216 "hDT675c", "Thit - Thit675 vs Bars cosmics corrected", fNBars, 0.5, fNBars + 0.5, 1000, -20, 20);
217
218 hDT625 =
219 R3B::root_owned<TH2D>("hDT625", "Thit - Thit625 vs Bars cosmics", fNBars, 0.5, fNBars + 0.5, 1000, -20, 20);
220 canvasHitCosmics->cd(4);
221 hDT625->Draw("colz");
222
223 hDT625c = R3B::root_owned<TH2D>(
224 "hDT625c", "Thit - Thit625 vs Bars cosmics corrected", fNBars, 0.5, fNBars + 0.5, 1000, -20, 20);
225
226 canvasHitCosmics->cd(0);
227 if (fIsOnline)
228 {
229 run->AddObject(canvasHitCosmics);
230 }
231
232 auto canvasPlaneXY = new TCanvas("NeulandPlaneXY", "NeulandPlaneXY", 10, 10, 850, 850);
233 canvasPlaneXY->Divide(5, 6);
234 for (unsigned int i = 0; i < fNPlanes; i++)
235 {
236 ahXYperPlane[i] = R3B::root_owned<TH2D>("hHitXYPlane" + TString::Itoa(i, 10),
237 "Hit XY Plane" + TString::Itoa(i, 10),
238 300,
239 -150,
240 150,
241 300,
242 -150,
243 150);
244 canvasPlaneXY->cd(i + 1);
245 ahXYperPlane[i]->Draw("colz");
246 }
247 canvasPlaneXY->cd(0);
248 if (fIsOnline)
249 {
250 run->AddObject(canvasPlaneXY);
251 }
252
253 auto canvasPlaneSofia = new TCanvas("Timing", "Timing", 10, 10, 850, 850);
254 canvasPlaneSofia->Divide(2, 2);
255 hTofvsX = R3B::root_owned<TH2D>("hTofvsX", "Tof vs X", 3000, -200., 200., 6000, 0, 300);
256 hTofcvsX = R3B::root_owned<TH2D>("hTofcvsX", "Tofc vs X", 1000, -200., 200., 3000, 0, 300);
257 hTofvsY = R3B::root_owned<TH2D>("hTofvsY", "Tof vs Y", 3000, -200., 200., 6000, 0, 300);
258 hTofcvsY = R3B::root_owned<TH2D>("hTofcvsY", "Tofc vs Y", 3000, -200., 200., 6000, 0, 300);
259 hTofvsZ = R3B::root_owned<TH2D>("hTofvsZ", "Tof vs Z", 26, 0, 26, 3000, 0, 300);
260 hTofcvsZ = R3B::root_owned<TH2D>("hTofcvsZ", "Tofc vs Z", 26, 0, 26, 3000, 0, 300);
261
262 hSofiaTime = R3B::root_owned<TH1D>("hSofiaTime", "hSofiaTime", 50000, 0, 50000);
263 // canvasPlaneSofia->cd(1);
264 // hSofiaTime->Draw();
265
266 hNeuLANDvsStart =
267 R3B::root_owned<TH2D>("hNeuLANDvsStart", "hNeuLANDvsStart", 3000, -10000, 40000, 1000, -10000, 10000);
268 canvasPlaneSofia->cd(1);
269 hNeuLANDvsStart->Draw("colz");
270
271 hTOF = R3B::root_owned<TH1D>("hTOF", "hTOF", 6000, -11000, 11000);
272 hTOFc = R3B::root_owned<TH1D>("hTOFc", "hTOFc", 6000, -100, 500);
273 canvasPlaneSofia->cd(2);
274 gPad->SetLogy();
275 // hTOF->Draw();
276 // hTOFc->SetLineColor(2);
277 hTOFc->Draw("");
278
279 canvasPlaneSofia->cd(3);
280 gPad->SetLogz();
281 hTofcvsX->Draw("colz");
282 // hTofvsX->Draw("colz");
283
284 canvasPlaneSofia->cd(4);
285 gPad->SetLogz();
286 // hTofcvsZ->Draw("colz");
287 hTofvsZ->Draw("colz");
288
289 canvasPlaneSofia->cd(0);
290 if (fIsOnline)
291 {
292 run->AddObject(canvasPlaneSofia);
293 }
294
295 return kSUCCESS;
296}
297
299{
300 const double clight = 29.9792458;
301
302 const double start = fEventHeader->GetTStart();
303
304 if (((UInt_t)fEventHeader->GetEventno() % 10000000) < 10000)
305 {
306 hJumpsvsEvnt->Reset();
307 hJumpsvsEvntzoom->Reset();
308 }
309
310 const auto mappedData = fNeulandMappedData.Retrieve();
311 const auto calData = fNeulandCalData.Retrieve();
312 const auto hits = fNeulandHits.Retrieve();
313
314 for (const auto& mapped : mappedData)
315 {
316 const auto plane = mapped->GetPlaneId();
317 const auto barp = mapped->GetBarId();
318 const auto bar = (plane - 1) * 50 + barp;
319
320 if (mapped->GetFineTime1LE() > 0)
321 ahMappedBar1[0]->Fill(bar);
322 if (mapped->GetFineTime1TE() > 0)
323 ahMappedBar1[1]->Fill(bar);
324 if (mapped->GetCoarseTime1LE() > 0)
325 ahMappedBar1[2]->Fill(bar);
326 if (mapped->GetCoarseTime1TE() > 0)
327 ahMappedBar1[3]->Fill(bar);
328 if (mapped->GetFineTime2LE() > 0)
329 ahMappedBar2[0]->Fill(bar);
330 if (mapped->GetFineTime2TE() > 0)
331 ahMappedBar2[1]->Fill(bar);
332 if (mapped->GetCoarseTime2LE() > 0)
333 ahMappedBar2[2]->Fill(bar);
334 if (mapped->GetCoarseTime2TE() > 0)
335 ahMappedBar2[3]->Fill(bar);
336 }
337
338 for (const auto& data : calData)
339 {
340 const auto side = data->GetSide() - 1; // [1,2] -> [0,1]
341 const auto bar = data->GetBarId();
342 ahCalTvsBar[side]->Fill(bar, data->GetTime());
343 ahCalEvsBar[side]->Fill(bar, data->GetQdc());
344 if (std::isnan(data->GetTriggerTime()))
345 {
346 hNeuLANDvsStart->Fill(start, data->GetTime());
347 }
348 else
349 {
350 hNeuLANDvsStart->Fill(start, data->GetTime() - data->GetTriggerTime());
351 }
352
353 for (const auto& datax : calData)
354 {
355 const auto sidex = datax->GetSide() - 1; // [1,2] -> [0,1]
356 const auto barx = datax->GetBarId();
357
358 if (barx != bar)
359 {
360 hTestJump->Fill(barx, data->GetTime() - datax->GetTime());
361 hJumpsvsEvnt->Fill((UInt_t)fEventHeader->GetEventno() % 10000000, data->GetTime() - datax->GetTime());
362 hJumpsvsEvntzoom->Fill((UInt_t)fEventHeader->GetEventno() % 10000000,
363 data->GetTime() - datax->GetTime());
364 }
365 }
366 }
367
368 Double_t randx;
369
370 for (const auto& hit : hits)
371 {
372 const auto bar = hit->GetPaddle();
373
374 if (IsBeam())
375 {
376 hTstart->Fill(start);
377 if (std::isnan(hit->GetT()))
378 continue;
379 hHitEvsBar->Fill(bar, hit->GetE());
380 hTdiffvsBar->Fill(bar, hit->GetTdcL() - hit->GetTdcR());
381
382 const Double_t tcorr = hit->GetT() - (hit->GetPosition().Mag() - fDistanceToTarget) / clight;
383 const Double_t tadj = hit->GetT();
384
385 if (hit->GetE() > 0.)
386 { // 7.
387 hToFvsBar->Fill(bar, tadj);
388 hToFcvsBar->Fill(bar, tcorr);
389 hTOFc->Fill(tcorr);
390 hTOF->Fill(tadj);
391 }
392
393 hTofvsEhit->Fill(hit->GetE(), tadj);
394 hTofcvsEhit->Fill(hit->GetE(), tcorr);
395
396 randx = (std::rand() / (float)RAND_MAX);
397 const int plane = static_cast<const int>(std::floor((hit->GetPaddle() - 1) / 50)); // ig -1
398 ahXYperPlane[plane]->Fill(hit->GetPosition().X() + (plane % 2) * 5. * (randx - 0.5),
399 hit->GetPosition().Y() + ((plane + 1) % 2) * 5. * (randx - 0.5));
400
401 hTofvsX->Fill(hit->GetPosition().X() + (plane % 2) * 5. * (randx - 0.5), tadj);
402 hTofcvsX->Fill(hit->GetPosition().X() + (plane % 2) * 5. * (randx - 0.5), tcorr);
403 hTofvsY->Fill(hit->GetPosition().Y() + ((plane + 1) % 2) * 5. * (randx - 0.5), tadj);
404 hTofcvsY->Fill(hit->GetPosition().Y() + ((plane + 1) % 2) * 5. * (randx - 0.5), tcorr);
405 hTofvsZ->Fill(plane, tadj);
406 hTofcvsZ->Fill(plane, tcorr);
407 }
408 else
409 {
410 if ((fEventHeader->GetTpat() & fCosmicTpat) == fCosmicTpat)
411 { // 0x2000 before, 0x100 fission 2021
412 hHitEvsBarCosmics->Fill(bar, hit->GetE());
413 hTdiffvsBarCosmics->Fill(bar, hit->GetTdcL() - hit->GetTdcR());
414
415 for (const auto& hitref : hits)
416 {
417 if ((hitref->GetPaddle() == 675) && (bar != 675))
418 {
419 hDT675->Fill(
420 bar, (hit->GetTdcL() + hit->GetTdcR()) / 2. - (hitref->GetTdcL() + hitref->GetTdcR()) / 2.);
421 hDT675c->Fill(bar,
422 (hit->GetTdcL() + hit->GetTdcR()) / 2. -
423 (hitref->GetTdcL() + hitref->GetTdcR()) / 2. +
424 copysign(1., (hit->GetPosition() - hitref->GetPosition()).Y()) *
425 (hit->GetPosition() - hitref->GetPosition()).Mag() / clight);
426 }
427 if ((hitref->GetPaddle() == 625) && (bar != 625))
428 {
429 hDT625->Fill(
430 bar, (hit->GetTdcL() + hit->GetTdcR()) / 2. - (hitref->GetTdcL() + hitref->GetTdcR()) / 2.);
431 hDT625c->Fill(bar,
432 (hit->GetTdcL() + hit->GetTdcR()) / 2. -
433 (hitref->GetTdcL() + hitref->GetTdcR()) / 2. +
434 copysign(1., (hit->GetPosition() - hitref->GetPosition()).Y()) *
435 (hit->GetPosition() - hitref->GetPosition()).Mag() / clight);
436 }
437 }
438 }
439 }
440 }
441}
442
444{
445 TDirectory* tmp = gDirectory;
446 FairRootManager::Instance()->GetOutFile()->cd();
447
448 gDirectory->mkdir("R3BNeulandOnlineSpectra");
449 gDirectory->cd("R3BNeulandOnlineSpectra");
450
451 ahMappedBar1[0]->Write();
452 ahMappedBar1[1]->Write();
453 ahMappedBar1[2]->Write();
454 ahMappedBar1[3]->Write();
455 ahMappedBar2[0]->Write();
456 ahMappedBar2[1]->Write();
457 ahMappedBar2[2]->Write();
458 ahMappedBar2[3]->Write();
459
460 hTstart->Write();
461 hNstart->Write();
462
463 hTestJump->Write();
464 hJumpsvsEvnt->Write();
465 hJumpsvsEvntzoom->Write();
466
467 ahCalTvsBar[0]->Write();
468 ahCalTvsBar[1]->Write();
469 ahCalEvsBar[0]->Write();
470 ahCalEvsBar[1]->Write();
471
472 hHitEvsBar->Write();
473
474 hHitEvsBarCosmics->Write();
475
476 hTdiffvsBar->Write();
477 hToFvsBar->Write();
478 hTofvsEhit->Write();
479 hToFcvsBar->Write();
480 hTofcvsEhit->Write();
481
482 hTofvsX->Write();
483 hTofcvsX->Write();
484 hTofvsY->Write();
485 hTofcvsY->Write();
486 hTofvsZ->Write();
487 hTofcvsZ->Write();
488
489 hTdiffvsBarCosmics->Write();
490
491 hDT675->Write();
492 hDT625->Write();
493
494 hDT675c->Write();
495 hDT625c->Write();
496
497 for (unsigned int i = 0; i < fNPlanes; i++)
498 {
499 ahXYperPlane[i]->Write();
500 }
501
502 hSofiaTime->Write();
503 hNeuLANDvsStart->Write();
504 hTOF->Write();
505 hTOFc->Write();
506
507 gDirectory = tmp;
508}
509
511{
512 ahMappedBar1[0]->Reset();
513 ahMappedBar1[1]->Reset();
514 ahMappedBar1[2]->Reset();
515 ahMappedBar1[3]->Reset();
516 ahMappedBar2[0]->Reset();
517 ahMappedBar2[1]->Reset();
518 ahMappedBar2[2]->Reset();
519 ahMappedBar2[3]->Reset();
520
521 hTstart->Reset();
522 hNstart->Reset();
523
524 hTestJump->Reset();
525 hJumpsvsEvnt->Reset();
526 hJumpsvsEvntzoom->Reset();
527
528 ahCalTvsBar[0]->Reset();
529 ahCalTvsBar[1]->Reset();
530 ahCalEvsBar[0]->Reset();
531 ahCalEvsBar[1]->Reset();
532
533 hHitEvsBar->Reset();
534
535 hHitEvsBarCosmics->Reset();
536
537 hTdiffvsBar->Reset();
538 hToFvsBar->Reset();
539 hTofvsEhit->Reset();
540 hToFcvsBar->Reset();
541 hTofcvsEhit->Reset();
542
543 hTofvsX->Reset();
544 hTofcvsX->Reset();
545 hTofvsY->Reset();
546 hTofcvsY->Reset();
547 hTofvsZ->Reset();
548 hTofcvsZ->Reset();
549
550 hTdiffvsBarCosmics->Reset();
551
552 hDT675->Reset();
553 hDT625->Reset();
554
555 for (unsigned int i = 0; i < fNPlanes; i++)
556 {
557 ahXYperPlane[i]->Reset();
558 }
559
560 hSofiaTime->Reset();
561 hNeuLANDvsStart->Reset();
562 hTOF->Reset();
563 hTOFc->Reset();
564}
565
567{
568 ahMappedBar1[0]->Reset();
569 ahMappedBar1[1]->Reset();
570 ahMappedBar1[2]->Reset();
571 ahMappedBar1[3]->Reset();
572 ahMappedBar2[0]->Reset();
573 ahMappedBar2[1]->Reset();
574 ahMappedBar2[2]->Reset();
575 ahMappedBar2[3]->Reset();
576}
577
578bool R3BNeulandOnlineSpectra::IsBeam() const { return !std::isnan(fEventHeader->GetTStart()); }
579
ClassImp(R3B::Neuland::Cal2HitPar)
double GetTStart() const
void Exec(Option_t *) override
auto root_owned(Args &&... args)
Definition R3BShared.h:52