1 #ifndef RecoEgamma_EgammaElectronProducers_GsfEleGSCrysSimpleFixer_h
2 #define RecoEgamma_EgammaElectronProducers_GsfEleGSCrysSimpleFixer_h
82 produces<reco::GsfElectronCollection >();
87 auto outEles = std::make_unique<reco::GsfElectronCollection>();
95 for(
size_t eleNr=0;eleNr<elesHandle->size();eleNr++){
104 &ebMultiRecHits,&ebMultiAndWeightsRecHits);
105 float energyCorr = newRawEnergy / eleRef->superCluster()->rawEnergy();
128 outEles->push_back(newEle);
130 outEles->push_back(*eleRef);
const ShowerShape & showerShape() const
T getParameter(std::string const &) const
float trackMomentumError() const
const LorentzVector & p4(P4Kind kind) const
bool getByToken(EDGetToken token, Handle< PROD > &result) const
const CaloGeometry * geometry_
GsfEleGSCrysSimpleFixer(const edm::ParameterSet &)
#define DEFINE_FWK_MODULE(type)
void correctMomentum(const LorentzVector &p4, float trackMomentumError, float p4Error)
void setShowerShape(const ShowerShape &s)
void getToken(edm::EDGetTokenT< T > &token, const edm::ParameterSet &pset, const std::string &label)
XYZTLorentzVectorD XYZTLorentzVector
Lorentz vector with cylindrical internal representation using pseudorapidity.
edm::EDGetTokenT< EcalRecHitCollection > ebMultiRecHitsToken_
void setCorrectedEcalEnergyError(float newEnergyError)
edm::EDGetTokenT< EcalRecHitCollection > ebMultiAndWeightsRecHitsToken_
virtual ~GsfEleGSCrysSimpleFixer()
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
virtual SuperClusterRef superCluster() const
reference to a SuperCluster
const CaloTopology * topology_
float ecalEnergyError() const
void beginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) override
T const * product() const
float correctedEcalEnergyError() const
void setCorrectedEcalEnergy(float newEnergy)
const ShowerShape & full5x5_showerShape() const
void produce(edm::Event &, const edm::EventSetup &) override
void full5x5_setShowerShape(const ShowerShape &s)
edm::EDGetTokenT< reco::GsfElectronCollection > oldGsfElesToken_