File indexing completed on 2023-03-17 10:53:25
0001 #include "MultiplicityAlgorithms.h"
0002
0003 using namespace sistriptools::algorithm;
0004
0005 ClusterSummarySingleMultiplicity::ClusterSummarySingleMultiplicity(const edm::ParameterSet& iConfig,
0006 edm::ConsumesCollector&& iC)
0007 : m_subdetenum((ClusterSummary::CMSTracker)iConfig.getParameter<int>("subDetEnum")),
0008 m_varenum((ClusterSummary::VariablePlacement)iConfig.getParameter<int>("varEnum")),
0009 m_collection(iC.consumes<ClusterSummary>(iConfig.getParameter<edm::InputTag>("clusterSummaryCollection"))) {}
0010
0011 ClusterSummarySingleMultiplicity::ClusterSummarySingleMultiplicity(const edm::ParameterSet& iConfig,
0012 edm::ConsumesCollector& iC)
0013 : m_subdetenum((ClusterSummary::CMSTracker)iConfig.getParameter<int>("subDetEnum")),
0014 m_varenum((ClusterSummary::VariablePlacement)iConfig.getParameter<int>("varEnum")),
0015 m_collection(iC.consumes<ClusterSummary>(iConfig.getParameter<edm::InputTag>("clusterSummaryCollection"))) {}
0016
0017 ClusterSummarySingleMultiplicity::value_t ClusterSummarySingleMultiplicity::getEvent(
0018 const edm::Event& iEvent, const edm::EventSetup& iSetup) const {
0019 int mult = 0;
0020
0021 edm::Handle<ClusterSummary> clustsumm;
0022 iEvent.getByToken(m_collection, clustsumm);
0023
0024 switch (m_varenum) {
0025 case ClusterSummary::NCLUSTERS:
0026 mult = int(clustsumm->getNClus(m_subdetenum));
0027 break;
0028 case ClusterSummary::CLUSTERSIZE:
0029 mult = int(clustsumm->getClusSize(m_subdetenum));
0030 break;
0031 case ClusterSummary::CLUSTERCHARGE:
0032 mult = int(clustsumm->getClusCharge(m_subdetenum));
0033 break;
0034 default:
0035 mult = -1;
0036 }
0037 return value_t(mult);
0038 }