Stores association of Truth Particles (TP) to L1 Track-Trigger Tracks. More...
#include <TTTrackAssociationMap.h>
Public Member Functions | |
template<> | |
const TrackingParticlePtr & | findTrackingParticlePtr (TTTrackPtr aTrack) const |
Implementation of methods. More... | |
template<> | |
const TrackingParticlePtr & | findTrackingParticlePtr (TTTrackPtr aTrack) const |
Operations. More... | |
const TrackingParticlePtr & | findTrackingParticlePtr (TTTrackPtrT< T > aTrack) const |
template<> | |
const std::vector< TTTrackPtr > & | findTTTrackPtrs (TrackingParticlePtr aTrackingParticle) const |
const std::vector< TTTrackPtrT< T > > & | findTTTrackPtrs (TrackingParticlePtr aTrackingParticle) const |
template<> | |
const std::vector< TTTrackPtr > & | findTTTrackPtrs (TrackingParticlePtr aTrackingParticle) const |
bool | getAllowOneFalse2SStub () |
template<> | |
bool | getAllowOneFalse2SStub () |
const MapTPToVecL1Track< T > & | getTrackingParticleToTTTracksMap () const |
const MapL1TrackToTP< T > & | getTTTrackToTrackingParticleMap () const |
Get/set stub <-> truth association maps. More... | |
template<> | |
bool | isCombinatoric (TTTrackPtr aTrack) const |
template<> | |
bool | isCombinatoric (TTTrackPtr aTrack) const |
bool | isCombinatoric (TTTrackPtrT< T > aTrack) const |
Both isLooselyGenuine() & isUnknown() are false. More... | |
template<> | |
bool | isGenuine (TTTrackPtr aTrack) const |
MC truth. More... | |
template<> | |
bool | isGenuine (TTTrackPtr aTrack) const |
MC truth. More... | |
bool | isGenuine (TTTrackPtrT< T > aTrack) const |
template<> | |
bool | isLooselyGenuine (TTTrackPtr aTrack) const |
MC truth. More... | |
template<> | |
bool | isLooselyGenuine (TTTrackPtr aTrack) const |
MC truth. More... | |
bool | isLooselyGenuine (TTTrackPtrT< T > aTrack) const |
template<> | |
bool | isUnknown (TTTrackPtr aTrack) const |
template<> | |
bool | isUnknown (TTTrackPtr aTrack) const |
bool | isUnknown (TTTrackPtrT< T > aTrack) const |
More than one stub on track is "unknown". More... | |
void | setAllowOneFalse2SStub (bool allowFalse2SStub) |
template<> | |
void | setAllowOneFalse2SStub (bool allowFalse2SStub) |
void | setTrackingParticleToTTTracksMap (const MapTPToVecL1Track< T > &aMap) |
void | setTTStubAssociationMap (edm::RefProd< TTStubAssociationMap< T >> aStubAssoMap) |
Set stub <-> truth association object. More... | |
void | setTTTrackToTrackingParticleMap (const MapL1TrackToTP< T > &aMap) |
TTTrackAssociationMap () | |
Constructors. More... | |
~TTTrackAssociationMap () | |
Destructor. More... | |
Private Attributes | |
bool | AllowOneFalse2SStub |
edm::RefProd< TTStubAssociationMap< T > > | theStubAssociationMap_ |
MapTPToVecL1Track< T > | trackingParticleToTrackVectorMap_ |
MapL1TrackToTP< T > | trackToTrackingParticleMap_ |
Data members. More... | |
Static Private Attributes | |
static const TrackingParticlePtr | nullTrackingParticlePtr_ |
Close class. More... | |
static const std::vector< TTTrackPtr > | nullVecTTTrackPtr_ |
Stores association of Truth Particles (TP) to L1 Track-Trigger Tracks.
Contains two maps. One associates each L1 track its principle TP. (i.e. Not to all TP that contributed to it). The other associates each TP to a vector of all L1 tracks it contributed to. The two maps are therefore not forward-backward symmetric.
(The template structure is used to accomodate types other than PixelDigis, in case they are needed in future).
Definition at line 46 of file TTTrackAssociationMap.h.
TTTrackAssociationMap< T >::TTTrackAssociationMap | ( | ) |
Constructors.
Default Constructor NOTE: to be used with setSomething(...) methods
Set default data members
Definition at line 130 of file TTTrackAssociationMap.h.
TTTrackAssociationMap< T >::~TTTrackAssociationMap | ( | ) |
const TrackingParticlePtr & TTTrackAssociationMap< Ref_Phase2TrackerDigi_ >::findTrackingParticlePtr | ( | TTTrackPtr | aTrack | ) | const |
Implementation of methods.
Here, in the header file, the methods which do not depend on the specific type <T> that can fit the template. Other methods, with type-specific features, are implemented in the source file. Operations
Definition at line 12 of file TTTrackAssociationMap.cc.
const TrackingParticlePtr & TTTrackAssociationMap< Ref_Phase2TrackerDigi_ >::findTrackingParticlePtr | ( | TTTrackPtr | aTrack | ) | const |
Operations.
const TrackingParticlePtr& TTTrackAssociationMap< T >::findTrackingParticlePtr | ( | TTTrackPtrT< T > | aTrack | ) | const |
Get principle TP associated to a L1 track. (Non-NULL if isLooselyGenuine() below is true). (N.B. There is no function returning all TP associated to a L1 track).
Referenced by l1tVertexFinder::VertexNTupler::analyze().
const std::vector< TTTrackPtr > & TTTrackAssociationMap< Ref_Phase2TrackerDigi_ >::findTTTrackPtrs | ( | TrackingParticlePtr | aTrackingParticle | ) | const |
Definition at line 22 of file TTTrackAssociationMap.cc.
const std::vector<TTTrackPtrT<T> >& TTTrackAssociationMap< T >::findTTTrackPtrs | ( | TrackingParticlePtr | aTrackingParticle | ) | const |
Get all L1 tracks associated to a TP. (Even if the TP just contributes to one cluster in one stub, and even if their are other such TP, it is still listed here).
const std::vector< TTTrackPtr > & TTTrackAssociationMap< Ref_Phase2TrackerDigi_ >::findTTTrackPtrs | ( | TrackingParticlePtr | aTrackingParticle | ) | const |
bool TTTrackAssociationMap< T >::getAllowOneFalse2SStub | ( | ) |
bool TTTrackAssociationMap< Ref_Phase2TrackerDigi_ >::getAllowOneFalse2SStub | ( | ) |
Definition at line 108 of file TTTrackAssociationMap.cc.
|
inline |
Definition at line 57 of file TTTrackAssociationMap.h.
References TTTrackAssociationMap< T >::trackingParticleToTrackVectorMap_.
|
inline |
Get/set stub <-> truth association maps.
Definition at line 56 of file TTTrackAssociationMap.h.
References TTTrackAssociationMap< T >::trackToTrackingParticleMap_.
Referenced by TPStubValueMapProducer::produce().
bool TTTrackAssociationMap< Ref_Phase2TrackerDigi_ >::isCombinatoric | ( | TTTrackPtr | aTrack | ) | const |
bool TTTrackAssociationMap< Ref_Phase2TrackerDigi_ >::isCombinatoric | ( | TTTrackPtr | aTrack | ) | const |
bool TTTrackAssociationMap< T >::isCombinatoric | ( | TTTrackPtrT< T > | aTrack | ) | const |
Both isLooselyGenuine() & isUnknown() are false.
Referenced by l1tVertexFinder::VertexNTupler::analyze().
bool TTTrackAssociationMap< Ref_Phase2TrackerDigi_ >::isGenuine | ( | TTTrackPtr | aTrack | ) | const |
MC truth.
Check if there is an associated TrackingParticle
Get all the stubs from this track & associated TrackingParticle
We want that all the stubs of the track are included in the container of all the stubs produced by this particular TrackingParticle which we already know is one of the TrackingParticles that released hits in this track we are evaluating right now Now modifying to allow one and only one false 2S stub in the track idr 06/19
Definition at line 43 of file TTTrackAssociationMap.cc.
References spr::find().
bool TTTrackAssociationMap< Ref_Phase2TrackerDigi_ >::isGenuine | ( | TTTrackPtr | aTrack | ) | const |
MC truth.
bool TTTrackAssociationMap< T >::isGenuine | ( | TTTrackPtrT< T > | aTrack | ) | const |
— Get quality of L1 track based on truth info. (N.B. "genuine" tracks are used for official L1 track efficiency measurements). Exactly one (i.e. not 0 or >= 2) unique TP contributes to every stub on the track. (even if it is not the principle TP in a stub, or contributes to only one cluster in the stub, it still counts). N.B. If cfg param getAllowOneFalse2SStub() is true, then one incorrect stub in a 2S module is alowed ISSUE: a track with 4 stubs can be accepted if only 3 of its stubs are correct! ISSUE: isLooselyGenuine() must also be true. So if 2 TPs match track, one with an incorrect PS stub, both isGenuine() & isLooselyGenuine() will be false!
Referenced by l1tVertexFinder::VertexNTupler::analyze().
bool TTTrackAssociationMap< Ref_Phase2TrackerDigi_ >::isLooselyGenuine | ( | TTTrackPtr | aTrack | ) | const |
MC truth.
Check if there is a TrackingParticle
Definition at line 33 of file TTTrackAssociationMap.cc.
bool TTTrackAssociationMap< Ref_Phase2TrackerDigi_ >::isLooselyGenuine | ( | TTTrackPtr | aTrack | ) | const |
MC truth.
bool TTTrackAssociationMap< T >::isLooselyGenuine | ( | TTTrackPtrT< T > | aTrack | ) | const |
Same criteria as for "genuine" track, except that one incorrect stub in either PS or 2S module is allowed, irrespective of value of cfg param getAllowOneFalse2SStub().
Referenced by l1tVertexFinder::VertexNTupler::analyze().
bool TTTrackAssociationMap< Ref_Phase2TrackerDigi_ >::isUnknown | ( | TTTrackPtr | aTrack | ) | const |
UNKNOWN means that >= 2 stubs are unknown
Definition at line 86 of file TTTrackAssociationMap.cc.
References mps_fire::i.
bool TTTrackAssociationMap< Ref_Phase2TrackerDigi_ >::isUnknown | ( | TTTrackPtr | aTrack | ) | const |
bool TTTrackAssociationMap< T >::isUnknown | ( | TTTrackPtrT< T > | aTrack | ) | const |
More than one stub on track is "unknown".
Referenced by l1tVertexFinder::VertexNTupler::analyze().
void TTTrackAssociationMap< T >::setAllowOneFalse2SStub | ( | bool | allowFalse2SStub | ) |
void TTTrackAssociationMap< Ref_Phase2TrackerDigi_ >::setAllowOneFalse2SStub | ( | bool | allowFalse2SStub | ) |
Definition at line 103 of file TTTrackAssociationMap.cc.
|
inline |
Definition at line 60 of file TTTrackAssociationMap.h.
References TTTrackAssociationMap< T >::trackingParticleToTrackVectorMap_.
|
inline |
Set stub <-> truth association object.
Definition at line 63 of file TTTrackAssociationMap.h.
References TTTrackAssociationMap< T >::theStubAssociationMap_.
|
inline |
Definition at line 59 of file TTTrackAssociationMap.h.
References TTTrackAssociationMap< T >::trackToTrackingParticleMap_.
|
private |
Definition at line 106 of file TTTrackAssociationMap.h.
|
staticprivate |
Close class.
Implementation of methods
Here, in the header file, the methods which do not depend on the specific type <T> that can fit the template. Other methods, with type-specific features, are implemented in the source file.
Definition at line 109 of file TTTrackAssociationMap.h.
|
staticprivate |
Definition at line 110 of file TTTrackAssociationMap.h.
|
private |
Definition at line 104 of file TTTrackAssociationMap.h.
Referenced by TTTrackAssociationMap< T >::setTTStubAssociationMap().
|
private |
Definition at line 103 of file TTTrackAssociationMap.h.
Referenced by TTTrackAssociationMap< T >::getTrackingParticleToTTTracksMap(), and TTTrackAssociationMap< T >::setTrackingParticleToTTTracksMap().
|
private |
Data members.
Definition at line 102 of file TTTrackAssociationMap.h.
Referenced by TTTrackAssociationMap< T >::getTTTrackToTrackingParticleMap(), and TTTrackAssociationMap< T >::setTTTrackToTrackingParticleMap().