ATLAS Offline Software
Loading...
Searching...
No Matches
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
37class IReAlgToolCalo : public AthAlgTool {
38public:
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
54protected:
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
71 "TrigCaloDataAccessSvc/TrigCaloDataAccessSvc",
72 "Data Access for LVL2 Calo Algorithms in MT"};
73};
74
75#endif
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
This class groups all DetDescr information related to a CaloCell.
This class initializes the Calo (LAr and Tile) offline identifiers.
IReAlgToolCalo(const std::string &type, const std::string &name, const IInterface *parent)
Constructor.
ServiceHandle< ITrigCaloDataAccessSvc > m_dataSvc
Gaudi::Property< bool > m_saveCells
ToolHandle< IT2GeometryTool > m_geometryTool
virtual StatusCode initialize() override
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.
Gaudi::Property< float > m_cellkeepthr
virtual ~IReAlgToolCalo()
const CaloIdManager * m_larMgr
Calorimeter Id Manager for calorimeter part determination (Barrel versus EndCap)
Describes the API of the Region of Ineterest geometry.
TrigEMCluster_v1 TrigEMCluster
Define the latest version of the trigger EM cluster class.