Skip to content

Commit 77adbd6

Browse files
[PWGLF] kstar histogram now filling, solved several linter issues (#17222)
1 parent 09f2268 commit 77adbd6

1 file changed

Lines changed: 47 additions & 34 deletions

File tree

PWGLF/TableProducer/Nuspex/he3HadronFemto.cxx

Lines changed: 47 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -150,13 +150,13 @@ constexpr std::array<std::array<double, 6>, static_cast<int>(Species::kAllSpecie
150150
{-1.e32, -1.e32, -1.e32, -1.e32, -1.e32, -1.e32}, // He3
151151
{-1.e32, -1.e32, -1.e32, -1.e32, -1.e32, -1.e32} // hadron
152152
}};
153-
static const std::vector<std::string> kItsParNames{"p0", "p1", "p2", "res0", "res1", "res2"};
153+
const std::vector<std::string> kItsParNames{"p0", "p1", "p2", "res0", "res1", "res2"};
154154

155155
constexpr std::array<std::array<double, 6>, 1> kBetheBlochDefault = {{{-1.e32, -1.e32, -1.e32, -1.e32, -1.e32, -1.e32}}};
156-
static const std::vector<std::string> kBetheBlochParNames{"p0", "p1", "p2", "p3", "p4", "resolution"};
156+
const std::vector<std::string> kBetheBlochParNames{"p0", "p1", "p2", "p3", "p4", "resolution"};
157157

158158
constexpr std::array<std::array<double, 6>, 1> kBetheBlochCorrectionDefault = {{{0.0, -1.e32, -1.e32, 0.0, -1.e32, -1.e32}}};
159-
static const std::vector<std::string> kBetheBlochCorrectionParNames{"p0", "p1", "p2", "p3", "p4", "p5"};
159+
const std::vector<std::string> kBetheBlochCorrectionParNames{"p0", "p1", "p2", "p3", "p4", "p5"};
160160

161161
constexpr std::array<std::array<double, 4>, static_cast<int>(Species::kAllSpecies)> kDCAxyResDefault = {{
162162
{1.09e-4, 0.0011, 0.0065, 1.0399}, // He3
@@ -166,7 +166,7 @@ constexpr std::array<std::array<double, 4>, static_cast<int>(Species::kAllSpecie
166166
{9.36e-5, 0.0019, 0.0080, 1.416}, // He3
167167
{1.18e-4, 0.0020, 0.0025, 1.3460} // Pr
168168
}};
169-
static const std::vector<std::string> kDCAResParNames{"res0", "res1", "res2", "mean"};
169+
const std::vector<std::string> kDCAResParNames{"res0", "res1", "res2", "mean"};
170170

171171
constexpr std::array<double, 3> kHePidTrkPtParamsHeDefault = {0.3101, -0.1759, 0.0262};
172172
constexpr std::array<double, 3> kHePidTrkPParamsHeDefault = {0., 0., 0.};
@@ -175,12 +175,14 @@ constexpr std::array<double, 3> kHePidTrkPParamsHeDefault = {0., 0., 0.};
175175

176176
struct He3HadCandidate {
177177

178-
float recoPtHe3() const { return signHe3 * std::hypot(momHe3[0], momHe3[1]); }
179-
float recoPhiHe3() const { return std::atan2(momHe3[1], momHe3[0]); }
180-
float recoEtaHe3() const { return std::asinh(momHe3[2] / std::abs(recoPtHe3())); }
181-
float recoPtHad() const { return signHad * std::hypot(momHad[0], momHad[1]); }
182-
float recoPhiHad() const { return std::atan2(momHad[1], momHad[0]); }
183-
float recoEtaHad() const { return std::asinh(momHad[2] / std::abs(recoPtHad())); }
178+
[[nodiscard]] float recoPtHe3() const { return signHe3 * std::hypot(momHe3[0], momHe3[1]); }
179+
[[nodiscard]] float recoPhiHe3() const { return std::atan2(momHe3[1], momHe3[0]); }
180+
[[nodiscard]] float recoEtaHe3() const { return std::asinh(momHe3[2] / std::abs(recoPtHe3())); }
181+
[[nodiscard]] float recoPtHad() const { return signHad * std::hypot(momHad[0], momHad[1]); }
182+
[[nodiscard]] float recoPhiHad() const { return std::atan2(momHad[1], momHad[0]); }
183+
[[nodiscard]] float recoEtaHad() const { return std::asinh(momHad[2] / std::abs(recoPtHad())); }
184+
[[nodiscard]] float recoKstar() const { return getkstar(recoPtHe3(), recoEtaHe3(), recoPhiHe3(), constants::physics::MassHelium3, 1.f,
185+
recoPtHad(), recoEtaHad(), recoPhiHad(), constants::physics::MassProton, 1.f); }
184186

185187
std::array<float, 3> momHe3 = {99.f, 99.f, 99.f};
186188
std::array<float, 3> momHad = {99.f, 99.f, 99.f};
@@ -335,13 +337,13 @@ struct he3HadronFemto {
335337
SameKindPair<CollisionsFull, TrackCandidates, BinningType> mPair{binningPolicy, settingNoMixedEvents, -1, &cache};
336338

337339
struct He3HadronParams {
338-
std::array<float, 6> betheBlochParams = {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f};
339-
std::array<float, 6> betheBlochCorrectionParams = {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f};
340-
std::array<std::array<float, 6>, static_cast<int>(Species::kAllSpecies)> itsParams;
341-
std::array<std::array<float, 4>, static_cast<int>(Species::kAllSpecies)> dcaxyResParams;
342-
std::array<std::array<float, 4>, static_cast<int>(Species::kAllSpecies)> dcazResParams;
343-
std::array<float, 3> hePidTrkPtParams = {0.0f, 0.0f, 0.0f};
344-
std::array<float, 3> hePidTrkPParams = {0.0f, 0.0f, 0.0f};
340+
std::array<float, 6> betheBlochParams{};
341+
std::array<float, 6> betheBlochCorrectionParams{};
342+
std::array<std::array<float, 6>, static_cast<int>(Species::kAllSpecies)> itsParams{};
343+
std::array<std::array<float, 4>, static_cast<int>(Species::kAllSpecies)> dcaxyResParams{};
344+
std::array<std::array<float, 4>, static_cast<int>(Species::kAllSpecies)> dcazResParams{};
345+
std::array<float, 3> hePidTrkPtParams{};
346+
std::array<float, 3> hePidTrkPParams{};
345347
} mHe3HadronParams;
346348

347349
o2::aod::ITSResponse mResponseITS;
@@ -497,8 +499,8 @@ struct he3HadronFemto {
497499
mRunNumber = bc.runNumber();
498500
const float defaultBzValue = -999.0f;
499501
auto run3GrpTimestamp = bc.timestamp();
500-
o2::parameters::GRPObject* grpo = mCcdb->getForTimeStamp<o2::parameters::GRPObject>(settingGrpPath, run3GrpTimestamp);
501-
o2::parameters::GRPMagField* grpmag = 0x0;
502+
auto grpo = mCcdb->getForTimeStamp<o2::parameters::GRPObject>(settingGrpPath, run3GrpTimestamp);
503+
o2::parameters::GRPMagField* grpmag = nullptr;
502504
if (grpo) {
503505
o2::base::Propagator::initFieldFromGRP(grpo);
504506
if (settingDbz < defaultBzValue) {
@@ -575,8 +577,9 @@ struct he3HadronFemto {
575577

576578
float correctPtHe3TrackedAsTriton(const float pt, const uint32_t pidForTracking)
577579
{
578-
if (pt < 2.5 && pidForTracking == o2::track::PID::Triton)
580+
if (pt < 2.5 && pidForTracking == o2::track::PID::Triton) {
579581
return pt * (1. - mHe3HadronParams.hePidTrkPtParams[0] - mHe3HadronParams.hePidTrkPtParams[1] * pt - mHe3HadronParams.hePidTrkPtParams[2] * pt * pt);
582+
}
580583

581584
return pt;
582585
}
@@ -587,16 +590,17 @@ struct he3HadronFemto {
587590
float correctedTPCinnerParam = (heliumPID && settingCompensatePIDinTracking) ? tpcInnerParam / 2.f : tpcInnerParam;
588591

589592
correctedTPCinnerParam *= 2.f; // rigidity to momentum
590-
if (correctedTPCinnerParam < 2.5 && pidForTracking == o2::track::PID::Triton)
593+
if (correctedTPCinnerParam < 2.5 && pidForTracking == o2::track::PID::Triton) {
591594
return correctedTPCinnerParam * (1. - mHe3HadronParams.hePidTrkPParams[0] - mHe3HadronParams.hePidTrkPParams[1] * correctedTPCinnerParam - mHe3HadronParams.hePidTrkPParams[2] * correctedTPCinnerParam * correctedTPCinnerParam);
595+
}
592596

593597
return correctedTPCinnerParam;
594598
}
595599

596600
float computeNsigmaDCA(const float pt, const float dca, const int iSpecies, const char* dcaType = "xy")
597601
{
598602

599-
std::array<float, 4> parameters;
603+
std::array<float, 4> parameters{{0., 0., 0., 0.}};
600604
if (std::strcmp(dcaType, "xy") == 0) {
601605
parameters = mHe3HadronParams.dcaxyResParams[iSpecies];
602606
} else if (std::strcmp(dcaType, "z") == 0) {
@@ -616,8 +620,9 @@ struct he3HadronFemto {
616620
const float nsigmaDcaZ = computeNsigmaDCA(pt, dcaZ, ispecies, "z");
617621

618622
if (std::abs(nsigmaDcaXy) > cutSettings.settingCutNsigmaDcaXy ||
619-
std::abs(nsigmaDcaZ) > cutSettings.settingCutNsigmaDcaZ)
623+
std::abs(nsigmaDcaZ) > cutSettings.settingCutNsigmaDcaZ) {
620624
return false;
625+
}
621626

622627
return true;
623628
}
@@ -787,8 +792,9 @@ struct he3HadronFemto {
787792
std::array<float, 3> collisionVertex = getCollisionVertex(collisions, he3Hadcand.collisionID);
788793

789794
he3Hadcand.momHe3 = std::array{trackHe3.px(), trackHe3.py(), trackHe3.pz()};
790-
for (int i = 0; i < 3; i++)
795+
for (int i = 0; i < 3; i++) {
791796
he3Hadcand.momHe3[i] = he3Hadcand.momHe3[i] * 2;
797+
}
792798
he3Hadcand.momHad = std::array{trackHad.px(), trackHad.py(), trackHad.pz()};
793799
float invMass = CommonInite;
794800
if (settingHadPDGCode == PDG_t::kPiPlus) {
@@ -817,7 +823,7 @@ struct he3HadronFemto {
817823
} else {
818824
auto trackCovHe3 = getTrackParCov(trackHe3);
819825
auto trackCovHad = getTrackParCov(trackHad);
820-
std::array<float, 2> dcaInfo;
826+
std::array<float, 2> dcaInfo{{-999., -999.}};
821827
o2::base::Propagator::Instance()->propagateToDCABxByBz({collisionVertex[0], collisionVertex[1], collisionVertex[2]}, trackCovHe3, 2.f, mFitter.getMatCorrType(), &dcaInfo);
822828
he3Hadcand.dcaxyHe3 = dcaInfo[0];
823829
he3Hadcand.dcazHe3 = dcaInfo[1];
@@ -1009,6 +1015,7 @@ struct he3HadronFemto {
10091015
mQaRegistry.fill(HIST("He3/hHe3Pt"), he3Hadcand.recoPtHe3());
10101016
mQaRegistry.fill(HIST("Had/hHadronPt"), he3Hadcand.recoPtHad());
10111017
mQaRegistry.fill(HIST("hhe3HadtInvMass"), he3Hadcand.invMass);
1018+
mQaRegistry.fill(HIST("hhe3HadKstar"), he3Hadcand.recoKstar());
10121019
mQaRegistry.fill(HIST("He3/hDCAxyHe3"), he3Hadcand.dcaxyHe3);
10131020
mQaRegistry.fill(HIST("He3/hDCAzHe3"), he3Hadcand.dcazHe3);
10141021
mQaRegistry.fill(HIST("Had/hDCAxyHad"), he3Hadcand.dcaxyHad);
@@ -1167,7 +1174,7 @@ struct he3HadronFemto {
11671174

11681175
pairTracksSameEvent(trackTableThisCollision, collision);
11691176

1170-
if (mTrackPairs.size() == 0) {
1177+
if (mTrackPairs.empty()) {
11711178
continue;
11721179
}
11731180

@@ -1248,14 +1255,14 @@ struct he3HadronFemto {
12481255
he3Hadcand.flags |= Flags::kBothPrimaries;
12491256
isMixedPair = false;
12501257

1251-
} else if ((he3Hadcand.flagsHe3 & ParticleFlags::kFromLi4) && (he3Hadcand.flagsHad & ParticleFlags::kFromLi4)) {
1258+
} else if (static_cast<bool>(he3Hadcand.flagsHe3 & ParticleFlags::kFromLi4) && static_cast<bool>(he3Hadcand.flagsHad & ParticleFlags::kFromLi4)) {
12521259

12531260
searchForCommonMotherTrack(motherHe3Idxs, motherHadIdxs, mcParticles, motherParticle, he3Hadcand, isMixedPair, Li4PDG);
12541261
if (!isMixedPair) {
12551262
he3Hadcand.flags |= Flags::kBothFromLi4;
12561263
}
12571264

1258-
} else if ((he3Hadcand.flagsHe3 & ParticleFlags::kFromHypertriton) && (he3Hadcand.flagsHad & ParticleFlags::kFromHypertriton)) {
1265+
} else if (static_cast<bool>(he3Hadcand.flagsHe3 & ParticleFlags::kFromHypertriton) && static_cast<bool>(he3Hadcand.flagsHad & ParticleFlags::kFromHypertriton)) {
12591266

12601267
searchForCommonMotherTrack(motherHe3Idxs, motherHadIdxs, mcParticles, motherParticle, he3Hadcand, isMixedPair, H3LPDG);
12611268
if (!isMixedPair) {
@@ -1306,8 +1313,9 @@ struct he3HadronFemto {
13061313

13071314
for (const auto& track : tracks) {
13081315

1309-
if (!selectTrack(track, Species::kHad))
1316+
if (!selectTrack(track, Species::kHad)) {
13101317
continue;
1318+
}
13111319

13121320
const float itsNSigmaHad = settingHadPDGCode == PDG_t::kProton ? mResponseITS.nSigmaITS<o2::track::PID::Proton>(track.itsClusterSizes(), track.p(), track.eta()) : mResponseITS.nSigmaITS<o2::track::PID::Pion>(track.itsClusterSizes(), track.p(), track.eta());
13131321
mQaRegistry.fill(HIST("Had/h2NsigmaHadronITS_preselection"), track.sign() * track.pt(), itsNSigmaHad, collision.centFT0C());
@@ -1332,8 +1340,9 @@ struct he3HadronFemto {
13321340
const float itsNSigmaHe3 = mResponseITS.nSigmaITS<o2::track::PID::Helium3>(track.itsClusterSizes(), 2 * track.p(), track.eta());
13331341
mQaRegistry.fill(HIST("He3/h2NsigmaHe3ITS_preselection"), ptHe3Corrected, itsNSigmaHe3, collision.centFT0C());
13341342

1335-
if (!selectTrack(track, Species::kHe3) || !selectDcaNsigmaCut(ptHe3Corrected, track.dcaXY(), track.dcaZ(), Species::kHe3) || (itsNSigmaHe3 < cutSettings.settingCutNsigmaITSHe3))
1343+
if (!selectTrack(track, Species::kHe3) || !selectDcaNsigmaCut(ptHe3Corrected, track.dcaXY(), track.dcaZ(), Species::kHe3) || (itsNSigmaHe3 < cutSettings.settingCutNsigmaITSHe3)) {
13361344
continue;
1345+
}
13371346

13381347
mQaRegistry.fill(HIST("He3/hHe3Pt"), track.sign() * ptHe3Corrected);
13391348
mQaRegistry.fill(HIST("He3/hDCAxyHe3"), track.dcaXY());
@@ -1353,17 +1362,20 @@ struct he3HadronFemto {
13531362

13541363
void processPurityMc(const CollisionsFullMC::iterator& collision, const TrackCandidatesMC& tracks, const aod::BCsWithTimestamps& bcs, const aod::McParticles& /*mcParticles*/, const aod::McTrackLabels& /*mcTrackLabels*/)
13551364
{
1356-
if (!selectCollision</*isMC*/ false>(collision, bcs))
1365+
if (!selectCollision</*isMC*/ false>(collision, bcs)) {
13571366
return;
1367+
}
13581368

13591369
for (const auto& track : tracks) {
13601370

1361-
if (!track.has_mcParticle())
1371+
if (!track.has_mcParticle()) {
13621372
continue;
1373+
}
13631374
const auto& particle = track.mcParticle_as<aod::McParticles>();
13641375

1365-
if (!selectTrack(track, Species::kHad))
1376+
if (!selectTrack(track, Species::kHad)) {
13661377
continue;
1378+
}
13671379

13681380
if (selectDcaNsigmaCut(track.pt(), track.dcaXY(), track.dcaZ(), Species::kHad)) {
13691381
mQaRegistry.fill(HIST("Had/hHadronPt"), track.pt());
@@ -1390,8 +1402,9 @@ struct he3HadronFemto {
13901402
}
13911403

13921404
const float ptHe3Corrected = correctPtHe3TrackedAsTriton(track.pt(), track.pidForTracking());
1393-
if (!selectTrack(track, Species::kHe3) || !selectDcaNsigmaCut(ptHe3Corrected, track.dcaXY(), track.dcaZ(), Species::kHe3))
1405+
if (!selectTrack(track, Species::kHe3) || !selectDcaNsigmaCut(ptHe3Corrected, track.dcaXY(), track.dcaZ(), Species::kHe3)) {
13941406
continue;
1407+
}
13951408

13961409
mQaRegistry.fill(HIST("He3/hHe3Pt"), ptHe3Corrected);
13971410
mQaRegistry.fill(HIST("He3/hDCAxyHe3"), track.dcaXY());

0 commit comments

Comments
 (0)