Producer for particle flow rechits (PFRecHit) in ECAL. More...
#include <PFRecHitProducerECAL.h>
Private Member Functions | |
reco::PFRecHit * | createEcalRecHit (const DetId &detid, double energy, PFLayer::Layer layer, const CaloSubdetectorGeometry *geom) |
void | createRecHits (std::vector< reco::PFRecHit > &rechits, std::vector< reco::PFRecHit > &rechitsCleaned, edm::Event &, const edm::EventSetup &) |
void | ecalNeighbArray (const EcalBarrelGeometry &barrelGeom, const CaloSubdetectorTopology &barrelTopo, const EcalEndcapGeometry &endcapGeom, const CaloSubdetectorTopology &endcapTopo) |
bool | findEcalRecHitGeometry (const DetId &detid, const CaloSubdetectorGeometry *geom, math::XYZVector &position, math::XYZVector &axis) |
find the position and the axis of the cell for a given rechit More... | |
void | findRecHitNeighboursECAL (reco::PFRecHit &rh, const std::map< unsigned, unsigned > &sortedHits) |
find rechit neighbours, using the hashed index More... | |
DetId | move (DetId cell, const CaloDirection &dir) const |
bool | stdmove (DetId &cell, const CaloDirection &dir, const CaloSubdetectorTopology &barrelTopo, const CaloSubdetectorTopology &endcapTopo, const EcalBarrelGeometry &barrelGeom, const EcalEndcapGeometry &endcapGeom) const |
bool | stdsimplemove (DetId &cell, const CaloDirection &dir, const CaloSubdetectorTopology &barrelTopo, const CaloSubdetectorTopology &endcapTopo, const EcalBarrelGeometry &barrelGeom, const EcalEndcapGeometry &endcapGeom) const |
Private Attributes | |
bool | crossBarrelEndcapBorder_ |
if true, navigation will cross the barrel-endcap border More... | |
edm::InputTag | inputTagEcalRecHitsEB_ |
edm::InputTag | inputTagEcalRecHitsEE_ |
bool | neighbourmapcalculated_ |
set to true in ecalNeighbArray More... | |
std::vector< std::vector< DetId > > | neighboursEB_ |
for each ecal barrel rechit, keep track of the neighbours More... | |
std::vector< std::vector< DetId > > | neighboursEE_ |
for each ecal endcap rechit, keep track of the neighbours More... | |
double | threshCleaningEB_ |
double | threshCleaningEE_ |
bool | timingCleaning_ |
bool | topologicalCleaning_ |
Additional Inherited Members | |
Public Types inherited from edm::EDProducer | |
typedef EDProducer | ModuleType |
Public Types inherited from edm::ProducerBase | |
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
Static Public Member Functions inherited from edm::EDProducer | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &descriptions) |
Protected Types inherited from PFRecHitProducer | |
typedef std::map< unsigned, unsigned >::const_iterator | IDH |
Protected Member Functions inherited from edm::ProducerBase | |
void | callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func) |
Protected Member Functions inherited from edm::EDConsumerBase | |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | consumes (TypeToGet const &id, edm::InputTag const &tag) |
ConsumesCollector | consumesCollector () |
Use a ConsumesCollector to gather consumes information from helper functions. More... | |
template<typename ProductType , BranchType B = InEvent> | |
void | consumesMany () |
void | consumesMany (const TypeToGet &id) |
template<BranchType B> | |
void | consumesMany (const TypeToGet &id) |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | mayConsume (edm::InputTag const &tag) |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
Protected Attributes inherited from PFRecHitProducer | |
const HcalPFCorrs * | myPFCorr |
const EcalChannelStatus * | theEcalChStatus |
const HcalChannelQuality * | theHcalChStatus |
const CaloTowerConstituentsMap * | theTowerConstituentsMap |
double | thresh_Barrel_ |
rechits with E < threshold will not give rise to a PFRecHit More... | |
double | thresh_Endcap_ |
bool | verbose_ |
verbose ? More... | |
Producer for particle flow rechits (PFRecHit) in ECAL.
Definition at line 41 of file PFRecHitProducerECAL.h.
|
explicit |
Definition at line 36 of file PFRecHitProducerECAL.cc.
References crossBarrelEndcapBorder_, edm::ParameterSet::getParameter(), inputTagEcalRecHitsEB_, inputTagEcalRecHitsEE_, neighbourmapcalculated_, threshCleaningEB_, threshCleaningEE_, timingCleaning_, and topologicalCleaning_.
PFRecHitProducerECAL::~PFRecHitProducerECAL | ( | ) |
Definition at line 69 of file PFRecHitProducerECAL.cc.
|
private |
Definition at line 284 of file PFRecHitProducerECAL.cc.
References relval_parameters_module::energy, CaloCellGeometry::getCorners(), CaloSubdetectorGeometry::getGeometry(), CaloCellGeometry::getPosition(), position, DetId::rawId(), reco::PFRecHit::setNECorner(), reco::PFRecHit::setNWCorner(), reco::PFRecHit::setSECorner(), reco::PFRecHit::setSWCorner(), x, PV3DBase< T, PVType, FrameType >::x(), detailsBasic3DVector::y, PV3DBase< T, PVType, FrameType >::y(), detailsBasic3DVector::z, and PV3DBase< T, PVType, FrameType >::z().
Referenced by createRecHits().
|
privatevirtual |
gets ecal barrel and endcap rechits, translate them to PFRecHits, which are stored in the rechits vector
Implements PFRecHitProducer.
Definition at line 77 of file PFRecHitProducerECAL.cc.
References EcalRecHit::checkFlag(), createEcalRecHit(), CaloRecHit::detid(), cond::rpcobgas::detid, DetId::Ecal, PFLayer::ECAL_BARREL, PFLayer::ECAL_ENDCAP, EcalBarrel, EcalEndcap, ecalNeighbArray(), CaloRecHit::energy(), relval_parameters_module::energy, edm::hlt::Exception, findRecHitNeighboursECAL(), newFWLiteAna::found, edm::EventSetup::get(), edm::Event::getByLabel(), i, inputTagEcalRecHitsEB_, inputTagEcalRecHitsEE_, edm::HandleBase::isValid(), EcalRecHit::kDiWeird, EcalRecHit::kOutOfTime, EcalRecHit::kTowerRecovered, EcalRecHit::kWeird, neighbourmapcalculated_, DetId::rawId(), reco::PFRecHit::setRescale(), DetId::subdetId(), PFRecHitProducer::thresh_Barrel_, PFRecHitProducer::thresh_Endcap_, threshCleaningEB_, threshCleaningEE_, CaloRecHit::time(), cond::rpcobgas::time, timingCleaning_, and topologicalCleaning_.
|
private |
fill the vectors neighboursEB_ and neighboursEE_ which keep track of the neighbours of each rechit. to be called at the beginning of the run
Definition at line 454 of file PFRecHitProducerECAL.cc.
References EAST, DetId::Ecal, EcalBarrel, EcalEndcap, CaloSubdetectorTopology::getWindow(), EBDetId::hashedIndex(), EEDetId::hashedIndex(), recoMuon::in, LogDebug, neighbourmapcalculated_, neighboursEB_, neighboursEE_, NORTH, NORTHEAST, NORTHWEST, findQualityFiles::size, SOUTH, SOUTHEAST, SOUTHWEST, ntuplemaker::status, stdmove(), and WEST.
Referenced by createRecHits().
|
private |
find the position and the axis of the cell for a given rechit
Definition at line 354 of file PFRecHitProducerECAL.cc.
References CaloSubdetectorGeometry::getGeometry(), CaloCellGeometry::getPosition(), DetId::rawId(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
|
private |
find rechit neighbours, using the hashed index
Definition at line 401 of file PFRecHitProducerECAL.cc.
References reco::PFRecHit::add4Neighbour(), reco::PFRecHit::add8Neighbour(), reco::PFRecHit::detId(), EAST, east, i, NORTH, north, NORTHEAST, NORTHWEST, DetId::rawId(), SOUTH, south, SOUTHEAST, SOUTHWEST, WEST, and west.
Referenced by createRecHits().
|
private |
Definition at line 759 of file PFRecHitProducerECAL.cc.
References dir, EcalBarrel, EBDetId::hashedIndex(), EEDetId::hashedIndex(), neighbourmapcalculated_, neighboursEB_, neighboursEE_, NONE, query::result, and DetId::subdetId().
Referenced by Vispa.Gui.PortConnection.PointToPointConnection::updateConnection().
|
private |
Definition at line 666 of file PFRecHitProducerECAL.cc.
References EAST, NORTH, NORTHEAST, NORTHWEST, query::result, SOUTH, SOUTHEAST, SOUTHWEST, stdsimplemove(), and WEST.
Referenced by ecalNeighbArray().
|
private |
Definition at line 588 of file PFRecHitProducerECAL.cc.
References crossBarrelEndcapBorder_, EcalBarrel, EcalEndcap, CaloSubdetectorTopology::getNeighbours(), EBDetId::ietaAbs(), EEDetId::iPhiOuterRing(), EBDetId::MAX_IETA, and DetId::subdetId().
Referenced by stdmove().
|
private |
if true, navigation will cross the barrel-endcap border
Definition at line 117 of file PFRecHitProducerECAL.h.
Referenced by PFRecHitProducerECAL(), and stdsimplemove().
|
private |
Definition at line 120 of file PFRecHitProducerECAL.h.
Referenced by createRecHits(), and PFRecHitProducerECAL().
|
private |
Definition at line 121 of file PFRecHitProducerECAL.h.
Referenced by createRecHits(), and PFRecHitProducerECAL().
|
private |
set to true in ecalNeighbArray
Definition at line 114 of file PFRecHitProducerECAL.h.
Referenced by createRecHits(), ecalNeighbArray(), move(), and PFRecHitProducerECAL().
|
private |
for each ecal barrel rechit, keep track of the neighbours
Definition at line 108 of file PFRecHitProducerECAL.h.
Referenced by ecalNeighbArray(), and move().
|
private |
for each ecal endcap rechit, keep track of the neighbours
Definition at line 111 of file PFRecHitProducerECAL.h.
Referenced by ecalNeighbArray(), and move().
|
private |
Definition at line 125 of file PFRecHitProducerECAL.h.
Referenced by createRecHits(), and PFRecHitProducerECAL().
|
private |
Definition at line 126 of file PFRecHitProducerECAL.h.
Referenced by createRecHits(), and PFRecHitProducerECAL().
|
private |
Definition at line 124 of file PFRecHitProducerECAL.h.
Referenced by createRecHits(), and PFRecHitProducerECAL().
|
private |
Definition at line 129 of file PFRecHitProducerECAL.h.
Referenced by createRecHits(), and PFRecHitProducerECAL().