diff --git a/Phys/FunTuple/src/FunTuple.cpp b/Phys/FunTuple/src/FunTuple.cpp index af62ccadbab6790348be0c357bf017f5e2b7c69e..7396066151c8e2fd7bb853f9f7b1d5c6b568d84b 100755 --- a/Phys/FunTuple/src/FunTuple.cpp +++ b/Phys/FunTuple/src/FunTuple.cpp @@ -650,6 +650,11 @@ StatusCode FunTupleBase<T>::parse_decay_descriptors() { // loop over fields for ( unsigned int nfield = 0; nfield < m_particletupleprops.size(); nfield++ ) { ParticleTupleProp ptp = m_particletupleprops[nfield]; + + //print only for the first field, as the rest of field will have the same decay descriptors + if (nfield == 0) + this->info() << "User specified descriptor: " << ptp.DecayDescriptor() << endmsg; + if ( m_use_loki_decay_finder ) { auto decayTree = m_decaytool_loki->tree( ptp.DecayDescriptor() ); if ( !decayTree ) @@ -662,10 +667,18 @@ StatusCode FunTupleBase<T>::parse_decay_descriptors() { StatusCode::FAILURE ); auto tree_possibilities = m_decay_finder->getTreePossibilities( ptp.DecayDescriptor() ); + if ( tree_possibilities.empty() ) throw GaudiException( "Error parsing the decay descriptor: " + ptp.DecayDescriptor(), "parse_decay_descriptors", StatusCode::FAILURE ); m_parsed_descriptor.push_back( tree_possibilities ); + + //print the tree possibilities only for the first field as the rest of the fields will have the same tree + if (nfield == 0) { + this->info() << "Number of decay possibilities with specified descriptor: " << tree_possibilities.size() << endmsg; + for (unsigned int i = 0; i < tree_possibilities.size(); ++i) + this->info() << "Possibility #" << i << ": " << tree_possibilities[i] << endmsg; + } } } return StatusCode::SUCCESS;