ATLAS Offline Software
Loading...
Searching...
No Matches
TrackMatchDeltaRCosmic Class Referenceabstract

#include <TrackMatchDeltaRCosmic.h>

Inheritance diagram for TrackMatchDeltaRCosmic:
Collaboration diagram for TrackMatchDeltaRCosmic:

Public Types

typedef std::map< TIDA::Track *, TIDA::Track * > map_type
typedef std::map< TIDA::Track *, TIDA::Track * > rmap_type

Public Member Functions

 TrackMatchDeltaRCosmic (const std::string &name, double R)
 ~TrackMatchDeltaRCosmic ()
virtual void match (const std::vector< TIDA::Track * > &s1, const std::vector< TIDA::Track * > &s2)
virtual double deltaR2PI (const TIDA::Track *reftrack, const TIDA::Track *testtrack)
virtual double deltaR2 (const TIDA::Track *reftrack, const TIDA::Track *testtrack)
virtual Associatorclone ()=0
virtual const TIDA::Trackmatched (TIDA::Track *t)
const map_typematched () const
virtual const TIDA::Trackrevmatched (TIDA::Track *t)
const rmap_typerevmatched () const
void clear ()
unsigned size () const

Protected Attributes

std::string mname
map_type mmatched
rmap_type mrevmatched

Private Attributes

double m_R2

Detailed Description

Definition at line 28 of file TrackMatchDeltaRCosmic.h.

Member Typedef Documentation

◆ map_type

typedef std::map<TIDA::Track*, TIDA::Track*> TIDA::Associator< TIDA::Track, TIDA::Track >::map_type
inherited

Definition at line 28 of file TIDAAssociator.h.

◆ rmap_type

typedef std::map<TIDA::Track*, TIDA::Track*> TIDA::Associator< TIDA::Track, TIDA::Track >::rmap_type
inherited

Definition at line 29 of file TIDAAssociator.h.

Constructor & Destructor Documentation

◆ TrackMatchDeltaRCosmic()

TrackMatchDeltaRCosmic::TrackMatchDeltaRCosmic ( const std::string & name,
double R )
inline

Definition at line 32 of file TrackMatchDeltaRCosmic.h.

32 :
33 TrackAssociator(name), m_R2(R*R)
34 { }
TIDA::Associator< TIDA::Track > TrackAssociator

◆ ~TrackMatchDeltaRCosmic()

TrackMatchDeltaRCosmic::~TrackMatchDeltaRCosmic ( )
inline

Definition at line 36 of file TrackMatchDeltaRCosmic.h.

36{ }

Member Function Documentation

◆ clear()

void TIDA::Associator< TIDA::Track, TIDA::Track >::clear ( )
inlineinherited

Definition at line 63 of file TIDAAssociator.h.

◆ clone()

◆ deltaR2()

virtual double TrackMatchDeltaRCosmic::deltaR2 ( const TIDA::Track * reftrack,
const TIDA::Track * testtrack )
inlinevirtual

Definition at line 92 of file TrackMatchDeltaRCosmic.h.

92 {
93 double deta = reftrack->eta()-testtrack->eta();
94 double dphi = reftrack->phi()-testtrack->phi();
95 if ( dphi> M_PI ) dphi-=2*M_PI;
96 if ( dphi<-M_PI ) dphi+=2*M_PI;
97 return deta*deta+dphi*dphi;
98 }
#define M_PI

◆ deltaR2PI()

virtual double TrackMatchDeltaRCosmic::deltaR2PI ( const TIDA::Track * reftrack,
const TIDA::Track * testtrack )
inlinevirtual

Definition at line 84 of file TrackMatchDeltaRCosmic.h.

84 {
85 double deta = reftrack->eta()+testtrack->eta();
86 double dphi = reftrack->phi()-testtrack->phi()-M_PI;
87 if ( dphi> M_PI ) dphi-=2*M_PI;
88 if ( dphi<-M_PI ) dphi+=2*M_PI;
89 return deta*deta+dphi*dphi;
90 }

◆ match()

virtual void TrackMatchDeltaRCosmic::match ( const std::vector< TIDA::Track * > & s1,
const std::vector< TIDA::Track * > & s2 )
inlinevirtual

Implements TIDA::Associator< TIDA::Track >.

Definition at line 39 of file TrackMatchDeltaRCosmic.h.

41 {
42 clear();
43
44 const std::vector<TIDA::Track*>& ref = s1;
45 const std::vector<TIDA::Track*>& test = s2;
46
47 // loop over reference tracks
48 for ( int i=ref.size() ; i-- ; ) {
49
50 TIDA::Track* reftrack = ref[i];
51
52 // find the closest track
53 TIDA::Track* tmptrack = NULL;
54 double R2min = 0;
55
56 // loop over test tracks
57 for ( int j=test.size() ; j-- ; ) {
58
59 TIDA::Track* testtrack = test[j];
60
61 double R2tmp = deltaR2( reftrack, testtrack );
62 double R2PItmp = deltaR2PI( reftrack, testtrack );
63
64 if ( R2PItmp<R2tmp ) R2tmp = R2PItmp;
65
66 // found a close track
67 if ( tmptrack==NULL || R2tmp<R2min ) {
68 R2min = R2tmp;
69 tmptrack = testtrack;
70 }
71 }
72
73 // is this inside the delta R specification?
74 if ( tmptrack && R2min<m_R2 ) {
75 mmatched.insert( map_type::value_type(reftrack,tmptrack) );
76 mrevmatched.insert( map_type::value_type(tmptrack,reftrack) );
77
78 std::cout << "\t\tSUTT matched " << *reftrack << "\t -> \t" << *tmptrack << "\tDr=" << R2min << std::endl;
79 }
80 }
81 }
const boost::regex ref(r_ef)
virtual double deltaR2(const TIDA::Track *reftrack, const TIDA::Track *testtrack)
virtual double deltaR2PI(const TIDA::Track *reftrack, const TIDA::Track *testtrack)

◆ matched() [1/2]

const map_type & TIDA::Associator< TIDA::Track, TIDA::Track >::matched ( ) const
inlineinherited

Definition at line 59 of file TIDAAssociator.h.

59{ return mmatched; }

◆ matched() [2/2]

virtual const TIDA::Track * TIDA::Associator< TIDA::Track, TIDA::Track >::matched ( TIDA::Track * t)
inlinevirtualinherited

Definition at line 45 of file TIDAAssociator.h.

45 {
46 typename map_type::const_iterator titr = mmatched.find(t);
47 if ( titr != mmatched.end() ) return titr->second;
48 else return 0;
49 }

◆ revmatched() [1/2]

const rmap_type & TIDA::Associator< TIDA::Track, TIDA::Track >::revmatched ( ) const
inlineinherited

Definition at line 60 of file TIDAAssociator.h.

60{ return mrevmatched; }

◆ revmatched() [2/2]

virtual const TIDA::Track * TIDA::Associator< TIDA::Track, TIDA::Track >::revmatched ( TIDA::Track * t)
inlinevirtualinherited

Definition at line 52 of file TIDAAssociator.h.

52 {
54 if ( titr != mrevmatched.end() ) return titr->second;
55 else return 0;
56 }

◆ size()

unsigned TIDA::Associator< TIDA::Track, TIDA::Track >::size ( ) const
inlineinherited

Definition at line 66 of file TIDAAssociator.h.

66{ return mmatched.size(); }
unsigned size() const

Member Data Documentation

◆ m_R2

double TrackMatchDeltaRCosmic::m_R2
private

Definition at line 102 of file TrackMatchDeltaRCosmic.h.

◆ mmatched

map_type TIDA::Associator< TIDA::Track, TIDA::Track >::mmatched
protectedinherited

Definition at line 73 of file TIDAAssociator.h.

◆ mname

std::string TIDA::Associator< TIDA::Track, TIDA::Track >::mname
protectedinherited

Definition at line 71 of file TIDAAssociator.h.

◆ mrevmatched

rmap_type TIDA::Associator< TIDA::Track, TIDA::Track >::mrevmatched
protectedinherited

Definition at line 74 of file TIDAAssociator.h.


The documentation for this class was generated from the following file: