L1Trigger
L1THGCal
plugins
backend
HGCalTowerProcessor.cc
Go to the documentation of this file.
1
#include "
L1Trigger/L1THGCal/interface/HGCalProcessorBase.h
"
2
3
#include "
DataFormats/L1THGCal/interface/HGCalTriggerCell.h
"
4
#include "
DataFormats/L1THGCal/interface/HGCalTowerMap.h
"
5
#include "
DataFormats/L1THGCal/interface/HGCalTower.h
"
6
7
#include "
Geometry/Records/interface/CaloGeometryRecord.h
"
8
#include "
L1Trigger/L1THGCal/interface/HGCalTriggerGeometryBase.h
"
9
#include "
L1Trigger/L1THGCal/interface/HGCalTriggerBackendAlgorithmBase.h
"
10
#include "
L1Trigger/L1THGCal/interface/backend/HGCalTowerMap3DImpl.h
"
11
12
class
HGCalTowerProcessor
:
public
HGCalTowerProcessorBase
{
13
public
:
14
HGCalTowerProcessor
(
const
edm::ParameterSet
& conf) :
HGCalTowerProcessorBase
(conf) {
15
towermap3D_
= std::make_unique<HGCalTowerMap3DImpl>();
16
}
17
18
void
run
(
const
edm::Handle<l1t::HGCalTowerMapBxCollection>
& collHandle,
19
l1t::HGCalTowerBxCollection
& collTowers,
20
const
edm::EventSetup
& es)
override
{
21
es.
get
<
CaloGeometryRecord
>().
get
(
""
,
triggerGeometry_
);
22
23
/* create a persistent vector of pointers to the towerMaps */
24
std::vector<edm::Ptr<l1t::HGCalTowerMap>> towerMapsPtrs;
25
for
(
unsigned
i
= 0;
i
< collHandle->
size
(); ++
i
) {
26
edm::Ptr<l1t::HGCalTowerMap>
ptr(collHandle,
i
);
27
towerMapsPtrs.push_back(ptr);
28
}
29
30
/* call to towerMap3D clustering */
31
towermap3D_
->buildTowerMap3D(towerMapsPtrs, collTowers);
32
}
33
34
private
:
35
edm::ESHandle<HGCalTriggerGeometryBase>
triggerGeometry_
;
36
37
/* algorithms instances */
38
std::unique_ptr<HGCalTowerMap3DImpl>
towermap3D_
;
39
};
40
41
DEFINE_EDM_PLUGIN
(
HGCalTowerFactory
,
HGCalTowerProcessor
,
"HGCalTowerProcessor"
);
mps_fire.i
i
Definition:
mps_fire.py:355
HGCalTowerProcessor::triggerGeometry_
edm::ESHandle< HGCalTriggerGeometryBase > triggerGeometry_
Definition:
HGCalTowerProcessor.cc:35
CaloGeometryRecord
Definition:
CaloGeometryRecord.h:30
HGCalTowerProcessor::run
void run(const edm::Handle< l1t::HGCalTowerMapBxCollection > &collHandle, l1t::HGCalTowerBxCollection &collTowers, const edm::EventSetup &es) override
Definition:
HGCalTowerProcessor.cc:18
edm::Handle
Definition:
AssociativeIterator.h:50
BXVector
Definition:
BXVector.h:15
edm::EventSetup::get
T get() const
Definition:
EventSetup.h:73
HGCalTowerProcessor::HGCalTowerProcessor
HGCalTowerProcessor(const edm::ParameterSet &conf)
Definition:
HGCalTowerProcessor.cc:14
HGCalTriggerGeometryBase.h
edm::ESHandle< HGCalTriggerGeometryBase >
HGCalTowerMap3DImpl.h
DEFINE_EDM_PLUGIN
#define DEFINE_EDM_PLUGIN(factory, type, name)
Definition:
PluginFactory.h:124
CaloGeometryRecord.h
edm::ParameterSet
Definition:
ParameterSet.h:36
HGCalTower.h
edmplugin::PluginFactory
Definition:
PluginFactory.h:34
HGCalTowerProcessor
Definition:
HGCalTowerProcessor.cc:12
HGCalTriggerBackendAlgorithmBase.h
edm::EventSetup
Definition:
EventSetup.h:57
HGCalTowerProcessor::towermap3D_
std::unique_ptr< HGCalTowerMap3DImpl > towermap3D_
Definition:
HGCalTowerProcessor.cc:38
get
#define get
edm::Ptr
Definition:
AssociationVector.h:31
HGCalProcessorBase.h
HGCalTowerMap.h
BXVector::size
unsigned size(int bx) const
HGCalTriggerCell.h
HGCalProcessorBaseT
Definition:
HGCalProcessorBaseT.h:10
Generated for CMSSW Reference Manual by
1.8.16