diff --git a/Reconstruction/tauRec/python/TauAlgorithmsHolder.py b/Reconstruction/tauRec/python/TauAlgorithmsHolder.py index 4469ceca9ac4414acb3b486edbda547188281c1c..0437b7c3f6045d006658b70b946f0e1f7a5d7da0 100644 --- a/Reconstruction/tauRec/python/TauAlgorithmsHolder.py +++ b/Reconstruction/tauRec/python/TauAlgorithmsHolder.py @@ -686,7 +686,8 @@ def getTauJetRNNEvaluator(): myTauJetRNNEvaluator = TauJetRNNEvaluator(name = _name, NetworkFile0P = "", NetworkFile1P = tauFlags.tauRecTauJetRNNConfig()[0], - NetworkFile3P = tauFlags.tauRecTauJetRNNConfig()[1], + NetworkFile2P = tauFlags.tauRecTauJetRNNConfig()[1], + NetworkFile3P = tauFlags.tauRecTauJetRNNConfig()[2], OutputVarname = "RNNJetScore", MaxTracks = 10, MaxClusters = 6, @@ -712,11 +713,13 @@ def getTauWPDecoratorJetRNN(): from tauRecTools.tauRecToolsConf import TauWPDecorator myTauWPDecorator = TauWPDecorator( name=_name, flatteningFile1Prong = tauFlags.tauRecTauJetRNNWPConfig()[0], - flatteningFile3Prong = tauFlags.tauRecTauJetRNNWPConfig()[1], + flatteningFile2Prong = tauFlags.tauRecTauJetRNNWPConfig()[1], + flatteningFile3Prong = tauFlags.tauRecTauJetRNNWPConfig()[2], CutEnumVals = [ ROOT.xAOD.TauJetParameters.IsTauFlag.JetRNNSigVeryLoose, ROOT.xAOD.TauJetParameters.IsTauFlag.JetRNNSigLoose, ROOT.xAOD.TauJetParameters.IsTauFlag.JetRNNSigMedium, ROOT.xAOD.TauJetParameters.IsTauFlag.JetRNNSigTight ], SigEff1P = [0.95, 0.85, 0.75, 0.60], + SigEff2P = [0.95, 0.75, 0.60, 0.45], SigEff3P = [0.95, 0.75, 0.60, 0.45], ScoreName = "RNNJetScore", NewScoreName = "RNNJetScoreSigTrans", diff --git a/Reconstruction/tauRec/python/tauRecFlags.py b/Reconstruction/tauRec/python/tauRecFlags.py index 7f74f30a75569805be8232d350e1e5482fb02f7e..32309dc44596ed48593f3aa728177a0d37da8a95 100644 --- a/Reconstruction/tauRec/python/tauRecFlags.py +++ b/Reconstruction/tauRec/python/tauRecFlags.py @@ -142,14 +142,14 @@ class tauRecTauJetRNNConfig(JobProperty): """ statusOn=True allowedTypes=[['string']] - StoredValue=[ 'rnnid_mc16d_config_1p.json', 'rnnid_mc16d_config_3p.json' ] + StoredValue=[ 'rnnid_mc16d_config_1p.json', 'rnnid_mc16d_config_3p.json', 'rnnid_mc16d_config_3p.json' ] class tauRecTauJetRNNWPConfig(JobProperty): """Config files for TauWPDecorator for RNN jet ID """ statusOn=True allowedTypes=[['string']] - StoredValue=[ 'rnnid_mc16d_flat_1p.root', 'rnnid_mc16d_flat_3p.root' ] + StoredValue=[ 'rnnid_mc16d_flat_1p.root', 'rnnid_mc16d_flat_3p.root', 'rnnid_mc16d_flat_3p.root' ] class tauRecTauEleRNNConfig(JobProperty): """Config files for TauJetRNNEvaluator eVeto diff --git a/Reconstruction/tauRecTools/Root/TauJetRNNUtils.cxx b/Reconstruction/tauRecTools/Root/TauJetRNNUtils.cxx index f760d8936ecf009b291b6714c238d31c221758e5..db041bb0acdc7d5e9f06a5c8bf9de21e5337fb43 100644 --- a/Reconstruction/tauRecTools/Root/TauJetRNNUtils.cxx +++ b/Reconstruction/tauRecTools/Root/TauJetRNNUtils.cxx @@ -131,9 +131,14 @@ std::unique_ptr<VarCalc> get_default_calculator() { // Track variable calculator functions calc->insert("pt_log", Variables::Track::pt_log); + calc->insert("pt_tau_log", Variables::Track::pt_tau_log); calc->insert("pt_jetseed_log", Variables::Track::pt_jetseed_log); calc->insert("d0_abs_log", Variables::Track::d0_abs_log); calc->insert("z0sinThetaTJVA_abs_log", Variables::Track::z0sinThetaTJVA_abs_log); + calc->insert("z0sinthetaTJVA", Variables::Track::z0sinthetaTJVA); + calc->insert("z0sinthetaSigTJVA", Variables::Track::z0sinthetaSigTJVA); + calc->insert("d0TJVA", Variables::Track::d0TJVA); + calc->insert("d0SigTJVA", Variables::Track::d0SigTJVA); calc->insert("dEta", Variables::Track::dEta); calc->insert("dPhi", Variables::Track::dPhi); calc->insert("nInnermostPixelHits", Variables::Track::nInnermostPixelHits); @@ -147,6 +152,7 @@ std::unique_ptr<VarCalc> get_default_calculator() { // Cluster variable calculator functions calc->insert("et_log", Variables::Cluster::et_log); + calc->insert("pt_tau_log", Variables::Cluster::pt_tau_log); calc->insert("pt_jetseed_log", Variables::Cluster::pt_jetseed_log); calc->insert("dEta", Variables::Cluster::dEta); calc->insert("dPhi", Variables::Cluster::dPhi); @@ -353,6 +359,11 @@ bool pt_log(const xAOD::TauJet& /*tau*/, const xAOD::TauTrack &track, double &ou return true; } +bool pt_tau_log(const xAOD::TauJet &tau, const xAOD::TauTrack& /*track*/, double &out) { + out = std::log10(std::max(tau.pt(), 1e-6)); + return true; +} + bool pt_jetseed_log(const xAOD::TauJet &tau, const xAOD::TauTrack& /*track*/, double &out) { out = std::log10(tau.ptJetSeed()); return true; @@ -368,6 +379,26 @@ bool z0sinThetaTJVA_abs_log(const xAOD::TauJet& /*tau*/, const xAOD::TauTrack &t return true; } +bool z0sinthetaTJVA(const xAOD::TauJet& /*tau*/, const xAOD::TauTrack &track, double &out) { + out = track.z0sinthetaTJVA(); + return true; +} + +bool z0sinthetaSigTJVA(const xAOD::TauJet& /*tau*/, const xAOD::TauTrack &track, double &out) { + out = track.z0sinthetaSigTJVA(); + return true; +} + +bool d0TJVA(const xAOD::TauJet& /*tau*/, const xAOD::TauTrack &track, double &out) { + out = track.d0TJVA(); + return true; +} + +bool d0SigTJVA(const xAOD::TauJet& /*tau*/, const xAOD::TauTrack &track, double &out) { + out = track.d0SigTJVA(); + return true; +} + bool dEta(const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out) { out = track.eta() - tau.eta(); return true; @@ -448,6 +479,11 @@ bool et_log(const xAOD::TauJet& /*tau*/, const xAOD::CaloVertexedTopoCluster &cl return true; } +bool pt_tau_log(const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster& /*cluster*/, double &out) { + out = std::log10(std::max(tau.pt(), 1e-6)); + return true; +} + bool pt_jetseed_log(const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster& /*cluster*/, double &out) { out = std::log10(tau.ptJetSeed()); return true; diff --git a/Reconstruction/tauRecTools/tauRecTools/TauJetRNNUtils.h b/Reconstruction/tauRecTools/tauRecTools/TauJetRNNUtils.h index 3b102c6ab6b7df8221d0d4ab0d03235cf14c5528..03c8145591d833320650d51c30846c0876fb5b86 100644 --- a/Reconstruction/tauRecTools/tauRecTools/TauJetRNNUtils.h +++ b/Reconstruction/tauRecTools/tauRecTools/TauJetRNNUtils.h @@ -131,6 +131,9 @@ namespace Track { bool pt_log( const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out); +bool pt_tau_log( + const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out); + bool pt_jetseed_log( const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out); @@ -140,6 +143,18 @@ bool d0_abs_log( bool z0sinThetaTJVA_abs_log( const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out); +bool z0sinthetaTJVA( + const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out); + +bool z0sinthetaSigTJVA( + const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out); + +bool d0TJVA( + const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out); + +bool d0SigTJVA( + const xAOD::TauJet& tau, const xAOD::TauTrack &track, double &out); + bool dEta( const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out); @@ -182,6 +197,9 @@ namespace Cluster { bool et_log( const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out); +bool pt_tau_log( + const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out); + bool pt_jetseed_log( const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out); @@ -200,9 +218,14 @@ bool SECOND_LAMBDA( bool CENTER_LAMBDA( const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out); -bool SECOND_LAMBDAOverClustersMeanSecondLambda (const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out); -bool CENTER_LAMBDAOverClustersMeanCenterLambda (const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out); -bool FirstEngDensOverClustersMeanFirstEngDens (const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out); +bool SECOND_LAMBDAOverClustersMeanSecondLambda( + const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out); + +bool CENTER_LAMBDAOverClustersMeanCenterLambda( + const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out); + +bool FirstEngDensOverClustersMeanFirstEngDens( + const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, double &out); } // namespace Cluster } // namespace Variables