ATLAS Offline Software
Loading...
Searching...
No Matches
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
23namespace 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"};
49
51 this, "CaloNoiseName","totalNoise","SG Key of CaloNoise data object"};
52
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"};
57
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"};
61
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
Helper class for offline cell identifiers.
Definition CaloCell_ID.h:34
SG::ReadCondHandleKey< CaloNoise > m_noiseCDOKey
Calorimeter noise CDO (conditions data object)
Definition CellFex.h:50
virtual StatusCode fillMET(xAOD::TrigMissingET &met, const EventContext &context, MonGroupBuilder &monitors) const override
Calculate and fill the output MET value.
Definition CellFex.cxx:54
Gaudi::Property< float > m_absNoiseThreshold
The threshold on the magnitude of the cell energy.
Definition CellFex.h:53
const CaloCell_ID * m_caloCellID
Fallback option for calo cells which don't have a detector description.
Definition CellFex.h:85
Gaudi::Property< float > m_negNoiseThreshold
The maximum negative cell energy.
Definition CellFex.h:58
virtual StatusCode initialize() override
Initialize the fex.
Definition CellFex.cxx:41
CellFex(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition CellFex.cxx:37
SG::ReadHandleKey< CaloCellContainer > m_cellsKey
Input cells.
Definition CellFex.h:47
Gaudi::Property< bool > m_doTwoGaussianNoise
Use the 'two-gaussian' noise calculation for the TileCal.
Definition CellFex.h:62
FexBase(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Definition FexBase.cxx:43
Property holding a SG store/key/clid from which a ReadHandle is made.
It used to be useful piece of code for replacing actual SG with other store of similar functionality ...
TrigMissingET_v1 TrigMissingET
Define the most recent version of the TrigMissingET class.