|
15 | 15 | /// \author Chiara De Martin (chiara.de.martin@cern.ch) |
16 | 16 | /// \author Maximiliano Puccio (maximiliano.puccio@cern.ch) |
17 | 17 |
|
18 | | -#include <vector> |
19 | | -#include <string> |
20 | | -#include <memory> |
21 | | -#include "Math/Vector3D.h" |
22 | | -#include "TRandom3.h" |
| 18 | +#include "PWGLF/DataModel/LFStrangenessPIDTables.h" |
| 19 | +#include "PWGLF/DataModel/LFStrangenessTables.h" |
| 20 | +#include "PWGLF/DataModel/cascqaanalysis.h" |
| 21 | + |
23 | 22 | #include "Common/DataModel/Centrality.h" |
24 | 23 | #include "Common/DataModel/EventSelection.h" |
25 | 24 | #include "Common/DataModel/Multiplicity.h" |
26 | 25 | #include "Common/DataModel/PIDResponse.h" |
27 | 26 | #include "Common/DataModel/TrackSelectionTables.h" |
28 | | -#include "Framework/AnalysisTask.h" |
| 27 | +#include "Tools/ML/MlResponse.h" |
| 28 | + |
| 29 | +#include "CCDB/BasicCCDBManager.h" |
29 | 30 | #include "Framework/ASoAHelpers.h" |
| 31 | +#include "Framework/AnalysisTask.h" |
30 | 32 | #include "Framework/O2DatabasePDGPlugin.h" |
31 | 33 | #include "Framework/runDataProcessing.h" |
32 | | -#include "PWGLF/DataModel/cascqaanalysis.h" |
33 | | -#include "PWGLF/DataModel/LFStrangenessTables.h" |
34 | | -#include "PWGLF/DataModel/LFStrangenessPIDTables.h" |
35 | | -#include "Tools/ML/MlResponse.h" |
36 | | -#include "CCDB/BasicCCDBManager.h" |
| 34 | + |
| 35 | +#include "Math/Vector3D.h" |
| 36 | +#include "TRandom3.h" |
| 37 | + |
| 38 | +#include <memory> |
| 39 | +#include <string> |
| 40 | +#include <vector> |
37 | 41 |
|
38 | 42 | using namespace o2; |
39 | 43 | using namespace o2::framework; |
@@ -171,31 +175,38 @@ struct cascadeFlow { |
171 | 175 | ConfigurableAxis axisQVsNorm{"axisQVsNorm", {200, -1.f, 1.f}, "axisQVsNorm"}; |
172 | 176 |
|
173 | 177 | // Configurable for shift correction |
174 | | - Configurable<bool> cfgShiftCorr{"cfgShiftCorr", 0, ""}; |
175 | | - Configurable<std::string> cfgShiftPath{"cfgShiftPath", "Users/j/junlee/Qvector/QvecCalib/Shift", "Path for Shift"}; |
176 | | - Configurable<int> cfgnMods{"cfgnMods", 1, "The number of modulations of interest starting from 2"}; |
| 178 | + struct : ConfigurableGroup { |
| 179 | + Configurable<bool> cfgShiftCorr{"cfgShiftCorr", 0, ""}; |
| 180 | + Configurable<std::string> cfgShiftPath{"cfgShiftPath", "Users/j/junlee/Qvector/QvecCalib/Shift", "Path for Shift"}; |
| 181 | + Configurable<std::string> cfgShiftPathFT0C{"cfgShiftPathFT0C", "Users/j/junlee/Qvector/QvecCalib/Shift", "Path for Shift"}; |
| 182 | + Configurable<std::string> cfgShiftPathTPCL{"cfgShiftPathTPCL", "Users/j/junlee/Qvector/QvecCalib/Shift", "Path for Shift"}; |
| 183 | + Configurable<std::string> cfgShiftPathTPCR{"cfgShiftPathTPCR", "Users/j/junlee/Qvector/QvecCalib/Shift", "Path for Shift"}; |
| 184 | + Configurable<int> cfgnMods{"cfgnMods", 1, "The number of modulations of interest starting from 2"}; |
| 185 | + } ShiftConfigs; |
177 | 186 | // Configurable<float> cfgHarmonic{"cfgHarmonic", 2, "Harmonic for event plane calculation"}; |
178 | 187 |
|
179 | 188 | // THN axes |
180 | | - ConfigurableAxis thnConfigAxisFT0C{"thnConfigAxisFT0C", {8, 0, 80}, "FT0C centrality (%)"}; |
181 | | - ConfigurableAxis thnConfigAxisEta{"thnConfigAxisEta", {8, -0.8, 0.8}, "pseudorapidity"}; |
182 | | - ConfigurableAxis thnConfigAxisPt{"thnConfigAxisPt", {VARIABLE_WIDTH, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2, 2.25, 2.5, 2.75, 3, 3.5, 4, 5, 6, 8, 10}, "#it{p}_{T} (GeV/#it{c})"}; |
183 | | - ConfigurableAxis thnConfigAxisPtLambda{"thnConfigAxisPtLambda", {VARIABLE_WIDTH, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2, 2.25, 2.5, 2.75, 3, 3.5, 4, 5, 6, 8, 10, 20}, "#it{p}_{T} (GeV/#it{c})"}; |
184 | | - ConfigurableAxis thnConfigAxisCharge{"thnConfigAxisCharge", {2, 0, 2}, ""}; |
185 | | - ConfigurableAxis thnConfigAxisPsiDiff{"thnConfigAxisPsiDiff", {100, 0, o2::constants::math::TwoPI}, ""}; |
186 | | - ConfigurableAxis thnConfigAxisMassXi{"thnConfigAxisMassXi", {45, 1.300, 1.345}, ""}; |
187 | | - ConfigurableAxis thnConfigAxisMassOmega{"thnConfigAxisMassOmega", {45, 1.655, 1.690}, ""}; |
188 | | - ConfigurableAxis thnConfigAxisMassLambda{"thnConfigAxisMassLambda", {60, 1.1, 1.13}, ""}; |
189 | | - ConfigurableAxis thnConfigAxisBDTScore{"thnConfigAxisBDTScore", {15, 0.4, 1}, ""}; |
190 | | - ConfigurableAxis thnConfigAxisV2{"thnConfigAxiV2", {100, -1., 1.}, ""}; |
191 | | - ConfigurableAxis thnConfigAxisPzs2Xi{"thnConfigAxiPzs2Xi", {200, -2.8, 2.8}, ""}; |
192 | | - ConfigurableAxis thnConfigAxisPzs2Omega{"thnConfigAxiPzs2Omega", {200, -70, 70}, ""}; |
193 | | - ConfigurableAxis thnConfigAxisPzs2Lambda{"thnConfigAxiPzs2Lambda", {200, -2, 2}, ""}; |
194 | | - ConfigurableAxis thnConfigAxisCos2Theta{"thnConfigAxiCos2Theta", {100, 0, 1}, ""}; |
195 | | - ConfigurableAxis thnConfigAxisCos2ThetaL{"thnConfigAxiCos2ThetaL", {100, 0, 1}, ""}; |
196 | | - ConfigurableAxis thnConfigAxisCosThetaXiAlpha{"thnConfigAxisCosThetaXiAlpha", {200, -2.8, 2.8}, ""}; |
197 | | - ConfigurableAxis thnConfigAxisCosThetaOmegaAlpha{"thnConfigAxisCosThetaOmegaAlpha", {200, -70, 70}, ""}; |
198 | | - ConfigurableAxis thnConfigAxisCosThetaProtonAlpha{"thnConfigAxisCosThetaProtonAlpha", {200, -2, 2}, ""}; |
| 189 | + struct : ConfigurableGroup { |
| 190 | + ConfigurableAxis thnConfigAxisFT0C{"thnConfigAxisFT0C", {8, 0, 80}, "FT0C centrality (%)"}; |
| 191 | + ConfigurableAxis thnConfigAxisEta{"thnConfigAxisEta", {8, -0.8, 0.8}, "pseudorapidity"}; |
| 192 | + ConfigurableAxis thnConfigAxisPt{"thnConfigAxisPt", {VARIABLE_WIDTH, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2, 2.25, 2.5, 2.75, 3, 3.5, 4, 5, 6, 8, 10}, "#it{p}_{T} (GeV/#it{c})"}; |
| 193 | + ConfigurableAxis thnConfigAxisPtLambda{"thnConfigAxisPtLambda", {VARIABLE_WIDTH, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2, 2.25, 2.5, 2.75, 3, 3.5, 4, 5, 6, 8, 10, 20}, "#it{p}_{T} (GeV/#it{c})"}; |
| 194 | + ConfigurableAxis thnConfigAxisCharge{"thnConfigAxisCharge", {2, 0, 2}, ""}; |
| 195 | + ConfigurableAxis thnConfigAxisPsiDiff{"thnConfigAxisPsiDiff", {100, 0, o2::constants::math::TwoPI}, ""}; |
| 196 | + ConfigurableAxis thnConfigAxisMassXi{"thnConfigAxisMassXi", {45, 1.300, 1.345}, ""}; |
| 197 | + ConfigurableAxis thnConfigAxisMassOmega{"thnConfigAxisMassOmega", {45, 1.655, 1.690}, ""}; |
| 198 | + ConfigurableAxis thnConfigAxisMassLambda{"thnConfigAxisMassLambda", {60, 1.1, 1.13}, ""}; |
| 199 | + ConfigurableAxis thnConfigAxisBDTScore{"thnConfigAxisBDTScore", {15, 0.4, 1}, ""}; |
| 200 | + ConfigurableAxis thnConfigAxisV2{"thnConfigAxiV2", {100, -1., 1.}, ""}; |
| 201 | + ConfigurableAxis thnConfigAxisPzs2Xi{"thnConfigAxiPzs2Xi", {200, -2.8, 2.8}, ""}; |
| 202 | + ConfigurableAxis thnConfigAxisPzs2Omega{"thnConfigAxiPzs2Omega", {200, -70, 70}, ""}; |
| 203 | + ConfigurableAxis thnConfigAxisPzs2Lambda{"thnConfigAxiPzs2Lambda", {200, -2, 2}, ""}; |
| 204 | + ConfigurableAxis thnConfigAxisCos2Theta{"thnConfigAxiCos2Theta", {100, 0, 1}, ""}; |
| 205 | + ConfigurableAxis thnConfigAxisCos2ThetaL{"thnConfigAxiCos2ThetaL", {100, 0, 1}, ""}; |
| 206 | + ConfigurableAxis thnConfigAxisCosThetaXiAlpha{"thnConfigAxisCosThetaXiAlpha", {200, -2.8, 2.8}, ""}; |
| 207 | + ConfigurableAxis thnConfigAxisCosThetaOmegaAlpha{"thnConfigAxisCosThetaOmegaAlpha", {200, -70, 70}, ""}; |
| 208 | + ConfigurableAxis thnConfigAxisCosThetaProtonAlpha{"thnConfigAxisCosThetaProtonAlpha", {200, -2, 2}, ""}; |
| 209 | + } thnAxisConfigs; |
199 | 210 |
|
200 | 211 | // Event selection criteria |
201 | 212 | Configurable<float> cutzvertex{"cutzvertex", 10.0f, "Accepted z-vertex range (cm)"}; |
@@ -473,7 +484,13 @@ struct cascadeFlow { |
473 | 484 | int currentRunNumber = -999; |
474 | 485 | int lastRunNumber = -999; |
475 | 486 | std::vector<TProfile3D*> shiftprofile{}; |
| 487 | + std::vector<TProfile3D*> shiftprofileFT0C{}; |
| 488 | + std::vector<TProfile3D*> shiftprofileTPCL{}; |
| 489 | + std::vector<TProfile3D*> shiftprofileTPCR{}; |
476 | 490 | std::string fullCCDBShiftCorrPath; |
| 491 | + std::string fullCCDBShiftCorrPathFT0C; |
| 492 | + std::string fullCCDBShiftCorrPathTPCL; |
| 493 | + std::string fullCCDBShiftCorrPathTPCR; |
477 | 494 |
|
478 | 495 | template <typename TCollision> |
479 | 496 | double ApplyShiftCorrection(TCollision coll, double psiT0C) |
@@ -775,25 +792,25 @@ struct cascadeFlow { |
775 | 792 | histos.add("hv1EPvsv1SP", "hV1EPvsV1SP", HistType::kTH2F, {{100, -1, 1}, {100, -1, 1}}); |
776 | 793 | histos.add("hv1SP_ZDCA_vs_ZDCC", "hv1SP_ZDCA_vs_ZDCC", HistType::kTH2F, {{100, -1, 1}, {100, -1, 1}}); |
777 | 794 |
|
778 | | - const AxisSpec thnAxisFT0C{thnConfigAxisFT0C, "FT0C (%)"}; |
779 | | - const AxisSpec thnAxisEta{thnConfigAxisEta, "#eta"}; |
780 | | - const AxisSpec thnAxisPt{thnConfigAxisPt, "p_{T}"}; |
781 | | - const AxisSpec thnAxisPtLambda{thnConfigAxisPtLambda, "p_{T, #Lambda}"}; |
782 | | - const AxisSpec thnAxisCharge{thnConfigAxisCharge, "Charge"}; |
783 | | - const AxisSpec thnAxisPsiDiff{thnConfigAxisPsiDiff, "2(phi-Psi)"}; |
784 | | - const AxisSpec thnAxisMassXi{thnConfigAxisMassXi, "inv. mass (#Lambda #pi) (GeV/#it{c}^{2})"}; |
785 | | - const AxisSpec thnAxisMassOmega{thnConfigAxisMassOmega, "inv. mass (#Lambda K) (GeV/#it{c}^{2})"}; |
786 | | - const AxisSpec thnAxisMassLambda{thnConfigAxisMassLambda, "inv. mass (p #pi) (GeV/#it{c}^{2})"}; |
787 | | - const AxisSpec thnAxisBDTScore{thnConfigAxisBDTScore, "BDT score"}; |
788 | | - const AxisSpec thnAxisV2{thnConfigAxisV2, "v_{2}"}; |
789 | | - const AxisSpec thnAxisPzs2Xi{thnConfigAxisPzs2Xi, "Pzs2Xi"}; |
790 | | - const AxisSpec thnAxisPzs2Omega{thnConfigAxisPzs2Omega, "Pzs2Omega"}; |
791 | | - const AxisSpec thnAxisPzs2Lambda{thnConfigAxisPzs2Lambda, "Pzs2Lambda"}; |
792 | | - const AxisSpec thnAxisCos2Theta{thnConfigAxisCos2Theta, "Cos2Theta"}; |
793 | | - const AxisSpec thnAxisCos2ThetaL{thnConfigAxisCos2ThetaL, "Cos2ThetaL"}; |
794 | | - const AxisSpec thnAxisCosThetaXiAlpha{thnConfigAxisCosThetaXiAlpha, "CosThetaXiWithAlpha"}; |
795 | | - const AxisSpec thnAxisCosThetaOmegaAlpha{thnConfigAxisCosThetaOmegaAlpha, "CosThetaOmegaWithAlpha"}; |
796 | | - const AxisSpec thnAxisCosThetaProtonAlpha{thnConfigAxisCosThetaProtonAlpha, "CosThetaProtonWithAlpha"}; |
| 795 | + const AxisSpec thnAxisFT0C{thnAxisConfigs.thnConfigAxisFT0C, "FT0C (%)"}; |
| 796 | + const AxisSpec thnAxisEta{thnAxisConfigs.thnConfigAxisEta, "#eta"}; |
| 797 | + const AxisSpec thnAxisPt{thnAxisConfigs.thnConfigAxisPt, "p_{T}"}; |
| 798 | + const AxisSpec thnAxisPtLambda{thnAxisConfigs.thnConfigAxisPtLambda, "p_{T, #Lambda}"}; |
| 799 | + const AxisSpec thnAxisCharge{thnAxisConfigs.thnConfigAxisCharge, "Charge"}; |
| 800 | + const AxisSpec thnAxisPsiDiff{thnAxisConfigs.thnConfigAxisPsiDiff, "2(phi-Psi)"}; |
| 801 | + const AxisSpec thnAxisMassXi{thnAxisConfigs.thnConfigAxisMassXi, "inv. mass (#Lambda #pi) (GeV/#it{c}^{2})"}; |
| 802 | + const AxisSpec thnAxisMassOmega{thnAxisConfigs.thnConfigAxisMassOmega, "inv. mass (#Lambda K) (GeV/#it{c}^{2})"}; |
| 803 | + const AxisSpec thnAxisMassLambda{thnAxisConfigs.thnConfigAxisMassLambda, "inv. mass (p #pi) (GeV/#it{c}^{2})"}; |
| 804 | + const AxisSpec thnAxisBDTScore{thnAxisConfigs.thnConfigAxisBDTScore, "BDT score"}; |
| 805 | + const AxisSpec thnAxisV2{thnAxisConfigs.thnConfigAxisV2, "v_{2}"}; |
| 806 | + const AxisSpec thnAxisPzs2Xi{thnAxisConfigs.thnConfigAxisPzs2Xi, "Pzs2Xi"}; |
| 807 | + const AxisSpec thnAxisPzs2Omega{thnAxisConfigs.thnConfigAxisPzs2Omega, "Pzs2Omega"}; |
| 808 | + const AxisSpec thnAxisPzs2Lambda{thnAxisConfigs.thnConfigAxisPzs2Lambda, "Pzs2Lambda"}; |
| 809 | + const AxisSpec thnAxisCos2Theta{thnAxisConfigs.thnConfigAxisCos2Theta, "Cos2Theta"}; |
| 810 | + const AxisSpec thnAxisCos2ThetaL{thnAxisConfigs.thnConfigAxisCos2ThetaL, "Cos2ThetaL"}; |
| 811 | + const AxisSpec thnAxisCosThetaXiAlpha{thnAxisConfigs.thnConfigAxisCosThetaXiAlpha, "CosThetaXiWithAlpha"}; |
| 812 | + const AxisSpec thnAxisCosThetaOmegaAlpha{thnAxisConfigs.thnConfigAxisCosThetaOmegaAlpha, "CosThetaOmegaWithAlpha"}; |
| 813 | + const AxisSpec thnAxisCosThetaProtonAlpha{thnAxisConfigs.thnConfigAxisCosThetaProtonAlpha, "CosThetaProtonWithAlpha"}; |
797 | 814 |
|
798 | 815 | histos.add("massXi_ProtonAcc", "massXi", HistType::kTH1F, {thnAxisMassXi}); |
799 | 816 | histos.add("massOmega_ProtonAcc", "massOmega", HistType::kTH1F, {thnAxisMassOmega}); |
@@ -1059,21 +1076,26 @@ struct cascadeFlow { |
1059 | 1076 | histos.fill(HIST("ShiftTPCR"), coll.centFT0C(), 1.5, ishift - 0.5, std::cos(ishift * 2 * psiTPCC)); |
1060 | 1077 | } |
1061 | 1078 |
|
1062 | | - if (cfgShiftCorr) { |
| 1079 | + if (ShiftConfigs.cfgShiftCorr) { |
1063 | 1080 | currentRunNumber = coll.runNumber(); |
1064 | 1081 | if (currentRunNumber != lastRunNumber) { |
1065 | | - shiftprofile.clear(); |
1066 | | - for (int i = 2; i < cfgnMods + 2; i++) { |
1067 | | - fullCCDBShiftCorrPath = cfgShiftPath; |
1068 | | - fullCCDBShiftCorrPath += "/v"; |
1069 | | - fullCCDBShiftCorrPath += std::to_string(i); |
1070 | | - auto objshift = ccdb->getForTimeStamp<TProfile3D>(fullCCDBShiftCorrPath, coll.timestamp()); |
1071 | | - shiftprofile.push_back(objshift); |
1072 | | - } |
| 1082 | + shiftprofileFT0C.clear(); |
| 1083 | + shiftprofileTPCL.clear(); |
| 1084 | + shiftprofileTPCR.clear(); |
| 1085 | + fullCCDBShiftCorrPathFT0C = ShiftConfigs.cfgShiftPathFT0C; |
| 1086 | + fullCCDBShiftCorrPathTPCL = ShiftConfigs.cfgShiftPathTPCL; |
| 1087 | + fullCCDBShiftCorrPathTPCR = ShiftConfigs.cfgShiftPathTPCR; |
| 1088 | + auto objshiftFT0C = ccdb->getForTimeStamp<TProfile3D>(fullCCDBShiftCorrPathFT0C, coll.timestamp()); |
| 1089 | + shiftprofileFT0C.push_back(objshiftFT0C); |
| 1090 | + auto objshiftTPCL = ccdb->getForTimeStamp<TProfile3D>(fullCCDBShiftCorrPathTPCL, coll.timestamp()); |
| 1091 | + shiftprofileTPCL.push_back(objshiftTPCL); |
| 1092 | + auto objshiftTPCR = ccdb->getForTimeStamp<TProfile3D>(fullCCDBShiftCorrPathTPCR, coll.timestamp()); |
| 1093 | + shiftprofileTPCR.push_back(objshiftTPCR); |
1073 | 1094 | lastRunNumber = currentRunNumber; |
1074 | 1095 | } |
1075 | 1096 | } |
1076 | | - if (cfgShiftCorr) { |
| 1097 | + |
| 1098 | + if (ShiftConfigs.cfgShiftCorr) { |
1077 | 1099 | psiT0CCorr = ApplyShiftCorrection(coll, psiT0C); |
1078 | 1100 | ComputeEPResolutionwShifts(coll, psiT0C, psiTPCA, psiTPCC); |
1079 | 1101 | } |
@@ -1373,21 +1395,25 @@ struct cascadeFlow { |
1373 | 1395 | histos.fill(HIST("ShiftTPCR"), coll.centFT0C(), 1.5, ishift - 0.5, std::cos(ishift * 2 * psiTPCC)); |
1374 | 1396 | } |
1375 | 1397 |
|
1376 | | - if (cfgShiftCorr) { |
| 1398 | + if (ShiftConfigs.cfgShiftCorr) { |
1377 | 1399 | currentRunNumber = coll.runNumber(); |
1378 | 1400 | if (currentRunNumber != lastRunNumber) { |
1379 | | - shiftprofile.clear(); |
1380 | | - for (int i = 2; i < cfgnMods + 2; i++) { |
1381 | | - fullCCDBShiftCorrPath = cfgShiftPath; |
1382 | | - fullCCDBShiftCorrPath += "/v"; |
1383 | | - fullCCDBShiftCorrPath += std::to_string(i); |
1384 | | - auto objshift = ccdb->getForTimeStamp<TProfile3D>(fullCCDBShiftCorrPath, coll.timestamp()); |
1385 | | - shiftprofile.push_back(objshift); |
1386 | | - } |
| 1401 | + shiftprofileFT0C.clear(); |
| 1402 | + shiftprofileTPCL.clear(); |
| 1403 | + shiftprofileTPCR.clear(); |
| 1404 | + fullCCDBShiftCorrPathFT0C = ShiftConfigs.cfgShiftPathFT0C; |
| 1405 | + fullCCDBShiftCorrPathTPCL = ShiftConfigs.cfgShiftPathTPCL; |
| 1406 | + fullCCDBShiftCorrPathTPCR = ShiftConfigs.cfgShiftPathTPCR; |
| 1407 | + auto objshiftFT0C = ccdb->getForTimeStamp<TProfile3D>(fullCCDBShiftCorrPathFT0C, coll.timestamp()); |
| 1408 | + shiftprofileFT0C.push_back(objshiftFT0C); |
| 1409 | + auto objshiftTPCL = ccdb->getForTimeStamp<TProfile3D>(fullCCDBShiftCorrPathTPCL, coll.timestamp()); |
| 1410 | + shiftprofileTPCL.push_back(objshiftTPCL); |
| 1411 | + auto objshiftTPCR = ccdb->getForTimeStamp<TProfile3D>(fullCCDBShiftCorrPathTPCR, coll.timestamp()); |
| 1412 | + shiftprofileTPCR.push_back(objshiftTPCR); |
1387 | 1413 | lastRunNumber = currentRunNumber; |
1388 | 1414 | } |
1389 | 1415 | } |
1390 | | - if (cfgShiftCorr) { |
| 1416 | + if (ShiftConfigs.cfgShiftCorr) { |
1391 | 1417 | psiT0CCorr = ApplyShiftCorrection(coll, psiT0C); |
1392 | 1418 | ComputeEPResolutionwShifts(coll, psiT0C, psiTPCA, psiTPCC); |
1393 | 1419 | } |
@@ -1674,21 +1700,25 @@ struct cascadeFlow { |
1674 | 1700 | histos.fill(HIST("ShiftTPCR"), coll.centFT0C(), 1.5, ishift - 0.5, std::cos(ishift * 2 * psiTPCC)); |
1675 | 1701 | } |
1676 | 1702 |
|
1677 | | - if (cfgShiftCorr) { |
| 1703 | + if (ShiftConfigs.cfgShiftCorr) { |
1678 | 1704 | currentRunNumber = coll.runNumber(); |
1679 | 1705 | if (currentRunNumber != lastRunNumber) { |
1680 | | - shiftprofile.clear(); |
1681 | | - for (int i = 2; i < cfgnMods + 2; i++) { |
1682 | | - fullCCDBShiftCorrPath = cfgShiftPath; |
1683 | | - fullCCDBShiftCorrPath += "/v"; |
1684 | | - fullCCDBShiftCorrPath += std::to_string(i); |
1685 | | - auto objshift = ccdb->getForTimeStamp<TProfile3D>(fullCCDBShiftCorrPath, coll.timestamp()); |
1686 | | - shiftprofile.push_back(objshift); |
1687 | | - } |
| 1706 | + shiftprofileFT0C.clear(); |
| 1707 | + shiftprofileTPCL.clear(); |
| 1708 | + shiftprofileTPCR.clear(); |
| 1709 | + fullCCDBShiftCorrPathFT0C = ShiftConfigs.cfgShiftPathFT0C; |
| 1710 | + fullCCDBShiftCorrPathTPCL = ShiftConfigs.cfgShiftPathTPCL; |
| 1711 | + fullCCDBShiftCorrPathTPCR = ShiftConfigs.cfgShiftPathTPCR; |
| 1712 | + auto objshiftFT0C = ccdb->getForTimeStamp<TProfile3D>(fullCCDBShiftCorrPathFT0C, coll.timestamp()); |
| 1713 | + shiftprofileFT0C.push_back(objshiftFT0C); |
| 1714 | + auto objshiftTPCL = ccdb->getForTimeStamp<TProfile3D>(fullCCDBShiftCorrPathTPCL, coll.timestamp()); |
| 1715 | + shiftprofileTPCL.push_back(objshiftTPCL); |
| 1716 | + auto objshiftTPCR = ccdb->getForTimeStamp<TProfile3D>(fullCCDBShiftCorrPathTPCR, coll.timestamp()); |
| 1717 | + shiftprofileTPCR.push_back(objshiftTPCR); |
1688 | 1718 | lastRunNumber = currentRunNumber; |
1689 | 1719 | } |
1690 | 1720 | } |
1691 | | - if (cfgShiftCorr) { |
| 1721 | + if (ShiftConfigs.cfgShiftCorr) { |
1692 | 1722 | psiT0CCorr = ApplyShiftCorrection(coll, psiT0C); |
1693 | 1723 | ComputeEPResolutionwShifts(coll, psiT0C, psiTPCA, psiTPCC); |
1694 | 1724 | } |
@@ -1902,21 +1932,25 @@ struct cascadeFlow { |
1902 | 1932 | histos.fill(HIST("ShiftTPCR"), coll.centFT0C(), 1.5, ishift - 0.5, std::cos(ishift * 2 * psiTPCC)); |
1903 | 1933 | } |
1904 | 1934 |
|
1905 | | - if (cfgShiftCorr) { |
| 1935 | + if (ShiftConfigs.cfgShiftCorr) { |
1906 | 1936 | currentRunNumber = coll.runNumber(); |
1907 | 1937 | if (currentRunNumber != lastRunNumber) { |
1908 | | - shiftprofile.clear(); |
1909 | | - for (int i = 2; i < cfgnMods + 2; i++) { |
1910 | | - fullCCDBShiftCorrPath = cfgShiftPath; |
1911 | | - fullCCDBShiftCorrPath += "/v"; |
1912 | | - fullCCDBShiftCorrPath += std::to_string(i); |
1913 | | - auto objshift = ccdb->getForTimeStamp<TProfile3D>(fullCCDBShiftCorrPath, coll.timestamp()); |
1914 | | - shiftprofile.push_back(objshift); |
1915 | | - } |
| 1938 | + shiftprofileFT0C.clear(); |
| 1939 | + shiftprofileTPCL.clear(); |
| 1940 | + shiftprofileTPCR.clear(); |
| 1941 | + fullCCDBShiftCorrPathFT0C = ShiftConfigs.cfgShiftPathFT0C; |
| 1942 | + fullCCDBShiftCorrPathTPCL = ShiftConfigs.cfgShiftPathTPCL; |
| 1943 | + fullCCDBShiftCorrPathTPCR = ShiftConfigs.cfgShiftPathTPCR; |
| 1944 | + auto objshiftFT0C = ccdb->getForTimeStamp<TProfile3D>(fullCCDBShiftCorrPathFT0C, coll.timestamp()); |
| 1945 | + shiftprofileFT0C.push_back(objshiftFT0C); |
| 1946 | + auto objshiftTPCL = ccdb->getForTimeStamp<TProfile3D>(fullCCDBShiftCorrPathTPCL, coll.timestamp()); |
| 1947 | + shiftprofileTPCL.push_back(objshiftTPCL); |
| 1948 | + auto objshiftTPCR = ccdb->getForTimeStamp<TProfile3D>(fullCCDBShiftCorrPathTPCR, coll.timestamp()); |
| 1949 | + shiftprofileTPCR.push_back(objshiftTPCR); |
1916 | 1950 | lastRunNumber = currentRunNumber; |
1917 | 1951 | } |
1918 | 1952 | } |
1919 | | - if (cfgShiftCorr) { |
| 1953 | + if (ShiftConfigs.cfgShiftCorr) { |
1920 | 1954 | psiT0CCorr = ApplyShiftCorrection(coll, psiT0C); |
1921 | 1955 | ComputeEPResolutionwShifts(coll, psiT0C, psiTPCA, psiTPCC); |
1922 | 1956 | } |
|
0 commit comments