ATLAS Offline Software
CellFex.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3  */
4 
5 /******************************************************************************
6  * @package Trigger/TrigAlgorithms/TrigEFMissingET
7  * @class CellFex
8  *
9  * @brief Fex class for the basic cell algorithm
10  * @author Jon Burr
11  *****************************************************************************/
12 
13 #ifndef TRIGEFMISSINGET_CELLFEX_H
14 #define TRIGEFMISSINGET_CELLFEX_H 1
15 
16 #include "FexBase.h"
21 
22 
23 namespace HLT { namespace MET {
24  /****************************************************************************
25  * @class CellFex
26  *
27  * Class to create output from the cell algorithm
28  *
29  * cell calculates the MET with a sum over all calorimeter cells. A two-sided
30  * noise cut is applied, requiring cells to have |E/S| > T1, E/S > -T2, where
31  * T1 and T2 are thresholds, and S is the 1-sigma noise threshold.
32  ***************************************************************************/
33  class CellFex : public FexBase
34  {
35  public:
37  CellFex(const std::string& name, ISvcLocator* pSvcLocator);
38 
40  virtual StatusCode initialize() override;
41 
42  private:
43  /************************************************************************
44  * Properties
45  ***********************************************************************/
48  this, "CellName", "CaloCells", "Collection containing all input cells"};
51  this, "CaloNoiseName","totalNoise","SG Key of CaloNoise data object"};
53  Gaudi::Property<float> m_absNoiseThreshold{
54  this, "AbsoluteNoiseThreshold", 2, "Threshold on the magnitude of the "
55  "cell energy (as a multiple of the cell noise level). Selection "
56  "will not be applied if value is negative"};
58  Gaudi::Property<float> m_negNoiseThreshold{
59  this, "NegativeNoiseThreshold", 5, "The maximum negative cell energy. "
60  "Selection will not be applied if value is negative"};
62  Gaudi::Property<bool> m_doTwoGaussianNoise{
63  this, "TwoGaussianNoise", true,
64  "Whether to use the 'two-Gaussian' noise calculation for the TileCal"};
65 
66  /************************************************************************
67  * Internal functions
68  ***********************************************************************/
75  virtual StatusCode fillMET(
77  const EventContext& context,
78  MonGroupBuilder& monitors) const override;
79 
80  /************************************************************************
81  * Data members
82  ***********************************************************************/
85  const CaloCell_ID* m_caloCellID{nullptr};
86  }; //> end class FexBase
87 } } //> end namespace HLT::MET
88 
89 #endif //> !TRIGEFMISSINGET_CELLFEX_H
HLT::MET::CellFex::m_cellsKey
SG::ReadHandleKey< CaloCellContainer > m_cellsKey
Input cells.
Definition: CellFex.h:73
HLT::MET::CellFex::m_doTwoGaussianNoise
Gaudi::Property< bool > m_doTwoGaussianNoise
Use the 'two-gaussian' noise calculation for the TileCal.
Definition: CellFex.h:88
SG::ReadHandleKey< CaloCellContainer >
CaloCell_ID.h
HLT::MET::CellFex::m_caloCellID
const CaloCell_ID * m_caloCellID
Fallback option for calo cells which don't have a detector description.
Definition: CellFex.h:111
met
Definition: IMETSignificance.h:24
FexBase.h
HLT
It used to be useful piece of code for replacing actual SG with other store of similar functionality ...
Definition: HLTResultReader.h:26
HLT::MET::CellFex::fillMET
virtual StatusCode fillMET(xAOD::TrigMissingET &met, const EventContext &context, MonGroupBuilder &monitors) const override
Calculate and fill the output MET value.
Definition: CellFex.cxx:54
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
HLT::MET::CellFex::initialize
virtual StatusCode initialize() override
Initialize the fex.
Definition: CellFex.cxx:41
TCS::MET
@ MET
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/Types.h:16
CaloCell_ID
Helper class for offline cell identifiers.
Definition: CaloCell_ID.h:34
HLT::MET::CellFex::m_negNoiseThreshold
Gaudi::Property< float > m_negNoiseThreshold
The maximum negative cell energy.
Definition: CellFex.h:84
HLT::MET::CellFex::m_absNoiseThreshold
Gaudi::Property< float > m_absNoiseThreshold
The threshold on the magnitude of the cell energy.
Definition: CellFex.h:79
ReadCondHandleKey.h
HLT::MET::CellFex::CellFex
CellFex(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition: CellFex.cxx:37
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
CaloNoise.h
CaloCellContainer.h
HLT::MET::MonGroupBuilder
Definition: MonGroupBuilder.h:45
SG::ReadCondHandleKey< CaloNoise >
xAOD::TrigMissingET_v1
Class holding the Missing ET trigger fex results.
Definition: TrigMissingET_v1.h:32
HLT::MET::CellFex::m_noiseCDOKey
SG::ReadCondHandleKey< CaloNoise > m_noiseCDOKey
Calorimeter noise CDO (conditions data object)
Definition: CellFex.h:76