ATLAS Offline Software
Public Types | Public Member Functions | Protected Attributes | Private Attributes | List of all members
TrackMatchDeltaRCosmic Class Referenceabstract

#include <TrackMatchDeltaRCosmic.h>

Inheritance diagram for TrackMatchDeltaRCosmic:
Collaboration diagram for TrackMatchDeltaRCosmic:

Public Types

typedef std::map< T *, S * > map_type
 
typedef std::map< S *, T * > 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 void match (const std::vector< T * > &s1, const std::vector< S * > &s2)=0
 
virtual const S * matched (T *t)
 
const map_typematched () const
 
virtual const T * revmatched (S *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

template<typename T , typename S = T>
typedef std::map<T*, S*> TIDA::Associator< T, S >::map_type
inherited

Definition at line 28 of file TIDAAssociator.h.

◆ rmap_type

template<typename T , typename S = T>
typedef std::map<S*, T*> TIDA::Associator< T, S >::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  :
34  { }

◆ ~TrackMatchDeltaRCosmic()

TrackMatchDeltaRCosmic::~TrackMatchDeltaRCosmic ( )
inline

Definition at line 36 of file TrackMatchDeltaRCosmic.h.

36 { }

Member Function Documentation

◆ clear()

template<typename T , typename S = T>
void TIDA::Associator< T, S >::clear ( )
inlineinherited

Definition at line 63 of file TIDAAssociator.h.

63 { mmatched.clear(); mrevmatched.clear(); }

◆ clone()

template<typename T , typename S = T>
virtual Associator* TIDA::Associator< T, S >::clone ( )
pure virtualinherited

◆ 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  }

◆ 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() [1/2]

template<typename T , typename S = T>
virtual void TIDA::Associator< T, S >::match ( const std::vector< T * > &  s1,
const std::vector< S * > &  s2 
)
pure virtualinherited

Implemented in BestMatcher< TIDA::Vertex >.

◆ match() [2/2]

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

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  }

◆ matched() [1/2]

template<typename T , typename S = T>
const map_type& TIDA::Associator< T, S >::matched ( ) const
inlineinherited

Definition at line 59 of file TIDAAssociator.h.

59 { return mmatched; }

◆ matched() [2/2]

template<typename T , typename S = T>
virtual const S* TIDA::Associator< T, S >::matched ( T *  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]

template<typename T , typename S = T>
const rmap_type& TIDA::Associator< T, S >::revmatched ( ) const
inlineinherited

Definition at line 60 of file TIDAAssociator.h.

60 { return mrevmatched; }

◆ revmatched() [2/2]

template<typename T , typename S = T>
virtual const T* TIDA::Associator< T, S >::revmatched ( S *  t)
inlinevirtualinherited

Definition at line 52 of file TIDAAssociator.h.

52  {
53  typename rmap_type::const_iterator titr = mrevmatched.find(t);
54  if ( titr != mrevmatched.end() ) return titr->second;
55  else return 0;
56  }

◆ size()

template<typename T , typename S = T>
unsigned TIDA::Associator< T, S >::size ( ) const
inlineinherited

Definition at line 66 of file TIDAAssociator.h.

66 { return mmatched.size(); }

Member Data Documentation

◆ m_R2

double TrackMatchDeltaRCosmic::m_R2
private

Definition at line 102 of file TrackMatchDeltaRCosmic.h.

◆ mmatched

template<typename T , typename S = T>
map_type TIDA::Associator< T, S >::mmatched
protectedinherited

Definition at line 73 of file TIDAAssociator.h.

◆ mname

template<typename T , typename S = T>
std::string TIDA::Associator< T, S >::mname
protectedinherited

Definition at line 71 of file TIDAAssociator.h.

◆ mrevmatched

template<typename T , typename S = T>
rmap_type TIDA::Associator< T, S >::mrevmatched
protectedinherited

Definition at line 74 of file TIDAAssociator.h.


The documentation for this class was generated from the following file:
ReadCellNoiseFromCoolCompare.s1
s1
Definition: ReadCellNoiseFromCoolCompare.py:378
IDTPM::R
float R(const U &p)
Definition: TrackParametersHelper.h:101
M_PI
#define M_PI
Definition: ActiveFraction.h:11
TIDA::Associator::mmatched
map_type mmatched
Definition: TIDAAssociator.h:73
TrigInDetValidation_Base.test
test
Definition: TrigInDetValidation_Base.py:146
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
TIDA::Associator::clear
void clear()
Definition: TIDAAssociator.h:63
lumiFormat.i
int i
Definition: lumiFormat.py:92
TIDA::Track::phi
double phi() const
Definition: Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/Track.h:47
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
TIDA::Track::eta
double eta() const
Definition: Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/Track.h:46
TrackMatchDeltaRCosmic::deltaR2
virtual double deltaR2(const TIDA::Track *reftrack, const TIDA::Track *testtrack)
Definition: TrackMatchDeltaRCosmic.h:92
TrackMatchDeltaRCosmic::deltaR2PI
virtual double deltaR2PI(const TIDA::Track *reftrack, const TIDA::Track *testtrack)
Definition: TrackMatchDeltaRCosmic.h:84
ref
const boost::regex ref(r_ef)
ReadCellNoiseFromCoolCompare.s2
s2
Definition: ReadCellNoiseFromCoolCompare.py:379
TIDA::Track
Definition: Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/Track.h:26
TrackMatchDeltaRCosmic::m_R2
double m_R2
Definition: TrackMatchDeltaRCosmic.h:102
TIDA::Associator::mrevmatched
rmap_type mrevmatched
Definition: TIDAAssociator.h:74
TrackAssociator
TIDA::Associator< TIDA::Track > TrackAssociator
Definition: TrackAssociator.h:26