36 ps.
getParameter<std::vector<edm::InputTag>>(
"interestingDetIds"),
38 return consumes<DetIdCollection>(tag);
44 { return consumes<DetIdCollection>(tag); }
61 "could not cast the subdet geometry to preshower geometry";
74 auto output = std::make_unique<EcalRecHitCollection>();
81 for (reco::SuperClusterCollection::const_iterator isc = eeSuperClusters->begin(); isc != eeSuperClusters->end(); ++isc) {
84 if (fabs(isc->eta()) < 1.65 || fabs(isc->eta()) > 2.6)
continue;
89 for ( ; ibc != isc->clustersEnd(); ++ibc ) {
118 edm::LogError(
"MissingInput")<<
"no reason to skip detid from : (" << labels.module <<
", " 119 << labels.productInstance <<
", " 120 << labels.process <<
")" << std::endl;
132 for(
const auto&
hit : *ESRecHits_) {
133 if(
hit.recoFlag()==1 ||
hit.recoFlag()==14 || (
hit.recoFlag()<=10 &&
hit.recoFlag()>=5)){
144 labelsForToken(token, labels);
145 edm::LogError(
"MissingInput")<<
"no reason to skip detid from : (" << labels.module <<
", " 146 << labels.productInstance <<
", " 147 << labels.process <<
")" << std::endl;
156 for (it = ESRecHits_->begin(); it != ESRecHits_->end(); ++it) {
172 map<DetId,const EcalRecHit*>::iterator it;
173 map<DetId, int>::iterator itu;
189 if (strip2 !=
ESDetId(0)) strip2 = theESNav2.
east();
190 }
else if (row == -1) {
192 if (strip2 !=
ESDetId(0)) strip2 = theESNav2.
west();
201 for (
int i=0;
i<15; ++
i) {
202 next = theESNav1.
east();
214 for (
int i=0;
i<15; ++
i) {
215 next = theESNav1.
west();
231 for (
int i=0;
i<15; ++
i) {
232 next = theESNav2.
north();
244 for (
int i=0;
i<15; ++
i) {
245 next = theESNav2.
south();
T getParameter(std::string const &) const
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
bool getByToken(EDGetToken token, Handle< PROD > &result) const
void beginRun(edm::Run const &, const edm::EventSetup &) final
const_iterator end() const
std::vector< edm::EDGetTokenT< DetIdCollection > > interestingDetIdCollectionsNotToClean_
std::vector< edm::EDGetTokenT< DetIdCollection > > interestingDetIdCollections_
std::vector< EcalRecHit >::const_iterator const_iterator
CaloSubdetectorTopology * topology_p
auto vector_transform(std::vector< InputType > const &input, Function predicate) -> std::vector< typename std::remove_cv< typename std::remove_reference< decltype(predicate(input.front()))>::type >::type >
void collectIds(const ESDetId strip1, const ESDetId strip2, const int &row=0)
void setHome(const T &startingPoint)
set the starting position
std::string OutputLabelES_
std::vector< SuperCluster > SuperClusterCollection
collection of SuperCluser objectr
T west() const
move the navigator west
virtual DetId getClosestCellInPlane(const GlobalPoint &r, int plane) const
T south() const
move the navigator south
T east() const
move the navigator east
void home() const
move the navigator back to the starting point
const_iterator begin() const
edm::EDGetTokenT< ESRecHitCollection > InputRecHitES_
void produce(edm::Event &e, const edm::EventSetup &c) override
edm::EDGetTokenT< reco::SuperClusterCollection > InputSuperClusterEE_
std::set< DetId > collectedIds_
T north() const
move the navigator north
~ReducedESRecHitCollectionProducer() override
const EcalPreshowerGeometry * geometry_p
ReducedESRecHitCollectionProducer(const edm::ParameterSet &pset)
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point