41 std::unique_ptr<Multi5x5BremRecoveryClusterAlgo>
bremAlgo_p;
60 : barrelEtaSearchRoad_{
static_cast<float>(ps.
getParameter<
double>(
"barrelEtaSearchRoad"))},
61 barrelPhiSearchRoad_{
static_cast<float>(ps.getParameter<
double>(
"barrelPhiSearchRoad"))},
62 endcapEtaSearchRoad_{
static_cast<float>(ps.getParameter<
double>(
"endcapEtaSearchRoad"))},
63 endcapPhiSearchRoad_{
static_cast<float>(ps.getParameter<
double>(
"endcapPhiSearchRoad"))},
64 seedTransverseEnergyThreshold_{
static_cast<float>(ps.getParameter<
double>(
"seedTransverseEnergyThreshold"))},
65 doBarrel_{ps.getParameter<
bool>(
"doBarrel")},
66 doEndcaps_{ps.getParameter<
bool>(
"doEndcaps")},
70 eeClustersToken_ = consumes<reco::BasicClusterCollection>(ps.getParameter<
edm::InputTag>(
"endcapClusterTag"));
73 ebClustersToken_ = consumes<reco::BasicClusterCollection>(ps.getParameter<
edm::InputTag>(
"barrelClusterTag"));
77 bool dynamicPhiRoad = ps.
getParameter<
bool>(
"dynamicPhiRoad");
79 bremAlgo_p = std::make_unique<Multi5x5BremRecoveryClusterAlgo>(bremRecoveryPset,
85 seedTransverseEnergyThreshold_);
89 produces<reco::SuperClusterCollection>(ps.getParameter<
std::string>(
"endcapSuperclusterCollection"));
93 produces<reco::SuperClusterCollection>(ps.getParameter<
std::string>(
"barrelSuperclusterCollection"));
98 double averEnergy = 0.;
99 std::ostringstream
str;
100 str <<
"Multi5x5SuperClusterProducer::endJob()\n"
101 <<
" total # reconstructed super clusters: " <<
noSuperClusters <<
"\n"
102 <<
" total energy of all clusters: " <<
totalE <<
"\n";
105 str <<
" average SuperCluster energy = " << averEnergy <<
"\n";
107 edm::LogInfo(
"Multi5x5SuperClusterProducerInfo") << str.str() <<
"\n";
129 for (
auto const& sc : superclusters_ap) {
145 clusterPtrVector_p.
reserve(clusterCollection_p->size());
146 for (
unsigned int i = 0;
i < clusterCollection_p->size();
i++) {
149 return clusterPtrVector_p;
edm::EDGetTokenT< reco::BasicClusterCollection > eeClustersToken_
const float endcapPhiSearchRoad_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
void produce(edm::Event &, const edm::EventSetup &) override
#define DEFINE_FWK_MODULE(type)
void push_back(Ptr< T > const &iPtr)
void endStream() override
std::unique_ptr< Multi5x5BremRecoveryClusterAlgo > bremAlgo_p
const float barrelPhiSearchRoad_
void produceSuperclustersForECALPart(edm::Event &evt, const edm::EDGetTokenT< reco::BasicClusterCollection > &clustersToken, const edm::EDPutTokenT< reco::SuperClusterCollection > &putToken)
std::vector< SuperCluster > SuperClusterCollection
collection of SuperCluser objectr
Multi5x5SuperClusterProducer(const edm::ParameterSet &ps)
edm::EDPutTokenT< reco::SuperClusterCollection > endcapPutToken_
const float endcapEtaSearchRoad_
edm::EDPutTokenT< reco::SuperClusterCollection > barrelPutToken_
edm::EDGetTokenT< reco::BasicClusterCollection > ebClustersToken_
const float barrelEtaSearchRoad_
Log< level::Info, false > LogInfo
T const * product() const
OrphanHandle< PROD > emplace(EDPutTokenT< PROD > token, Args &&...args)
puts a new product
T getParameter(std::string const &) const
std::vector< BasicCluster > BasicClusterCollection
collection of BasicCluster objects
void outputValidationInfo(reco::SuperClusterCollection &superclusterCollection)
void reserve(size_type n)
Reserve space for RefVector.
const float seedTransverseEnergyThreshold_
reco::CaloClusterPtrVector getClusterPtrVector(edm::Event &evt, const edm::EDGetTokenT< reco::BasicClusterCollection > &clustersToken) const