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
7
template
<PFLayer::Layer D1,
typename
barrel, PFLayer::Layer D2,
typename
endcap>
8
class
PFRecHitDualNavigator
:
public
PFRecHitNavigatorBase
{
9
public
:
10
PFRecHitDualNavigator
() =
default
;
11
12
PFRecHitDualNavigator
(
const
edm::ParameterSet
& iConfig) {
13
barrelNav_
=
new
barrel
(iConfig.
getParameter
<
edm::ParameterSet
>(
"barrel"
));
14
endcapNav_
=
new
endcap
(iConfig.
getParameter
<
edm::ParameterSet
>(
"endcap"
));
15
}
16
17
void
init
(
const
edm::EventSetup
& iSetup)
override
{
18
barrelNav_
->init(iSetup);
19
endcapNav_
->init(iSetup);
20
}
21
22
void
associateNeighbours
(
reco::PFRecHit
&
hit
,
23
std::unique_ptr<reco::PFRecHitCollection>&
hits
,
24
edm::RefProd<reco::PFRecHitCollection>
& refProd)
override
{
25
if
(
hit
.layer() ==
D1
)
26
barrelNav_
->associateNeighbours(
hit
,
hits
, refProd);
27
else
if
(
hit
.layer() ==
D2
)
28
endcapNav_
->associateNeighbours(
hit
,
hits
, refProd);
29
}
30
31
protected
:
32
barrel
*
barrelNav_
;
33
endcap
*
endcapNav_
;
34
};
35
36
#endif
edm::RefProd
Definition:
EDProductfwd.h:25
funct::D1
Divides< A, C > D1
Definition:
Factorize.h:136
Reference_intrackfit_cff.barrel
list barrel
Definition:
Reference_intrackfit_cff.py:37
hfClusterShapes_cfi.hits
hits
Definition:
hfClusterShapes_cfi.py:5
funct::D2
Divides< B, C > D2
Definition:
Factorize.h:137
makeMuonMisalignmentScenario.endcap
endcap
Definition:
makeMuonMisalignmentScenario.py:320
PFRecHitDualNavigator::associateNeighbours
void associateNeighbours(reco::PFRecHit &hit, std::unique_ptr< reco::PFRecHitCollection > &hits, edm::RefProd< reco::PFRecHitCollection > &refProd) override
Definition:
PFRecHitDualNavigator.h:22
PFRecHitDualNavigator
Definition:
PFRecHitDualNavigator.h:8
PFRecHitNavigatorBase.h
PFLayer.h
PFRecHitDualNavigator::PFRecHitDualNavigator
PFRecHitDualNavigator()=default
PFRecHitDualNavigator::init
void init(const edm::EventSetup &iSetup) override
Definition:
PFRecHitDualNavigator.h:17
PFRecHitDualNavigator::PFRecHitDualNavigator
PFRecHitDualNavigator(const edm::ParameterSet &iConfig)
Definition:
PFRecHitDualNavigator.h:12
PFRecHitDualNavigator::barrelNav_
barrel * barrelNav_
Definition:
PFRecHitDualNavigator.h:32
edm::ParameterSet
Definition:
ParameterSet.h:36
PFRecHitNavigatorBase
Definition:
PFRecHitNavigatorBase.h:26
PFRecHitDualNavigator::endcapNav_
endcap * endcapNav_
Definition:
PFRecHitDualNavigator.h:33
edm::EventSetup
Definition:
EventSetup.h:57
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
reco::PFRecHit
Particle flow rechit (rechit + geometry and topology information). See clustering algorithm in PFClus...
Definition:
PFRecHit.h:31
hit
Definition:
SiStripHitEffFromCalibTree.cc:88
Generated for CMSSW Reference Manual by
1.8.16