Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:26:32

0001 #ifndef CLUSTERSUMMARYPRODUCER
0002 #define CLUSTERSUMMARYPRODUCER
0003 
0004 // -*- C++ -*-
0005 //
0006 // Package:    ClusterSummaryProducer
0007 // Class:      ClusterSummaryProducer
0008 //
0009 /**\class ClusterSummaryProducer ClusterSummaryProducer.cc msegala/ClusterSummaryProducer/src/ClusterSummaryProducer.cc
0010 
0011  Description: [one line class summary]
0012 
0013  Implementation:
0014      [Notes on implementation]
0015 */
0016 //
0017 // Original Author:  Michael Segala
0018 //         Created:  Thu Jun 23 09:33:08 CDT 2011
0019 //
0020 //
0021 
0022 // system include files
0023 #include <memory>
0024 #include <string>
0025 #include <map>
0026 #include <vector>
0027 #include <iostream>
0028 #include <cstring>
0029 // user include files
0030 
0031 #include "FWCore/Framework/interface/Frameworkfwd.h"
0032 #include "FWCore/Framework/interface/stream/EDProducer.h"
0033 #include "FWCore/Utilities/interface/InputTag.h"
0034 
0035 #include "FWCore/Framework/interface/Event.h"
0036 #include "FWCore/Framework/interface/MakerMacros.h"
0037 
0038 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0039 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0040 
0041 #include "DataFormats/SiStripCluster/interface/SiStripCluster.h"
0042 #include "DataFormats/SiStripDigi/interface/SiStripDigi.h"
0043 #include "DataFormats/SiPixelCluster/interface/SiPixelCluster.h"
0044 #include "DataFormats/Common/interface/DetSetVectorNew.h"
0045 
0046 #include "RecoLocalTracker/SiStripClusterizer/interface/SiStripClusterInfo.h"
0047 #include "DataFormats/SiStripDigi/interface/SiStripProcessedRawDigi.h"
0048 #include "DataFormats/Common/interface/DetSetVector.h"
0049 
0050 #include "DataFormats/TrackerCommon/interface/ClusterSummary.h"
0051 #include "RecoLocalTracker/SubCollectionProducers/interface/ClusterVariables.h"
0052 
0053 #include "DataFormats/SiStripDetId/interface/StripSubdetector.h"
0054 #include "DataFormats/DetId/interface/DetId.h"
0055 #include "CommonTools/UtilAlgos/interface/DetIdSelector.h"
0056 
0057 //
0058 // class declaration
0059 //
0060 class ClusterVariables;
0061 class ClusterSummary;
0062 
0063 class ClusterSummaryProducer : public edm::stream::EDProducer<> {
0064 public:
0065   explicit ClusterSummaryProducer(const edm::ParameterSet&);
0066   ~ClusterSummaryProducer() override{};
0067 
0068 private:
0069   void beginStream(edm::StreamID) override;
0070   void produce(edm::Event&, const edm::EventSetup&) override;
0071 
0072   typedef std::pair<DetIdSelector, ClusterSummary::CMSTracker> ModuleSelection;
0073   typedef std::vector<ModuleSelection> ModuleSelections;
0074 
0075   // ----------member data ---------------------------
0076 
0077   edm::EDGetTokenT<edmNew::DetSetVector<SiPixelCluster> > pixelClusters_;
0078   edm::EDGetTokenT<edmNew::DetSetVector<SiStripCluster> > stripClusters_;
0079 
0080   ModuleSelections selectors;
0081   std::vector<std::string> moduleNames;
0082 
0083   ClusterSummary cCluster;
0084   std::map<std::string, int> EnumMap;
0085 
0086   bool doStrips;
0087   bool doPixels;
0088   bool verbose;
0089 };
0090 
0091 #endif