CMS 3D CMS Logo

TTClusterBuilder.h
Go to the documentation of this file.
1 
14 #ifndef L1_TRACK_TRIGGER_CLUSTER_BUILDER_H
15 #define L1_TRACK_TRIGGER_CLUSTER_BUILDER_H
16 
25 
31 
36 
37 #include <memory>
38 #include <map>
39 #include <vector>
40 
41 template <typename T>
45 public:
47  explicit TTClusterBuilder(const edm::ParameterSet& iConfig);
49  ~TTClusterBuilder() override;
50 
51 private:
56  std::vector<edm::EDGetTokenT<edm::DetSetVector<Phase2TrackerDigi> > > rawHitTokens;
57  unsigned int ADCThreshold;
59 
61  void produce(edm::Event& iEvent, const edm::EventSetup& iSetup) override;
62 
64  void RetrieveRawHits(std::map<DetId, std::vector<T> >& mRawHits, const edm::Event& iEvent);
65 
66 };
67 
75 template <typename T>
78  ADCThreshold = iConfig.getParameter<unsigned int>("ADCThreshold");
79  storeLocalCoord = iConfig.getParameter<bool>("storeLocalCoord");
80  theClusterFindingAlgoToken = esConsumes();
81  tTopoToken = esConsumes<TrackerTopology, TrackerTopologyRcd>();
82  tGeomToken = esConsumes<TrackerGeometry, TrackerDigiGeometryRecord>();
83 
84  std::vector<edm::InputTag> rawHitInputTags = iConfig.getParameter<std::vector<edm::InputTag> >("rawHits");
85  for (auto it = rawHitInputTags.begin(); it != rawHitInputTags.end(); ++it) {
86  rawHitTokens.push_back(consumes<edm::DetSetVector<Phase2TrackerDigi> >(*it));
87  }
88 
89  produces<edmNew::DetSetVector<TTCluster<T> > >("ClusterInclusive");
90 }
91 
93 template <typename T>
95 
97 template <>
99 
101 template <>
103  std::map<DetId, std::vector<Ref_Phase2TrackerDigi_> >& mRawHits, const edm::Event& iEvent);
104 
105 #endif
ESGetTokenH3DDVariant esConsumes(std::string const &Record, edm::ConsumesCollector &)
Definition: DeDxTools.cc:283
T getParameter(std::string const &) const
Definition: ParameterSet.h:307
edm::ESGetToken< TTClusterAlgorithm< T >, TTClusterAlgorithmRecord > theClusterFindingAlgoToken
Data members.
Plugin to load the Clustering algorithm and produce the collection of Clusters that goes in the event...
void RetrieveRawHits(std::map< DetId, std::vector< T > > &mRawHits, const edm::Event &iEvent)
Get hits.
int iEvent
Definition: GenABIO.cc:224
void produce(edm::Event &iEvent, const edm::EventSetup &iSetup) override
Mandatory methods.
unsigned int ADCThreshold
TTClusterBuilder(const edm::ParameterSet &iConfig)
Constructors.
~TTClusterBuilder() override
Destructor.
std::vector< edm::EDGetTokenT< edm::DetSetVector< Phase2TrackerDigi > > > rawHitTokens
Definition: DetId.h:17
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > tTopoToken
Class to store the TTClusterAlgorithm used in TTClusterBuilder.
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > tGeomToken