117 std::auto_ptr<const CaloSubdetectorTopology>
topology;
132 std::vector<EcalEtaPhiRegion> regions;
145 if (!(urhcH[i].isValid())) {
146 edm::LogError(
"ProductNotFound")<<
"could not get a handle on the EcalRecHitCollection! (" <<
hitLabels[
i].encode() <<
")" << std::endl;
151 if (uncalibRecHits->
size() > 0) {
152 if ((*uncalibRecHits)[0].id().subdetId() ==
EcalBarrel) {
155 }
else if ((*uncalibRecHits)[0].
id().subdetId() ==
EcalEndcap) {
158 }
else if ((*uncalibRecHits)[0].
id().subdetId() ==
EcalPreshower) {
161 }
else throw(std::runtime_error(
"\n\nProducer encountered invalied ecalhitcollection type.\n\n"));
163 if(regions.size() != 0) {
166 for (it = uncalibRecHits->
begin(); it != uncalibRecHits->
end(); it++){
170 std::vector<EcalEtaPhiRegion>::const_iterator region;
171 for (region=regions.begin(); region!=regions.end(); region++) {
172 if (region->inRegion(position))
173 uhits->push_back(*it);
185 for (
unsigned int i=0; i<
hitLabels.size(); i++) {
189 if (!(rhcH[i].isValid())) {
190 edm::LogError(
"ProductNotFound")<<
"could not get a handle on the EcalRecHitCollection! (" <<
hitLabels[
i].encode() <<
")" << std::endl;
195 if (recHits->
size() > 0) {
196 if ((*recHits)[0].id().subdetId() ==
EcalBarrel) {
199 }
else if ((*recHits)[0].
id().subdetId() ==
EcalEndcap) {
205 }
else throw(std::runtime_error(
"\n\nProducer encountered invalied ecalhitcollection type.\n\n"));
207 if(regions.size() != 0) {
209 for (it = recHits->
begin(); it != recHits->
end(); it++){
213 std::vector<EcalEtaPhiRegion>::const_iterator region;
214 for (region=regions.begin(); region!=regions.end(); region++) {
215 if (region->inRegion(position))
216 hits->push_back(*it);
const CaloSubdetectorGeometry * getSubdetectorGeometry(const DetId &id) const
access the subdetector geometry for the given subdetector directly
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventIDconst &, edm::Timestampconst & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
const std::vector< edm::InputTag > hitLabels
CaloTopology const * topology(0)
const edm::InputTag l1TagNonIsolated_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
const std::vector< std::string > productLabels
std::vector< EcalUncalibratedRecHit >::const_iterator const_iterator
std::vector< edm::EDGetTokenT< EcalRecHitCollection > > hitTokens
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
const edm::InputTag l1TagIsolated_
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
const_iterator end() const
T const * product() const
ESHandle< TrackerGeometry > geometry
static int position[264][3]
const GlobalPoint & getPosition() const
Returns the position of reference for this cell.
const double l1LowerThrIgnoreIsolation_
void getEtaPhiRegions(std::vector< EcalEtaPhiRegion > *, T1Collection, const L1CaloGeometry &, bool)
const_iterator begin() const
std::vector< edm::EDGetTokenT< EcalUncalibratedRecHitCollection > > uncalibHitTokens