35 ps.
getParameter<std::vector<edm::InputTag>>(
"interestingDetIds"),
37 return consumes<DetIdCollection>(tag);
43 { return consumes<DetIdCollection>(tag); }
58 "could not cast the subdet geometry to preshower geometry";
71 auto output = std::make_unique<EcalRecHitCollection>();
78 for (reco::SuperClusterCollection::const_iterator isc = eeSuperClusters->begin(); isc != eeSuperClusters->end(); ++isc) {
81 if (fabs(isc->eta()) < 1.65 || fabs(isc->eta()) > 2.6)
continue;
86 for ( ; ibc != isc->clustersEnd(); ++ibc ) {
115 edm::LogError(
"MissingInput")<<
"no reason to skip detid from : (" << labels.module <<
", " 116 << labels.productInstance <<
", " 117 << labels.process <<
")" << std::endl;
129 for(
const auto&
hit : *ESRecHits_) {
130 if(
hit.recoFlag()==1 ||
hit.recoFlag()==14 || (
hit.recoFlag()<=10 &&
hit.recoFlag()>=5)){
141 labelsForToken(token, labels);
142 edm::LogError(
"MissingInput")<<
"no reason to skip detid from : (" << labels.module <<
", " 143 << labels.productInstance <<
", " 144 << labels.process <<
")" << std::endl;
153 for (it = ESRecHits_->begin(); it != ESRecHits_->end(); ++it) {
169 map<DetId,const EcalRecHit*>::iterator it;
170 map<DetId, int>::iterator itu;
185 if (strip1 !=
ESDetId(0)) strip1 = theESNav1.north();
186 if (strip2 !=
ESDetId(0)) strip2 = theESNav2.east();
187 }
else if (row == -1) {
188 if (strip1 !=
ESDetId(0)) strip1 = theESNav1.south();
189 if (strip2 !=
ESDetId(0)) strip2 = theESNav2.west();
198 for (
int i=0;
i<15; ++
i) {
199 next = theESNav1.east();
209 theESNav1.setHome(strip1);
211 for (
int i=0;
i<15; ++
i) {
212 next = theESNav1.west();
228 for (
int i=0;
i<15; ++
i) {
229 next = theESNav2.north();
239 theESNav2.setHome(strip2);
241 for (
int i=0;
i<15; ++
i) {
242 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
void collectIds(const ESDetId strip1, const ESDetId strip2, const int &row=0)
void setHome(const T &startingPoint)
set the starting position
std::unique_ptr< CaloSubdetectorTopology > topology_p
std::string OutputLabelES_
std::vector< SuperCluster > SuperClusterCollection
collection of SuperCluser objectr
virtual DetId getClosestCellInPlane(const GlobalPoint &r, int plane) const
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 >
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_
~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