test
CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TTClusterAssociator.h
Go to the documentation of this file.
1 
13 #ifndef L1_TRACK_TRIGGER_CLUSTER_ASSOCIATOR_H
14 #define L1_TRACK_TRIGGER_CLUSTER_ASSOCIATOR_H
15 
23 
26 //#include "Geometry/Records/interface/StackedTrackerGeometryRecord.h"
27 //#include "Geometry/TrackerGeometryBuilder/interface/StackedTrackerGeometry.h"
28 //#include "Geometry/TrackerGeometryBuilder/interface/StackedTrackerDetUnit.h"
32 
33 
36 
41 
42 #include <memory>
43 #include <map>
44 #include <vector>
45 
46 template< typename T >
48 {
51  public:
53  explicit TTClusterAssociator( const edm::ParameterSet& iConfig );
54 
57 
58  private:
63 
64  std::vector< edm::InputTag > TTClustersInputTags;
65 
69  //std::vector< edm::EDGetTokenT< edm::DetSetVector< TTCluster< T > > > > TTClustersTokens;
70  std::vector<edm::EDGetTokenT< edmNew::DetSetVector< TTCluster< T > > > > TTClustersTokens;
71 
72  // const StackedTrackerGeometry *theStackedTrackers;
73  //unsigned int ADCThreshold;
74 
75 
78 
79 
81  virtual void beginRun( const edm::Run& run, const edm::EventSetup& iSetup );
82  virtual void endRun( const edm::Run& run, const edm::EventSetup& iSetup );
83  virtual void produce( edm::Event& iEvent, const edm::EventSetup& iSetup );
84 
85 };
86 
94 template< typename T >
97 {
98  simTrackToken = consumes< edm::SimTrackContainer >(iConfig.getParameter< edm::InputTag >( "simTrackHits" ));
99  digisimLinkToken = consumes< edm::DetSetVector< PixelDigiSimLink > >(iConfig.getParameter< edm::InputTag >( "digiSimLinks" ));
100  tpToken = consumes< std::vector< TrackingParticle > >(iConfig.getParameter< edm::InputTag >( "trackingParts" ));
101 
102 
103  TTClustersInputTags = iConfig.getParameter< std::vector< edm::InputTag > >( "TTClusters" );
104 
105  for ( auto iTag = TTClustersInputTags.begin(); iTag!= TTClustersInputTags.end(); iTag++ )
106  {
107  TTClustersTokens.push_back(consumes< edmNew::DetSetVector< TTCluster< T > > >(*iTag));
108 
109  produces< TTClusterAssociationMap< T > >( (*iTag).instance() );
110  }
111 }
112 
114 template< typename T >
116 
118 template< typename T >
120 {
122  iSetup.get<TrackerDigiGeometryRecord>().get(theTrackerGeometry);
123  iSetup.get<TrackerTopologyRcd>().get(theTrackerTopology);
124 
126  edm::LogInfo("TTClusterAssociator< ") << templateNameFinder< T >() << " > loaded.";
127 }
128 
130 template< typename T >
132 
134 template< >
136 
137 #endif
138 
Plugin to create the MC truth for TTClusters.
edm::Handle< edm::SimTrackContainer > theSimTrackHandle
T getParameter(std::string const &) const
edm::Handle< edm::DetSetVector< PixelDigiSimLink > > thePixelDigiSimLinkHandle
Data members.
edm::Handle< std::vector< TrackingParticle > > TrackingParticleHandle
TTClusterAssociator(const edm::ParameterSet &iConfig)
Constructors.
int iEvent
Definition: GenABIO.cc:230
~TTClusterAssociator()
Destructor.
virtual void beginRun(const edm::Run &run, const edm::EventSetup &iSetup)
Mandatory methods.
std::vector< edm::InputTag > TTClustersInputTags
std::vector< edm::EDGetTokenT< edmNew::DetSetVector< TTCluster< T > > > > TTClustersTokens
edm::EDGetTokenT< edm::SimTrackContainer > simTrackToken
NOTE: this is needed even if it seems not.
Definition: TTCluster.h:27
const T & get() const
Definition: EventSetup.h:56
edm::EDGetTokenT< std::vector< TrackingParticle > > tpToken
edm::EDGetTokenT< edm::DetSetVector< PixelDigiSimLink > > digisimLinkToken
edm::ESHandle< TrackerTopology > theTrackerTopology
virtual void produce(edm::Event &iEvent, const edm::EventSetup &iSetup)
edm::ESHandle< TrackerGeometry > theTrackerGeometry
Definition: Run.h:42
virtual void endRun(const edm::Run &run, const edm::EventSetup &iSetup)
End run.