ATLAS Offline Software
Loading...
Searching...
No Matches
HLTCaloCellMaker.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
16
17#ifndef TRIGCALOREC_HLTCALOCELLMAKER_H
18#define TRIGCALOREC_HLTCALOCELLMAKER_H
19
20#include <string>
22#include "GaudiKernel/ToolHandle.h"
23#include "GaudiKernel/ServiceHandle.h"
24
36
37
41 public:
42 HLTCaloCellMaker(const std::string & name, ISvcLocator* pSvcLocator);
43
44 virtual StatusCode execute(const EventContext& context ) const override;
45 virtual StatusCode initialize() override;
46 private:
47
48 SG::ReadHandleKey<TrigRoiDescriptorCollection> m_roiCollectionKey { this, "RoIs", "OutputRoIs", "RoIs to read in" };
49 SG::ReadHandleKey<CaloBCIDAverage> m_bcidAvgKey { this, "BCIDAvgKey", "CaloBCIDAverage", "" };
50
51 SG::WriteHandleKey<ConstDataVector<CaloCellContainerVector> > m_cellContainerVKey { this, "CellsVName", "CellsVClusters", "Calo cells container" };
52 SG::WriteHandleKey<CaloConstCellContainer > m_cellContainerKey { this, "CellsName", "CellsClusters", "Calo cells container" };
53
55 SG::ReadCondHandleKey<TileEMScale> m_tileEMScaleKey { this, "TileEMSCaleKey", "TileEMScale", "" };
56
58 { this, "TrigDataAccessMT", "TrigCaloDataAccessSvc/TrigCaloDataAccessSvc", "Data Access for LVL2 Calo Algorithms in MT" };
59
60 ToolHandle< GenericMonitoringTool > m_monTool { this, "MonTool", "", "Monitoring tool" };
61
62 Gaudi::Property<bool> m_roiMode { this, "roiMode", true, "RoiMode roi->CaloCellCollection" };
63 Gaudi::Property<bool> m_monCells { this, "monitorCells", false ,"monitorCells" };
64 Gaudi::Property<bool> m_tileCellsInROI { this, "TileCellsInROI", false, "Require tile cells to be within ROI" };
65
66
67 // just to help with monitoring
68 static inline double getCellPt(const CaloCell* aCell){
69 if(!aCell) return -999.0;
70 return aCell->et();
71 }
72
73 // check if tile cell is within the eta boundaries of the ROI, let RegSelCondAlg_Tile handle phi boundaries
74 static inline bool tileCellEtaInRoi(const CaloCell* cell, const TrigRoiDescriptor* roi) {
75 if (cell->eta() < roi->etaMinus() || cell->eta() > roi->etaPlus()) return false;
76 return true;
77 }
78
79};
80
81#endif
82
CaloCellContainer that can accept const cell pointers.
DataVector adapter that acts like it holds const pointers.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
An algorithm that can be simultaneously executed in multiple threads.
Data object for each calorimeter readout cell.
Definition CaloCell.h:57
virtual double et() const override final
get et
Definition CaloCell.h:423
Gaudi::Property< bool > m_monCells
SG::WriteHandleKey< ConstDataVector< CaloCellContainerVector > > m_cellContainerVKey
SG::ReadCondHandleKey< TileEMScale > m_tileEMScaleKey
FIXME: Temporary (i hope) to get dependency needed by BS converter.
virtual StatusCode initialize() override
SG::ReadHandleKey< TrigRoiDescriptorCollection > m_roiCollectionKey
ToolHandle< GenericMonitoringTool > m_monTool
static bool tileCellEtaInRoi(const CaloCell *cell, const TrigRoiDescriptor *roi)
HLTCaloCellMaker(const std::string &name, ISvcLocator *pSvcLocator)
SG::WriteHandleKey< CaloConstCellContainer > m_cellContainerKey
Gaudi::Property< bool > m_roiMode
static double getCellPt(const CaloCell *aCell)
virtual StatusCode execute(const EventContext &context) const override
ServiceHandle< ITrigCaloDataAccessSvc > m_dataAccessSvc
Gaudi::Property< bool > m_tileCellsInROI
SG::ReadHandleKey< CaloBCIDAverage > m_bcidAvgKey
virtual double etaMinus() const override final
gets eta at zMinus
virtual double etaPlus() const override final
gets eta at zedPlus
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
nope - should be used for standalone also, perhaps need to protect the class def bits ifndef XAOD_ANA...