ATLAS Offline Software
IReAlgToolCalo.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 /********************************************************************
6 
7  NAME: IReAlgToolCalo.h
8  PACKAGE: Trigger/TrigAlgorithms/TrigT2CaloCommon
9 
10  AUTHOR: D. Oliveira Damazio based on P. Casado work
11 
12  PURPOSE: Serve as a basis for the TrigT2Calo Tools
13  providing some commom framework basis, like
14  data access via appropriated pointers and
15  ByteStream converter objects. Also, time
16  measurement items.
17  KNOWTOINHERIT : TrigT2CaloEgamma/EgammaReSamp2Fex,
18  EgammaReSamp1Fex, EgammaReEmEnFex, EgammaReHadEnFex
19  *******************************************************************/
20 
21 #ifndef TRIGT2CALOCOMMON_IREALGTOOLCALO_H
22 #define TRIGT2CALOCOMMON_IREALGTOOLCALO_H
23 
25 #include "GaudiKernel/ServiceHandle.h"
26 #include "GaudiKernel/ToolHandle.h"
27 
28 #include "CaloGeoHelpers/CaloSampling.h"
33 
34 #include <memory>
35 
37 class IReAlgToolCalo : public AthAlgTool {
38 public:
39  IReAlgToolCalo(const std::string& type, const std::string& name, const IInterface* parent);
40  virtual ~IReAlgToolCalo() {}
41 
42  virtual StatusCode initialize() override;
43 
50  virtual StatusCode execute(xAOD::TrigEMCluster& ptrigEMCluster, const IRoiDescriptor& roi,
51  const CaloDetDescrElement*& caloDDE,
52  const EventContext& context) const = 0;
53 
54 protected:
55 
57  const CaloIdManager* m_larMgr = nullptr;
58 
59  // Properties
60  Gaudi::Property<bool> m_saveCells{this, "SaveCellsInContainer", false,
61  "Enables saving of the RoI Calorimeter Cells in StoreGate"};
62 
63  Gaudi::Property<float> m_cellkeepthr{this, "ThresholdKeepCells", 1e5,
64  "Threshold to keep cells incontainer"};
65 
66  ToolHandle<IT2GeometryTool> m_geometryTool{
67  this, "T2GeometryTool", "T2GeometryTool/T2GeometryTool",
68  "Tool to check that a cells are contained in a given cluster"};
69 
70  ServiceHandle<ITrigCaloDataAccessSvc> m_dataSvc{this, "trigDataAccessMT",
71  "TrigCaloDataAccessSvc/TrigCaloDataAccessSvc",
72  "Data Access for LVL2 Calo Algorithms in MT"};
73 };
74 
75 #endif
IT2GeometryTool.h
IReAlgToolCalo::m_larMgr
const CaloIdManager * m_larMgr
Calorimeter Id Manager for calorimeter part determination (Barrel versus EndCap)
Definition: IReAlgToolCalo.h:71
IReAlgToolCalo::execute
virtual StatusCode execute(xAOD::TrigEMCluster &ptrigEMCluster, const IRoiDescriptor &roi, const CaloDetDescrElement *&caloDDE, const EventContext &context) const =0
This is the execute method for Egamma Algorithms.
CaloDetDescrElement
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
Definition: Calorimeter/CaloDetDescr/CaloDetDescr/CaloDetDescrElement.h:66
TrigEMCluster.h
IReAlgToolCalo::m_dataSvc
ServiceHandle< ITrigCaloDataAccessSvc > m_dataSvc
Definition: IReAlgToolCalo.h:84
IReAlgToolCalo::m_geometryTool
ToolHandle< IT2GeometryTool > m_geometryTool
Definition: IReAlgToolCalo.h:80
IReAlgToolCalo::IReAlgToolCalo
IReAlgToolCalo(const std::string &type, const std::string &name, const IInterface *parent)
Constructor.
Definition: IReAlgToolCalo.cxx:20
CaloIdManager
This class initializes the Calo (LAr and Tile) offline identifiers.
Definition: CaloIdManager.h:45
IReAlgToolCalo::~IReAlgToolCalo
virtual ~IReAlgToolCalo()
Definition: IReAlgToolCalo.h:54
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
IRoiDescriptor
Describes the API of the Region of Ineterest geometry.
Definition: IRoiDescriptor.h:23
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
IReAlgToolCalo::m_cellkeepthr
Gaudi::Property< float > m_cellkeepthr
Definition: IReAlgToolCalo.h:77
IReAlgToolCalo::m_saveCells
Gaudi::Property< bool > m_saveCells
Definition: IReAlgToolCalo.h:74
ITrigCaloDataAccessSvc.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
IReAlgToolCalo
Base Class for Tools used for Egamma and Tau Feature Extraction Algorithms.
Definition: IReAlgToolCalo.h:37
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
IReAlgToolCalo::initialize
virtual StatusCode initialize() override
Definition: IReAlgToolCalo.cxx:25
CaloIdManager.h
AthAlgTool
Definition: AthAlgTool.h:26
xAOD::TrigEMCluster_v1
Description of a trigger EM cluster.
Definition: TrigEMCluster_v1.h:28
ServiceHandle< ITrigCaloDataAccessSvc >