47 if (sCAlgo_str==
"Hybrid") {
50 }
else if (sCAlgo_str==
"Island") {
53 }
else if (sCAlgo_str==
"DynamicHybrid") {
56 }
else if (sCAlgo_str==
"Multi5x5") {
61 <<
"Error! SuperClusterAlgo in config file must be Hybrid or Island: " 62 << sCAlgo_str <<
" Using Hybrid by default";
107 if(rHInputCollection ==
"EcalRecHitsEB") {
109 }
else if(rHInputCollection ==
"EcalRecHitsEE") {
111 }
else if(rHInputCollection ==
"EcalRecHitsPS") {
114 std::string str =
"\n\nSCCorrectionMaker encountered invalied ecalhitcollection type: " + rHInputCollection +
".\n\n";
115 throw(std::runtime_error( str.c_str() ));
124 <<
"Error! can't get the rawSuperClusters " 134 <<
"Error! can't get the RecHits " 143 auto corrClusters = std::make_unique<reco::SuperClusterCollection>();
146 reco::SuperClusterCollection::const_iterator aClus;
147 for(aClus = rawClusters->begin(); aClus != rawClusters->end(); aClus++)
156 corrClusters->push_back(newClus);
T getParameter(std::string const &) const
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
bool applyEnergyCorrection_
const math::XYZPoint & position() const
cluster centroid position
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
CaloTopology const * topology(0)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
std::unique_ptr< HiEgammaSCEnergyCorrectionAlgo > energyCorrector_
Sin< T >::type sin(const T &t)
edm::InputTag sCInputProducerTag_
double sigmaElectronicNoise_
#define DEFINE_FWK_MODULE(type)
std::vector< SuperCluster > SuperClusterCollection
collection of SuperCluser objectr
HiEgammaSCEnergyCorrectionAlgo::VerbosityLevel verbosity_
edm::EDGetTokenT< EcalRecHitCollection > rHInputProducer_
HiEgammaSCCorrectionMaker(const edm::ParameterSet &)
double energy() const
cluster energy
std::unique_ptr< EcalClusterFunctionBaseClass > EnergyCorrection_
T const * product() const
std::string outputCollection_
void produce(edm::Event &, const edm::EventSetup &) override
edm::ESHandle< CaloTopology > theCaloTopo_
~HiEgammaSCCorrectionMaker() override
edm::InputTag rHInputProducerTag_
edm::EDGetTokenT< reco::SuperClusterCollection > sCInputProducer_
T const * product() const
reco::CaloCluster::AlgoId sCAlgo_
T get(const Candidate &c)