Skip to content

Commit 6dba81b

Browse files
authored
Update flattenictyPikp.cxx
Replaced static_for in dEdx histogram filling
1 parent 02f3059 commit 6dba81b

File tree

1 file changed

+23
-63
lines changed

1 file changed

+23
-63
lines changed

PWGLF/Tasks/GlobalEventProperties/flattenictyPikp.cxx

Lines changed: 23 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -76,11 +76,6 @@ static constexpr float kFV0IndexPhi[5] = {0., 8., 16., 24., 32.};
7676
static constexpr float kEtaMaxFV0 = 5.1;
7777
static constexpr float kEtaMinFV0 = 2.2;
7878
static constexpr float kDEtaFV0 = (kEtaMaxFV0 - kEtaMinFV0) / kMaxRingsFV0;
79-
// eta binning for dEdx calibration
80-
static constexpr int Neta = 9;
81-
static constexpr float kEtaLow[Neta] = {-0.8, -0.8, -0.6, -0.4, -0.2, 0.0, 0.2, 0.4, 0.6};
82-
static constexpr float kEtaHigh[Neta] = {0.8, -0.6, -0.4, -0.2, 0.0, 0.2, 0.4, 0.6, 0.8};
83-
static constexpr std::string_view kEtaEnding[Neta] = {"-88", "-8-6", "-6-4", "-4-2", "-20", "02", "24", "46", "68"};
8479
// PID names
8580
static constexpr int kProcessIdWeak = 4;
8681
static constexpr int Ncharges = 2;
@@ -98,7 +93,8 @@ static constexpr std::string_view kSpeciesAll[Npart] = {"El", "Mu", "Pi", "Ka",
9893
static constexpr std::string_view kCharge[] = {"all/", "pos/", "neg/"};
9994
static constexpr std::string_view kPrefix = "Tracks/";
10095
static constexpr std::string_view kQA = "QA/";
101-
static constexpr std::string_view kPrefixClean = "Tracks/Clean/";
96+
static constexpr std::string_view kPrefixCleanTof = "Tracks/CleanTof/";
97+
static constexpr std::string_view kPrefixCleanV0 = "Tracks/CleanV0/";
10298
static constexpr std::string_view kStatus[] = {"preSel/", "postSel/"};
10399
static constexpr std::string_view kStatCalib[] = {"preCalib/", "postCalib/"};
104100
static constexpr std::string_view kPtGenPrimSgn = "/hPtGenPrimSgn";
@@ -503,20 +499,17 @@ struct FlattenictyPikp {
503499
flatchrg.add("Tracks/V0qa/hV0ArmPod", ";#alpha; #it{q}_T", HistType::kTH2D, {{200, -1.0f, +1.0f}, {250, 0.0f, 0.25f}});
504500
// dEdx PID
505501
flatchrg.add({"Tracks/all/hdEdx", "; #eta; mult; flat; #it{p} (GeV/#it{c}); dEdx", {HistType::kTHnSparseD, {etaAxis, multAxis, flatAxis, pAxis, dEdxAxis}}});
506-
507502
// Clean samples
508-
for (int i = 0; i < Neta; i++) {
509-
flatchrg.add(fmt::format("Tracks/Clean/all/hPiTof{}", kEtaEnding[i]).c_str(), fmt::format("Tracks/Clean/all/hPiTof{}", kEtaEnding[i]).c_str(), {HistType::kTH2D, {pAxis, dEdxAxis}});
510-
flatchrg.add(fmt::format("Tracks/Clean/all/hEV0{}", kEtaEnding[i]).c_str(), fmt::format("Tracks/Clean/all/hEV0{}", kEtaEnding[i]).c_str(), {HistType::kTH2D, {pAxis, dEdxAxis}});
511-
flatchrg.add(fmt::format("Tracks/Clean/all/hPiV0{}", kEtaEnding[i]).c_str(), fmt::format("Tracks/Clean/all/hPiV0{}", kEtaEnding[i]).c_str(), {HistType::kTH2D, {pAxis, dEdxAxis}});
512-
flatchrg.add(fmt::format("Tracks/Clean/all/hPV0{}", kEtaEnding[i]).c_str(), fmt::format("Tracks/Clean/all/hPV0{}", kEtaEnding[i]).c_str(), {HistType::kTH2D, {pAxis, dEdxAxis}});
513-
}
514-
503+
flatchrg.add({"Tracks/CleanTof/all/hPiTof", "; #eta; mult; flat; #it{p} (GeV/#it{c}); dEdx", {HistType::kTHnSparseD, {etaAxis, multAxis, flatAxis, pAxis, dEdxAxis}}});
504+
flatchrg.add({"Tracks/CleanV0/pos/hEV0", "; #eta; mult; flat; #it{p} (GeV/#it{c}); dEdx", {HistType::kTHnSparseD, {etaAxis, multAxis, flatAxis, pAxis, dEdxAxis}}});
505+
flatchrg.add({"Tracks/CleanV0/pos/hPiV0", "; #eta; mult; flat; #it{p} (GeV/#it{c}); dEdx", {HistType::kTHnSparseD, {etaAxis, multAxis, flatAxis, pAxis, dEdxAxis}}});
506+
flatchrg.add({"Tracks/CleanV0/pos/hPV0", "; #eta; mult; flat; #it{p} (GeV/#it{c}); dEdx", {HistType::kTHnSparseD, {etaAxis, multAxis, flatAxis, pAxis, dEdxAxis}}});
507+
flatchrg.addClone("Tracks/CleanV0/pos/", "Tracks/CleanV0/neg/");
515508
if (cfgFillChrgType) {
516509
flatchrg.addClone("Tracks/all/", "Tracks/pos/");
517510
flatchrg.addClone("Tracks/all/", "Tracks/neg/");
518-
flatchrg.addClone("Tracks/Clean/all/", "Tracks/Clean/pos/");
519-
flatchrg.addClone("Tracks/Clean/all/", "Tracks/Clean/neg/");
511+
flatchrg.addClone("Tracks/CleanTof/all/", "Tracks/CleanTof/pos/");
512+
flatchrg.addClone("Tracks/CleanTof/all/", "Tracks/CleanTof/neg/");
520513
}
521514
}
522515

@@ -774,17 +767,12 @@ struct FlattenictyPikp {
774767
// TOF pions
775768
if (track.hasTOF() && track.beta() > 1.) {
776769
if (selTOFPi(track)) {
777-
static_for<0, 8>([&](auto i) {
778-
constexpr int kIdx = i.value;
779-
if (track.eta() > kEtaLow[kIdx] && track.eta() < kEtaHigh[kIdx]) {
780-
flatchrg.fill(HIST(kPrefixClean) + HIST(kCharge[kAll]) + HIST("hPiTof") + HIST(kEtaEnding[kIdx]), track.tpcInnerParam(), dEdx);
781-
if (track.sign() > 0) {
782-
flatchrg.fill(HIST(kPrefixClean) + HIST(kCharge[kPos]) + HIST("hPiTof") + HIST(kEtaEnding[kIdx]), track.tpcInnerParam(), dEdx);
783-
} else {
784-
flatchrg.fill(HIST(kPrefixClean) + HIST(kCharge[kNeg]) + HIST("hPiTof") + HIST(kEtaEnding[kIdx]), track.tpcInnerParam(), dEdx);
785-
}
786-
}
787-
});
770+
flatchrg.fill(HIST(kPrefixCleanTof) + HIST(kCharge[kAll]) + HIST("hPiTof"), track.eta(), mult, flat, track.tpcInnerParam(), dEdx);
771+
if (posP) {
772+
flatchrg.fill(HIST(kPrefixCleanTof) + HIST(kCharge[kPos]) + HIST("hPiTof"), track.eta(), mult, flat, track.tpcInnerParam(), dEdx);
773+
} else {
774+
flatchrg.fill(HIST(kPrefixCleanTof) + HIST(kCharge[kNeg]) + HIST("hPiTof"), track.eta(), mult, flat, track.tpcInnerParam(), dEdx);
775+
}
788776
}
789777
}
790778
}
@@ -806,48 +794,20 @@ struct FlattenictyPikp {
806794
}
807795

808796
if (selectTypeV0s(v0, posTrack, negTrack) == kGa) { // Gamma selection
809-
static_for<0, 8>([&](auto i) {
810-
constexpr int kIdx = i.value;
811-
if (posTrack.eta() > kEtaLow[kIdx] && posTrack.eta() < kEtaHigh[kIdx]) {
812-
flatchrg.fill(HIST(kPrefixClean) + HIST(kCharge[kPos]) + HIST("hEV0") + HIST(kEtaEnding[kIdx]), posTrack.sign() * posTrack.tpcInnerParam(), dEdxPos);
813-
}
814-
if (negTrack.eta() > kEtaLow[kIdx] && negTrack.eta() < kEtaHigh[kIdx]) {
815-
flatchrg.fill(HIST(kPrefixClean) + HIST(kCharge[kNeg]) + HIST("hEV0") + HIST(kEtaEnding[kIdx]), negTrack.sign() * negTrack.tpcInnerParam(), dEdxNeg);
816-
}
817-
});
797+
flatchrg.fill(HIST(kPrefixCleanV0) + HIST(kCharge[kPos]) + HIST("hEV0"), posTrack.eta(), mult, flat, posTrack.sign() * posTrack.tpcInnerParam(), dEdxPos);
798+
flatchrg.fill(HIST(kPrefixCleanV0) + HIST(kCharge[kNeg]) + HIST("hEV0"), negTrack.eta(), mult, flat, negTrack.sign() * negTrack.tpcInnerParam(), dEdxNeg);
818799
}
819800
if (selectTypeV0s(v0, posTrack, negTrack) == kKz) { // K0S -> pi + pi
820-
static_for<0, 8>([&](auto i) {
821-
constexpr int kIdx = i.value;
822-
if (posTrack.eta() > kEtaLow[kIdx] && posTrack.eta() < kEtaHigh[kIdx]) {
823-
flatchrg.fill(HIST(kPrefixClean) + HIST(kCharge[kPos]) + HIST("hPiV0") + HIST(kEtaEnding[kIdx]), posTrack.sign() * posTrack.tpcInnerParam(), dEdxPos);
824-
}
825-
if (negTrack.eta() > kEtaLow[kIdx] && negTrack.eta() < kEtaHigh[kIdx]) {
826-
flatchrg.fill(HIST(kPrefixClean) + HIST(kCharge[kNeg]) + HIST("hPiV0") + HIST(kEtaEnding[kIdx]), negTrack.sign() * negTrack.tpcInnerParam(), dEdxNeg);
827-
}
828-
});
801+
flatchrg.fill(HIST(kPrefixCleanV0) + HIST(kCharge[kPos]) + HIST("hPiV0"), posTrack.eta(), mult, flat, posTrack.sign() * posTrack.tpcInnerParam(), dEdxPos);
802+
flatchrg.fill(HIST(kPrefixCleanV0) + HIST(kCharge[kNeg]) + HIST("hPiV0"), negTrack.eta(), mult, flat, negTrack.sign() * negTrack.tpcInnerParam(), dEdxNeg);
829803
}
830804
if (selectTypeV0s(v0, posTrack, negTrack) == kLam) { // L -> p + pi-
831-
static_for<0, 8>([&](auto i) {
832-
constexpr int kIdx = i.value;
833-
if (posTrack.eta() > kEtaLow[kIdx] && posTrack.eta() < kEtaHigh[kIdx]) {
834-
flatchrg.fill(HIST(kPrefixClean) + HIST(kCharge[kPos]) + HIST("hPV0") + HIST(kEtaEnding[kIdx]), posTrack.sign() * posTrack.tpcInnerParam(), dEdxPos);
835-
}
836-
if (negTrack.eta() > kEtaLow[kIdx] && negTrack.eta() < kEtaHigh[kIdx]) {
837-
flatchrg.fill(HIST(kPrefixClean) + HIST(kCharge[kNeg]) + HIST("hPiV0") + HIST(kEtaEnding[kIdx]), negTrack.sign() * negTrack.tpcInnerParam(), dEdxNeg);
838-
}
839-
});
805+
flatchrg.fill(HIST(kPrefixCleanV0) + HIST(kCharge[kPos]) + HIST("hPV0"), posTrack.eta(), mult, flat, posTrack.sign() * posTrack.tpcInnerParam(), dEdxPos);
806+
flatchrg.fill(HIST(kPrefixCleanV0) + HIST(kCharge[kNeg]) + HIST("hPV0"), negTrack.eta(), mult, flat, negTrack.sign() * negTrack.tpcInnerParam(), dEdxNeg);
840807
}
841808
if (selectTypeV0s(v0, posTrack, negTrack) == kaLam) { // L -> p + pi-
842-
static_for<0, 8>([&](auto i) {
843-
constexpr int kIdx = i.value;
844-
if (posTrack.eta() > kEtaLow[kIdx] && posTrack.eta() < kEtaHigh[kIdx]) {
845-
flatchrg.fill(HIST(kPrefixClean) + HIST(kCharge[kPos]) + HIST("hPiV0") + HIST(kEtaEnding[kIdx]), posTrack.sign() * posTrack.tpcInnerParam(), dEdxPos);
846-
}
847-
if (negTrack.eta() > kEtaLow[kIdx] && negTrack.eta() < kEtaHigh[kIdx]) {
848-
flatchrg.fill(HIST(kPrefixClean) + HIST(kCharge[kNeg]) + HIST("hPV0") + HIST(kEtaEnding[kIdx]), negTrack.sign() * negTrack.tpcInnerParam(), dEdxNeg);
849-
}
850-
});
809+
flatchrg.fill(HIST(kPrefixCleanV0) + HIST(kCharge[kPos]) + HIST("hPiV0"), posTrack.eta(), mult, flat, posTrack.sign() * posTrack.tpcInnerParam(), dEdxPos);
810+
flatchrg.fill(HIST(kPrefixCleanV0) + HIST(kCharge[kNeg]) + HIST("hPiV0"), negTrack.eta(), mult, flat, negTrack.sign() * negTrack.tpcInnerParam(), dEdxNeg);
851811
}
852812
}
853813
}

0 commit comments

Comments
 (0)