1 #ifndef __InitialClusteringStepBase_H__ 2 #define __InitialClusteringStepBase_H__ 16 #include <unordered_map> 46 const std::vector<edm::ParameterSet>&
thresholds = conf.getParameterSetVector(
"thresholdsByDetector");
51 std::vector<double> thresh_E;
52 std::vector<double> thresh_pT;
53 std::vector<double> thresh_pT2;
56 depths =
pset.getParameter<std::vector<int> >(
"depths");
57 thresh_E =
pset.getParameter<std::vector<double> >(
"gatheringThreshold");
58 thresh_pT =
pset.getParameter<std::vector<double> >(
"gatheringThresholdPt");
59 if (thresh_E.size() !=
depths.size() || thresh_pT.size() !=
depths.size()) {
61 <<
"gatheringThresholds mismatch with the numbers of depths";
65 thresh_E.push_back(
pset.getParameter<
double>(
"gatheringThreshold"));
66 thresh_pT.push_back(
pset.getParameter<
double>(
"gatheringThresholdPt"));
69 for (
unsigned int i = 0;
i < thresh_pT.size(); ++
i) {
70 thresh_pT2.push_back(thresh_pT[
i] * thresh_pT[
i]);
76 <<
"Detector layer : " << det <<
" is not in the list of recognized" 77 <<
" detector layers!";
92 const std::vector<bool>&
mask,
93 const std::vector<bool>&
seeds,
98 o <<
"InitialClusteringStep with algo \"" <<
_algoName <<
"\" located " <<
_nSeeds <<
" seeds and built " 112 typedef std::tuple<std::vector<int>, std::vector<double>, std::vector<double> >
I3tuple;
const std::unordered_map< std::string, int > _layerMap
reco::PFRecHitRef makeRefhit(const edm::Handle< reco::PFRecHitCollection > &h, const unsigned i) const
uint32_t cc[maxCellsPerHit]
std::ostream & operator<<(std::ostream &o) const
InitialClusteringStepBase ICSB
virtual void updateEvent(const edm::Event &)
const std::string _algoName
InitialClusteringStepBase(const edm::ParameterSet &conf, edm::ConsumesCollector &cc)
edm::Ref< PFRecHitCollection > PFRecHitRef
persistent reference to PFRecHit objects
edmplugin::PluginFactory< InitialClusteringStepBase *(const edm::ParameterSet &, edm::ConsumesCollector &)> InitialClusteringStepFactory
virtual void update(const edm::EventSetup &)
virtual void buildClusters(const edm::Handle< reco::PFRecHitCollection > &, const std::vector< bool > &mask, const std::vector< bool > &seeds, reco::PFClusterCollection &, const HcalPFCuts *)=0
std::tuple< std::vector< int >, std::vector< double >, std::vector< double > > I3tuple
std::ostream & operator<<(std::ostream &o, const InitialClusteringStepBase &a)
ICSB & operator=(const ICSB &)=delete
virtual ~InitialClusteringStepBase()=default
std::vector< PFCluster > PFClusterCollection
collection of PFCluster objects
The Signals That Services Can Subscribe To This is based on ActivityRegistry h
Helper function to determine trigger accepts.
std::unordered_map< int, I3tuple > _thresholds