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
edm::RefProd
Definition: EDProductfwd.h:25
TTTrackAssociationMap::~TTTrackAssociationMap
~TTTrackAssociationMap()
Destructor.
Definition: TTTrackAssociationMap.h:136
TTTrackAssociationMap::nullVecTTTrackPtr_
static const std::vector< TTTrackPtr > nullVecTTTrackPtr_
Definition: TTTrackAssociationMap.h:110
TTTypes.h
TTTrackAssociationMap::trackToTrackingParticleMap_
MapL1TrackToTP< T > trackToTrackingParticleMap_
Data members.
Definition: TTTrackAssociationMap.h:102
TTTrackAssociationMap::AllowOneFalse2SStub
bool AllowOneFalse2SStub
Definition: TTTrackAssociationMap.h:106
TTTrackAssociationMap::theStubAssociationMap_
edm::RefProd< TTStubAssociationMap< T > > theStubAssociationMap_
Definition: TTTrackAssociationMap.h:104
TTTrackAssociationMap::getAllowOneFalse2SStub
bool getAllowOneFalse2SStub()
TTTrackAssociationMap::nullTrackingParticlePtr_
static const TrackingParticlePtr nullTrackingParticlePtr_
Close class.
Definition: TTTrackAssociationMap.h:109
TTStubAssociationMap
Stores association of Truth Particles (TP) to L1 Track-Trigger Stubs.
Definition: TTStubAssociationMap.h:49
TTTrackAssociationMap::trackingParticleToTrackVectorMap_
MapTPToVecL1Track< T > trackingParticleToTrackVectorMap_
Definition: TTTrackAssociationMap.h:103
MapL1TrackToTP
std::map< TTTrackPtrT< T >, TrackingParticlePtr > MapL1TrackToTP
NOTE: this is needed even if it seems not.
Definition: TTTrackAssociationMap.h:41
TTTrackAssociationMap::setTTStubAssociationMap
void setTTStubAssociationMap(edm::RefProd< TTStubAssociationMap< T >> aStubAssoMap)
Set stub <-> truth association object.
Definition: TTTrackAssociationMap.h:63
TTTrackAssociationMap::isGenuine
bool isGenuine(TTTrackPtrT< T > aTrack) const
TTTrackAssociationMap
Stores association of Truth Particles (TP) to L1 Track-Trigger Tracks.
Definition: TTTrackAssociationMap.h:46
Phase2TrackerDigi.h
TTTrackAssociationMap::setTTTrackToTrackingParticleMap
void setTTTrackToTrackingParticleMap(const MapL1TrackToTP< T > &aMap)
Definition: TTTrackAssociationMap.h:59
TTTrackAssociationMap::TTTrackAssociationMap
TTTrackAssociationMap()
Constructors.
Definition: TTTrackAssociationMap.h:130
MapTPToVecL1Track
std::map< TrackingParticlePtr, std::vector< TTTrackPtrT< T > >> MapTPToVecL1Track
Definition: TTTrackAssociationMap.h:43
Ptr.h
TTStubAssociationMap.h
MeasurementPoint.h
TTTrackAssociationMap::findTrackingParticlePtr
const TrackingParticlePtr & findTrackingParticlePtr(TTTrackPtrT< T > aTrack) const
DetSetVector.h
TTTrackAssociationMap::getTTTrackToTrackingParticleMap
const MapL1TrackToTP< T > & getTTTrackToTrackingParticleMap() const
Get/set stub <-> truth association maps.
Definition: TTTrackAssociationMap.h:56
edm::Ptr< TrackingParticle >
TrackingParticle.h
Ref.h
DetId.h
TrackingParticleFwd.h
TTTrackAssociationMap::findTTTrackPtrs
const std::vector< TTTrackPtrT< T > > & findTTTrackPtrs(TrackingParticlePtr aTrackingParticle) const
DetSet.h
SimTrack.h
TTTrackAssociationMap::setTrackingParticleToTTTracksMap
void setTrackingParticleToTTTracksMap(const MapTPToVecL1Track< T > &aMap)
Definition: TTTrackAssociationMap.h:60
TTTrackAssociationMap::setAllowOneFalse2SStub
void setAllowOneFalse2SStub(bool allowFalse2SStub)
GlobalPoint.h
TTTrackAssociationMap::getTrackingParticleToTTTracksMap
const MapTPToVecL1Track< T > & getTrackingParticleToTTTracksMap() const
Definition: TTTrackAssociationMap.h:57
SimTrackContainer.h
DetSetVectorNew.h
TTTrackAssociationMap::isCombinatoric
bool isCombinatoric(TTTrackPtrT< T > aTrack) const
Both isLooselyGenuine() & isUnknown() are false.
TTTrackAssociationMap::isLooselyGenuine
bool isLooselyGenuine(TTTrackPtrT< T > aTrack) const
TTTrackAssociationMap::isUnknown
bool isUnknown(TTTrackPtrT< T > aTrack) const
More than one stub on track is "unknown".
EncodedEventId.h