src
RecoParticleFlow
PFClusterProducer
interface
PFRecHitDualNavigator.h
Go to the documentation of this file.
1
#ifndef RecoParticleFlow_PFClusterProducer_PFRecHitDualNavigator_h
2
#define RecoParticleFlow_PFClusterProducer_PFRecHitDualNavigator_h
3
4
#include "
RecoParticleFlow/PFClusterProducer/interface/PFRecHitNavigatorBase.h
"
5
#include "
DataFormats/ParticleFlowReco/interface/PFLayer.h
"
6
#include "
FWCore/Framework/interface/ConsumesCollector.h
"
7
8
template
<PFLayer::Layer D1,
typename
barrel, PFLayer::Layer D2,
typename
endcap>
9
class
PFRecHitDualNavigator
:
public
PFRecHitNavigatorBase
{
10
public
:
11
PFRecHitDualNavigator
() =
default
;
12
13
PFRecHitDualNavigator
(
const
edm::ParameterSet
& iConfig,
edm::ConsumesCollector
& cc) {
14
barrelNav_
=
new
barrel
(iConfig.
getParameter
<
edm::ParameterSet
>(
"barrel"
), cc);
15
endcapNav_
=
new
endcap
(iConfig.
getParameter
<
edm::ParameterSet
>(
"endcap"
), cc);
16
}
17
18
void
init
(
const
edm::EventSetup
& iSetup)
override
{
19
barrelNav_
->init(iSetup);
20
endcapNav_
->init(iSetup);
21
}
22
23
void
associateNeighbours
(
reco::PFRecHit
&
hit
,
24
std::unique_ptr<reco::PFRecHitCollection>&
hits
,
25
edm::RefProd<reco::PFRecHitCollection>
& refProd)
override
{
26
if
(
hit
.layer() ==
D1
)
27
barrelNav_
->associateNeighbours(
hit
,
hits
, refProd);
28
else
if
(
hit
.layer() ==
D2
)
29
endcapNav_
->associateNeighbours(
hit
,
hits
, refProd);
30
}
31
32
protected
:
33
barrel
*
barrelNav_
;
34
endcap
*
endcapNav_
;
35
};
36
37
#endif
PFRecHitDualNavigator::barrelNav_
barrel * barrelNav_
Definition:
PFRecHitDualNavigator.h:33
funct::D2
Divides< B, C > D2
Definition:
Factorize.h:137
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition:
ParameterSet.h:303
PFRecHitDualNavigator::PFRecHitDualNavigator
PFRecHitDualNavigator()=default
hfClusterShapes_cfi.hits
hits
Definition:
hfClusterShapes_cfi.py:5
PFRecHitDualNavigator::PFRecHitDualNavigator
PFRecHitDualNavigator(const edm::ParameterSet &iConfig, edm::ConsumesCollector &cc)
Definition:
PFRecHitDualNavigator.h:13
PFRecHitDualNavigator::associateNeighbours
void associateNeighbours(reco::PFRecHit &hit, std::unique_ptr< reco::PFRecHitCollection > &hits, edm::RefProd< reco::PFRecHitCollection > &refProd) override
Definition:
PFRecHitDualNavigator.h:23
reco::PFRecHit
Particle flow rechit (rechit + geometry and topology information). See clustering algorithm in PFClus...
Definition:
PFRecHit.h:31
PFRecHitDualNavigator::init
void init(const edm::EventSetup &iSetup) override
Definition:
PFRecHitDualNavigator.h:18
edm::RefProd
Definition:
EDProductfwd.h:25
funct::D1
Divides< A, C > D1
Definition:
Factorize.h:136
PFRecHitNavigatorBase
Definition:
PFRecHitNavigatorBase.h:25
edm::EventSetup
Definition:
EventSetup.h:59
PFRecHitDualNavigator
Definition:
PFRecHitDualNavigator.h:9
PFRecHitNavigatorBase.h
PFLayer.h
PFRecHitDualNavigator::endcapNav_
endcap * endcapNav_
Definition:
PFRecHitDualNavigator.h:34
makeMuonMisalignmentScenario.endcap
endcap
Definition:
makeMuonMisalignmentScenario.py:320
hit
Definition:
SiStripHitEffFromCalibTree.cc:88
edm::ParameterSet
Definition:
ParameterSet.h:47
Reference_intrackfit_cff.barrel
list barrel
Definition:
Reference_intrackfit_cff.py:37
ConsumesCollector.h
edm::ConsumesCollector
Definition:
ConsumesCollector.h:45
Generated for CMSSW Reference Manual by
1.8.14