Skip to content
Snippets Groups Projects
Commit 4e8b36cf authored by Bertrand Martin's avatar Bertrand Martin
Browse files

PanTau: set decay mode to Mode_NotSet when not evaluated

Hello,

Currently, when taus have 0 or >5 associated tracks, the tau substructure reconstruction ("PanTau" tool) is not run, and the only substructure variable that is set for the tau is "PanTau_isPanTauCandidate = 0".
None of the other PanTau variables are set, and therefore, they all have a default value of 0.
This is very misleading for the PanTau "DecayMode" variable, for which a value of 0 corresponds to "Mode_1p0n" in the TauDefs enum.
The consequence is that "1p0n" taus currently includes 0p and >5p candidates.

In this MR, when PanTau_isPanTauCandidate=0, we also set the DecayMode to Mode_NotSet, to avoid this confusion.
We can now drop the workaround we added in TauCombinedTES.

The only change to the reconstruction output is TauJetsAux.PanTau_DecayMode: 0 -> 6, for 0p and >5p.

Closes ATLTAU-1775.

Cheers,
Bertrand
parent 4bfb7f00
6 merge requests!58791DataQualityConfigurations: Modify L1Calo config for web display,!46784MuonCondInterface: Enable thread-safety checking.,!46776Updated LArMonitoring config file for WD to match new files produced using MT,!45405updated ART test cron job,!42417Draft: DIRE and VINCIA Base Fragments for Pythia 8.3,!42082PanTau: set decay mode to Mode_NotSet when not evaluated
......@@ -82,6 +82,7 @@ StatusCode PanTau::Tool_DetailsArranger::execute(PanTau::PanTauSeed* inSeed, xAO
if(isBadSeed == true) {
ATH_MSG_DEBUG("This seed is not useable for detail arranging (other than validity flag)");
tauJet->setPanTauDetail(xAOD::TauJetParameters::PanTau_isPanTauCandidate, 0);
tauJet->setPanTauDetail(xAOD::TauJetParameters::PanTau_DecayMode, xAOD::TauJetParameters::Mode_NotSet);
return StatusCode::SUCCESS;
}
......
......@@ -203,15 +203,9 @@ int TauCombinedTES::getEtaIndex(const float& eta) const {
xAOD::TauJetParameters::DecayMode TauCombinedTES::getDecayMode(const xAOD::TauJet& tau) const{
xAOD::TauJetParameters::DecayMode TauCombinedTES::getDecayMode(const xAOD::TauJet& tau) const {
int decayMode = xAOD::TauJetParameters::DecayMode::Mode_Error;
// When PanTau fails, the decay mode will be set to 1p0n !
int isPanTauCandidate;
tau.panTauDetail(xAOD::TauJetParameters::PanTauDetails::PanTau_isPanTauCandidate, isPanTauCandidate);
if (isPanTauCandidate) {
tau.panTauDetail(xAOD::TauJetParameters::PanTauDetails::PanTau_DecayMode, decayMode);
}
tau.panTauDetail(xAOD::TauJetParameters::PanTauDetails::PanTau_DecayMode, decayMode);
return static_cast<xAOD::TauJetParameters::DecayMode>(decayMode);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment