51 produces < reco::RecoEcalCandidateIsolationMap >();
63 desc.
add<
bool>(
"doRhoCorrection",
false);
64 desc.
add<
double>(
"rhoMax", 9.9999999E7);
65 desc.
add<
double>(
"rhoScale", 1.0);
66 desc.
add<
double>(
"effectiveAreaBarrel", 0.101);
67 desc.
add<
double>(
"effectiveAreaEndcap", 0.046);
68 desc.
add<
double>(
"drMax", 0.3);
69 desc.
add<
double>(
"drVetoBarrel", 0.0);
70 desc.
add<
double>(
"drVetoEndcap", 0.0);
71 desc.
add<
double>(
"etaStripBarrel", 0.0);
72 desc.
add<
double>(
"etaStripEndcap", 0.0);
73 desc.
add<
double>(
"energyBarrel", 0.0);
74 desc.
add<
double>(
"energyEndcap", 0.0);
75 descriptions.
add((
"hltEgammaHLTEcalPFClusterIsolationProducer"), desc);
103 for (
unsigned int iReco = 0; iReco < recoecalcandHandle->size(); iReco++) {
106 if (fabs(candRef->eta()) < 1.479) {
115 for (
size_t i=0;
i<clusterHandle->size();
i++) {
118 if (fabs(candRef->eta()) < 1.479) {
126 float dEta = fabs(candRef->eta() - pfclu->eta());
127 if(dEta < etaStrip)
continue;
129 float dR =
deltaR(candRef->eta(), candRef->phi(), pfclu->eta(), pfclu->phi());
130 if(dR >
drMax_ || dR < dRVeto)
continue;
133 bool isCandCluster =
false;
134 for (
reco::CaloCluster_iterator it = candRef->superCluster()->clustersBegin(); it != candRef->superCluster()->clustersEnd(); ++it) {
135 if ((*it)->seed() == pfclu->seed()) {
136 isCandCluster =
true;
140 if(isCandCluster)
continue;
146 if (fabs(candRef->eta()) < 1.479)
152 recoEcalCandMap.
insert(candRef, sum);
156 iEvent.
put(mapForEvent);
T getParameter(std::string const &) const
EgammaHLTEcalPFClusterIsolationProducer(const edm::ParameterSet &)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
float effectiveAreaBarrel_
OrphanHandle< PROD > put(std::auto_ptr< PROD > product)
Put a new product.
edm::EDGetTokenT< reco::PFClusterCollection > pfClusterProducer_
~EgammaHLTEcalPFClusterIsolationProducer()
ParameterDescriptionBase * add(U const &iLabel, T const &value)
double deltaR(double eta1, double eta2, double phi1, double phi2)
void insert(const key_type &k, const data_type &v)
insert an association
virtual void produce(edm::Event &, const edm::EventSetup &)
edm::EDGetTokenT< double > rhoProducer_
edm::EDGetTokenT< reco::RecoEcalCandidateCollection > recoEcalCandidateProducer_
void add(std::string const &label, ParameterSetDescription const &psetDescription)
T const * product() const
float effectiveAreaEndcap_