66 produces<reco::GsfElectronCollection >();
75 auto out = std::make_unique<reco::GsfElectronCollection>();
78 event.getByToken(_source,eles);
80 event.getByToken(_ebRecHitsToken,_ebRecHits);
81 event.getByToken(_eeRecHitsToken,_eeRecHits);
83 for(
const auto& ele : *eles ) {
86 calculateShowerShape_full5x5(temp.
superCluster(),
true,full5x5_ss);
100 _geometry = caloGeom.
product();
101 _topology = caloTopo.
product();
114 recHits = _ebRecHits.product() ;
118 recHits = _eeRecHits.product() ;
133 showerShape.
hcalDepth1OverEcal = _hcalHelperPflow->hcalESumDepth1(*theClus)/theClus->energy() ;
134 showerShape.
hcalDepth2OverEcal = _hcalHelperPflow->hcalESumDepth2(*theClus)/theClus->energy() ;
141 showerShape.
hcalDepth1OverEcal = _hcalHelper->hcalESumDepth1(*theClus)/theClus->energy() ;
142 showerShape.
hcalDepth2OverEcal = _hcalHelper->hcalESumDepth2(*theClus)/theClus->energy() ;
T getParameter(std::string const &) const
def setup(process, global_tag, zero_tesla=False)
const std::vector< std::pair< DetId, float > > & hitsAndFractions() const
void beginLuminosityBlock(edm::LuminosityBlock const &, edm::EventSetup const &) override
virtual SuperClusterRef superCluster() const
reference to a SuperCluster
std::vector< CaloTowerDetId > hcalTowersBehindClusters
int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
void calculateShowerShape_full5x5(const reco::SuperClusterRef &theClus, bool pflow, reco::GsfElectron::ShowerShape &showerShape)
float hcalDepth2OverEcalBc
float hcalDepth1OverEcalBc
virtual void produce(edm::Event &, const edm::EventSetup &) override
edm::EDGetTokenT< CaloTowerCollection > hcalTowers
GsfElectronFull5x5Filler(const edm::ParameterSet &)
void full5x5_setShowerShape(const ShowerShape &s)
T const * product() const
virtual ~GsfElectronFull5x5Filler()