ATLAS Offline Software
TrigVSIHypoTool.h
Go to the documentation of this file.
1 /*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 #ifndef TRIGVSI_TRACKCOUNTHYPOTOOL_H
5 #define TRIGVSI_TRACKCOUNTHYPOTOOL_H
6 
7 #include "Gaudi/Property.h"
10 #include "xAODTracking/Vertex.h"
12 
13 #include <vector>
14 
15 class TrigVSIHypoTool : virtual public ::AthAlgTool
16 {
17  public:
18 
19  TrigVSIHypoTool( const std::string& type,
20  const std::string& name,
21  const IInterface* parent );
22 
23  virtual ~TrigVSIHypoTool() = default;
24  virtual StatusCode initialize() override;
25 
26  struct eventVtxInfo {
28  std::vector<const xAOD::Vertex*> vertices;
30  };
31 
33 
34  private:
35 
37  Gaudi::Property<float> m_minNTrks {this, "minNTrks", 3, "Accept vertices with minimum of this number of tracks"};
38  Gaudi::Property<float> m_maxNTrks {this, "maxNTrks", -1, "Accept vertices with maximum of this number of tracks"};
39  Gaudi::Property<float> m_minR {this, "minR" , 20., "Accept vertices with decay position R greater than this limit"};
40  Gaudi::Property<float> m_maxR {this, "maxR" , 520., "Accept vertices with decay position R smaller than this limit"};
41  Gaudi::Property<float> m_minPt {this, "minPt", 1000., "Accept vertices with momentum higher than this limit"};
42  Gaudi::Property<float> m_maxPt {this, "maxPt", 1.4e7, "Accept vertices with momentum smaller than this limit"};
43  Gaudi::Property<float> m_maxChi2 {this, "maxChi2", 10., "Accept vertices with chi2 less than this limit"};
44  Gaudi::Property<float> m_minMass {this, "minMass", 1000., "Accept events with a vertex with the mass larger than this limit"};
45  Gaudi::Property<float> m_maxMass {this, "maxMass", 1.4e7, "Accept events with a vertex with the mass larger than this limit"};
46  Gaudi::Property<bool> m_logicAnd {this, "TriggerTypeAnd", true, "And/Or Logic for nTrkCut, RCut, pTCut, chi2Cut, massCut"};
47 };
48 
49 #endif //> !TRIGVSI_TRACKCOUNTHYPOTOOL_H
TrigVSIHypoTool::eventVtxInfo::vertices
std::vector< const xAOD::Vertex * > vertices
Definition: TrigVSIHypoTool.h:28
TrigVSIHypoTool::eventVtxInfo::decision
TrigCompositeUtils::Decision * decision
Definition: TrigVSIHypoTool.h:27
TrigVSIHypoTool::~TrigVSIHypoTool
virtual ~TrigVSIHypoTool()=default
TrigVSIHypoTool::m_logicAnd
Gaudi::Property< bool > m_logicAnd
Definition: TrigVSIHypoTool.h:46
TrigCompositeUtils.h
TrigVSIHypoTool::m_decisionId
HLT::Identifier m_decisionId
Definition: TrigVSIHypoTool.h:36
TrigVSIHypoTool::eventVtxInfo
Definition: TrigVSIHypoTool.h:26
TrigVSIHypoTool::m_minR
Gaudi::Property< float > m_minR
Definition: TrigVSIHypoTool.h:39
TrigVSIHypoTool::m_minPt
Gaudi::Property< float > m_minPt
Definition: TrigVSIHypoTool.h:41
TrigVSIHypoTool::decide
StatusCode decide(eventVtxInfo &decisions) const
Definition: TrigVSIHypoTool.cxx:23
TrigVSIHypoTool::m_maxPt
Gaudi::Property< float > m_maxPt
Definition: TrigVSIHypoTool.h:42
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
TrigVSIHypoTool::TrigVSIHypoTool
TrigVSIHypoTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: TrigVSIHypoTool.cxx:15
test_pyathena.parent
parent
Definition: test_pyathena.py:15
TrigVSIHypoTool
Definition: TrigVSIHypoTool.h:16
TrigVSIHypoTool::m_maxR
Gaudi::Property< float > m_maxR
Definition: TrigVSIHypoTool.h:40
xAOD::TrigComposite_v1
Class used to describe composite objects in the HLT.
Definition: TrigComposite_v1.h:52
Vertex.h
HLT::Identifier
Definition: TrigCompositeUtils/TrigCompositeUtils/HLTIdentifier.h:20
xAOD::decisions
decisions
Definition: TrigComposite_v1.cxx:81
TrigVSIHypoTool::m_maxMass
Gaudi::Property< float > m_maxMass
Definition: TrigVSIHypoTool.h:45
TrigVSIHypoTool::m_maxNTrks
Gaudi::Property< float > m_maxNTrks
Definition: TrigVSIHypoTool.h:38
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
TrigVSIHypoTool::initialize
virtual StatusCode initialize() override
Definition: TrigVSIHypoTool.cxx:19
TrigVSIHypoTool::m_minNTrks
Gaudi::Property< float > m_minNTrks
Definition: TrigVSIHypoTool.h:37
TrigVSIHypoTool::m_minMass
Gaudi::Property< float > m_minMass
Definition: TrigVSIHypoTool.h:44
TrigCompositeUtils::DecisionIDContainer
std::set< DecisionID > DecisionIDContainer
Definition: TrigComposite_v1.h:28
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
HLTIdentifier.h
AthAlgTool
Definition: AthAlgTool.h:26
TrigVSIHypoTool::m_maxChi2
Gaudi::Property< float > m_maxChi2
Definition: TrigVSIHypoTool.h:43
TrigVSIHypoTool::eventVtxInfo::previousDecisionIDs
const TrigCompositeUtils::DecisionIDContainer previousDecisionIDs
Definition: TrigVSIHypoTool.h:29