34 recHitsLabel_(iConfig.getParameter<
edm::
InputTag>(
"recHitsLabel")),
35 emObjectLabel_(iConfig.getParameter<
edm::
InputTag>(
"emObjectLabel")),
36 energyCut_(iConfig.getParameter<double>(
"energyCut")),
37 etCut_(iConfig.getParameter<double>(
"etCut")),
38 etCandCut_(iConfig.getParameter<double>(
"etCandCut")),
39 outerRadius_(iConfig.getParameter<double>(
"outerRadius")),
40 innerRadius_(iConfig.getParameter<double>(
"innerRadius")),
41 interestingDetIdCollection_(iConfig.getParameter<
std::
string>(
"interestingDetIdCollection")) {
42 const std::vector<std::string> flagnamesEB =
43 iConfig.
getParameter<std::vector<std::string> >(
"RecHitFlagToBeExcludedEB");
45 const std::vector<std::string> flagnamesEE =
46 iConfig.
getParameter<std::vector<std::string> >(
"RecHitFlagToBeExcludedEE");
48 flagsexclEB_ = StringToEnumValue<EcalRecHit::Flags>(flagnamesEB);
50 flagsexclEE_ = StringToEnumValue<EcalRecHit::Flags>(flagnamesEE);
52 const std::vector<std::string> severitynamesEB =
53 iConfig.
getParameter<std::vector<std::string> >(
"RecHitSeverityToBeExcludedEB");
55 severitiesexclEB_ = StringToEnumValue<EcalSeverityLevel::SeverityLevel>(severitynamesEB);
57 const std::vector<std::string> severitynamesEE =
58 iConfig.
getParameter<std::vector<std::string> >(
"RecHitSeverityToBeExcludedEE");
60 severitiesexclEE_ = StringToEnumValue<EcalSeverityLevel::SeverityLevel>(severitynamesEE);
102 auto detIdCollection = std::make_unique<DetIdCollection>();
104 reco::GsfElectronCollection::const_iterator emObj;
105 if (doubleConeSel_) {
106 for (emObj = emObjectH->begin(); emObj != emObjectH->end(); emObj++) {
111 GlobalPoint pclu(emObj->caloPosition().x(), emObj->caloPosition().y(), emObj->caloPosition().z());
126 std::vector<int>::const_iterator sit;
154 if (
std::find(detIdCollection->begin(), detIdCollection->end(), recIt.
detid()) == detIdCollection->end())
155 detIdCollection->push_back(recIt.
detid());
160 delete doubleConeSel_;
edm::InputTag recHitsLabel_
T getParameter(std::string const &) const
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
EcalSeverityLevel::SeverityLevel severityLevel(const DetId &id) const
Evaluate status from id use channelStatus from DB.
bool checkFlags(const std::vector< int > &flagsvec) const
check if one of the flags in a set is true
bool getByToken(EDGetToken token, Handle< PROD > &result) const
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())
const DetId & detid() const
EleIsoDetIdCollectionProducer(const edm::ParameterSet &)
ctor
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
std::vector< GsfElectron > GsfElectronCollection
collection of GsfElectron objects
std::vector< int > flagsexclEE_
~EleIsoDetIdCollectionProducer() override
bool checkFlag(int flag) const
check if the flag is true
std::vector< int > severitiesexclEE_
void produce(edm::Event &, const edm::EventSetup &) override
producer
GlobalPoint getPosition(const DetId &id) const
Get the position of a given detector id.
void selectCallback(double eta, double phi, const edm::SortedCollection< T > &inputCollection, std::function< void(const T &)> callback)
T perp() const
Magnitude of transverse component.
edm::EDGetToken emObjectToken_
edm::EDGetToken recHitsToken_
std::vector< int > flagsexclEB_
std::string interestingDetIdCollection_
T const * product() const
std::vector< int > severitiesexclEB_