22 template <
typename T1>
27 pfClusterProducerHCAL_(
29 pfClusterProducerHFEM_(
31 pfClusterProducerHFHAD_(
34 drMax_(
config.getParameter<double>(
"drMax")),
35 drVetoBarrel_(
config.getParameter<double>(
"drVetoBarrel")),
36 drVetoEndcap_(
config.getParameter<double>(
"drVetoEndcap")),
37 etaStripBarrel_(
config.getParameter<double>(
"etaStripBarrel")),
38 etaStripEndcap_(
config.getParameter<double>(
"etaStripEndcap")),
39 energyBarrel_(
config.getParameter<double>(
"energyBarrel")),
40 energyEndcap_(
config.getParameter<double>(
"energyEndcap")),
42 produces<edm::ValueMap<float>>();
45 template <
typename T1>
48 template <
typename T1>
56 "pfClusterProducerHFEM",
edm::InputTag(
"hltParticleFlowClusterHFEM"),
true) and
58 "pfClusterProducerHFHAD",
edm::InputTag(
"hltParticleFlowClusterHFHAD"),
true))
or
61 desc.
add<
double>(
"drMax", 0.3);
62 desc.
add<
double>(
"drVetoBarrel", 0.0);
63 desc.
add<
double>(
"drVetoEndcap", 0.0);
64 desc.
add<
double>(
"etaStripBarrel", 0.0);
65 desc.
add<
double>(
"etaStripEndcap", 0.0);
66 desc.
add<
double>(
"energyBarrel", 0.0);
67 desc.
add<
double>(
"energyEndcap", 0.0);
68 desc.
add<
bool>(
"useEt",
true);
72 template <
typename T1>
75 iEvent.getByToken(emObjectProducer_, emObjectHandle);
77 auto isoMap = std::make_unique<edm::ValueMap<float>>();
79 std::vector<float> retV(emObjectHandle->size(), 0);
81 std::vector<edm::Handle<reco::PFClusterCollection>> clusterHandles;
83 iEvent.getByToken(pfClusterProducerHCAL_, clusterHandle);
84 clusterHandles.push_back(clusterHandle);
88 iEvent.getByToken(pfClusterProducerHFEM_, clusterHandle);
89 clusterHandles.push_back(clusterHandle);
91 iEvent.getByToken(pfClusterProducerHFHAD_, clusterHandle);
92 clusterHandles.push_back(clusterHandle);
96 drMax_, drVetoBarrel_, drVetoEndcap_, etaStripBarrel_, etaStripEndcap_, energyBarrel_, energyEndcap_, useEt_);
98 for (
unsigned int iReco = 0; iReco < emObjectHandle->size(); iReco++) {
99 T1Ref candRef(emObjectHandle, iReco);
100 retV[iReco] = isoAlgo.
getSum(candRef, clusterHandles);
103 filler.insert(emObjectHandle, retV.begin(), retV.end());