CMS 3D CMS Logo

TTTrackAssociationMap.h
Go to the documentation of this file.
1 
18 #ifndef L1_TRACK_TRIGGER_TRACK_ASSOCIATION_FORMAT_H
19 #define L1_TRACK_TRIGGER_TRACK_ASSOCIATION_FORMAT_H
20 
38 
39 // Templated aliases
40 template <typename T>
41 using MapL1TrackToTP = std::map<TTTrackPtrT<T>, TrackingParticlePtr>;
42 template <typename T>
43 using MapTPToVecL1Track = std::map<TrackingParticlePtr, std::vector<TTTrackPtrT<T>>>;
44 
45 template <typename T>
47 public:
50 
53 
55 
58 
61 
64  theStubAssociationMap_ = aStubAssoMap;
65  }
66 
70 
74  const std::vector<TTTrackPtrT<T>>& findTTTrackPtrs(TrackingParticlePtr aTrackingParticle) const;
75 
78 
87  bool isGenuine(TTTrackPtrT<T> aTrack) const;
90  bool isLooselyGenuine(TTTrackPtrT<T> aTrack) const;
92  bool isUnknown(TTTrackPtrT<T> aTrack) const;
94  bool isCombinatoric(TTTrackPtrT<T> aTrack) const;
95 
96  // Cfg param allowing one incorrect 2S stub in "genuine" tracks.
97  void setAllowOneFalse2SStub(bool allowFalse2SStub);
99 
100 private:
105 
107 
108  // Allow functions to return reference to null.
110  static const std::vector<TTTrackPtr> nullVecTTTrackPtr_;
111 
112 };
113 
121 // Static constant data members.
122 template <typename T>
124 template <typename T>
125 const std::vector<TTTrackPtr> TTTrackAssociationMap<T>::nullVecTTTrackPtr_;
126 
129 template <typename T>
132 }
133 
135 template <typename T>
137 
139 template <>
141  TTTrackPtr aTrack) const;
142 
143 template <>
145  TrackingParticlePtr aTrackingParticle) const;
146 
148 template <>
150 
152 template <>
154 
155 template <>
157 
158 template <>
160 
161 #endif
const TrackingParticlePtr & findTrackingParticlePtr(TTTrackPtrT< T > aTrack) const
void setTTStubAssociationMap(edm::RefProd< TTStubAssociationMap< T >> aStubAssoMap)
Set stub <-> truth association object.
bool isUnknown(TTTrackPtrT< T > aTrack) const
More than one stub on track is "unknown".
std::map< TrackingParticlePtr, std::vector< TTTrackPtrT< T > >> MapTPToVecL1Track
MapL1TrackToTP< T > trackToTrackingParticleMap_
Data members.
bool isCombinatoric(TTTrackPtrT< T > aTrack) const
Both isLooselyGenuine() & isUnknown() are false.
static const std::vector< TTTrackPtr > nullVecTTTrackPtr_
Stores association of Truth Particles (TP) to L1 Track-Trigger Tracks.
~TTTrackAssociationMap()
Destructor.
bool isGenuine(TTTrackPtrT< T > aTrack) const
MapTPToVecL1Track< T > trackingParticleToTrackVectorMap_
void setAllowOneFalse2SStub(bool allowFalse2SStub)
bool isLooselyGenuine(TTTrackPtrT< T > aTrack) const
TTTrackAssociationMap()
Constructors.
edm::RefProd< TTStubAssociationMap< T > > theStubAssociationMap_
void setTTTrackToTrackingParticleMap(const MapL1TrackToTP< T > &aMap)
const std::vector< TTTrackPtrT< T > > & findTTTrackPtrs(TrackingParticlePtr aTrackingParticle) const
static const TrackingParticlePtr nullTrackingParticlePtr_
Close class.
void setTrackingParticleToTTTracksMap(const MapTPToVecL1Track< T > &aMap)
const MapTPToVecL1Track< T > & getTrackingParticleToTTTracksMap() const
const MapL1TrackToTP< T > & getTTTrackToTrackingParticleMap() const
Get/set stub <-> truth association maps.
std::map< TTTrackPtrT< T >, TrackingParticlePtr > MapL1TrackToTP
NOTE: this is needed even if it seems not.
Stores association of Truth Particles (TP) to L1 Track-Trigger Stubs.