void TtbarHypothesis::throwDetailedException() const {
	std::string msg = "TTbar Hypothesis not filled properly: \n";
	if (leptonFromW == 0)
		msg += "Electron from W: not filled \n";
	else
		msg += "Electron from W: filled \n";

	if (neutrinoFromW == 0)
		msg += "Neutrino from W: not filled \n";
	else
		msg += "Neutrino from W: filled \n";

	if (jet1FromW == 0)
		msg += "Jet 1 from W: not filled \n";
	else
		msg += "Jet 1 from W: filled \n";

	if (jet2FromW == 0)
		msg += "Jet 2 from W: not filled \n";
	else
		msg += "Jet 2 from W: filled \n";

	if (leptonicBjet == 0)
		msg += "Leptonic b-jet: not filled \n";
	else
		msg += "Leptonic b-jet: filled \n";

	if (hadronicBJet == 0)
		msg += "Hadronic b-jet: not filled \n";
	else
		msg += "Hadronic b-jet: filled \n";

	throw ReconstructionException(msg);
}
void TopPairCandidateTutorial::throwExpeptionIfNotReconstructed() const {
    if (doneReconstruction == false)
        throw ReconstructionException("Can't access reconstructed particles before reconstruction.");
}