Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-11-07 06:12:43

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       m_warn(iConfig.getUntrackedParameter<bool>("warnIfModuleMissing", true)) {}
0011 
0012 ClusterSummarySingleMultiplicity::ClusterSummarySingleMultiplicity(const edm::ParameterSet& iConfig,
0013                                                                    edm::ConsumesCollector& iC)
0014     : m_subdetenum((ClusterSummary::CMSTracker)iConfig.getParameter<int>("subDetEnum")),
0015       m_varenum((ClusterSummary::VariablePlacement)iConfig.getParameter<int>("varEnum")),
0016       m_collection(iC.consumes<ClusterSummary>(iConfig.getParameter<edm::InputTag>("clusterSummaryCollection"))),
0017       m_warn(iConfig.getUntrackedParameter<bool>("warnIfModuleMissing", true)) {}
0018 
0019 ClusterSummarySingleMultiplicity::value_t ClusterSummarySingleMultiplicity::getEvent(
0020     const edm::Event& iEvent, const edm::EventSetup& iSetup) const {
0021   int mult = 0;
0022 
0023   edm::Handle<ClusterSummary> clustsumm;
0024   iEvent.getByToken(m_collection, clustsumm);
0025 
0026   switch (m_varenum) {
0027     case ClusterSummary::NCLUSTERS:
0028       mult = int(clustsumm->getNClus(m_subdetenum, m_warn));
0029       break;
0030     case ClusterSummary::CLUSTERSIZE:
0031       mult = int(clustsumm->getClusSize(m_subdetenum, m_warn));
0032       break;
0033     case ClusterSummary::CLUSTERCHARGE:
0034       mult = int(clustsumm->getClusCharge(m_subdetenum, m_warn));
0035       break;
0036     default:
0037       mult = -1;
0038   }
0039   return value_t(mult);
0040 }