ATLAS Offline Software
SPCountHypoTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 #ifndef TRIGMINBIAS_SPCOUNTHYPOTOOL_H
5 #define TRIGMINBIAS_SPCOUNTHYPOTOOL_H
6 
9 #include "Gaudi/Property.h"
12 
13 class SPCountHypoTool : virtual public AthCheckedComponent<::AthAlgTool> {
14  public:
15  SPCountHypoTool(const std::string &type, const std::string &name, const IInterface *parent);
16 
17  virtual StatusCode initialize() override;
18 
19  struct SPCountsInfo {
23  };
24 
26 
27  private:
28  bool applyCut(const Gaudi::Property<int> &threshold, const xAOD::TrigComposite *composit, const std::string_view name = "") const;
29  bool applyInverseCut(const Gaudi::Property<int> &threshold, const xAOD::TrigComposite *composit, const std::string_view name = "") const;
30 
32 
33  Gaudi::Property<int> m_pixCL{this, "pixCL", -1, "Require Clusters (of any size) Count > threshold (-1 disabled) in whole pixel"};
34  Gaudi::Property<int> m_pixCLMax{this, "pixCLMax", -1, "Require Clusters (of any size) Count < threshold (-1 disabled) in whole pixel"};
35  Gaudi::Property<int> m_pixCLnoToT{this, "pixCLnoToT", -1, "Require Clusters (of any size, without ToT cut) Count > threshold (-1 disabled) in whole pixel"};
36  Gaudi::Property<int> m_pixCL_1{this, "pixCL_1", -1, "Require Clusters Count made of clusters of size 1 > threshold (-1 disabled) in whole pixel"};
37  Gaudi::Property<int> m_pixCL_2{this, "pixCL_2", -1, "Require Clusters Count made of clusters of size 2 > threshold (-1 disabled) in whole pixel"};
38  Gaudi::Property<int> m_pixCLmin3{this, "pixCLmin3", -1, "Accept eventss with minimum 3 SP Count > threshold (-1 disabled) in pixel"};
39  Gaudi::Property<int> m_pixCLBarrel{this, "pixCLBarrel", -1, "Require Clusters Count > threshold (-1 disabled) in pixel Barrel"};
40  Gaudi::Property<int> m_pixCLEndcapA{this, "pixCLEndcapA", -1, "Require Clusters Count > threshold (-1 disabled) in pixel Endcap A side"};
41  Gaudi::Property<int> m_pixCLEndcapC{this, "pixCLEndcapC", -1, "Require Clusters > threshold (-1 disabled) in pixel Endcap C side"};
42  Gaudi::Property<int> m_sctSP{this, "sctSP", -1, "Require SP Count > threshold (-1 disabled) in whole SCT"};
43  Gaudi::Property<int> m_sctSPMax{this, "sctSPMax", -1, "Require SP Count < threshold (-1 disabled) in whole SCT"};
44  Gaudi::Property<int> m_sctSPBarrel{this, "sctSPBarrel", -1, "Require SP Count > threshold (-1 disabled) in SCT Barrel"};
45  Gaudi::Property<int> m_sctSPEndcapA{this, "sctSPEndcapA", -1, "Require SP Count > threshold (-1 disabled) in SCT Endcap A side"};
46  Gaudi::Property<int> m_sctSPEndcapC{this, "sctSPEndcapC", -1, "Require SP Count > threshold (-1 disabled) in SCT Endcap C side"};
47  Gaudi::Property<bool> m_logicAnd{this, "TriggerTypeAnd", true, "And/Or Logic"};
48 };
49 
50 #endif //> !TRIGMINBIAS_SPCOUNTHYPOTOOL_H
SPCountHypoTool::m_sctSPEndcapC
Gaudi::Property< int > m_sctSPEndcapC
Definition: SPCountHypoTool.h:46
SPCountHypoTool::m_pixCLEndcapA
Gaudi::Property< int > m_pixCLEndcapA
Definition: SPCountHypoTool.h:40
SPCountHypoTool::m_pixCLnoToT
Gaudi::Property< int > m_pixCLnoToT
Definition: SPCountHypoTool.h:35
SPCountHypoTool::applyCut
bool applyCut(const Gaudi::Property< int > &threshold, const xAOD::TrigComposite *composit, const std::string_view name="") const
Definition: SPCountHypoTool.cxx:18
SPCountHypoTool::m_pixCLMax
Gaudi::Property< int > m_pixCLMax
Definition: SPCountHypoTool.h:34
SPCountHypoTool::SPCountsInfo::decision
TrigCompositeUtils::Decision * decision
Definition: SPCountHypoTool.h:20
SPCountHypoTool::m_pixCL_1
Gaudi::Property< int > m_pixCL_1
Definition: SPCountHypoTool.h:36
TrigCompositeUtils.h
SPCountHypoTool::SPCountsInfo::previousDecisionIDs
const TrigCompositeUtils::DecisionIDContainer previousDecisionIDs
Definition: SPCountHypoTool.h:22
SPCountHypoTool::SPCountsInfo
Definition: SPCountHypoTool.h:19
SPCountHypoTool::m_decisionId
HLT::Identifier m_decisionId
Definition: SPCountHypoTool.h:31
SPCountHypoTool::m_pixCLmin3
Gaudi::Property< int > m_pixCLmin3
Definition: SPCountHypoTool.h:38
SPCountHypoTool::m_logicAnd
Gaudi::Property< bool > m_logicAnd
Definition: SPCountHypoTool.h:47
SPCountHypoTool::m_pixCLEndcapC
Gaudi::Property< int > m_pixCLEndcapC
Definition: SPCountHypoTool.h:41
SPCountHypoTool::SPCountsInfo::counts
const xAOD::TrigComposite * counts
Definition: SPCountHypoTool.h:21
SPCountHypoTool::m_sctSPMax
Gaudi::Property< int > m_sctSPMax
Definition: SPCountHypoTool.h:43
SPCountHypoTool::m_sctSP
Gaudi::Property< int > m_sctSP
Definition: SPCountHypoTool.h:42
SPCountHypoTool::m_sctSPBarrel
Gaudi::Property< int > m_sctSPBarrel
Definition: SPCountHypoTool.h:44
AthCheckedComponent
Mixin class to perform additional checks on a component.
Definition: AthCheckedComponent.h:25
SPCountHypoTool::SPCountHypoTool
SPCountHypoTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: SPCountHypoTool.cxx:11
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
xAOD::TrigComposite_v1
Class used to describe composite objects in the HLT.
Definition: TrigComposite_v1.h:52
HLT::Identifier
Definition: TrigCompositeUtils/TrigCompositeUtils/HLTIdentifier.h:20
xAOD::decisions
decisions
Definition: TrigComposite_v1.cxx:81
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
SPCountHypoTool::m_sctSPEndcapA
Gaudi::Property< int > m_sctSPEndcapA
Definition: SPCountHypoTool.h:45
SPCountHypoTool::m_pixCL
Gaudi::Property< int > m_pixCL
Definition: SPCountHypoTool.h:33
threshold
Definition: chainparser.cxx:74
SPCountHypoTool::initialize
virtual StatusCode initialize() override
Definition: SPCountHypoTool.cxx:14
SPCountHypoTool::m_pixCL_2
Gaudi::Property< int > m_pixCL_2
Definition: SPCountHypoTool.h:37
TrigCompositeUtils::DecisionIDContainer
std::set< DecisionID > DecisionIDContainer
Definition: TrigComposite_v1.h:28
AthCheckedComponent.h
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
SPCountHypoTool::applyInverseCut
bool applyInverseCut(const Gaudi::Property< int > &threshold, const xAOD::TrigComposite *composit, const std::string_view name="") const
Definition: SPCountHypoTool.cxx:28
SPCountHypoTool::decide
StatusCode decide(SPCountsInfo &decisions) const
Definition: SPCountHypoTool.cxx:38
HLTIdentifier.h
SPCountHypoTool
Definition: SPCountHypoTool.h:13
SPCountHypoTool::m_pixCLBarrel
Gaudi::Property< int > m_pixCLBarrel
Definition: SPCountHypoTool.h:39