11 #include <unordered_map>
25 std::unique_ptr<const PhotonSelectorAlgo>
_selector;
36 _superClustersArePF(conf.getParameter<
bool>(
"superClustersArePF")) {
38 _selectionChoice = _selectionTypes.at(selChoice);
41 const float trackIso_const = selDef.
getParameter<
double>(
"trackIsoConstTerm");
42 const float trackIso_slope = selDef.
getParameter<
double>(
"trackIsoSlopeTerm");
43 const float ecalIso_const = selDef.
getParameter<
double>(
"ecalIsoConstTerm");
44 const float ecalIso_slope = selDef.
getParameter<
double>(
"ecalIsoSlopeTerm");
45 const float hcalIso_const = selDef.
getParameter<
double>(
"hcalIsoConstTerm");
46 const float hcalIso_slope = selDef.
getParameter<
double>(
"hcalIsoSlopeTerm");
48 const float loose_hoe = selDef.
getParameter<
double>(
"LooseHoverE");
49 const float combIso = selDef.
getParameter<
double>(
"combIsoConstTerm");
50 _selector = std::make_unique<PhotonSelectorAlgo>((
float)_selectionChoice,
66 elems.reserve(elems.size() +
photons->size());
68 auto SCs_end = std::partition(
71 auto bphoton =
photons->cbegin();
80 auto sc_elem = std::find_if(elems.begin(), SCs_end, myEqual);
81 if (sc_elem != SCs_end) {
82 scbe = static_cast<reco::PFBlockElementSuperCluster*>(sc_elem->get());
98 SCs_end = elems.insert(SCs_end, ElementType(scbe));
103 elems.shrink_to_fit();