CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
L1MuDTERS Class Reference

#include <L1MuDTERS.h>

Inheritance diagram for L1MuDTERS:
L1AbstractProcessor

Public Member Functions

unsigned short int address (int id) const
 return extrapolation address; (address = 15 indicates negative ext. result) More...
 
 L1MuDTERS (const L1MuDTSEU &)
 constructor More...
 
unsigned int quality (int id) const
 return extrapolation quality More...
 
virtual void reset ()
 reset ERS More...
 
virtual void run ()
 run L1MuDTERS More...
 
std::pair< const
L1MuDTTrackSegPhi *, const
L1MuDTTrackSegPhi * > 
ts (int id) const
 return pointer to start and target track segment More...
 
virtual ~L1MuDTERS ()
 destructor More...
 
- Public Member Functions inherited from L1AbstractProcessor
virtual void run (const edm::EventSetup &c)
 
virtual ~L1AbstractProcessor ()
 destructor More...
 

Private Attributes

unsigned short int m_address [2]
 
unsigned short int m_quality [2]
 
const L1MuDTSEUm_seu
 
const L1MuDTTrackSegPhim_start [2]
 
const L1MuDTTrackSegPhim_target [2]
 

Detailed Description

Extrapolation Result Selector (Quality Sorter Unit):

selects the 2 best (highest target quality) out of the 12 (6) extrapolations performed per start track segment

N. Neumeister CERN EP

Definition at line 43 of file L1MuDTERS.h.

Constructor & Destructor Documentation

L1MuDTERS::L1MuDTERS ( const L1MuDTSEU seu)

constructor

Definition at line 46 of file L1MuDTERS.cc.

References reset().

46  : m_seu(seu) {
47 
48  reset();
49 
50 }
virtual void reset()
reset ERS
Definition: L1MuDTERS.cc:107
const L1MuDTSEU & m_seu
Definition: L1MuDTERS.h:70
L1MuDTERS::~L1MuDTERS ( )
virtual

destructor

Definition at line 57 of file L1MuDTERS.cc.

57 {}

Member Function Documentation

unsigned short int L1MuDTERS::address ( int  id) const
inline

return extrapolation address; (address = 15 indicates negative ext. result)

Definition at line 63 of file L1MuDTERS.h.

References m_address.

63 { return m_address[id]; }
unsigned short int m_address[2]
Definition: L1MuDTERS.h:73
unsigned int L1MuDTERS::quality ( int  id) const
inline

return extrapolation quality

Definition at line 60 of file L1MuDTERS.h.

References m_quality.

60 { return m_quality[id]; }
unsigned short int m_quality[2]
Definition: L1MuDTERS.h:72
void L1MuDTERS::reset ( void  )
virtual

reset ERS

Implements L1AbstractProcessor.

Definition at line 107 of file L1MuDTERS.cc.

References m_address, m_quality, m_start, and m_target.

Referenced by L1MuDTERS(), and L1MuDTSEU::reset().

107  {
108 
109  for ( int id = 0; id < 2; id++ ) {
110  m_quality[id] = 0;
111  m_address[id] = 15;
112  m_start[id] = 0;
113  m_target[id] = 0;
114  }
115 
116 }
const L1MuDTTrackSegPhi * m_start[2]
Definition: L1MuDTERS.h:75
unsigned short int m_address[2]
Definition: L1MuDTERS.h:73
const L1MuDTTrackSegPhi * m_target[2]
Definition: L1MuDTERS.h:76
unsigned short int m_quality[2]
Definition: L1MuDTERS.h:72
void L1MuDTERS::run ( void  )
virtual

run L1MuDTERS

Reimplemented from L1AbstractProcessor.

Definition at line 67 of file L1MuDTERS.cc.

References gather_cfg::cout, L1MuDTTFConfig::Debug(), L1MuDTSEU::eux(), first, prof2calltree::last, m_address, m_quality, m_seu, m_start, m_target, and L1MuDTSEU::numberOfExt().

Referenced by L1MuDTSEU::run().

67  {
68 
69  int n_ext = m_seu.numberOfExt();
70  if ( n_ext > 0 ) {
71  vector<L1MuDTEUX*>::const_iterator first = m_seu.eux().begin();
72  vector<L1MuDTEUX*>::const_iterator last = m_seu.eux().end();
73  vector<L1MuDTEUX*>::const_iterator first_max;
74  vector<L1MuDTEUX*>::const_iterator second_max;
75 
76  // find the best extrapolation
77  first_max = max_element(first, last, L1MuDTEUX::EUX_Comp() );
78  m_address[0] = (*first_max)->address();
79  m_quality[0] = (*first_max)->quality();
80  m_start[0] = (*first_max)->ts().first;
81  m_target[0] = (*first_max)->ts().second;
82 
83 
84  if ( n_ext > 1 ) {
85  // find the second best extrapolation
86  second_max = max_element(first, last, L1MuDTEUX::EUX_Comp(*first_max) );
87  m_address[1] = (*second_max)->address();
88  m_quality[1] = (*second_max)->quality();
89  m_start[1] = (*second_max)->ts().first;
90  m_target[1] = (*second_max)->ts().second;
91  }
92 
93  if ( L1MuDTTFConfig::Debug(4) ) {
94  cout << "ERS : " << endl;
95  cout << "\t first : " << m_address[0] << '\t' << m_quality[0] << endl;
96  cout << "\t second : " << m_address[1] << '\t' << m_quality[1] << endl;
97  }
98 
99  }
100 
101 }
const L1MuDTTrackSegPhi * m_start[2]
Definition: L1MuDTERS.h:75
unsigned short int m_address[2]
Definition: L1MuDTERS.h:73
static bool Debug()
bool first
Definition: L1TdeRCT.cc:79
helper class for finding the best and second best extrapolation
Definition: L1MuDTEUX.h:74
const L1MuDTTrackSegPhi * m_target[2]
Definition: L1MuDTERS.h:76
const L1MuDTSEU & m_seu
Definition: L1MuDTERS.h:70
unsigned short int m_quality[2]
Definition: L1MuDTERS.h:72
int numberOfExt() const
return number of successful extrapolations
Definition: L1MuDTSEU.cc:187
tuple cout
Definition: gather_cfg.py:121
const std::vector< L1MuDTEUX * > & eux() const
return pointer to an Extrapolator
Definition: L1MuDTSEU.h:92
pair< const L1MuDTTrackSegPhi *, const L1MuDTTrackSegPhi * > L1MuDTERS::ts ( int  id) const

return pointer to start and target track segment

Definition at line 122 of file L1MuDTERS.cc.

References m_start, and m_target.

122  {
123 
124  return pair<const L1MuDTTrackSegPhi*,const L1MuDTTrackSegPhi*>(m_start[id],m_target[id]);
125 
126 }
const L1MuDTTrackSegPhi * m_start[2]
Definition: L1MuDTERS.h:75
const L1MuDTTrackSegPhi * m_target[2]
Definition: L1MuDTERS.h:76

Member Data Documentation

unsigned short int L1MuDTERS::m_address[2]
private

Definition at line 73 of file L1MuDTERS.h.

Referenced by address(), reset(), and run().

unsigned short int L1MuDTERS::m_quality[2]
private

Definition at line 72 of file L1MuDTERS.h.

Referenced by quality(), reset(), and run().

const L1MuDTSEU& L1MuDTERS::m_seu
private

Definition at line 70 of file L1MuDTERS.h.

Referenced by run().

const L1MuDTTrackSegPhi* L1MuDTERS::m_start[2]
private

Definition at line 75 of file L1MuDTERS.h.

Referenced by reset(), run(), and ts().

const L1MuDTTrackSegPhi* L1MuDTERS::m_target[2]
private

Definition at line 76 of file L1MuDTERS.h.

Referenced by reset(), run(), and ts().