Skip to content

Commit 9953b75

Browse files
Jinhyun ParkJinhyun Park
authored andcommitted
Added helper function to fill in table for particle info
1 parent 585a74f commit 9953b75

1 file changed

Lines changed: 38 additions & 102 deletions

File tree

PWGHF/TableProducer/treeCreatorToXiPiQa.cxx

Lines changed: 38 additions & 102 deletions
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ DECLARE_SOA_COLUMN(XicChi2OverNdf, xicChi2OverNdf, float);
217217
DECLARE_SOA_COLUMN(MassV0Chi2OverNdf, massV0Chi2OverNdf, float);
218218
DECLARE_SOA_COLUMN(MassCascChi2OverNdf, massCascChi2OverNdf, float);
219219
// MC
220-
DECLARE_SOA_COLUMN(PdgFromMc, pdgFromMc, int);
220+
DECLARE_SOA_COLUMN(ParticlePdg, particlePdg, int);
221221
} // namespace full
222222

223223
DECLARE_SOA_TABLE(HfToXiPiEvs, "AOD", "HFTOXIPIEV",
@@ -317,7 +317,7 @@ DECLARE_SOA_TABLE(HfCandToXiPiGen, "AOD", "HFCANDTOXIPIGEN",
317317
full::YCharmBaryon,
318318
full::FlagMcMatchRec,
319319
full::OriginRec,
320-
full::PdgFromMc)
320+
full::ParticlePdg)
321321
} // namespace o2::aod
322322

323323
/// Writes the full information in an output TTree
@@ -331,7 +331,7 @@ struct HfTreeCreatorToXiPiQa {
331331

332332
Configurable<float> zPvCut{"zPvCut", 10., "Cut on absolute value of primary vertex z coordinate"};
333333
Configurable<int8_t> genSelection{"genSelection", o2::aod::hf_cand_xic0_omegac0::DecayType::XiczeroToXiPi, "Decay channel to be used to match particle information"};
334-
Configurable<bool> fillParticle{"fillParticle", true, "Fill generated MC information if requested"};
334+
Configurable<bool> fillGenTable{"fillGenTable", true, "Fill generated MC information if requested"};
335335

336336
using MyTrackTable = soa::Join<aod::Tracks, aod::TrackSelection, aod::TracksExtra>;
337337
using MyEventTable = soa::Join<aod::Collisions, aod::EvSels>;
@@ -632,6 +632,19 @@ struct HfTreeCreatorToXiPiQa {
632632
}
633633
}
634634

635+
template <double massCharmBaryon, typename T>
636+
void fillParticle(const T& particle)
637+
{
638+
rowCandidateParticles(RecoDecay::m(particle.pVector(), particle.e()),
639+
particle.pt(),
640+
particle.eta(),
641+
particle.phi(),
642+
RecoDecay::y(particle.pVector(), massCharmBaryon),
643+
particle.flagMcMatchGen(),
644+
particle.originMcGen(),
645+
particle.pdgCode());
646+
}
647+
635648
////////////////////////////////////
636649
// //
637650
// Process functions //
@@ -822,17 +835,10 @@ struct HfTreeCreatorToXiPiQa {
822835
}
823836

824837
// Filling particle properties if requested
825-
if (fillParticle) {
838+
if (fillGenTable) {
826839
rowCandidateParticles.reserve(mcParticles.size());
827840
for (const auto& particle : mcParticles) {
828-
rowCandidateParticles(RecoDecay::m(std::array{particle.px(), particle.py(), particle.pz()}, particle.e()),
829-
particle.pt(),
830-
particle.eta(),
831-
particle.phi(),
832-
RecoDecay::y(particle.pVector(), o2::constants::physics::MassXiC0),
833-
particle.flagMcMatchGen(),
834-
particle.originMcGen(),
835-
particle.pdgCode());
841+
fillParticle<o2::constants::physics::MassXiC0>(particle);
836842
}
837843
}
838844
}
@@ -855,17 +861,10 @@ struct HfTreeCreatorToXiPiQa {
855861
}
856862

857863
// Filling particle properties if requested
858-
if (fillParticle) {
864+
if (fillGenTable) {
859865
rowCandidateParticles.reserve(mcParticles.size());
860866
for (const auto& particle : mcParticles) {
861-
rowCandidateParticles(RecoDecay::m(std::array{particle.px(), particle.py(), particle.pz()}, particle.e()),
862-
particle.pt(),
863-
particle.eta(),
864-
particle.phi(),
865-
RecoDecay::y(particle.pVector(), o2::constants::physics::MassOmegaC0),
866-
particle.flagMcMatchGen(),
867-
particle.originMcGen(),
868-
particle.pdgCode());
867+
fillParticle<o2::constants::physics::MassOmegaC0>(particle);
869868
}
870869
}
871870
}
@@ -888,17 +887,10 @@ struct HfTreeCreatorToXiPiQa {
888887
}
889888

890889
// Filling particle properties if requested
891-
if (fillParticle) {
890+
if (fillGenTable) {
892891
rowCandidateParticles.reserve(mcParticles.size());
893892
for (const auto& particle : mcParticles) {
894-
rowCandidateParticles(RecoDecay::m(std::array{particle.px(), particle.py(), particle.pz()}, particle.e()),
895-
particle.pt(),
896-
particle.eta(),
897-
particle.phi(),
898-
RecoDecay::y(particle.pVector(), o2::constants::physics::MassXiC0),
899-
particle.flagMcMatchGen(),
900-
particle.originMcGen(),
901-
particle.pdgCode());
893+
fillParticle<o2::constants::physics::MassXiC0>(particle);
902894
}
903895
}
904896
}
@@ -921,17 +913,10 @@ struct HfTreeCreatorToXiPiQa {
921913
}
922914

923915
// Filling particle properties if requested
924-
if (fillParticle) {
916+
if (fillGenTable) {
925917
rowCandidateParticles.reserve(mcParticles.size());
926918
for (const auto& particle : mcParticles) {
927-
rowCandidateParticles(RecoDecay::m(std::array{particle.px(), particle.py(), particle.pz()}, particle.e()),
928-
particle.pt(),
929-
particle.eta(),
930-
particle.phi(),
931-
RecoDecay::y(particle.pVector(), o2::constants::physics::MassXiC0),
932-
particle.flagMcMatchGen(),
933-
particle.originMcGen(),
934-
particle.pdgCode());
919+
fillParticle<o2::constants::physics::MassXiC0>(particle);
935920
}
936921
}
937922
}
@@ -954,17 +939,10 @@ struct HfTreeCreatorToXiPiQa {
954939
}
955940

956941
// Filling particle properties if requested
957-
if (fillParticle) {
942+
if (fillGenTable) {
958943
rowCandidateParticles.reserve(mcParticles.size());
959944
for (const auto& particle : mcParticles) {
960-
rowCandidateParticles(RecoDecay::m(std::array{particle.px(), particle.py(), particle.pz()}, particle.e()),
961-
particle.pt(),
962-
particle.eta(),
963-
particle.phi(),
964-
RecoDecay::y(particle.pVector(), o2::constants::physics::MassXiC0),
965-
particle.flagMcMatchGen(),
966-
particle.originMcGen(),
967-
particle.pdgCode());
945+
fillParticle<o2::constants::physics::MassXiC0>(particle);
968946
}
969947
}
970948
}
@@ -987,17 +965,10 @@ struct HfTreeCreatorToXiPiQa {
987965
}
988966

989967
// Filling particle properties if requested
990-
if (fillParticle) {
968+
if (fillGenTable) {
991969
rowCandidateParticles.reserve(mcParticles.size());
992970
for (const auto& particle : mcParticles) {
993-
rowCandidateParticles(RecoDecay::m(std::array{particle.px(), particle.py(), particle.pz()}, particle.e()),
994-
particle.pt(),
995-
particle.eta(),
996-
particle.phi(),
997-
RecoDecay::y(particle.pVector(), o2::constants::physics::MassXiC0),
998-
particle.flagMcMatchGen(),
999-
particle.originMcGen(),
1000-
particle.pdgCode());
971+
fillParticle<o2::constants::physics::MassXiC0>(particle);
1001972
}
1002973
}
1003974
}
@@ -1020,17 +991,10 @@ struct HfTreeCreatorToXiPiQa {
1020991
}
1021992

1022993
// Filling particle properties if requested
1023-
if (fillParticle) {
994+
if (fillGenTable) {
1024995
rowCandidateParticles.reserve(mcParticles.size());
1025996
for (const auto& particle : mcParticles) {
1026-
rowCandidateParticles(RecoDecay::m(std::array{particle.px(), particle.py(), particle.pz()}, particle.e()),
1027-
particle.pt(),
1028-
particle.eta(),
1029-
particle.phi(),
1030-
RecoDecay::y(particle.pVector(), o2::constants::physics::MassOmegaC0),
1031-
particle.flagMcMatchGen(),
1032-
particle.originMcGen(),
1033-
particle.pdgCode());
997+
fillParticle<o2::constants::physics::MassOmegaC0>(particle);
1034998
}
1035999
}
10361000
}
@@ -1064,17 +1028,10 @@ struct HfTreeCreatorToXiPiQa {
10641028
}
10651029

10661030
// Filling particle properties if requested
1067-
if (fillParticle) {
1031+
if (fillGenTable) {
10681032
rowCandidateParticles.reserve(mcParticles.size());
10691033
for (const auto& particle : mcParticles) {
1070-
rowCandidateParticles(RecoDecay::m(std::array{particle.px(), particle.py(), particle.pz()}, particle.e()),
1071-
particle.pt(),
1072-
particle.eta(),
1073-
particle.phi(),
1074-
RecoDecay::y(particle.pVector(), o2::constants::physics::MassXiC0),
1075-
particle.flagMcMatchGen(),
1076-
particle.originMcGen(),
1077-
particle.pdgCode());
1034+
fillParticle<o2::constants::physics::MassXiC0>(particle);
10781035
}
10791036
}
10801037
}
@@ -1097,17 +1054,10 @@ struct HfTreeCreatorToXiPiQa {
10971054
}
10981055

10991056
// Filling particle properties if requested
1100-
if (fillParticle) {
1057+
if (fillGenTable) {
11011058
rowCandidateParticles.reserve(mcParticles.size());
11021059
for (const auto& particle : mcParticles) {
1103-
rowCandidateParticles(RecoDecay::m(std::array{particle.px(), particle.py(), particle.pz()}, particle.e()),
1104-
particle.pt(),
1105-
particle.eta(),
1106-
particle.phi(),
1107-
RecoDecay::y(particle.pVector(), o2::constants::physics::MassXiC0),
1108-
particle.flagMcMatchGen(),
1109-
particle.originMcGen(),
1110-
particle.pdgCode());
1060+
fillParticle<o2::constants::physics::MassXiC0>(particle);
11111061
}
11121062
}
11131063
}
@@ -1130,17 +1080,10 @@ struct HfTreeCreatorToXiPiQa {
11301080
}
11311081

11321082
// Filling particle properties if requested
1133-
if (fillParticle) {
1083+
if (fillGenTable) {
11341084
rowCandidateParticles.reserve(mcParticles.size());
11351085
for (const auto& particle : mcParticles) {
1136-
rowCandidateParticles(RecoDecay::m(std::array{particle.px(), particle.py(), particle.pz()}, particle.e()),
1137-
particle.pt(),
1138-
particle.eta(),
1139-
particle.phi(),
1140-
RecoDecay::y(particle.pVector(), o2::constants::physics::MassXiC0),
1141-
particle.flagMcMatchGen(),
1142-
particle.originMcGen(),
1143-
particle.pdgCode());
1086+
fillParticle<o2::constants::physics::MassXiC0>(particle);
11441087
}
11451088
}
11461089
}
@@ -1163,17 +1106,10 @@ struct HfTreeCreatorToXiPiQa {
11631106
}
11641107

11651108
// Filling particle properties if requested
1166-
if (fillParticle) {
1109+
if (fillGenTable) {
11671110
rowCandidateParticles.reserve(mcParticles.size());
11681111
for (const auto& particle : mcParticles) {
1169-
rowCandidateParticles(RecoDecay::m(std::array{particle.px(), particle.py(), particle.pz()}, particle.e()),
1170-
particle.pt(),
1171-
particle.eta(),
1172-
particle.phi(),
1173-
RecoDecay::y(particle.pVector(), o2::constants::physics::MassXiC0),
1174-
particle.flagMcMatchGen(),
1175-
particle.originMcGen(),
1176-
particle.pdgCode());
1112+
fillParticle<o2::constants::physics::MassXiC0>(particle);
11771113
}
11781114
}
11791115
}

0 commit comments

Comments
 (0)