CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 
24 
30 
35 
36 #include <memory>
37 #include <map>
38 #include <vector>
39 
40 template< typename T >
42 {
45  public:
47  explicit TTClusterBuilder( const edm::ParameterSet& iConfig );
50 
51  private:
54  std::vector< edm::EDGetTokenT< edm::DetSetVector< Phase2TrackerDigi > > > rawHitTokens;
55  unsigned int ADCThreshold;
57 
59  virtual void beginRun( const edm::Run& run, const edm::EventSetup& iSetup );
60  virtual void endRun( const edm::Run& run, const edm::EventSetup& iSetup );
61  virtual void produce( edm::Event& iEvent, const edm::EventSetup& iSetup );
62 
64  void RetrieveRawHits( std::map< DetId, std::vector< T > > &mRawHits,
65  const edm::Event& iEvent );
66 
67 };
68 
76 template< typename T >
79 {
80  ADCThreshold = iConfig.getParameter< unsigned int >("ADCThreshold");
81  storeLocalCoord = iConfig.getParameter< bool >("storeLocalCoord");
82 
83  std::vector< edm::InputTag > rawHitInputTags = iConfig.getParameter< std::vector< edm::InputTag > >("rawHits");
84  for ( auto it = rawHitInputTags.begin(); it != rawHitInputTags.end(); ++it ) {
85  rawHitTokens.push_back(consumes< edm::DetSetVector< Phase2TrackerDigi > >(*it));
86  }
87 
88  produces< edmNew::DetSetVector< TTCluster< T > > >( "ClusterInclusive" );
89 }
90 
92 template< typename T >
94 
96 template< typename T >
98 {
100  iSetup.get< TTClusterAlgorithmRecord >().get( theClusterFindingAlgoHandle );
101 
102 }
103 
105 template< typename T >
107 
109 template< >
111 
113 template< >
114 void TTClusterBuilder< Ref_Phase2TrackerDigi_ >::RetrieveRawHits( std::map< DetId, std::vector< Ref_Phase2TrackerDigi_ > > &mRawHits,
115  const edm::Event& iEvent );
116 
117 #endif
118 
T getParameter(std::string const &) const
virtual void produce(edm::Event &iEvent, const edm::EventSetup &iSetup)
std::vector< edm::EDGetTokenT< edm::DetSetVector< Phase2TrackerDigi > > > rawHitTokens
~TTClusterBuilder()
Destructor.
Plugin to load the Clustering algorithm and produce the collection of Clusters that goes in the event...
edm::ESHandle< TTClusterAlgorithm< T > > theClusterFindingAlgoHandle
Data members.
void RetrieveRawHits(std::map< DetId, std::vector< T > > &mRawHits, const edm::Event &iEvent)
Get hits.
int iEvent
Definition: GenABIO.cc:230
virtual void endRun(const edm::Run &run, const edm::EventSetup &iSetup)
End run.
unsigned int ADCThreshold
TTClusterBuilder(const edm::ParameterSet &iConfig)
Constructors.
Definition: DetId.h:18
const T & get() const
Definition: EventSetup.h:56
virtual void beginRun(const edm::Run &run, const edm::EventSetup &iSetup)
Mandatory methods.
Class to store the TTClusterAlgorithm used in TTClusterBuilder.
Definition: Run.h:42