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  template<typename DetailType>
29  bool applyCut(const Gaudi::Property<DetailType> &threshold, const xAOD::TrigComposite *composit, const std::string_view name = "") const;
30  template<typename DetailType>
31  bool applyInverseCut(const Gaudi::Property<DetailType> &threshold, const xAOD::TrigComposite *composit, const std::string_view name = "") const;
32 
34 
35  Gaudi::Property<int> m_pixCL{this, "pixCL", -1, "Require Clusters (of any size) Count > threshold (-1 disabled) in whole pixel"};
36  Gaudi::Property<int> m_pixCLMax{this, "pixCLMax", -1, "Require Clusters (of any size) Count < threshold (-1 disabled) in whole pixel"};
37  Gaudi::Property<int> m_pixCLnoToT{this, "pixCLnoToT", -1, "Require Clusters (of any size, without ToT cut) Count > threshold (-1 disabled) in whole pixel"};
38  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"};
39  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"};
40  Gaudi::Property<int> m_pixCLmin3{this, "pixCLmin3", -1, "Accept eventss with minimum 3 SP Count > threshold (-1 disabled) in pixel"};
41  Gaudi::Property<int> m_pixCLBarrel{this, "pixCLBarrel", -1, "Require Clusters Count > threshold (-1 disabled) in pixel Barrel"};
42  Gaudi::Property<int> m_pixCLEndcapA{this, "pixCLEndcapA", -1, "Require Clusters Count > threshold (-1 disabled) in pixel Endcap A side"};
43  Gaudi::Property<int> m_pixCLEndcapC{this, "pixCLEndcapC", -1, "Require Clusters > threshold (-1 disabled) in pixel Endcap C side"};
44  Gaudi::Property<int> m_sctSP{this, "sctSP", -1, "Require SP Count > threshold (-1 disabled) in whole SCT"};
45  Gaudi::Property<int> m_sctSPMax{this, "sctSPMax", -1, "Require SP Count < threshold (-1 disabled) in whole SCT"};
46  Gaudi::Property<int> m_sctSPBarrel{this, "sctSPBarrel", -1, "Require SP Count > threshold (-1 disabled) in SCT Barrel"};
47  Gaudi::Property<int> m_sctSPEndcapA{this, "sctSPEndcapA", -1, "Require SP Count > threshold (-1 disabled) in SCT Endcap A side"};
48  Gaudi::Property<int> m_sctSPEndcapC{this, "sctSPEndcapC", -1, "Require SP Count > threshold (-1 disabled) in SCT Endcap C side"};
49  Gaudi::Property<bool> m_logicAnd{this, "TriggerTypeAnd", true, "And/Or Logic"};
50  Gaudi::Property<float> m_pixQ2mod{this, "pixQ2mod", -1, "Cut on the value of QT magnitude"};
51 
52 };
53 
54 #endif //> !TRIGMINBIAS_SPCOUNTHYPOTOOL_H
SPCountHypoTool::m_sctSPEndcapC
Gaudi::Property< int > m_sctSPEndcapC
Definition: SPCountHypoTool.h:48
SPCountHypoTool::m_pixCLEndcapA
Gaudi::Property< int > m_pixCLEndcapA
Definition: SPCountHypoTool.h:42
SPCountHypoTool::m_pixCLnoToT
Gaudi::Property< int > m_pixCLnoToT
Definition: SPCountHypoTool.h:37
SPCountHypoTool::m_pixCLMax
Gaudi::Property< int > m_pixCLMax
Definition: SPCountHypoTool.h:36
SPCountHypoTool::SPCountsInfo::decision
TrigCompositeUtils::Decision * decision
Definition: SPCountHypoTool.h:20
SPCountHypoTool::m_pixCL_1
Gaudi::Property< int > m_pixCL_1
Definition: SPCountHypoTool.h:38
SPCountHypoTool::m_pixQ2mod
Gaudi::Property< float > m_pixQ2mod
Definition: SPCountHypoTool.h:50
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:33
SPCountHypoTool::m_pixCLmin3
Gaudi::Property< int > m_pixCLmin3
Definition: SPCountHypoTool.h:40
SPCountHypoTool::m_logicAnd
Gaudi::Property< bool > m_logicAnd
Definition: SPCountHypoTool.h:49
SPCountHypoTool::m_pixCLEndcapC
Gaudi::Property< int > m_pixCLEndcapC
Definition: SPCountHypoTool.h:43
SPCountHypoTool::SPCountsInfo::counts
const xAOD::TrigComposite * counts
Definition: SPCountHypoTool.h:21
SPCountHypoTool::m_sctSPMax
Gaudi::Property< int > m_sctSPMax
Definition: SPCountHypoTool.h:45
SPCountHypoTool::m_sctSP
Gaudi::Property< int > m_sctSP
Definition: SPCountHypoTool.h:44
TrigCompositeUtils.h
SPCountHypoTool::m_sctSPBarrel
Gaudi::Property< int > m_sctSPBarrel
Definition: SPCountHypoTool.h:46
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:101
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
SPCountHypoTool::m_sctSPEndcapA
Gaudi::Property< int > m_sctSPEndcapA
Definition: SPCountHypoTool.h:47
SPCountHypoTool::m_pixCL
Gaudi::Property< int > m_pixCL
Definition: SPCountHypoTool.h:35
threshold
Definition: chainparser.cxx:74
SPCountHypoTool::applyInverseCut
bool applyInverseCut(const Gaudi::Property< DetailType > &threshold, const xAOD::TrigComposite *composit, const std::string_view name="") const
Definition: SPCountHypoTool.cxx:30
SPCountHypoTool::initialize
virtual StatusCode initialize() override
Definition: SPCountHypoTool.cxx:14
SPCountHypoTool::m_pixCL_2
Gaudi::Property< int > m_pixCL_2
Definition: SPCountHypoTool.h:39
TrigCompositeUtils::DecisionIDContainer
std::set< DecisionID > DecisionIDContainer
Definition: TrigComposite_v1.h:28
AthCheckedComponent.h
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
SPCountHypoTool::decide
StatusCode decide(SPCountsInfo &decisions) const
Definition: SPCountHypoTool.cxx:40
HLTIdentifier.h
SPCountHypoTool::applyCut
bool applyCut(const Gaudi::Property< DetailType > &threshold, const xAOD::TrigComposite *composit, const std::string_view name="") const
Definition: SPCountHypoTool.cxx:19
SPCountHypoTool
Definition: SPCountHypoTool.h:13
SPCountHypoTool::m_pixCLBarrel
Gaudi::Property< int > m_pixCLBarrel
Definition: SPCountHypoTool.h:41