src
RecoLocalTracker
SiStripClusterizer
src
StripClusterizerAlgorithmFactory.cc
Go to the documentation of this file.
1
#include "
RecoLocalTracker/SiStripClusterizer/interface/StripClusterizerAlgorithmFactory.h
"
2
3
#include "
FWCore/ParameterSet/interface/ParameterSet.h
"
4
#include "
RecoLocalTracker/SiStripClusterizer/interface/StripClusterizerAlgorithm.h
"
5
#include "
RecoLocalTracker/SiStripClusterizer/interface/ThreeThresholdAlgorithm.h
"
6
#include "
RecoLocalTracker/SiStripClusterizer/interface/ClusterChargeCut.h
"
7
8
std::unique_ptr<StripClusterizerAlgorithm>
StripClusterizerAlgorithmFactory::create
(
edm::ConsumesCollector
&& iC,
9
const
edm::ParameterSet
& conf) {
10
std::string
algorithm
= conf.
getParameter
<
std::string
>(
"Algorithm"
);
11
12
if
(
algorithm
==
"ThreeThresholdAlgorithm"
) {
13
return
std::unique_ptr<StripClusterizerAlgorithm>(
14
new
ThreeThresholdAlgorithm
(iC.esConsumes<
SiStripClusterizerConditions
,
SiStripClusterizerConditionsRcd
>(
15
edm::ESInputTag
{
""
, conf.getParameter<std::string>(
"ConditionsLabel"
)}),
16
conf.
getParameter
<
double
>(
"ChannelThreshold"
),
17
conf.
getParameter
<
double
>(
"SeedThreshold"
),
18
conf.
getParameter
<
double
>(
"ClusterThreshold"
),
19
conf.
getParameter
<
unsigned
>(
"MaxSequentialHoles"
),
20
conf.
getParameter
<
unsigned
>(
"MaxSequentialBad"
),
21
conf.
getParameter
<
unsigned
>(
"MaxAdjacentBad"
),
22
conf.
getParameter
<
bool
>(
"RemoveApvShots"
),
23
clusterChargeCut
(conf)));
24
}
25
26
if
(
algorithm
==
"OldThreeThresholdAlgorithm"
) {
27
throw
cms::Exception
(
"[StripClusterizerAlgorithmFactory] obsolete"
) <<
algorithm
<<
" Obsolete since 7_3_0"
;
28
}
29
30
throw
cms::Exception
(
"[StripClusterizerAlgorithmFactory] Unregistered Algorithm"
)
31
<<
algorithm
<<
" is not a registered StripClusterizerAlgorithm"
;
32
}
edm::ParameterSet::getParameter
T getParameter(std::string const &) const
Definition:
ParameterSet.h:303
StripClusterizerAlgorithmFactory.h
Exception
Definition:
hltDiff.cc:245
edm::ESInputTag
Definition:
ESInputTag.h:87
clusterChargeCut
float clusterChargeCut(const edm::ParameterSet &conf, const char *name="clusterChargeCut")
Definition:
ClusterChargeCut.h:7
ThreeThresholdAlgorithm.h
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:256
ParameterSet.h
ClusterChargeCut.h
SiStripClusterizerConditions
Definition:
SiStripClusterizerConditions.h:11
StripClusterizerAlgorithmFactory::create
static std::unique_ptr< StripClusterizerAlgorithm > create(edm::ConsumesCollector &&, const edm::ParameterSet &)
Definition:
StripClusterizerAlgorithmFactory.cc:8
qcdUeDQM_cfi.algorithm
algorithm
Definition:
qcdUeDQM_cfi.py:32
edm::ParameterSet
Definition:
ParameterSet.h:47
ThreeThresholdAlgorithm
Definition:
ThreeThresholdAlgorithm.h:6
SiStripClusterizerConditionsRcd
Definition:
SiStripClusterizerConditionsRcd.h:8
edm::ConsumesCollector
Definition:
ConsumesCollector.h:45
StripClusterizerAlgorithm.h
Generated for CMSSW Reference Manual by
1.8.14