ATLAS Offline Software
Loading...
Searching...
No Matches
RoiSelectionTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef INDETTRACKPERFMON_ROISELECTIONTOOL_H
6#define INDETTRACKPERFMON_ROISELECTIONTOOL_H
7
9#include "AsgTools/AsgTool.h"
12
14//#include "TrackRoiSelectionTool.h" // TODO - to be included in later MRs
15
17#include <string>
18#include <vector>
19
26
27
28namespace IDTPM {
29
31
33 public virtual asg::IAsgTool,
34 public asg::AsgTool {
35
37
38 public:
39
41 RoiSelectionTool( const std::string& name );
42
44 virtual ~RoiSelectionTool() = default;
45
47 virtual StatusCode initialize() override;
48
50 std::vector< roiCollection_t > getRois(
51 const std::string& chainName ) const;
52
53 private:
54
56 std::vector< roiCollection_t > retrieveRois(
57 const std::string& chainName,
58 const std::string& roiKey,
59 const int& chainLeg=-1 ) const;
60
62 std::vector< roiCollection_t > getRoisStandard(
63 const std::string& chainName ) const;
64
66 std::vector< roiCollection_t > getRoisTnP(
67 const std::string& chainName ) const;
68
70 StringProperty m_roiKey { this, "RoiKey", "", "RoI name to process" };
71
72 IntegerProperty m_chainLeg {
73 this, "ChainLeg", -1, "Restrict to a specific \"leg\" of a multi-object trigger chain (default = all)" };
74
75 BooleanProperty m_doTnP { this, "doTagNProbe", false, "Do Tag&Probe RoI selection" };
76
77 StringProperty m_roiKeyTag { this, "RoiKeyTag", "", "RoI name for the tag" };
78
79 IntegerProperty m_chainLegTag {
80 this, "ChainLegTag", 0, "Tag \"leg\" of a multi-object trigger chain (default = 0)" };
81
82 StringProperty m_roiKeyProbe { this, "RoiKeyProbe", "", "RoI name for the probe" };
83
84 IntegerProperty m_chainLegProbe {
85 this, "ChainLegProbe", 1, "Probe \"leg\" of a multi-object trigger chain (default = 1)" };
86
87 PublicToolHandle<Trig::TrigDecisionTool> m_trigDecTool {
88 this, "TrigDecisionTool", "Trig::TrigDecisionTool/TrigDecisionTool", "" };
89
90 }; // class RoiSelectionTool
91
92} // namespace IDTPM
93
94
95#endif // > !INDETTRACKPERFMON_ROISELECTIONTOOL_H
RoiSelectionTool(const std::string &name)
Constructor.
std::vector< roiCollection_t > getRois(const std::string &chainName) const
Main method to get selected RoIs.
IntegerProperty m_chainLegProbe
virtual StatusCode initialize() override
RoiSelectionTool methods.
virtual ~RoiSelectionTool()=default
Destructor.
IntegerProperty m_chainLegTag
StringProperty m_roiKey
Properties to fine-tune the tool behaviour.
PublicToolHandle< Trig::TrigDecisionTool > m_trigDecTool
std::vector< roiCollection_t > retrieveRois(const std::string &chainName, const std::string &roiKey, const int &chainLeg=-1) const
Retrieve RoIs.
ASG_TOOL_CLASS(RoiSelectionTool, IAsgTool)
std::vector< roiCollection_t > getRoisStandard(const std::string &chainName) const
get selected RoIs (non-Tag&Probe selection)
std::vector< roiCollection_t > getRoisTnP(const std::string &chainName) const
get selected RoIs (Tag&Probe selection)
Base class for the dual-use tool implementation classes.
Definition AsgTool.h:47
Base class for the dual-use tool interface classes.
Definition IAsgTool.h:41
Athena include(s).
TrigCompositeUtils::LinkInfo< TrigRoiDescriptorCollection > roiCollection_t