ATLAS Offline Software
Loading...
Searching...
No Matches
TrigHIFwdGapHypoTool Class Reference

#include <TrigHIFwdGapHypoTool.h>

Inheritance diagram for TrigHIFwdGapHypoTool:
Collaboration diagram for TrigHIFwdGapHypoTool:

Public Member Functions

 TrigHIFwdGapHypoTool (const std::string &type, const std::string &name, const IInterface *parent)
virtual ~TrigHIFwdGapHypoTool ()
virtual StatusCode initialize () override
virtual StatusCode finalize () override
virtual StatusCode decide (const xAOD::HIEventShapeContainer *eventShapeContainer, bool &pass) const override
virtual const HLT::IdentifiergetId () const override

Private Attributes

HLT::Identifier m_decisionId
Gaudi::Property< float > m_maxFCalEt {this, "maxFCalEt", 10., "upper limit on FCal ET in GeV"}
Gaudi::Property< bool > m_useDoubleSidedGap {this, "useDoubleSidedGap", false, "use double- or one-sided gap calculation"}
Gaudi::Property< bool > m_useSideA {this, "useSideA", true, "use side A for one-sided gap calculation"}

Detailed Description

Definition at line 15 of file TrigHIFwdGapHypoTool.h.

Constructor & Destructor Documentation

◆ TrigHIFwdGapHypoTool()

TrigHIFwdGapHypoTool::TrigHIFwdGapHypoTool ( const std::string & type,
const std::string & name,
const IInterface * parent )

Definition at line 10 of file TrigHIFwdGapHypoTool.cxx.

12 :
13 base_class(type, name, parent),
static HLT::Identifier fromToolName(const std::string &tname)

◆ ~TrigHIFwdGapHypoTool()

virtual TrigHIFwdGapHypoTool::~TrigHIFwdGapHypoTool ( )
inlinevirtual

Definition at line 22 of file TrigHIFwdGapHypoTool.h.

22{};

Member Function Documentation

◆ decide()

StatusCode TrigHIFwdGapHypoTool::decide ( const xAOD::HIEventShapeContainer * eventShapeContainer,
bool & pass ) const
overridevirtual

Definition at line 27 of file TrigHIFwdGapHypoTool.cxx.

27 {
28 ATH_MSG_DEBUG("Executing decide() of " << name());
29
30 float totalFCalEtSideA = 0.;
31 float totalFCalEtSideC = 0.;
32 for (const xAOD::HIEventShape* es: *eventShapeContainer) {
33 const int layer = es->layer();
34 if (layer < 21 or layer > 23) { //only use FCal information (calo samplings 21: FCAL0, 22: FCAL1, 23: FCAL2)
35 continue;
36 }
37
38 const float et = es->et();
39 if (std::abs(et) < 0.1) { //don't add negligible energy deposits (< 0.1 MeV)
40 continue;
41 }
42
43 const float eta = 0.5 * (es->etaMin() + es->etaMax());
44 if (eta > 0.) {
45 totalFCalEtSideA += et;
46 }
47 else {
48 totalFCalEtSideC += et;
49 }
50 }
51
52 ATH_MSG_DEBUG("Total FCal ET: side A = " << totalFCalEtSideA << " MeV, side C = " << totalFCalEtSideC << " MeV");
54 pass = (totalFCalEtSideA < m_maxFCalEt * GeV and totalFCalEtSideC < m_maxFCalEt * GeV);
55 if (pass) ATH_MSG_DEBUG("Passed max FCal ET cut of " << m_maxFCalEt * GeV << " MeV\n");
56 }
57 else {
58 if (m_useSideA) {
59 pass = (totalFCalEtSideA < m_maxFCalEt * GeV);
60 if (pass) ATH_MSG_DEBUG("Passed max FCal ET cut of " << m_maxFCalEt * GeV << " MeV on side A\n");
61 }
62 else {
63 pass = (totalFCalEtSideC < m_maxFCalEt * GeV);
64 if (pass) ATH_MSG_DEBUG("Passed max FCal ET cut of " << m_maxFCalEt * GeV << " MeV on side C\n");
65 }
66 }
67
68 return StatusCode::SUCCESS;
69}
Scalar eta() const
pseudorapidity method
#define ATH_MSG_DEBUG(x)
float et(const xAOD::jFexSRJetRoI *j)
Gaudi::Property< bool > m_useDoubleSidedGap
Gaudi::Property< bool > m_useSideA
Gaudi::Property< float > m_maxFCalEt
@ layer
Definition HitInfo.h:79
HIEventShape_v2 HIEventShape
Definition of the latest event info version.

◆ finalize()

StatusCode TrigHIFwdGapHypoTool::finalize ( )
overridevirtual

Definition at line 22 of file TrigHIFwdGapHypoTool.cxx.

22 {
23 return StatusCode::SUCCESS;
24}

◆ getId()

const HLT::Identifier & TrigHIFwdGapHypoTool::getId ( ) const
overridevirtual

Definition at line 72 of file TrigHIFwdGapHypoTool.cxx.

72 {
73 return m_decisionId;
74}

◆ initialize()

StatusCode TrigHIFwdGapHypoTool::initialize ( )
overridevirtual

Definition at line 17 of file TrigHIFwdGapHypoTool.cxx.

17 {
18 ATH_MSG_DEBUG("Initializing TrigHIFwdGapHypoTool for " << name());
19 return StatusCode::SUCCESS;
20}

Member Data Documentation

◆ m_decisionId

HLT::Identifier TrigHIFwdGapHypoTool::m_decisionId
private

Definition at line 33 of file TrigHIFwdGapHypoTool.h.

◆ m_maxFCalEt

Gaudi::Property<float> TrigHIFwdGapHypoTool::m_maxFCalEt {this, "maxFCalEt", 10., "upper limit on FCal ET in GeV"}
private

Definition at line 35 of file TrigHIFwdGapHypoTool.h.

35{this, "maxFCalEt", 10., "upper limit on FCal ET in GeV"};

◆ m_useDoubleSidedGap

Gaudi::Property<bool> TrigHIFwdGapHypoTool::m_useDoubleSidedGap {this, "useDoubleSidedGap", false, "use double- or one-sided gap calculation"}
private

Definition at line 36 of file TrigHIFwdGapHypoTool.h.

36{this, "useDoubleSidedGap", false, "use double- or one-sided gap calculation"};

◆ m_useSideA

Gaudi::Property<bool> TrigHIFwdGapHypoTool::m_useSideA {this, "useSideA", true, "use side A for one-sided gap calculation"}
private

Definition at line 37 of file TrigHIFwdGapHypoTool.h.

37{this, "useSideA", true, "use side A for one-sided gap calculation"};

The documentation for this class was generated from the following files: