36 ps.
getParameter<std::vector<edm::InputTag>>(
"interestingDetIds"),
38 return consumes<DetIdCollection>(tag);
42 produces< EcalRecHitCollection > (OutputLabelES_);
57 "could not cast the subdet geometry to preshower geometry";
60 if (geometry)
topology_p =
new EcalPreshowerTopology(geoHandle);
77 for (reco::SuperClusterCollection::const_iterator isc = eeSuperClusters->begin(); isc != eeSuperClusters->end(); ++isc) {
80 if (fabs(isc->eta()) < 1.65 || fabs(isc->eta()) > 2.6)
continue;
85 for ( ; ibc != isc->clustersEnd(); ++ibc ) {
116 << labels.
process <<
")" << std::endl;
125 for (it = ESRecHits_->begin(); it != ESRecHits_->end(); ++it) {
126 if (it->recoFlag()==1 || it->recoFlag()==14 || (it->recoFlag()<=10 && it->recoFlag()>=5))
continue;
128 output->push_back(*it);
141 map<DetId,const EcalRecHit*>::iterator it;
142 map<DetId, int>::iterator itu;
151 theESNav1.setHome(strip1);
154 theESNav2.setHome(strip2);
157 if (strip1 !=
ESDetId(0)) strip1 = theESNav1.north();
158 if (strip2 !=
ESDetId(0)) strip2 = theESNav2.east();
159 }
else if (row == -1) {
160 if (strip1 !=
ESDetId(0)) strip1 = theESNav1.south();
161 if (strip2 !=
ESDetId(0)) strip2 = theESNav2.west();
170 for (
int i=0;
i<15; ++
i) {
171 next = theESNav1.east();
181 theESNav1.setHome(strip1);
183 for (
int i=0;
i<15; ++
i) {
184 next = theESNav1.west();
200 for (
int i=0;
i<15; ++
i) {
201 next = theESNav2.north();
211 theESNav2.setHome(strip2);
213 for (
int i=0;
i<15; ++
i) {
214 next = theESNav2.south();
CaloNavigator< ESDetId > EcalPreshowerNavigator
T getParameter(std::string const &) const
virtual void beginRun(edm::Run const &, const edm::EventSetup &) overridefinal
bool getByToken(EDGetToken token, Handle< PROD > &result) const
std::vector< edm::EDGetTokenT< DetIdCollection > > interestingDetIdCollections_
std::vector< EcalRecHit >::const_iterator const_iterator
const char * productInstance
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)
std::string OutputLabelES_
std::vector< SuperCluster > SuperClusterCollection
collection of SuperCluser objectr
virtual ~ReducedESRecHitCollectionProducer()
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
virtual DetId getClosestCellInPlane(const GlobalPoint &r, int plane) const
edm::EDGetTokenT< ESRecHitCollection > InputRecHitES_
edm::EDGetTokenT< reco::SuperClusterCollection > InputSuperClusterEE_
T const * product() const
void produce(edm::Event &e, const edm::EventSetup &c)
void labelsForToken(EDGetToken iToken, Labels &oLabels) const
ESHandle< TrackerGeometry > geometry
std::set< DetId > collectedIds_
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