No warning or error raised when one particle in decay descriptor is not correctly initialised
Testing a Run12 production in AnalysisProductions, I realised there was an issue with one of my decay descriptors (out of O(20)), namely that one of the particles was not correctly being picked up (the ^ was missing in front of one of them). What then happened is that the resonance was included but with only the default naming and TupleTools.
An example set of correct decay descriptors is:
decay_desc = "[Lambda_b0 -> ^(J/psi(1S) -> ^e+ ^e- ) ^(Lambda0 -> ^p+ ^pi-)]CC"
decay_branches = {
"Lb" : "[Lambda_b0 -> (J/psi(1S) -> e+ e- ) (Lambda0 -> p+ pi-)]CC",
"L0" : "[Lambda_b0 -> (J/psi(1S) -> e+ e- ) ^(Lambda0 -> p+ pi-)]CC",
"JPs" : "[Lambda_b0 -> ^(J/psi(1S) -> e+ e- ) (Lambda0 -> p+ pi-)]CC",
"L1" : "[Lambda_b0 -> (J/psi(1S) ->^e+ e- ) (Lambda0 -> p+ pi-)]CC",
"L2" : "[Lambda_b0 -> (J/psi(1S) -> e+ ^e- ) (Lambda0 -> p+ pi-)]CC",
"P" : "[Lambda_b0 -> (J/psi(1S) -> e+ e- ) (Lambda0 ->^p+ pi-)]CC",
"Pi" : "[Lambda_b0 -> (J/psi(1S) -> e+ e- ) (Lambda0 -> p+^pi-)]CC",
}
An example set of branches with an incorrect branch configuration (note the missing bracket) that would not be caught is
decay_desc = "[Lambda_b0 -> ^(J/psi(1S) -> ^e+ ^e- ) ^(Lambda0 -> ^p+ ^pi-)]CC"
decay_branches = {
"Lb" : "[Lambda_b0 -> (J/psi(1S) -> e+ e- ) (Lambda0 -> p+ pi-)]CC",
"L0" : "[Lambda_b0 -> (J/psi(1S) -> e+ e- ) ^(Lambda0 -> p+ pi-)]CC",
"JPs" : "[Lambda_b0 -> (J/psi(1S) -> e+ e- ) (Lambda0 -> p+ pi-)]CC", #Missing bracket -> not initialised
"L1" : "[Lambda_b0 -> (J/psi(1S) ->^e+ e- ) (Lambda0 -> p+ pi-)]CC",
"L2" : "[Lambda_b0 -> (J/psi(1S) -> e+ ^e- ) (Lambda0 -> p+ pi-)]CC",
"P" : "[Lambda_b0 -> (J/psi(1S) -> e+ e- ) (Lambda0 ->^p+ pi-)]CC",
"Pi" : "[Lambda_b0 -> (J/psi(1S) -> e+ e- ) (Lambda0 -> p+^pi-)]CC",
}
In this case a branch with "J_psi_1S"
as particle name is initialised and only default TupleTools are included for it.
No warning or error is raised by DaVinci when this happens, while this leads to some required variables missing. Would it be possible to add this for the Run12 DaVinci or at least for the Upgrade?