@@ -120,7 +120,15 @@ int External() {
120120 /// check that among the mothers there is a c/cbar quark
121121 /// This means that the charm hadron comes from the c-quark hadronization, where the c/cbar quark
122122 /// comes from a c-cbar pair present in the current event, tagged with a b-bbar (e.g. double-parton scattering)
123- if (std ::find (motherPdgCodes .begin (), motherPdgCodes .end (), 4 ) == motherPdgCodes .end () && std ::find (motherPdgCodes .begin (), motherPdgCodes .end (), -4 ) == motherPdgCodes .end ()) {
123+ /// we check also if it comes from a charmed diquark
124+ if (std ::find (motherPdgCodes .begin (), motherPdgCodes .end (), 4 ) == motherPdgCodes .end () && std ::find (motherPdgCodes .begin (), motherPdgCodes .end (), -4 ) == motherPdgCodes .end ()
125+ && std ::find (motherPdgCodes .begin (), motherPdgCodes .end (), 4101 ) == motherPdgCodes .end () && std ::find (motherPdgCodes .begin (), motherPdgCodes .end (), -4101 ) == motherPdgCodes .end ()
126+ && std ::find (motherPdgCodes .begin (), motherPdgCodes .end (), 4103 ) == motherPdgCodes .end () && std ::find (motherPdgCodes .begin (), motherPdgCodes .end (), -4103 ) == motherPdgCodes .end ()
127+ && std ::find (motherPdgCodes .begin (), motherPdgCodes .end (), 4201 ) == motherPdgCodes .end () && std ::find (motherPdgCodes .begin (), motherPdgCodes .end (), -4201 ) == motherPdgCodes .end ()
128+ && std ::find (motherPdgCodes .begin (), motherPdgCodes .end (), 4203 ) == motherPdgCodes .end () && std ::find (motherPdgCodes .begin (), motherPdgCodes .end (), -4203 ) == motherPdgCodes .end ()
129+ && std ::find (motherPdgCodes .begin (), motherPdgCodes .end (), 4301 ) == motherPdgCodes .end () && std ::find (motherPdgCodes .begin (), motherPdgCodes .end (), -4301 ) == motherPdgCodes .end ()
130+ && std ::find (motherPdgCodes .begin (), motherPdgCodes .end (), 4303 ) == motherPdgCodes .end () && std ::find (motherPdgCodes .begin (), motherPdgCodes .end (), -4303 ) == motherPdgCodes .end ()
131+ && std ::find (motherPdgCodes .begin (), motherPdgCodes .end (), 4403 ) == motherPdgCodes .end () && std ::find (motherPdgCodes .begin (), motherPdgCodes .end (), -4403 ) == motherPdgCodes .end ()){
124132 /// if we arrive here, it means that the hadron comes from the decay of a beauty hadron.
125133 /// This can happen if and only if this is not a replaced one (i.e. native from Lambdab0 decay)
126134 if (std ::find (motherPdgCodes .begin (), motherPdgCodes .end (), 5122 ) == motherPdgCodes .end () && std ::find (motherPdgCodes .begin (), motherPdgCodes .end (), -5122 ) == motherPdgCodes .end ()) {
0 commit comments