@@ -217,7 +217,7 @@ DECLARE_SOA_COLUMN(XicChi2OverNdf, xicChi2OverNdf, float);
217217DECLARE_SOA_COLUMN (MassV0Chi2OverNdf, massV0Chi2OverNdf, float );
218218DECLARE_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
223223DECLARE_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