ATLAS Offline Software
Loading...
Searching...
No Matches
TrigTauPrecisionIDHypoTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TrigTauHypo_TrigTauPrecisionIDHypoTool_H
6#define TrigTauHypo_TrigTauPrecisionIDHypoTool_H
7
11
12#include "Gaudi/Parsers/Factory.h"
13
14#include "ITrigTauJetHypoTool.h"
15
16
21class TrigTauPrecisionIDHypoTool : public extends<AthAlgTool, ITrigTauJetHypoTool> {
22public:
23 TrigTauPrecisionIDHypoTool(const std::string& type, const std::string& name, const IInterface* parent);
24
25 virtual StatusCode initialize() override;
26
27 virtual StatusCode decide(std::vector<ITrigTauJetHypoTool::ToolInfo>& input) const override;
28 virtual bool decide(const ITrigTauJetHypoTool::ToolInfo& i) const override;
29
30private:
31 enum IDMethod {
33 RNN = 1,
35 };
36
37 enum IDWP {
38 None = -1,
40 Loose = 1,
41 Medium = 2,
43 };
44
46
47 Gaudi::Property<float> m_ptMin {this, "PtMin", 0, "Tau pT minimum cut"};
48
49 Gaudi::Property<int> m_numTrackMin {this, "NTracksMin", 0, "Minimum number of tracks"};
50 Gaudi::Property<int> m_numTrackMax {this, "NTracksMax", 5, "Maximum number of tracks"};
51 Gaudi::Property<int> m_numIsoTrackMax {this, "NIsoTracksMax", 999, "Maximum number of isolation tracks"};
52 Gaudi::Property<float> m_trackPtCut {this, "TrackPtCut", -1, "Only count tracks above this pT threshold (override the 1 GeV cut in the InDetTrackSelectorTool)"};
53
54 Gaudi::Property<int> m_idMethod {this, "IDMethod", IDMethod::Disabled, "ID WP evaluation method (0: Disabled, 1: RNN, 2: Decorator)"};
55 Gaudi::Property<int> m_idWP {this, "IDWP", IDWP::None, "Minimum ID Working Point (-1: None, 0: VeryLoose, 1: Loose, 2: Medium, 3: Tight)"};
56 Gaudi::Property<std::vector<std::string>> m_idWPNames {this, "IDWPNames", {}, "ID WP decorated variable names; use with IDMethod=2"};
57
58 // High pT Tau selection
59 Gaudi::Property<float> m_highPtTrkThr {this, "HighPtSelectionTrkThr", 200000, "Tau pT threshold for disabling the NTrackMin and NIsoTrackMax cuts" };
60 Gaudi::Property<float> m_highPtLooseIDThr {this, "HighPtSelectionLooseIDThr", 280000, "Tau pT threshold for loosening the IDWP cut to Loose (IDWP=1)"};
61 Gaudi::Property<float> m_highPtJetThr {this, "HighPtSelectionJetThr", 440000, "Tau pT threshold for disabling IDWP and NTrackMax cuts"};
62
63 Gaudi::Property<bool> m_acceptAll {this, "AcceptAll", false, "Ignore selection"};
64
65 ToolHandle<GenericMonitoringTool> m_monTool {this, "MonTool", "", "Monitoring tool"};
66 Gaudi::Property<std::map<std::string, std::pair<std::string, std::string>>> m_monitoredIdScores {this, "MonitoredIDScores", {}, "Pairs of the TauID score and signal-transformed scores for each TauID algorithm to be monitored"};
67 std::map<std::string, std::pair<SG::ConstAccessor<float>, SG::ConstAccessor<float>>> m_monitoredIdAccessors;
68};
69
70#endif
Helper class to provide constant type-safe access to aux data.
virtual StatusCode decide(std::vector< ITrigTauJetHypoTool::ToolInfo > &input) const override
TrigTauPrecisionIDHypoTool(const std::string &type, const std::string &name, const IInterface *parent)
Gaudi::Property< std::map< std::string, std::pair< std::string, std::string > > > m_monitoredIdScores
Gaudi::Property< int > m_numIsoTrackMax
Gaudi::Property< float > m_trackPtCut
Gaudi::Property< float > m_highPtLooseIDThr
std::map< std::string, std::pair< SG::ConstAccessor< float >, SG::ConstAccessor< float > > > m_monitoredIdAccessors
Gaudi::Property< float > m_highPtJetThr
ToolHandle< GenericMonitoringTool > m_monTool
Gaudi::Property< float > m_highPtTrkThr
Gaudi::Property< std::vector< std::string > > m_idWPNames
virtual StatusCode initialize() override