6 namespace PartonHistoryUtils {
9 bool isAfterFSR(
false);
10 const int particle_ID =
particle->pdgId();
15 for (
size_t j = 0; j <
particle->nChildren(); j++) {
17 if (tmp_children && tmp_children->
pdgId() == particle_ID) {
23 if (forLoop == 0) isAfterFSR =
true;
58 const bool isZ = (
result.decay1_pdgId == 23 ||
result.decay2_pdgId == 23) ?
true :
false;
59 const bool isW = (std::abs(
result.decay1_pdgId) == 24 || std::abs(
result.decay2_pdgId) == 24) ?
true :
false;
73 if (isHadronic)
return 1;
78 if (std::abs(
result.decay1_pdgId) == 15) {
79 result.tau_decay1_isHadronic = tauHadronicIndex(higgs_fsr->
child(0));
81 if (std::abs(
result.decay2_pdgId) == 15) {
82 result.tau_decay2_isHadronic = tauHadronicIndex(higgs_fsr->
child(1));
103 if (std::abs(
result.decay1_from_decay1_pdgId) == 15) {
104 result.tau_decay1_from_decay1_isHadronic = tauHadronicIndex(decay1->
child(0));
106 if (std::abs(
result.decay2_from_decay1_pdgId) == 15) {
107 result.tau_decay2_from_decay1_isHadronic = tauHadronicIndex(decay1->
child(1));
109 if (std::abs(
result.decay1_from_decay2_pdgId) == 15) {
110 result.tau_decay1_from_decay2_isHadronic = tauHadronicIndex(decay2->
child(0));
112 if (std::abs(
result.decay2_from_decay2_pdgId) == 15) {
113 result.tau_decay2_from_decay2_isHadronic = tauHadronicIndex(decay2->
child(1));
126 if (std::abs(tau->
pdgId()) != 15) {
141 if (std::abs(child1->
pdgId()) == 16) {
143 if (std::abs(child2->
pdgId()) != 24) {
157 if (std::abs(child2->
child(0)->
pdgId()) < 16) {
164 if (std::abs(child2->
pdgId()) != 16) {
178 if (std::abs(child1->
child(0)->
pdgId()) < 16) {
188 constexpr
size_t nItems=3;
189 const std::array<std::string, nItems>
suffix{
"_m",
"_pt",
"_phi"};
191 for(
size_t i(0);
i<nItems;++
i){