@@ -137,6 +137,15 @@ struct fitQa {
137137 std::array<float , nChFV0> fv0ChAmpl{}; // /< FV0 channel amplitudes (o2::aod::fv0::Amplitude)
138138 std::array<float , nChFDD> fddChAmpl{}; // /< FDD channel amplitudes (o2::aod::fdd::ChargeA and o2::aod::fdd::ChargeC)
139139
140+ // Derived quantities (not directly from AO2D)
141+ float ft0TotAmpl = 0 ;
142+ float ft0TotAmplA = 0 ;
143+ float ft0TotAmplC = 0 ;
144+ float fv0TotAmpl = 0 ;
145+ float fddTotAmpl = 0 ;
146+ float fddTotAmplA = 0 ;
147+ float fddTotAmplC = 0 ;
148+
140149 // Event selection conditions
141150 bool isSel8 = false ; // /< (o2::aod::evsel::Sel8)
142151 bool hasFT0 = false ; // /< (o2::aod::collision::has_foundFT0())
@@ -164,9 +173,12 @@ struct fitQa {
164173 std::vector<Condition> conditions{}; // < Event selection conditions to be considered
165174
166175 /* Output objects
167- NOTE : 1D Quantities are stored in 2D hists, with event selection conditions on the Y-axis.
176+ NOTE1 : 1D Quantities are stored in 2D hists, with event selection conditions on the Y-axis.
168177 I.e. there's one version of the 1D histogram per Y bin (Condition).
169- Similar for 2D Quantities, they are stored in 3D histograms. */
178+ Similar for 2D Quantities, they are stored in 3D histograms.
179+
180+ NOTE2: There's a limit of number of task struct members, so some OutputObj's are disabled for now
181+ */
170182
171183 /* 1D */
172184
@@ -188,6 +200,8 @@ struct fitQa {
188200 OutputObj<TH2F > ooFT0Vtx{" FT0Vtx" }; // /< FT0 vertex (cm)
189201 OutputObj<TH2F > ooFT0VtxNS{" FT0VtxNS" }; // /< FT0 vertex (ns)
190202 OutputObj<TH2F > ooFT0TotAmpl{" FT0TotAmpl" }; // /< FT0 total amplitude (ADC)
203+ OutputObj<TH2F > ooFT0TotAmplA{" FT0TotAmplA" }; // /< FT0A total amplitude (ADC)
204+ OutputObj<TH2F > ooFT0TotAmplC{" FT0TotAmplC" }; // /< FT0C total amplitude (ADC)
191205
192206 // FV0
193207 OutputObj<TH2F > ooFV0Time{" FV0Time" }; // /< FV0 average time (ns)
@@ -205,6 +219,8 @@ struct fitQa {
205219 OutputObj<TH2F > ooFDDVtxNS{" FDDVtxNS" }; // /< FDD vertex (ns)
206220 OutputObj<TH2F > ooPVFDDVtxDiffNS{" PVFDDVtxDiffNS" }; // /< PV - FDD vertex (ns)
207221 OutputObj<TH2F > ooFDDTotAmpl{" FDDTotAmpl" }; // /< FDD total amplitude (ADC)
222+ OutputObj<TH2F > ooFDDTotAmplA{" FDDTotAmplA" }; // /< FDD-A total amplitude (ADC)
223+ OutputObj<TH2F > ooFDDTotAmplC{" FDDTotAmplC" }; // /< FDD-C total amplitude (ADC)
208224
209225 // FT0, FV0
210226 OutputObj<TH2F > ooFT0TimeFV0TimeDiff{" FT0TimeFV0TimeDiff" }; // /< FT0 collision time - FV0 average time (ns)
@@ -238,6 +254,27 @@ struct fitQa {
238254 // FT0, FV0
239255 OutputObj<TH3F > ooFT0TimeAFV0TimeDiffVsNContrib{" FT0TimeAFV0TimeDiffVsNContrib" }; // /< FT0A average time - FV0 average time vs number of contributors
240256 OutputObj<TH3F > ooFT0TimeAFV0TimeDiffVsFV0TotAmpl{" FT0TimeAFV0TimeDiffVsFV0TotAmpl" }; // /< FT0A average time - FV0 average time vs FV0 total amplitude
257+ OutputObj<TH3F > ooFT0TotAmplVsFV0TotAmpl{" FT0TotAmplVsFV0TotAmpl" }; // /< FT0 total amplitude vs FV0 total amplitude
258+ OutputObj<TH3F > ooFT0TotAmplAVsFV0TotAmpl{" FT0TotAmplAVsFV0TotAmpl" }; // /< FT0A total amplitude vs FV0 total amplitude
259+ OutputObj<TH3F > ooFT0TotAmplCVsFV0TotAmpl{" FT0TotAmplCVsFV0TotAmpl" }; // /< FT0C total amplitude vs FV0 total amplitude
260+
261+ // FT0, FDD
262+ OutputObj<TH3F > ooFT0TotAmplVsFDDTotAmpl{" FT0TotAmplVsFDDTotAmpl" }; // /< FT0 total amplitude vs FDD total amplitude
263+ // OutputObj<TH3F> ooFT0TotAmplVsFDDTotAmplA{"FT0TotAmplVsFDDTotAmplA"}; ///< FT0 total amplitude vs FDD-A total amplitude
264+ // OutputObj<TH3F> ooFT0TotAmplVsFDDTotAmplC{"FT0TotAmplVsFDDTotAmplC"}; ///< FT0 total amplitude vs FDD-C total amplitude
265+
266+ // OutputObj<TH3F> ooFT0TotAmplAVsFDDTotAmpl{"FT0TotAmplAVsFDDTotAmpl"}; ///< FT0A total amplitude vs FDD total amplitude
267+ // OutputObj<TH3F> ooFT0TotAmplAVsFDDTotAmplA{"FT0TotAmplAVsFDDTotAmplA"}; ///< FT0A total amplitude vs FDD-A total amplitude
268+ // OutputObj<TH3F> ooFT0TotAmplAVsFDDTotAmplC{"FT0TotAmplAVsFDDTotAmplC"}; ///< FT0A total amplitude vs FDD-C total amplitude
269+
270+ // OutputObj<TH3F> ooFT0TotAmplCVsFDDTotAmpl{"FT0TotAmplCVsFDDTotAmpl"}; ///< FT0C total amplitude vs FDD total amplitude
271+ // OutputObj<TH3F> ooFT0TotAmplCVsFDDTotAmplA{"FT0TotAmplCVsFDDTotAmplA"}; ///< FT0C total amplitude vs FDD-A total amplitude
272+ // OutputObj<TH3F> ooFT0TotAmplCVsFDDTotAmplC{"FT0TotAmplCVsFDDTotAmplC"}; ///< FT0C total amplitude vs FDD-C total amplitude
273+
274+ // // FV0, FDD
275+ OutputObj<TH3F > ooFV0TotAmplVsFDDTotAmpl{" FV0TotAmplVsFDDTotAmpl" }; // /< FV0 total amplitude vs FDD total amplitude
276+ // OutputObj<TH3F> ooFV0TotAmplVsFDDTotAmplA{"FV0TotAmplVsFDDTotAmplA"}; ///< FV0 total amplitude vs FDD-A total amplitude
277+ // OutputObj<TH3F> ooFV0TotAmplVsFDDTotAmplC{"FV0TotAmplVsFDDTotAmplC"}; ///< FV0 total amplitude vs FDD-C total amplitude
241278
242279 /* 2D Quantities per X bin */
243280
@@ -274,6 +311,14 @@ struct fitQa {
274311 fv0ChAmpl.fill (-20000 .f );
275312 fddChAmpl.fill (-20000 .f );
276313
314+ ft0TotAmpl = 0 ;
315+ ft0TotAmplA = 0 ;
316+ ft0TotAmplC = 0 ;
317+ fv0TotAmpl = 0 ;
318+ fddTotAmpl = 0 ;
319+ fddTotAmplA = 0 ;
320+ fddTotAmplC = 0 ;
321+
277322 isSel8 = false ;
278323 hasFT0 = false ;
279324 hasFV0 = false ;
@@ -300,15 +345,15 @@ struct fitQa {
300345 // conditions.push_back({"HasFV0", "has FV0", [&]() { return hasFV0; }});
301346 // conditions.push_back({"HasFDD", "has FDD", [&]() { return hasFDD; }});
302347 conditions.push_back ({" FT0VTX" , " FT0 vertex" , [&]() { return isFT0VTX; }});
303- conditions.push_back ({" FT0CE" , " FT0 CE" , [&]() { return isFT0CE; }});
304- conditions.push_back ({" FT0SCE" , " FT0 SCE" , [&]() { return isFT0SCE; }});
348+ // conditions.push_back({"FT0CE", "FT0 CE", [&]() { return isFT0CE; }});
349+ // conditions.push_back({"FT0SCE", "FT0 SCE", [&]() { return isFT0SCE; }});
305350 // conditions.push_back({"FV0ORA", "FV0 ORA", [&]() { return isFV0ORA; }});
306- conditions.push_back ({" FV0CH" , " FV0 CH" , [&]() { return isFV0CH; }});
307- conditions.push_back ({" FV0IN" , " FV0 IN" , [&]() { return isFV0IN; }});
351+ // conditions.push_back({"FV0CH", "FV0 CH", [&]() { return isFV0CH; }});
352+ // conditions.push_back({"FV0IN", "FV0 IN", [&]() { return isFV0IN; }});
308353 // conditions.push_back({"FDDVTX", "FDD vertex", [&]() { return isFDDVTX; }});
309354 conditions.push_back ({" FT0VTXandFV0ORA" , " FT0 vertex AND FV0 ORA" , [&]() { return isFT0VTXandFV0ORA; }});
310- conditions.push_back ({" FT0VTXandFV0CH" , " FT0 vertex AND FV0 CH" , [&]() { return isFT0VTX && isFV0CH; }});
311- conditions.push_back ({" FT0VTXandFV0IN" , " FT0 vertex AND FV0 IN" , [&]() { return isFT0VTX && isFV0IN; }});
355+ // conditions.push_back({"FT0VTXandFV0CH", "FT0 vertex AND FV0 CH", [&]() { return isFT0VTX && isFV0CH; }});
356+ // conditions.push_back({"FT0VTXandFV0IN", "FT0 vertex AND FV0 IN", [&]() { return isFT0VTX && isFV0IN; }});
312357 conditions.push_back ({" FT0VTXandFDDVTX" , " FT0 vertex AND FDD vertex" , [&]() { return isFT0VTXandFDDVTX; }});
313358
314359 /* Init OutputObj's */
@@ -356,6 +401,28 @@ struct fitQa {
356401 ooFDDTimeC.setObject (new TH2F (ooFDDTimeC.label .c_str (), " FDDC time;$\\ langle t_{\\ text{FDDC}} \\ rangle \\ text{ (ns)}$" , nBinsTFDD, tMinFDD, tMaxFDD, conditions.size (), 0 , conditions.size ()));
357402 objs[&ooFDDTimeC] = [&]() { return fddtimeC; };
358403
404+ // TODO: fill multiplicity from mults tables and compare
405+ ooFT0TotAmpl.setObject (new TH2F (ooFT0TotAmpl.label .c_str (), " FT0 total amplitude;FT0 amplitude (ADC)" , nBinsTotAmpl, totAmplMin, totAmplMax, conditions.size (), 0 , conditions.size ()));
406+ objs[&ooFT0TotAmpl] = [&]() { return ft0TotAmpl; };
407+
408+ ooFT0TotAmplA.setObject (new TH2F (ooFT0TotAmplA.label .c_str (), " FT0A total amplitude;FT0A amplitude (ADC)" , nBinsTotAmpl, totAmplMin, totAmplMax, conditions.size (), 0 , conditions.size ()));
409+ objs[&ooFT0TotAmplA] = [&]() { return ft0TotAmplA; };
410+
411+ ooFT0TotAmplC.setObject (new TH2F (ooFT0TotAmplC.label .c_str (), " FT0C total amplitude;FT0C amplitude (ADC)" , nBinsTotAmpl, totAmplMin, totAmplMax, conditions.size (), 0 , conditions.size ()));
412+ objs[&ooFT0TotAmplC] = [&]() { return ft0TotAmplC; };
413+
414+ ooFV0TotAmpl.setObject (new TH2F (ooFV0TotAmpl.label .c_str (), " FV0 total amplitude;FV0 amplitude (ADC)" , nBinsTotAmpl, totAmplMin, totAmplMax, conditions.size (), 0 , conditions.size ()));
415+ objs[&ooFV0TotAmpl] = [&]() { return fv0TotAmpl; };
416+
417+ ooFDDTotAmpl.setObject (new TH2F (ooFDDTotAmpl.label .c_str (), " FDD total amplitude;FDD amplitude (ADC)" , nBinsTotAmpl, totAmplMin, totAmplMax, conditions.size (), 0 , conditions.size ()));
418+ objs[&ooFDDTotAmpl] = [&]() { return fddTotAmpl; };
419+
420+ ooFDDTotAmplA.setObject (new TH2F (ooFDDTotAmplA.label .c_str (), " FDD-A total amplitude;FDD-A amplitude (ADC)" , nBinsTotAmpl, totAmplMin, totAmplMax, conditions.size (), 0 , conditions.size ()));
421+ objs[&ooFDDTotAmplA] = [&]() { return fddTotAmplA; };
422+
423+ ooFDDTotAmplC.setObject (new TH2F (ooFDDTotAmplC.label .c_str (), " FDD-C total amplitude;FDD-C amplitude (ADC)" , nBinsTotAmpl, totAmplMin, totAmplMax, conditions.size (), 0 , conditions.size ()));
424+ objs[&ooFDDTotAmplC] = [&]() { return fddTotAmplC; };
425+
359426 // Derived quantities
360427 // TODO: some should maybe be calculated in AO2D tables?
361428
@@ -405,39 +472,6 @@ struct fitQa {
405472 ooFT0VtxFDDVtxDiffNS.setObject (new TH2F (ooFT0VtxFDDVtxDiffNS.label .c_str (), " FT0 vertex - FDD vertex;$(\\ langle t_{\\ text{FT0C}} \\ rangle - \\ langle t_{\\ text{FT0A}} \\ rangle)/2 - (\\ langle t_{\\ text{FDDC}} \\ rangle - \\ langle t_{\\ text{FDDA}} \\ rangle)/2 \\ text{ (ns)}$" , nBinsTResFDD, tResMinFDD, tResMaxFDD, conditions.size (), 0 , conditions.size ()));
406473 objs[&ooFT0VtxFDDVtxDiffNS] = [&]() { return objs[&ooFT0VtxNS]() - objs[&ooFDDVtxNS](); };
407474
408- ooFT0TotAmpl.setObject (new TH2F (ooFT0TotAmpl.label .c_str (), " FT0 total amplitude;FT0 amplitude (ADC)" , nBinsTotAmpl, totAmplMin, totAmplMax, conditions.size (), 0 , conditions.size ()));
409- objs[&ooFT0TotAmpl] = [&]() {
410- float totAmpl = 0 .f ;
411- for (const auto & ampl : ft0ChAmpl) {
412- if (ampl > -100 .f ) {
413- totAmpl += ampl;
414- }
415- }
416- return totAmpl;
417- };
418-
419- ooFV0TotAmpl.setObject (new TH2F (ooFV0TotAmpl.label .c_str (), " FV0 total amplitude;FV0 amplitude (ADC)" , nBinsTotAmpl, totAmplMin, totAmplMax, conditions.size (), 0 , conditions.size ()));
420- objs[&ooFV0TotAmpl] = [&]() {
421- float totAmpl = 0 .f ;
422- for (const auto & ampl : fv0ChAmpl) {
423- if (ampl > -100 .f ) {
424- totAmpl += ampl;
425- }
426- }
427- return totAmpl;
428- };
429-
430- ooFDDTotAmpl.setObject (new TH2F (ooFDDTotAmpl.label .c_str (), " FDD total amplitude;FDD amplitude (ADC)" , nBinsTotAmpl, totAmplMin, totAmplMax, conditions.size (), 0 , conditions.size ()));
431- objs[&ooFDDTotAmpl] = [&]() {
432- float totAmpl = 0 .f ;
433- for (const auto & ampl : fddChAmpl) {
434- if (ampl > -100 .f ) {
435- totAmpl += ampl;
436- }
437- }
438- return totAmpl;
439- };
440-
441475 // 2D quantities
442476
443477 ooFT0TimeVsFT0Vtx.setObject (new TH3F (ooFT0TimeVsFT0Vtx.label .c_str (), " FT0 time vs FT0 vertex;$(\\ langle t_{\\ text{FT0C}} \\ rangle - \\ langle t_{\\ text{FT0A}} \\ rangle)/2 \\ text{ (cm)}$;$(\\ langle t_{\\ text{FT0A}} \\ rangle + \\ langle t_{\\ text{FT0C}} \\ rangle)/2 \\ text{ (ns)}$" , nBinsVtx, vtxMin, vtxMax, nBinsT, tMin, tMax, conditions.size (), 0 , conditions.size ()));
@@ -476,6 +510,51 @@ struct fitQa {
476510 ooFT0TimeAFV0TimeDiffVsFV0TotAmpl.setObject (new TH3F (ooFT0TimeAFV0TimeDiffVsFV0TotAmpl.label .c_str (), " FT0A time - FV0 time vs FV0 total amplitude;FV0 total amplitude (ADC);$\\ langle t_{\\ text{FT0A}} \\ rangle - \\ langle t_{\\ text{FV0}} \\ rangle \\ text{ (ns)}$" , nBinsTotAmpl / 10 , totAmplMin, totAmplMax, nBinsTRes, tResMin, tResMax, conditions.size (), 0 , conditions.size ()));
477511 objs2D[&ooFT0TimeAFV0TimeDiffVsFV0TotAmpl] = [&]() { return std::make_pair (objs[&ooFV0TotAmpl](), objs[&ooFT0TimeAFV0TimeDiff]()); };
478512
513+ ooFT0TotAmplVsFV0TotAmpl.setObject (new TH3F (ooFT0TotAmplVsFV0TotAmpl.label .c_str (), " FT0 total amplitude vs FV0 total amplitude;FV0 total amplitude (ADC);FT0 total amplitude (ADC)" , nBinsTotAmpl / 10 , totAmplMin, totAmplMax, nBinsTotAmpl / 10 , totAmplMin, totAmplMax, conditions.size (), 0 , conditions.size ()));
514+ objs2D[&ooFT0TotAmplVsFV0TotAmpl] = [&]() { return std::make_pair (objs[&ooFV0TotAmpl](), objs[&ooFT0TotAmpl]()); };
515+
516+ ooFT0TotAmplAVsFV0TotAmpl.setObject (new TH3F (ooFT0TotAmplAVsFV0TotAmpl.label .c_str (), " FT0A total amplitude vs FV0 total amplitude;FV0 total amplitude (ADC);FT0A total amplitude (ADC)" , nBinsTotAmpl / 10 , totAmplMin, totAmplMax, nBinsTotAmpl / 10 , totAmplMin, totAmplMax, conditions.size (), 0 , conditions.size ()));
517+ objs2D[&ooFT0TotAmplAVsFV0TotAmpl] = [&]() { return std::make_pair (objs[&ooFV0TotAmpl](), objs[&ooFT0TotAmplA]()); };
518+
519+ ooFT0TotAmplCVsFV0TotAmpl.setObject (new TH3F (ooFT0TotAmplCVsFV0TotAmpl.label .c_str (), " FT0C total amplitude vs FV0 total amplitude;FV0 total amplitude (ADC);FT0C total amplitude (ADC)" , nBinsTotAmpl / 10 , totAmplMin, totAmplMax, nBinsTotAmpl / 10 , totAmplMin, totAmplMax, conditions.size (), 0 , conditions.size ()));
520+ objs2D[&ooFT0TotAmplCVsFV0TotAmpl] = [&]() { return std::make_pair (objs[&ooFV0TotAmpl](), objs[&ooFT0TotAmplC]()); };
521+
522+ ooFT0TotAmplVsFDDTotAmpl.setObject (new TH3F (ooFT0TotAmplVsFDDTotAmpl.label .c_str (), " FT0 total amplitude vs FDD total amplitude;FDD total amplitude (ADC);FT0 total amplitude (ADC)" , nBinsTotAmpl / 10 , totAmplMin, totAmplMax, nBinsTotAmpl / 10 , totAmplMin, totAmplMax, conditions.size (), 0 , conditions.size ()));
523+ objs2D[&ooFT0TotAmplVsFDDTotAmpl] = [&]() { return std::make_pair (objs[&ooFDDTotAmpl](), objs[&ooFT0TotAmpl]()); };
524+
525+ // ooFT0TotAmplVsFDDTotAmplA.setObject(new TH3F(ooFT0TotAmplVsFDDTotAmplA.label.c_str(), "FT0 total amplitude vs FDD-A total amplitude;FDD-A total amplitude (ADC);FT0 total amplitude (ADC)", nBinsTotAmpl / 10, totAmplMin, totAmplMax, nBinsTotAmpl / 10, totAmplMin, totAmplMax, conditions.size(), 0, conditions.size()));
526+ // objs2D[&ooFT0TotAmplVsFDDTotAmplA] = [&]() { return std::make_pair(objs[&ooFDDTotAmplA](), objs[&ooFT0TotAmpl]()); };
527+
528+ // ooFT0TotAmplVsFDDTotAmplC.setObject(new TH3F(ooFT0TotAmplVsFDDTotAmplC.label.c_str(), "FT0 total amplitude vs FDD-C total amplitude;FDD-C total amplitude (ADC);FT0 total amplitude (ADC)", nBinsTotAmpl / 10, totAmplMin, totAmplMax, nBinsTotAmpl / 10, totAmplMin, totAmplMax, conditions.size(), 0, conditions.size()));
529+ // objs2D[&ooFT0TotAmplVsFDDTotAmplC] = [&]() { return std::make_pair(objs[&ooFDDTotAmplC](), objs[&ooFT0TotAmpl]()); };
530+
531+ // ooFT0TotAmplAVsFDDTotAmpl.setObject(new TH3F(ooFT0TotAmplAVsFDDTotAmpl.label.c_str(), "FT0A total amplitude vs FDD total amplitude;FDD total amplitude (ADC);FT0A total amplitude (ADC)", nBinsTotAmpl / 10, totAmplMin, totAmplMax, nBinsTotAmpl / 10, totAmplMin, totAmplMax, conditions.size(), 0, conditions.size()));
532+ // objs2D[&ooFT0TotAmplAVsFDDTotAmpl] = [&]() { return std::make_pair(objs[&ooFDDTotAmpl](), objs[&ooFT0TotAmplA]()); };
533+
534+ // ooFT0TotAmplAVsFDDTotAmplA.setObject(new TH3F(ooFT0TotAmplAVsFDDTotAmplA.label.c_str(), "FT0A total amplitude vs FDD-A total amplitude;FDD-A total amplitude (ADC);FT0A total amplitude (ADC)", nBinsTotAmpl / 10, totAmplMin, totAmplMax, nBinsTotAmpl / 10, totAmplMin, totAmplMax, conditions.size(), 0, conditions.size()));
535+ // objs2D[&ooFT0TotAmplAVsFDDTotAmplA] = [&]() { return std::make_pair(objs[&ooFDDTotAmplA](), objs[&ooFT0TotAmplA]()); };
536+
537+ // ooFT0TotAmplAVsFDDTotAmplC.setObject(new TH3F(ooFT0TotAmplAVsFDDTotAmplC.label.c_str(), "FT0A total amplitude vs FDD-C total amplitude;FDD-C total amplitude (ADC);FT0A total amplitude (ADC)", nBinsTotAmpl / 10, totAmplMin, totAmplMax, nBinsTotAmpl / 10, totAmplMin, totAmplMax, conditions.size(), 0, conditions.size()));
538+ // objs2D[&ooFT0TotAmplAVsFDDTotAmplC] = [&]() { return std::make_pair(objs[&ooFDDTotAmplC](), objs[&ooFT0TotAmplA]()); };
539+
540+ // ooFT0TotAmplCVsFDDTotAmpl.setObject(new TH3F(ooFT0TotAmplCVsFDDTotAmpl.label.c_str(), "FT0C total amplitude vs FDD total amplitude;FDD total amplitude (ADC);FT0C total amplitude (ADC)", nBinsTotAmpl / 10, totAmplMin, totAmplMax, nBinsTotAmpl / 10, totAmplMin, totAmplMax, conditions.size(), 0, conditions.size()));
541+ // objs2D[&ooFT0TotAmplCVsFDDTotAmpl] = [&]() { return std::make_pair(objs[&ooFDDTotAmpl](), objs[&ooFT0TotAmplC]()); };
542+
543+ // ooFT0TotAmplCVsFDDTotAmplA.setObject(new TH3F(ooFT0TotAmplCVsFDDTotAmplA.label.c_str(), "FT0C total amplitude vs FDD-A total amplitude;FDD-A total amplitude (ADC);FT0C total amplitude (ADC)", nBinsTotAmpl / 10, totAmplMin, totAmplMax, nBinsTotAmpl / 10, totAmplMin, totAmplMax, conditions.size(), 0, conditions.size()));
544+ // objs2D[&ooFT0TotAmplCVsFDDTotAmplA] = [&]() { return std::make_pair(objs[&ooFDDTotAmplA](), objs[&ooFT0TotAmplC]()); };
545+
546+ // ooFT0TotAmplCVsFDDTotAmplC.setObject(new TH3F(ooFT0TotAmplCVsFDDTotAmplC.label.c_str(), "FT0C total amplitude vs FDD-C total amplitude;FDD-C total amplitude (ADC);FT0C total amplitude (ADC)", nBinsTotAmpl / 10, totAmplMin, totAmplMax, nBinsTotAmpl / 10, totAmplMin, totAmplMax, conditions.size(), 0, conditions.size()));
547+ // objs2D[&ooFT0TotAmplCVsFDDTotAmplC] = [&]() { return std::make_pair(objs[&ooFDDTotAmplC](), objs[&ooFT0TotAmplC]()); };
548+
549+ ooFV0TotAmplVsFDDTotAmpl.setObject (new TH3F (ooFV0TotAmplVsFDDTotAmpl.label .c_str (), " FV0 total amplitude vs FDD total amplitude;FDD total amplitude (ADC);FV0 total amplitude (ADC)" , nBinsTotAmpl / 10 , totAmplMin, totAmplMax, nBinsTotAmpl / 10 , totAmplMin, totAmplMax, conditions.size (), 0 , conditions.size ()));
550+ objs2D[&ooFV0TotAmplVsFDDTotAmpl] = [&]() { return std::make_pair (objs[&ooFDDTotAmpl](), objs[&ooFV0TotAmpl]()); };
551+
552+ // ooFV0TotAmplVsFDDTotAmplA.setObject(new TH3F(ooFV0TotAmplVsFDDTotAmplA.label.c_str(), "FV0 total amplitude vs FDD-A total amplitude;FDD-A total amplitude (ADC);FV0 total amplitude (ADC)", nBinsTotAmpl / 10, totAmplMin, totAmplMax, nBinsTotAmpl / 10, totAmplMin, totAmplMax, conditions.size(), 0, conditions.size()));
553+ // objs2D[&ooFV0TotAmplVsFDDTotAmplA] = [&]() { return std::make_pair(objs[&ooFDDTotAmplA](), objs[&ooFV0TotAmpl]()); };
554+
555+ // ooFV0TotAmplVsFDDTotAmplC.setObject(new TH3F(ooFV0TotAmplVsFDDTotAmplC.label.c_str(), "FV0 total amplitude vs FDD-C total amplitude;FDD-C total amplitude (ADC);FV0 total amplitude (ADC)", nBinsTotAmpl / 10, totAmplMin, totAmplMax, nBinsTotAmpl / 10, totAmplMin, totAmplMax, conditions.size(), 0, conditions.size()));
556+ // objs2D[&ooFV0TotAmplVsFDDTotAmplC] = [&]() { return std::make_pair(objs[&ooFDDTotAmplC](), objs[&ooFV0TotAmpl]()); };
557+
479558 // 2D quantities per X bin
480559
481560 ooFT0AmplPerCh.setObject (new TH3F (ooFT0AmplPerCh.label .c_str (), " FT0 channel amplitudes;Channel ID;Amplitude (ADC)" , nChFT0, 0 , static_cast <float >(nChFT0), nADC, 0 .f , static_cast <float >(nADC), conditions.size (), 0 , conditions.size ()));
@@ -540,9 +619,13 @@ struct fitQa {
540619
541620 for (size_t i = 0 ; i < ft0.amplitudeA ().size (); i++) {
542621 ft0ChAmpl[ft0.channelA ()[i]] = ft0.amplitudeA ()[i];
622+ ft0TotAmpl += ft0.amplitudeA ()[i];
623+ ft0TotAmplA += ft0.amplitudeA ()[i];
543624 }
544625 for (size_t i = 0 ; i < ft0.amplitudeC ().size (); i++) {
545626 ft0ChAmpl[ft0.channelC ()[i] + nChFT0A] = ft0.amplitudeC ()[i]; // Channel IDs in the C-side array start from zero in AO2D (JIRA AFIT-129)
627+ ft0TotAmpl += ft0.amplitudeC ()[i];
628+ ft0TotAmplC += ft0.amplitudeC ()[i];
546629 }
547630
548631 }
@@ -558,6 +641,7 @@ struct fitQa {
558641
559642 for (size_t i = 0 ; i < fv0.amplitude ().size (); i++) {
560643 fv0ChAmpl[fv0.channel ()[i]] = fv0.amplitude ()[i];
644+ fv0TotAmpl += fv0.amplitude ()[i];
561645 }
562646 }
563647
@@ -574,9 +658,13 @@ struct fitQa {
574658 // TODO: don't hard code?
575659 for (size_t i = 0 ; i < 8 ; i++) {
576660 fddChAmpl[i + 8 ] = fdd.chargeA ()[i];
661+ fddTotAmpl += fdd.chargeA ()[i];
662+ fddTotAmplA += fdd.chargeA ()[i];
577663 }
578664 for (size_t i = 0 ; i < 8 ; i++) {
579665 fddChAmpl[i] = fdd.chargeC ()[i];
666+ fddTotAmpl += fdd.chargeC ()[i];
667+ fddTotAmplC += fdd.chargeC ()[i];
580668 }
581669 }
582670
0 commit comments