File indexing completed on 2024-04-06 12:26:32
0001 #ifndef CLUSTERSUMMARYPRODUCER
0002 #define CLUSTERSUMMARYPRODUCER
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023 #include <memory>
0024 #include <string>
0025 #include <map>
0026 #include <vector>
0027 #include <iostream>
0028 #include <cstring>
0029
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
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
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