CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TrackerHitAssociator.h
Go to the documentation of this file.
1 #ifndef TrackerHitAssociator_h
2 #define TrackerHitAssociator_h
3 
4 /* \class TrackerHitAssociator
5  *
6  ** Associates SimHits and RecHits based on information produced during
7  * digitisation (StripDigiSimLinks).
8  * The association works in both ways: from a SimHit to RecHits and
9  * from a RecHit to SimHits.
10  *
11  * \author Patrizia Azzi (INFN PD), Vincenzo Chiochia (Uni Zuerich)
12  *
13  * \version 1st version: April 2006. Add configurable switch: August 2006
14  *
15  *
16  ************************************************************/
17 
18 //#include <vector>
25 
26 //--- for SimHit
29 
34 
35 //--- for RecHit
46 
48 
49 #include <string>
50 #include <vector>
51 
52 typedef std::pair<uint32_t, EncodedEventId> SimHitIdpr;
53 
55 
56  public:
57 
58  // Simple constructor
60  // Constructor with configurables
62  // Destructor
64 
65  std::vector<PSimHit> associateHit(const TrackingRecHit & thit) const;
66  //for PU events
67  std::vector<SimHitIdpr> associateHitId(const TrackingRecHit & thit) const;
68  void associateHitId(const TrackingRecHit & thit,std::vector<SimHitIdpr> &simhitid) const;
69  template<typename T>
70  void associateSiStripRecHit(const T *simplerechit, std::vector<SimHitIdpr>& simtrackid) const;
72  const uint32_t& detID,
73  std::vector<SimHitIdpr>& simtrackid) const;
74 
75  std::vector<SimHitIdpr> associateMatchedRecHit(const SiStripMatchedRecHit2D * matchedrechit) const;
76  std::vector<SimHitIdpr> associateProjectedRecHit(const ProjectedSiStripRecHit2D * projectedrechit) const;
77  void associatePixelRecHit(const SiPixelRecHit * pixelrechit, std::vector<SimHitIdpr> & simhitid) const;
78  std::vector<SimHitIdpr> associateGSRecHit(const SiTrackerGSRecHit2D * gsrechit) const;
79  std::vector<SimHitIdpr> associateMultiRecHitId(const SiTrackerMultiRecHit * multirechit) const;
80  std::vector<PSimHit> associateMultiRecHit(const SiTrackerMultiRecHit * multirechit) const;
81  std::vector<SimHitIdpr> associateGSMatchedRecHit(const SiTrackerGSMatchedRecHit2D * gsmrechit) const;
82 
83  typedef std::map<unsigned int, std::vector<PSimHit> > simhit_map;
85 
86  private:
88  typedef std::vector<std::string> vstring;
90 
93 
95 
96 };
97 
98 
99 #endif
100 
edm::Handle< edm::DetSetVector< StripDigiSimLink > > stripdigisimlink
std::vector< PSimHit > associateMultiRecHit(const SiTrackerMultiRecHit *multirechit) const
void associateSimpleRecHitCluster(const SiStripCluster *clust, const uint32_t &detID, std::vector< SimHitIdpr > &simtrackid) const
std::vector< std::string > vstring
TrackerHitAssociator(const edm::Event &e)
std::map< unsigned int, std::vector< PSimHit > > simhit_map
edm::Handle< edm::DetSetVector< PixelDigiSimLink > > pixeldigisimlink
std::vector< SimHitIdpr > associateProjectedRecHit(const ProjectedSiStripRecHit2D *projectedrechit) const
std::vector< SimHitIdpr > associateMultiRecHitId(const SiTrackerMultiRecHit *multirechit) const
std::vector< SimHitIdpr > associateGSMatchedRecHit(const SiTrackerGSMatchedRecHit2D *gsmrechit) const
tuple conf
Definition: dbtoconf.py:185
std::pair< uint32_t, EncodedEventId > SimHitIdpr
std::vector< SimHitIdpr > associateHitId(const TrackingRecHit &thit) const
void associatePixelRecHit(const SiPixelRecHit *pixelrechit, std::vector< SimHitIdpr > &simhitid) const
std::vector< PSimHit > associateHit(const TrackingRecHit &thit) const
std::vector< SimHitIdpr > associateGSRecHit(const SiTrackerGSRecHit2D *gsrechit) const
std::vector< SimHitIdpr > associateMatchedRecHit(const SiStripMatchedRecHit2D *matchedrechit) const
long double T
const edm::Event & myEvent_
void associateSiStripRecHit(const T *simplerechit, std::vector< SimHitIdpr > &simtrackid) const
Our base class.
Definition: SiPixelRecHit.h:23