ATLAS Offline Software
TrigEgammaFastPhotonHypoTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 #ifndef TRIGEGAMMAHYPO_TrigEgammaFastPhotonHypoTool_H
5 #define TRIGEGAMMAHYPO_TrigEgammaFastPhotonHypoTool_H 1
6 
7 #include "Gaudi/Property.h"
8 #include "GaudiKernel/SystemOfUnits.h"
15 
16 
23 {
24  public:
25  TrigEgammaFastPhotonHypoTool( const std::string& type,
26  const std::string& name,
27  const IInterface* parent );
28 
29  virtual StatusCode initialize() override;
30 
31  struct PhotonInfo {
36  };
37 
38 
39  StatusCode decide( std::vector<PhotonInfo>& decisions ) const;
40 
41 
42  private:
43 
44  bool decide( const xAOD::TrigPhoton* photon ) const;
45 
46  int findCutIndex( float eta ) const;
47 
49 
50  Gaudi::Property<bool> m_acceptAll{ this, "AcceptAll", false, "Ignore selection" };
51  Gaudi::Property< std::vector<float> > m_etabin{ this, "EtaBins", {0, 0.6, 0.8, 1.15, 1.37, 1.52, 1.81, 2.01, 2.37, 2.47}, "Eta bins" };
52  Gaudi::Property< std::vector<float> > m_F1thr{ this, "F1thr", {0.005}, "F1 Threshold" };
53  Gaudi::Property< std::vector<float> > m_eTthr{this, "ETthr", {0.*Gaudi::Units::GeV}, "et threshold"};
54  Gaudi::Property< std::vector<float> > m_eT2thr{this, "ET2thr", {90.0*Gaudi::Units::GeV}, "eT2 threshold"};
55  Gaudi::Property< std::vector<float> > m_hadeTthr{this, "HADETthr", {0.}, "hadet threshold"};
56  Gaudi::Property< std::vector<float> > m_hadeT2thr{this, "HADET2thr", {0.}, "hadet2 threshold"};
57  Gaudi::Property< std::vector<float> > m_carcorethr{this, "CARCOREthr", {0.}, "car core threshold"};
58  Gaudi::Property< std::vector<float> > m_caeratiothr{this, "CAERATIOthr", {0.}, " cera ratio threshold"};
59 
60  ToolHandle<GenericMonitoringTool> m_monTool{ this, "MonTool", "", "Monitoring tool" };
61 };
62 
63 #endif //> !TRIGEGAMMAHYPO_TRIGL2CALOHYPOTOOL_H
TrigEgammaFastPhotonHypoTool::m_monTool
ToolHandle< GenericMonitoringTool > m_monTool
Definition: TrigEgammaFastPhotonHypoTool.h:60
TrigEgammaFastPhotonHypoTool::decide
StatusCode decide(std::vector< PhotonInfo > &decisions) const
Definition: TrigEgammaFastPhotonHypoTool.cxx:52
TrigCompositeUtils.h
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
TrigEgammaFastPhotonHypoTool::findCutIndex
int findCutIndex(float eta) const
Definition: TrigEgammaFastPhotonHypoTool.cxx:189
TrigEgammaFastPhotonHypoTool::m_hadeT2thr
Gaudi::Property< std::vector< float > > m_hadeT2thr
Definition: TrigEgammaFastPhotonHypoTool.h:56
TrigEgammaFastPhotonHypoTool::m_carcorethr
Gaudi::Property< std::vector< float > > m_carcorethr
Definition: TrigEgammaFastPhotonHypoTool.h:57
TrigEMCluster.h
TrigEgammaFastPhotonHypoTool::PhotonInfo::photon
const xAOD::TrigPhoton * photon
Definition: TrigEgammaFastPhotonHypoTool.h:33
TrigEgammaFastPhotonHypoTool::m_eTthr
Gaudi::Property< std::vector< float > > m_eTthr
Definition: TrigEgammaFastPhotonHypoTool.h:53
TrigEgammaFastPhotonHypoTool::initialize
virtual StatusCode initialize() override
Definition: TrigEgammaFastPhotonHypoTool.cxx:22
TrigEgammaFastPhotonHypoTool::m_F1thr
Gaudi::Property< std::vector< float > > m_F1thr
Definition: TrigEgammaFastPhotonHypoTool.h:52
TrigEgammaFastPhotonHypoTool::m_eT2thr
Gaudi::Property< std::vector< float > > m_eT2thr
Definition: TrigEgammaFastPhotonHypoTool.h:54
TrigEgammaFastPhotonHypoTool::m_decisionId
HLT::Identifier m_decisionId
Definition: TrigEgammaFastPhotonHypoTool.h:48
GenericMonitoringTool.h
TrigEgammaFastPhotonHypoTool::PhotonInfo
Definition: TrigEgammaFastPhotonHypoTool.h:31
TrigEgammaFastPhotonHypoTool::PhotonInfo::previousDecisionIDs
const TrigCompositeUtils::DecisionIDContainer previousDecisionIDs
Definition: TrigEgammaFastPhotonHypoTool.h:35
TrigEgammaFastPhotonHypoTool::PhotonInfo::decision
TrigCompositeUtils::Decision * decision
Definition: TrigEgammaFastPhotonHypoTool.h:32
TrigEgammaFastPhotonHypoTool::PhotonInfo::cluster
const xAOD::TrigEMCluster * cluster
Definition: TrigEgammaFastPhotonHypoTool.h:34
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
TrigPhotonContainer.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
TrigEgammaFastPhotonHypoTool::m_caeratiothr
Gaudi::Property< std::vector< float > > m_caeratiothr
Definition: TrigEgammaFastPhotonHypoTool.h:58
HLT::Identifier
Definition: TrigCompositeUtils/TrigCompositeUtils/HLTIdentifier.h:20
xAOD::decisions
decisions
Definition: TrigComposite_v1.cxx:81
xAOD::TrigPhoton_v1
Class describing a photon reconstructed in the HLT.
Definition: TrigPhoton_v1.h:38
TrigEgammaFastPhotonHypoTool
Definition: TrigEgammaFastPhotonHypoTool.h:23
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
TrigEgammaFastPhotonHypoTool::m_acceptAll
Gaudi::Property< bool > m_acceptAll
Definition: TrigEgammaFastPhotonHypoTool.h:50
xAOD::photon
@ photon
Definition: TrackingPrimitives.h:199
TrigCompositeUtils::DecisionIDContainer
std::set< DecisionID > DecisionIDContainer
Definition: TrigComposite_v1.h:28
TrigEgammaFastPhotonHypoTool::m_hadeTthr
Gaudi::Property< std::vector< float > > m_hadeTthr
Definition: TrigEgammaFastPhotonHypoTool.h:55
TrigEgammaFastPhotonHypoTool::m_etabin
Gaudi::Property< std::vector< float > > m_etabin
Definition: TrigEgammaFastPhotonHypoTool.h:51
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
HLTIdentifier.h
AthAlgTool
Definition: AthAlgTool.h:26
xAOD::TrigEMCluster_v1
Description of a trigger EM cluster.
Definition: TrigEMCluster_v1.h:28
GeV
#define GeV
Definition: CaloTransverseBalanceVecMon.cxx:30
TrigEgammaFastPhotonHypoTool::TrigEgammaFastPhotonHypoTool
TrigEgammaFastPhotonHypoTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: TrigEgammaFastPhotonHypoTool.cxx:14