Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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 
15 
16 
21 class TrigTauPrecisionIDHypoTool : public extends<AthAlgTool, ITrigTauPrecisionHypoTool> {
22 public:
23  TrigTauPrecisionIDHypoTool(const std::string& type, const std::string& name, const IInterface* parent);
25 
26  virtual StatusCode initialize() override;
27 
28  virtual StatusCode decide(std::vector<ITrigTauPrecisionHypoTool::ToolInfo>& input) const override;
29  virtual bool decide(const ITrigTauPrecisionHypoTool::ToolInfo& i) const override;
30 
31 private:
32  enum IDMethod {
33  Disabled = 0,
34  RNN = 1,
35  Decorator = 2
36  };
37 
38  enum IDWP {
39  None = -1,
40  VeryLoose = 0,
41  Loose = 1,
42  Medium = 2,
43  Tight = 3
44  };
45 
47 
48  Gaudi::Property<float> m_ptMin {this, "PtMin", 0, "Tau pT minimum cut"};
49 
50  Gaudi::Property<int> m_numTrackMin {this, "NTracksMin", 0, "Minimum number of tracks"};
51  Gaudi::Property<int> m_numTrackMax {this, "NTracksMax", 5, "Maximum number of tracks"};
52  Gaudi::Property<int> m_numIsoTrackMax {this, "NIsoTracksMax", 999, "Maximum number of isolation tracks"};
53  Gaudi::Property<float> m_trackPtCut {this, "TrackPtCut", -1, "Only count tracks above this pT threshold (override the 1 GeV cut in the InDetTrackSelectorTool)"};
54 
55  Gaudi::Property<int> m_idMethod {this, "IDMethod", IDMethod::Disabled, "ID WP evaluation method (0: Disabled, 1: RNN, 2: Decorator)"};
56  Gaudi::Property<int> m_idWP {this, "IDWP", IDWP::None, "Minimum ID Working Point (-1: None, 0: VeryLoose, 1: Loose, 2: Medium, 3: Tight)"};
57  Gaudi::Property<std::vector<std::string>> m_idWPNames {this, "IDWPNames", {}, "ID WP decorated variable names; use with IDMethod=2"};
58 
59  // High pT Tau selection
60  Gaudi::Property<float> m_highPtTrkThr {this, "HighPtSelectionTrkThr", 200000, "Tau pT threshold for disabling the NTrackMin and NIsoTrackMax cuts" };
61  Gaudi::Property<float> m_highPtLooseIDThr {this, "HighPtSelectionLooseIDThr", 280000, "Tau pT threshold for loosening the IDWP cut to Loose (IDWP=1)"};
62  Gaudi::Property<float> m_highPtJetThr {this, "HighPtSelectionJetThr", 440000, "Tau pT threshold for disabling IDWP and NTrackMax cuts"};
63 
64  Gaudi::Property<bool> m_acceptAll {this, "AcceptAll", false, "Ignore selection"};
65 
66  ToolHandle<GenericMonitoringTool> m_monTool {this, "MonTool", "", "Monitoring tool"};
67  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"};
68  std::map<std::string, std::pair<SG::ConstAccessor<float>, SG::ConstAccessor<float>>> m_monitoredIdAccessors;
69 };
70 
71 #endif
TrigTauPrecisionIDHypoTool::VeryLoose
@ VeryLoose
Definition: TrigTauPrecisionIDHypoTool.h:40
TrigTauPrecisionIDHypoTool::m_acceptAll
Gaudi::Property< bool > m_acceptAll
Definition: TrigTauPrecisionIDHypoTool.h:64
TrigTauPrecisionIDHypoTool::Loose
@ Loose
Definition: TrigTauPrecisionIDHypoTool.h:41
TrigTauPrecisionIDHypoTool
Precision step hypothesis tool for applying ID cuts (standard chains)
Definition: TrigTauPrecisionIDHypoTool.h:21
TrigTauPrecisionIDHypoTool::decide
virtual StatusCode decide(std::vector< ITrigTauPrecisionHypoTool::ToolInfo > &input) const override
Definition: TrigTauPrecisionIDHypoTool.cxx:270
TrigTauPrecisionIDHypoTool::initialize
virtual StatusCode initialize() override
Definition: TrigTauPrecisionIDHypoTool.cxx:29
TrigTauPrecisionIDHypoTool::m_numTrackMax
Gaudi::Property< int > m_numTrackMax
Definition: TrigTauPrecisionIDHypoTool.h:51
TrigTauPrecisionIDHypoTool::m_monitoredIdScores
Gaudi::Property< std::map< std::string, std::pair< std::string, std::string > > > m_monitoredIdScores
Definition: TrigTauPrecisionIDHypoTool.h:67
TrigTauPrecisionIDHypoTool::~TrigTauPrecisionIDHypoTool
virtual ~TrigTauPrecisionIDHypoTool()
Definition: TrigTauPrecisionIDHypoTool.cxx:23
ITrigTauPrecisionHypoTool::ToolInfo
Definition: ITrigTauPrecisionHypoTool.h:25
SG::ConstAccessor< float >
TrigTauPrecisionIDHypoTool::m_monitoredIdAccessors
std::map< std::string, std::pair< SG::ConstAccessor< float >, SG::ConstAccessor< float > > > m_monitoredIdAccessors
Definition: TrigTauPrecisionIDHypoTool.h:68
TrigTauPrecisionIDHypoTool::Tight
@ Tight
Definition: TrigTauPrecisionIDHypoTool.h:43
TrigTauPrecisionIDHypoTool::m_highPtJetThr
Gaudi::Property< float > m_highPtJetThr
Definition: TrigTauPrecisionIDHypoTool.h:62
ITrigTauPrecisionHypoTool.h
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
TrigTauPrecisionIDHypoTool::m_decisionId
HLT::Identifier m_decisionId
Definition: TrigTauPrecisionIDHypoTool.h:46
TrigTauPrecisionIDHypoTool::TrigTauPrecisionIDHypoTool
TrigTauPrecisionIDHypoTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: TrigTauPrecisionIDHypoTool.cxx:15
GenericMonitoringTool.h
TrigTauPrecisionIDHypoTool::m_numIsoTrackMax
Gaudi::Property< int > m_numIsoTrackMax
Definition: TrigTauPrecisionIDHypoTool.h:52
CaloCellPos2Ntuple.None
None
Definition: CaloCellPos2Ntuple.py:23
TrigTauPrecisionIDHypoTool::m_highPtTrkThr
Gaudi::Property< float > m_highPtTrkThr
Definition: TrigTauPrecisionIDHypoTool.h:60
lumiFormat.i
int i
Definition: lumiFormat.py:85
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
PlotPulseshapeFromCool.input
input
Definition: PlotPulseshapeFromCool.py:106
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
TrigTauPrecisionIDHypoTool::RNN
@ RNN
Definition: TrigTauPrecisionIDHypoTool.h:34
TrigTauPrecisionIDHypoTool::IDMethod
IDMethod
Definition: TrigTauPrecisionIDHypoTool.h:32
HLT::Identifier
Definition: TrigCompositeUtils/TrigCompositeUtils/HLTIdentifier.h:20
TrigTauPrecisionIDHypoTool::IDWP
IDWP
Definition: TrigTauPrecisionIDHypoTool.h:38
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
TrigTauPrecisionIDHypoTool::m_monTool
ToolHandle< GenericMonitoringTool > m_monTool
Definition: TrigTauPrecisionIDHypoTool.h:66
TrigTauPrecisionIDHypoTool::m_highPtLooseIDThr
Gaudi::Property< float > m_highPtLooseIDThr
Definition: TrigTauPrecisionIDHypoTool.h:61
TrigTauPrecisionIDHypoTool::Decorator
@ Decorator
Definition: TrigTauPrecisionIDHypoTool.h:35
TrigTauPrecisionIDHypoTool::None
@ None
Definition: TrigTauPrecisionIDHypoTool.h:39
TrigTauPrecisionIDHypoTool::m_idMethod
Gaudi::Property< int > m_idMethod
Definition: TrigTauPrecisionIDHypoTool.h:55
TrigTauPrecisionIDHypoTool::Medium
@ Medium
Definition: TrigTauPrecisionIDHypoTool.h:42
HLTIdentifier.h
TrigTauPrecisionIDHypoTool::m_ptMin
Gaudi::Property< float > m_ptMin
Definition: TrigTauPrecisionIDHypoTool.h:48
TrigTauPrecisionIDHypoTool::Disabled
@ Disabled
Definition: TrigTauPrecisionIDHypoTool.h:33
TrigTauPrecisionIDHypoTool::m_trackPtCut
Gaudi::Property< float > m_trackPtCut
Definition: TrigTauPrecisionIDHypoTool.h:53
TrigTauPrecisionIDHypoTool::m_idWP
Gaudi::Property< int > m_idWP
Definition: TrigTauPrecisionIDHypoTool.h:56
TrigTauPrecisionIDHypoTool::m_idWPNames
Gaudi::Property< std::vector< std::string > > m_idWPNames
Definition: TrigTauPrecisionIDHypoTool.h:57
TrigTauPrecisionIDHypoTool::m_numTrackMin
Gaudi::Property< int > m_numTrackMin
Definition: TrigTauPrecisionIDHypoTool.h:50