|
33 | 33 |
|
34 | 34 | #include <CommonConstants/PhysicsConstants.h> |
35 | 35 | #include <Framework/ASoAHelpers.h> |
| 36 | +#include <Framework/AnalysisDataModel.h> |
36 | 37 | #include <Framework/AnalysisTask.h> |
37 | 38 | #include <Framework/BinningPolicy.h> |
38 | 39 | #include <Framework/Configurable.h> |
39 | 40 | #include <Framework/HistogramRegistry.h> |
40 | 41 | #include <Framework/HistogramSpec.h> |
41 | 42 | #include <Framework/InitContext.h> |
42 | 43 | #include <Framework/Logger.h> |
| 44 | +#include <Framework/OutputObjHeader.h> |
43 | 45 | #include <Framework/runDataProcessing.h> |
44 | 46 |
|
45 | 47 | #include <TH1.h> |
46 | 48 |
|
47 | | -#include <algorithm> |
48 | 49 | #include <array> |
49 | 50 | #include <cmath> |
50 | 51 | #include <cstdint> |
@@ -639,15 +640,15 @@ struct xi1530kaoncorrelation { |
639 | 640 | template <typename TXiStar, typename TKaon> |
640 | 641 | float getKstar(TXiStar const& xiStar, TKaon const& kaon) const |
641 | 642 | { |
642 | | - const double m1 = static_cast<double>(xiStar.mass()); |
643 | | - const double m2 = static_cast<double>(kKaonMass); |
| 643 | + const auto m1 = static_cast<double>(xiStar.mass()); |
| 644 | + const auto m2 = static_cast<double>(kKaonMass); |
644 | 645 |
|
645 | | - const double p1x = static_cast<double>(xiStar.px()); |
646 | | - const double p1y = static_cast<double>(xiStar.py()); |
647 | | - const double p1z = static_cast<double>(xiStar.pz()); |
648 | | - const double p2x = static_cast<double>(kaon.px()); |
649 | | - const double p2y = static_cast<double>(kaon.py()); |
650 | | - const double p2z = static_cast<double>(kaon.pz()); |
| 646 | + const auto p1x = static_cast<double>(xiStar.px()); |
| 647 | + const auto p1y = static_cast<double>(xiStar.py()); |
| 648 | + const auto p1z = static_cast<double>(xiStar.pz()); |
| 649 | + const auto p2x = static_cast<double>(kaon.px()); |
| 650 | + const auto p2y = static_cast<double>(kaon.py()); |
| 651 | + const auto p2z = static_cast<double>(kaon.pz()); |
651 | 652 |
|
652 | 653 | const double e1 = std::sqrt(p1x * p1x + p1y * p1y + p1z * p1z + m1 * m1); |
653 | 654 | const double e2 = std::sqrt(p2x * p2x + p2y * p2y + p2z * p2z + m2 * m2); |
@@ -691,9 +692,14 @@ struct xi1530kaoncorrelation { |
691 | 692 |
|
692 | 693 | float sum = 0.f; |
693 | 694 | int n = 0; |
694 | | - for (float radiusCm = cprRadiusMinCm.value; |
695 | | - radiusCm <= cprRadiusMaxCm.value + 0.5f * cprRadiusStepCm.value; |
696 | | - radiusCm += cprRadiusStepCm.value) { |
| 695 | + |
| 696 | + const auto nRadiusSteps = static_cast<int>( |
| 697 | + (cprRadiusMaxCm.value - cprRadiusMinCm.value) / cprRadiusStepCm.value + 0.5f); |
| 698 | + |
| 699 | + for (int iRadius = 0; iRadius <= nRadiusSteps; ++iRadius) { |
| 700 | + const auto radiusCm = cprRadiusMinCm.value + |
| 701 | + static_cast<float>(iRadius) * cprRadiusStepCm.value; |
| 702 | + |
697 | 703 | const float arg = 0.3f * static_cast<float>(charge) * bz * radiusCm * 0.01f / (2.f * pt); |
698 | 704 | if (std::abs(arg) < 1.f) { |
699 | 705 | sum += phi - std::asin(arg); |
@@ -755,7 +761,7 @@ struct xi1530kaoncorrelation { |
755 | 761 | } |
756 | 762 | histos.fill(HIST("hPairCounterSE"), 4.f); |
757 | 763 |
|
758 | | - const float channel = static_cast<float>(xiStar.channel()); |
| 764 | + const auto channel = static_cast<float>(xiStar.channel()); |
759 | 765 | const float mt = getPairMt(xiStar, kaon); |
760 | 766 |
|
761 | 767 | // Getter spelling is fT0MPercentile(), exactly as declared in the data model. |
@@ -797,7 +803,7 @@ struct xi1530kaoncorrelation { |
797 | 803 | } |
798 | 804 | histos.fill(HIST("hPairCounterME"), 3.f); |
799 | 805 |
|
800 | | - const float channel = static_cast<float>(xiStar.channel()); |
| 806 | + const auto channel = static_cast<float>(xiStar.channel()); |
801 | 807 | const float mt = getPairMt(xiStar, kaon); |
802 | 808 |
|
803 | 809 | histos.fill(HIST("MEPairs"), kstar, xiStar.mass(), xiStar.pt(), collision1.fT0MPercentile(), channel); |
|
0 commit comments