1 #ifndef RecoParticleFlow_PFClusterProducer_PFPSRecHitCreator_h
2 #define RecoParticleFlow_PFClusterProducer_PFPSRecHitCreator_h
52 for(
const auto& erh : *recHitHandle ) {
54 double energy = erh.energy();
61 switch(
detid.plane() ) {
70 <<
"incorrect preshower plane !! plane number "
71 <<
detid.plane()<<std::endl;
82 <<
"warning detid "<<
detid.rawId()
83 <<
" not found in geometry"<<std::endl;
93 position.x(), position.y(), position.z(),
99 assert( corners.
size() == 8 );
107 bool rcleaned =
false;
112 if (!qtest->test(rh,erh,rcleaned)) {
121 cleaned->push_back(rh);
void setSECorner(double posx, double posy, double posz)
EDGetTokenT< ProductType > consumes(edm::InputTag const &tag)
T getParameter(std::string const &) const
std::vector< std::unique_ptr< PFRecHitQTestBase > > qualityTests_
void setNECorner(double posx, double posy, double posz)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
static int position[TOTALCHAMBERS][3]
virtual const CaloCellGeometry * getGeometry(const DetId &id) const
Get the cell geometry of a given detector id. Should return false if not found.
void setSWCorner(double posx, double posy, double posz)
Particle flow rechit (rechit + geometry and topology information). See clustering algorithm in PFClus...
void setNWCorner(double posx, double posy, double posz)
void importRecHits(std::auto_ptr< reco::PFRecHitCollection > &out, std::auto_ptr< reco::PFRecHitCollection > &cleaned, const edm::Event &iEvent, const edm::EventSetup &iSetup)
XYZVectorD XYZVector
spatial vector with cartesian internal representation
edm::EDGetTokenT< EcalRecHitCollection > recHitToken_
PFPSRecHitCreator(const edm::ParameterSet &iConfig, edm::ConsumesCollector &iC)
const CornersVec & getCorners() const
Returns the corner points of this cell's volume.
const GlobalPoint & getPosition() const
Returns the position of reference for this cell.