ATLAS Offline Software
Loading...
Searching...
No Matches
Associator_TruthMatch.h
Go to the documentation of this file.
1/* emacs: this is -*- c++ -*- */
10
11
12#ifndef TIDAUTILS_ASSOCIATOR_TRUTHMATCH_H
13#define TIDAUTILS_ASSOCIATOR_TRUTHMATCH_H
14
15#include <set>
16#include <map>
17
18
22
23
24
25#if 0
27
28public:
30 Associator_MatcherBase( "Truth" )
31 { }
32
33 virtual double distance( TIDA::Track* refTrack, TIDA::Track* testTrack ) {
34 if (testTrack->match_barcode() == -1) return 1;
35 else if (testTrack->match_barcode() == refTrack->barcode()) return 0;
36 else return 1;
37 }
38
39};
40#endif
41
42
43// class Associator_TruthMatcher : public Associator_MatcherBase{
45
46public:
47
49
51
52 virtual TrackAssociator* clone() override { return new Associator_TruthMatcher(*this); }
53
54 //Fill reference tracks in matching step
55 virtual void match( const std::vector<TIDA::Track*>& refTracks,
56 const std::vector<TIDA::Track*>& testTracks) override {
57
58 //std::cout<<"refTracks.size() "<<refTracks.size()<<" \t testTracks.size() "<<testTracks.size()<<std::endl;
59
60 for (unsigned int i = 0; i < refTracks.size(); i++) {
61
62 // std::cout<<refTracks[i]->author() <<std::endl;
63
64 for (unsigned int j = 0; j < testTracks.size(); j++) {
65
66
67 if ( distance( refTracks[i], testTracks[j] ) < 1. ) {
68 // std::cout<<"MATCHED"<<std::endl;
69 mmatched.insert( map_type::value_type(refTracks[i],testTracks[j]));
70 mrevmatched.insert( map_type::value_type(testTracks[j],refTracks[i]));
71 }
72 }
73 }
74
75 return;
76 }
77
78
79 virtual double distance( TIDA::Track* refTrack, TIDA::Track* testTrack ) {
80 if (testTrack->match_barcode() == -1) return 1;
81 else if (testTrack->match_barcode() == refTrack->barcode()) return 0;
82 else return 1;
83 }
84
85private:
86
87 // double md;
88
89};
90
91
92#endif // TIDAUTILS_ASSOCIATOR_TRUTHMATCH_H
93
Erkcan's track matchers.
BestMatcher< TIDA::Track > Associator_BestMatcher
TIDA::Associator< TIDA::Track > TrackAssociator
virtual double distance(TIDA::Track *refTrack, TIDA::Track *testTrack)
virtual void match(const std::vector< TIDA::Track * > &refTracks, const std::vector< TIDA::Track * > &testTracks) override
virtual TrackAssociator * clone() override