4 :
doStrips(iConfig.getParameter<bool>(
"doStrips")),
5 doPixels(iConfig.getParameter<bool>(
"doPixels")),
6 verbose(iConfig.getParameter<bool>(
"verbose")) {
14 std::vector<std::string> wantedsubdets = iConfig.
getParameter<std::vector<std::string> >(
"wantedSubDets");
15 for (
const auto& iS : wantedsubdets) {
20 if (subdet == ClusterSummary::NVALIDENUMS)
30 std::vector<edm::ParameterSet> wantedusersubdets_ps =
31 iConfig.
getParameter<std::vector<edm::ParameterSet> >(
"wantedUserSubDets");
32 for (
const auto& iS : wantedusersubdets_ps) {
35 std::vector<std::string>
selection = iS.getParameter<std::vector<std::string> >(
"selection");
50 produces<ClusterSummary>().setBranchAlias(
"trackerClusterSummary");
56 std::vector<bool> selectedVector(
selectors.size(),
false);
58 auto getSelections = [&](
const uint32_t detid) {
59 for (
unsigned int iS = 0; iS <
selectors.size(); ++iS)
62 auto fillSelections = [&](
const int clusterSize,
const float clusterCharge) {
63 for (
unsigned int iS = 0; iS <
selectors.size(); ++iS) {
64 if (!selectedVector[iS])
80 for (; itClusters != stripClusters->end(); ++itClusters) {
81 getSelections(itClusters->
id());
97 for (; itClusters != pixelClusters->end(); ++itClusters) {
98 getSelections(itClusters->
id());
101 fillSelections(cluster->size(), float(cluster->charge()) / 1000.);
117 std::cout <<
"-------------------------------------------------------" << std::endl;
121 auto result = std::make_unique<ClusterSummary>();
130 edm::LogInfo(
"ClusterSummaryProducer") <<
"+++++++++++++++++++++++++++++++ " << std::endl <<
"Getting info on ";
const_iterator end(bool update=false) const
OrphanHandle< PROD > put(std::unique_ptr< PROD > product)
Put a new product.
std::vector< std::string > moduleNames
edm::EDGetTokenT< edmNew::DetSetVector< SiStripCluster > > stripClusters_
void addClusChargeByIndex(const int mod, const float val)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
void addClusSizeByIndex(const int mod, const int val)
#define DEFINE_FWK_MODULE(type)
static const std::vector< std::string > subDetNames
ModuleSelections selectors
void produce(edm::Event &, const edm::EventSetup &) override
data_type const * const_iterator
id_type id(size_t cell) const
ClusterSummaryProducer(const edm::ParameterSet &)
int getClusSizeByIndex(const int mod) const
static constexpr int verbose
int getNClusByIndex(const int mod) const
Log< level::Info, false > LogInfo
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
void beginStream(edm::StreamID) override
T getParameter(std::string const &) const
float getClusChargeByIndex(const int mod) const
static const std::vector< std::vector< std::string > > subDetSelections
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > pixelClusters_
const unsigned clusterSize() const
void addNClusByIndex(const int mod, const int val)
const_iterator begin(bool update=false) const
std::pair< DetIdSelector, ClusterSummary::CMSTracker > ModuleSelection