30 recHitsLabel_(iConfig.getParameter< edm::InputTag > (
"recHitsLabel")),
31 emObjectLabel_(iConfig.getParameter< edm::InputTag > (
"emObjectLabel")),
32 energyCut_(iConfig.getParameter<double>(
"energyCut")),
33 etCut_(iConfig.getParameter<double>(
"etCut")),
34 etCandCut_(iConfig.getParameter<double> (
"etCandCut")),
35 outerRadius_(iConfig.getParameter<double>(
"outerRadius")),
36 innerRadius_(iConfig.getParameter<double>(
"innerRadius")),
37 interestingDetIdCollection_(iConfig.getParameter<std::string>(
"interestingDetIdCollection")),
38 severityLevelCut_(iConfig.getParameter<int>(
"severityLevelCut")),
39 severityRecHitThreshold_(iConfig.getParameter<double>(
"severityRecHitThreshold")),
40 spIdString_(iConfig.getParameter<std::string>(
"spikeIdString")),
41 spIdThreshold_(iConfig.getParameter<double>(
"spikeIdThreshold")),
42 v_chstatus_(iConfig.getParameter<std::vector<int> >(
"recHitFlagsToBeExcluded")) {
73 std::auto_ptr<CaloRecHitMetaCollectionV> recHits_(0);
91 std::auto_ptr< DetIdCollection > detIdCollection (
new DetIdCollection() ) ;
93 reco::PhotonCollection::const_iterator emObj;
95 for (emObj = emObjectH->begin(); emObj != emObjectH->end(); emObj++) {
99 GlobalPoint pclu (emObj->caloPosition().x(),emObj->caloPosition().y(),emObj->caloPosition().z());
100 std::auto_ptr<CaloRecHitMetaCollectionV> chosen = doubleConeSel_->select(pclu,*recHits_);
103 for (recIt = chosen->begin(); recIt!= chosen->end () ; ++recIt) {
108 caloGeom->getPosition(recIt->
detid()).
perp() /
109 caloGeom->getPosition(recIt->
detid()).
mag();
111 if ( fabs(et) <
etCut_)
continue;
128 if(
std::find(detIdCollection->begin(),detIdCollection->end(),recIt->
detid()) == detIdCollection->end())
129 detIdCollection->push_back(recIt->
detid());
134 delete doubleConeSel_;
const DetId & detid() const
edm::InputTag emObjectLabel_
T perp() const
Magnitude of transverse component.
std::string interestingDetIdCollection_
EcalSeverityLevelAlgo::SpikeId spId_
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
edm::InputTag recHitsLabel_
std::vector< int > v_chstatus_
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())
float severityRecHitThreshold_
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
virtual void produce(edm::Event &, const edm::EventSetup &)
producer
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
GamIsoDetIdCollectionProducer(const edm::ParameterSet &)
ctor
~GamIsoDetIdCollectionProducer()
static int severityLevel(const DetId, const EcalRecHitCollection &, const EcalChannelStatus &, float recHitEtThreshold=5., SpikeId spId=kSwissCross, float spIdThreshold=0.95, float recHitEnergyThresholdForTiming=2., float recHitEnergyThresholdForEE=15, float spIdThresholdIEta85=0.999)
edm::EDCollection< DetId > DetIdCollection