|
|
Go to the documentation of this file.
37 geoToken_ = esConsumes<CaloGeometry, CaloGeometryRecord>();
38 sevLvToken_ = esConsumes<EcalSeverityLevelAlgo, EcalSeverityLevelAlgoRcd>();
45 const std::vector<std::string> flagnames = ps.
getParameter<std::vector<std::string> >(
"RecHitFlagToBeExcluded");
47 const std::vector<int> flagsexcl = StringToEnumValue<EcalRecHit::Flags>(flagnames);
49 const std::vector<std::string> severitynames =
50 ps.
getParameter<std::vector<std::string> >(
"RecHitSeverityToBeExcluded");
52 const std::vector<int> severitiesexcl = StringToEnumValue<EcalSeverityLevel::SeverityLevel>(severitynames);
90 edm::LogError(
"MissingProduct") <<
"could not get a handle on the EcalRecHitCollection!";
99 std::unique_ptr<const CaloSubdetectorTopology>
topology;
104 topology = std::make_unique<EcalBarrelTopology>(*geoHandle);
109 hit_collection, geometry_p, basicClusters, sevLv.
product(),
false, std::vector<RectangularEtaPhiRegion>());
111 LogTrace(
"EcalClusters") <<
"Finished clustering - BasicClusterCollection returned to producer...";
114 auto basicclusters_p = std::make_unique<reco::BasicClusterCollection>();
115 basicclusters_p->assign(basicClusters.begin(), basicClusters.end());
120 LogTrace(
"EcalClusters") <<
"Basic Clusters now put into event.";
126 edm::LogError(
"Missing Product") <<
"could not get a handle on the BasicClusterCollection!";
132 LogTrace(
"EcalClusters") <<
"Got the BasicClusterCollection" << std::endl;
135 for (
unsigned int i = 0;
i < clusterCollection.size();
i++) {
142 auto superclusters_p = std::make_unique<reco::SuperClusterCollection>();
146 LogTrace(
"EcalClusters") <<
"Hybrid Clusters (Basic/Super) added to the Event! :-)";
HybridClusterAlgo * hybrid_p
T const * product() const
void makeClusters(const EcalRecHitCollection *, const CaloSubdetectorGeometry *geometry, reco::BasicClusterCollection &basicClusters, const EcalSeverityLevelAlgo *sevLv, bool regional=false, const std::vector< RectangularEtaPhiRegion > ®ions=std::vector< RectangularEtaPhiRegion >())
T const * product() const
edm::ESGetToken< EcalSeverityLevelAlgo, EcalSeverityLevelAlgoRcd > sevLvToken_
std::vector< SuperCluster > SuperClusterCollection
collection of SuperCluser objectr
~HybridClusterProducer() override
const CaloTopology * topology(nullptr)
edm::EDGetTokenT< EcalRecHitCollection > hitsToken_
std::string superclusterCollection_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
std::vector< BasicCluster > BasicClusterCollection
collection of BasicCluster objects
void produce(edm::Event &, const edm::EventSetup &) override
void push_back(Ptr< T > const &iPtr)
void setDynamicPhiRoad(const edm::ParameterSet &bremRecoveryPset)
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
reco::SuperClusterCollection makeSuperClusters(const reco::CaloClusterPtrVector &)
Log< level::Error, false > LogError
HybridClusterProducer(const edm::ParameterSet &ps)
edm::ESGetToken< CaloGeometry, CaloGeometryRecord > geoToken_
std::string basicclusterCollection_
PositionCalc posCalculator_
T getParameter(std::string const &) const