25 name =
fTitle +
"_h1d_Emodules";
29 h1d_Emodules->GetYaxis()->SetTitle(
"Average Signal [MIP]");
33 name =
fTitle +
"_h2_calo";
34 h2_calo =
new TH2F(name,
"FHCal_Grid", 32, -80, 80, 25, -60, 60);
35 h2_calo->GetXaxis()->SetTitle(
"X position [mm]");
37 h2_calo->GetYaxis()->SetTitle(
"Y position [mm]");
42 name =
fTitle +
"_h2_calo_text";
47 name =
fTitle +
"_hModuleProfile";
54 hModuleProfile.at(uMod)->GetYaxis()->SetTitle(
"Average Signal [MIP]");
59 name =
fTitle +
"CanvasAmplitudes";
66 p1->
auxOpt = {
"colz logz",
"text"};
77 name =
fTitle +
"CanvasProfilesSmall";
81 int ModToPadSmall[35] = {
82 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, -1,
83 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34};
84 for (
UInt_t iPad = 0; iPad < 35; ++iPad) {
87 if (ModToPadSmall[iPad] < 0)
96 name =
fTitle +
"CanvasProfilesBig";
99 int ModToPadBig[20] = {35, 36, 45, 46, 37, 38, 47, 48, 39, 40, 49, 50, 41, 42, 51, 52, 43, 44, 53, 54};
100 for (
UInt_t iPad = 0; iPad < 20; ++iPad) {
110 hSecE =
new TH1F(name, name, 300, 0, 35000);
112 hSecE->GetYaxis()->SetTitle(
"Counts");
113 hSecE->GetXaxis()->SetTitle(
"Apml");
115 name =
fTitle +
"_wfmSec";
117 wfmSec->SetMarkerStyle(31);
118 wfmSec->SetMarkerSize(0.5);
121 name =
fTitle +
"CanvasSelection";
133 ps2->
opt =
"hist lp";
137 name =
fTitle +
"_h2_mod_sec";
138 h2_mod_sec =
new TH2F(name,
"FHCal - Module vs Section", 12, 0, 11, 55, 0, 55);
139 h2_mod_sec->GetXaxis()->SetTitle(
"Section Id");
141 h2_mod_sec->GetYaxis()->SetTitle(
"Module Id");
145 name =
fTitle +
"Canvas_mod_sec";
152 pms->
opt =
"colz logz";
155 name =
fTitle +
"_h1_totalE";
156 h1_totalE =
new TH1F(name,
"FHCal total energy", 700, 0, 2100);
157 h1_totalE->GetXaxis()->SetTitle(
"Reconstructed energy [MIP]");
159 h1_totalE->GetYaxis()->SetTitle(
"Counts / events");
162 name =
fTitle +
"Canvas_totalE";
172 name =
fTitle +
"_h2_totalE_hodoZ2_BT";
179 name =
fTitle +
"_h2_totalE_hodoZ2_CCT2";
186 name =
fTitle +
"Canvas_totalE_hodoZ2";
193 pfh1->
opt =
"colz logz";
198 pfh2->
opt =
"colz logz";
202 name =
fTitle +
"_h2_ZL_nEvent";
203 h2_ZL_nEvent =
new TH2F(name,
"FHCal - ZL - nEvent", 500, 0, 10000, 50, -50, 50);
210 name =
fTitle +
"Canvas_ZL_nEvent";
217 pzl->
opt =
"colz logz";
220 name =
fTitle +
"_h2_mod_ZL_nEvent";
223 new TH2F(
fTitle +
Form(
"_ZL_Mod_%02u", uMod),
Form(
"ZL_Mod_%02u", uMod), 500, 0, 10000, 50, -50, 50);
237 name =
fTitle +
"CanvasZLSmall";
240 for (
UInt_t iPad = 0; iPad < 35; ++iPad) {
243 if (ModToPadSmall[iPad] < 0)
247 p->
opt =
"colz logz";
251 name =
fTitle +
"CanvasZLBig";
254 for (
UInt_t iPad = 0; iPad < 20; ++iPad) {
259 p->
opt =
"colz logz";
398 const auto& positionMap =
fGeoHandler->GetPositionMap();
399 auto it = positionMap.find(digi->
GetAddress());
400 if (it == positionMap.end())
402 float realXpos = it->second.first.X();
403 float realYpos = it->second.first.Y();
405 h2_calo->Fill(realXpos, realYpos, signal);
414 int bin_x =
h2_calo_text->GetXaxis()->FindBin(realXpos);
415 int bin_y =
h2_calo_text->GetYaxis()->FindBin(realYpos);
435 auto Wfm = digi->
GetWfm();
436 std::vector<float> points(Wfm.size());
437 std::iota(std::begin(points), std::end(points), 0);
439 wfmSec->GetXaxis()->SetRangeUser(0, Wfm.size());
440 for (
UInt_t wfm_iter = 0; wfm_iter < Wfm.size(); wfm_iter++)
441 wfmSec->Fill(wfm_iter, Wfm.at(wfm_iter));
477 responses[strip][side] = signal;
485 if (z2 > 0.5 && sumInt > 0.5) {
487 auto bitBT = (TrigPattern >> 2) & 1;
489 auto bitMBT = (TrigPattern >> 6) & 1;
491 auto bitCCT1 = (TrigPattern >> 5) & 1;
492 auto bitCCT2 = (TrigPattern >> 8) & 1;
493 auto bitCCT3 = (TrigPattern >> 12) & 1;
494 auto bitFHCAL = (TrigPattern >> 9) & 1;
496 (bitBT == 1) && (bitMBT == 0) && (bitCCT1 == 0) && (bitCCT2 == 0) && (bitCCT3 == 0) && (bitFHCAL == 0);
499 bool trigCCT2 = (bitCCT2 == 1);