14 if (trackToTrackingParticleMap_.find(aTrack) != trackToTrackingParticleMap_.end()) {
15 return trackToTrackingParticleMap_.find(aTrack)->second;
17 return nullTrackingParticlePtr_;
24 if (trackingParticleToTrackVectorMap_.find(aTrackingParticle) != trackingParticleToTrackVectorMap_.end()) {
25 return trackingParticleToTrackVectorMap_.find(aTrackingParticle)->second;
27 return nullVecTTTrackPtr_;
35 if ((this->findTrackingParticlePtr(aTrack)).isNull())
45 if ((this->findTrackingParticlePtr(aTrack)).isNull())
49 const std::vector<TTStubRef>& TRK_Stubs = aTrack->getStubRefs();
50 const std::vector<TTStubRef>& TP_Stubs =
51 theStubAssociationMap_->findTTStubRefs(this->findTrackingParticlePtr(aTrack));
53 bool one2SStub =
false;
54 for (
unsigned int js = 0; js < TRK_Stubs.size(); js++) {
60 if (
std::find(TP_Stubs.begin(), TP_Stubs.end(), TRK_Stubs.at(js)) == TP_Stubs.end()) {
61 if (!AllowOneFalse2SStub || TRK_Stubs.at(js)->moduleTypePS() || one2SStub)
76 if (this->isLooselyGenuine(aTrack))
79 if (this->isUnknown(aTrack))
90 const std::vector<TTStubRef>& theseStubs = aTrack->getStubRefs();
91 for (
unsigned int i = 0;
i < theseStubs.size();
i++) {
92 if (theStubAssociationMap_->isUnknown(theseStubs.at(
i)) ==
false) {
94 if (unknownstubs >= 2)
104 AllowOneFalse2SStub = allowFalse2SStub;
109 return AllowOneFalse2SStub;
const TrackingParticlePtr & findTrackingParticlePtr(TTTrackPtrT< T > aTrack) const
bool isUnknown(TTTrackPtrT< T > aTrack) const
More than one stub on track is "unknown".
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
bool getAllowOneFalse2SStub()
bool isCombinatoric(TTTrackPtrT< T > aTrack) const
Both isLooselyGenuine() & isUnknown() are false.
bool isGenuine(TTTrackPtrT< T > aTrack) const
void setAllowOneFalse2SStub(bool allowFalse2SStub)
bool isLooselyGenuine(TTTrackPtrT< T > aTrack) const
const std::vector< TTTrackPtrT< T > > & findTTTrackPtrs(TrackingParticlePtr aTrackingParticle) const