ATLAS Offline Software
Public Member Functions | Private Attributes | List of all members
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),

◆ ~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");
53  if (m_useDoubleSidedGap) {
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 }

◆ 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.

◆ 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.

◆ 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.


The documentation for this class was generated from the following files:
et
Extra patterns decribing particle interation process.
TrigHIFwdGapHypoTool::m_decisionId
HLT::Identifier m_decisionId
Definition: TrigHIFwdGapHypoTool.h:33
xAOD::et
et
Definition: TrigEMCluster_v1.cxx:25
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
HLT::Identifier::fromToolName
static HLT::Identifier fromToolName(const std::string &tname)
Definition: HLTIdentifier.cxx:31
TrigHIFwdGapHypoTool::m_useDoubleSidedGap
Gaudi::Property< bool > m_useDoubleSidedGap
Definition: TrigHIFwdGapHypoTool.h:36
xAOD::HIEventShape_v2
Interface class for the HI reconstruction EDM.
Definition: HIEventShape_v2.h:31
TrigHIFwdGapHypoTool::m_maxFCalEt
Gaudi::Property< float > m_maxFCalEt
Definition: TrigHIFwdGapHypoTool.h:35
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
test_pyathena.parent
parent
Definition: test_pyathena.py:15
TrigHIFwdGapHypoTool::m_useSideA
Gaudi::Property< bool > m_useSideA
Definition: TrigHIFwdGapHypoTool.h:37
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
GeV
#define GeV
Definition: CaloTransverseBalanceVecMon.cxx:30