ATLAS Offline Software
TrigEgammaEmulationL1CaloHypoTool.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3  * */
4 
5 
6 #ifndef TrigEgammaEmulationL1CaloHypoTool_h
7 #define TrigEgammaEmulationL1CaloHypoTool_h
8 
9 
10 #include "AsgTools/AsgTool.h"
14 
15 
16 
17 namespace Trig{
18 
19 
22 
23  {
25 
26  public:
27 
28  TrigEgammaEmulationL1CaloHypoTool(const std::string& myname);
30 
31 
32  virtual bool emulate( const TrigData &, bool &) const override;
33 
34 
35  private:
36 
37  bool decide( const Trig::TrigData &input ) const;
38  bool isolationL1(float min, float offset, float slope, float energy, float emE) const;
39  bool variableEtL1(std::string L1item, float l1energy, float l1eta) const;
40  float emulationL1V(const std::string& L1item, float l1eta) const;
41 
42  // L1 configuration parameters
43  Gaudi::Property<std::string> m_l1item{this, "L1Item", "", "" };
44  Gaudi::Property<float> m_l1threshold{this, "L1Thr", 0};
45  Gaudi::Property<float> m_hadCoreCutMin{this , "HadCoreCutMin", 0 };
46  Gaudi::Property<float> m_hadCoreCutOff{this , "HadCoreCutOff", 0 };
47  Gaudi::Property<float> m_hadCoreCutSlope{this, "HadCoreSlope" , 0 };
48  Gaudi::Property<float> m_emIsolCutMin{this , "EmIsolCutMin" , 0 };
49  Gaudi::Property<float> m_emIsolCutOff{this , "EmIsolCutOff" , 0 };
50  Gaudi::Property<float> m_emIsolCutSlope{this , "EmIsolSlope" , 0 };
51  Gaudi::Property<float> m_isolMaxCut{this , "IsolCutMax" , 50 };
52 
53  };
54 }//namespace
55 #endif
Trig::TrigEgammaEmulationL1CaloHypoTool::m_l1threshold
Gaudi::Property< float > m_l1threshold
Definition: TrigEgammaEmulationL1CaloHypoTool.h:44
Trig
The common trigger namespace for trigger analysis tools.
Definition: CaloTowerVecMon.h:44
Trig::TrigEgammaEmulationL1CaloHypoTool::m_emIsolCutSlope
Gaudi::Property< float > m_emIsolCutSlope
Definition: TrigEgammaEmulationL1CaloHypoTool.h:50
Trig::TrigEgammaEmulationL1CaloHypoTool::variableEtL1
bool variableEtL1(std::string L1item, float l1energy, float l1eta) const
==========================================================================
Definition: TrigEgammaEmulationL1CaloHypoTool.cxx:116
Trig::ITrigEgammaEmulationBaseHypoTool
Definition: ITrigEgammaEmulationBaseHypoTool.h:20
Trig::TrigEgammaEmulationL1CaloHypoTool
Definition: TrigEgammaEmulationL1CaloHypoTool.h:23
Trig::TrigEgammaEmulationL1CaloHypoTool::m_hadCoreCutMin
Gaudi::Property< float > m_hadCoreCutMin
Definition: TrigEgammaEmulationL1CaloHypoTool.h:45
Trig::TrigEgammaEmulationL1CaloHypoTool::isolationL1
bool isolationL1(float min, float offset, float slope, float energy, float emE) const
==========================================================================
Definition: TrigEgammaEmulationL1CaloHypoTool.cxx:94
Trig::TrigEgammaEmulationBaseHypoTool
Definition: TrigEgammaEmulationBaseHypoTool.h:22
Trig::TrigEgammaEmulationL1CaloHypoTool::TrigEgammaEmulationL1CaloHypoTool
TrigEgammaEmulationL1CaloHypoTool(const std::string &myname)
Definition: TrigEgammaEmulationL1CaloHypoTool.cxx:13
Trig::TrigEgammaEmulationL1CaloHypoTool::m_emIsolCutMin
Gaudi::Property< float > m_emIsolCutMin
Definition: TrigEgammaEmulationL1CaloHypoTool.h:48
ParticleGun_FastCalo_ChargeFlip_Config.energy
energy
Definition: ParticleGun_FastCalo_ChargeFlip_Config.py:78
Trig::TrigEgammaEmulationL1CaloHypoTool::m_hadCoreCutSlope
Gaudi::Property< float > m_hadCoreCutSlope
Definition: TrigEgammaEmulationL1CaloHypoTool.h:47
PlotPulseshapeFromCool.input
input
Definition: PlotPulseshapeFromCool.py:106
Trig::TrigEgammaEmulationL1CaloHypoTool::m_hadCoreCutOff
Gaudi::Property< float > m_hadCoreCutOff
Definition: TrigEgammaEmulationL1CaloHypoTool.h:46
min
#define min(a, b)
Definition: cfImp.cxx:40
Trig::TrigEgammaEmulationL1CaloHypoTool::m_l1item
Gaudi::Property< std::string > m_l1item
Definition: TrigEgammaEmulationL1CaloHypoTool.h:43
Trig::TrigEgammaEmulationL1CaloHypoTool::decide
bool decide(const Trig::TrigData &input) const
==========================================================================
Definition: TrigEgammaEmulationL1CaloHypoTool.cxx:35
TrigEgammaEmulationBaseHypoTool.h
Trig::TrigEgammaEmulationL1CaloHypoTool::m_isolMaxCut
Gaudi::Property< float > m_isolMaxCut
Definition: TrigEgammaEmulationL1CaloHypoTool.h:51
ITrigEgammaEmulationBaseHypoTool.h
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition: AsgToolMacros.h:68
Trig::TrigData
Definition: TrigEgammaEmulationToolMT.h:40
convertTimingResiduals.offset
offset
Definition: convertTimingResiduals.py:71
Trig::TrigEgammaEmulationL1CaloHypoTool::emulate
virtual bool emulate(const TrigData &, bool &) const override
==========================================================================
Definition: TrigEgammaEmulationL1CaloHypoTool.cxx:21
AsgTool.h
Trig::TrigEgammaEmulationL1CaloHypoTool::emulationL1V
float emulationL1V(const std::string &L1item, float l1eta) const
==========================================================================
Definition: TrigEgammaEmulationL1CaloHypoTool.cxx:123
Trig::TrigEgammaEmulationL1CaloHypoTool::~TrigEgammaEmulationL1CaloHypoTool
~TrigEgammaEmulationL1CaloHypoTool()=default
TrigEgammaEmulationToolMT.h
Trig::TrigEgammaEmulationL1CaloHypoTool::m_emIsolCutOff
Gaudi::Property< float > m_emIsolCutOff
Definition: TrigEgammaEmulationL1CaloHypoTool.h:49