14 template<reco::PFBlockElement::Type T>
32 template<reco::PFBlockElement::Type T>
42 auto sc_end = std::partition(elems.begin(),elems.end(),
47 for(
auto clus = bclus; clus != eclus; ++clus ) {
51 for(
auto scelem = elems.begin(); scelem != sc_end; ++scelem ) {
69 ecals.emplace_back(newelem);
71 elems.reserve(elems.size()+ecals.size());
72 for(
auto&
ecal : ecals ) {
73 elems.emplace_back(
ecal.release());
81 "ECALClusterImporter");
86 "HGCalClusterImporter");
const SuperClusterRef & superClusterRef() const
static bool overlap(const reco::CaloCluster &sc1, const reco::CaloCluster &sc, float minfrac=0.01, bool debug=false)
edm::EDGetTokenT< edm::ValueMap< reco::CaloClusterPtr > > _assoc
edm::Ptr< CaloCluster > CaloClusterPtr
edm::EDGetTokenT< reco::PFClusterCollection > _src
SpecialClusterImporter< reco::PFBlockElement::HGCAL > HGCalClusterImporter
Handle< PROD > getHandle(EDGetTokenT< PROD > token) const
Container::value_type value_type
bool fromPFSuperCluster() const
SpecialClusterImporter< reco::PFBlockElement::ECAL > ECALClusterImporter
SpecialClusterImporter(const edm::ParameterSet &conf, edm::ConsumesCollector &sumes)
std::vector< PFCluster > PFClusterCollection
collection of PFCluster objects
#define DEFINE_EDM_PLUGIN(factory, type, name)
std::vector< std::unique_ptr< reco::PFBlockElement > > ElementList
void importToBlock(const edm::Event &, ElementList &) const override
void setSuperClusterRef(const SuperClusterRef &ref)