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";
110 if(rHInputCollection ==
"EcalRecHitsEB") {
112 }
else if(rHInputCollection ==
"EcalRecHitsEE") {
114 }
else if(rHInputCollection ==
"EcalRecHitsPS") {
117 std::string str =
"\n\nSCCorrectionMaker encountered invalied ecalhitcollection type: " + rHInputCollection +
".\n\n";
118 throw(std::runtime_error( str.c_str() ));
127 <<
"Error! can't get the rawSuperClusters "
137 <<
"Error! can't get the RecHits "
149 reco::SuperClusterCollection::const_iterator aClus;
150 for(aClus = rawClusters->begin(); aClus != rawClusters->end(); aClus++)
159 corrClusters->push_back(newClus);
T getParameter(std::string const &) const
bool applyEnergyCorrection_
const math::XYZPoint & position() const
cluster centroid position
CaloTopology const * topology(0)
~HiEgammaSCCorrectionMaker()
bool getByToken(EDGetToken token, Handle< PROD > &result) const
#define DEFINE_FWK_MODULE(type)
reco::SuperCluster applyCorrection(const reco::SuperCluster &cl, const EcalRecHitCollection &rhc, reco::CaloCluster::AlgoId theAlgo, const CaloSubdetectorGeometry *geometry, const CaloTopology *topology, EcalClusterFunctionBaseClass *EnergyCorrectionClass)
Sin< T >::type sin(const T &t)
edm::InputTag sCInputProducerTag_
double sigmaElectronicNoise_
EcalClusterFunctionBaseClass * EnergyCorrection_
HiEgammaSCEnergyCorrectionAlgo * energyCorrector_
std::vector< SuperCluster > SuperClusterCollection
collection of SuperCluser objectr
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
HiEgammaSCEnergyCorrectionAlgo::VerbosityLevel verbosity_
edm::EDGetTokenT< EcalRecHitCollection > rHInputProducer_
HiEgammaSCCorrectionMaker(const edm::ParameterSet &)
double energy() const
cluster energy
std::string outputCollection_
T const * product() const
ESHandle< TrackerGeometry > geometry
virtual void produce(edm::Event &, const edm::EventSetup &) override
edm::ESHandle< CaloTopology > theCaloTopo_
edm::InputTag rHInputProducerTag_
virtual void init(const edm::EventSetup &es)=0
edm::EDGetTokenT< reco::SuperClusterCollection > sCInputProducer_
reco::CaloCluster::AlgoId sCAlgo_
T get(const Candidate &c)