Main Page
Namespaces
Classes
Package Documentation
L1Trigger
DTTraco
src
DTTracoCand.cc
Go to the documentation of this file.
1
//-------------------------------------------------
2
//
3
// Class: DTTracoCand
4
//
5
// Description: Implementation of L1MuDTTracoChip
6
// candidate
7
//
8
//
9
// Author List:
10
// C. Grandi
11
// Modifications:
12
// SV BTIC parameter from config
13
// SV bti Trig pointer stored insted of trigdata
14
// 22/VI/04 SV: last trigger code update
15
// 04/XI/04 SV: bug fixed for wrong MB1 superlayer offset!
16
// III/05 SV: NEWGEO update
17
//----------------------------------------------------------
18
19
//-----------------------
20
// This Class's Header --
21
//-----------------------
22
#include "
L1Trigger/DTTraco/interface/DTTracoCand.h
"
23
24
//-------------------------------
25
// Collaborating Class Headers --
26
//-------------------------------
27
#include "
L1TriggerConfig/DTTPGConfig/interface/DTConfigTraco.h
"
28
#include "
L1Trigger/DTTraco/interface/DTTracoChip.h
"
29
#include "
L1Trigger/DTBti/interface/DTBtiTrigData.h
"
30
31
//---------------
32
// C++ Headers --
33
//---------------
34
#include <iostream>
35
36
//----------------
37
// Constructors --
38
//----------------
39
DTTracoCand::DTTracoCand
(
DTTracoChip
* tc,
40
const
DTBtiTrigData
* btitr,
41
int
pos
,
int
step
) :
42
_traco(tc), _btitr(btitr), _step(step), _position(pos), _usable(1) {
43
44
if
(pos<1 || pos>4*
DTConfigTraco::NBTITC
) {
45
std::cout
<<
"DTTracoCand::DTTracoCand: wrong position: "
<< pos;
46
std::cout
<<
", dummy coordinates set!"
<< std::endl;
47
_tcX
= 9999;
48
_tcK
= 9999;
49
return
;
50
}
51
// abs value of K in local TRACO frame (angle conversion):
52
// for sorting the angle closest to normal of chamber
53
// Ktr = Kbti - BTIC - KRAD
54
_tcK
=
abs
( btitr->
K
() - tc->
KRad
() - tc->
BTIC
() );
55
56
57
// X in local TRACO frame (position conversion): Xtr = Xbti + BTIC*(i+4 or o-4)
58
int
lstep = tc->
BTIC
();
59
_tcX
= btitr->
X
() + lstep * (
60
(pos<=
DTConfigTraco::NBTITC
)*(pos-1 + DTConfigTraco::NBTITC) +
// inner
61
(pos>
DTConfigTraco::NBTITC
)*(pos-1 - DTConfigTraco::NBTITC) );
// outer
62
63
//NEWGEO add phi sl offset to inner positions
64
if
(btitr->
btiSL
()==1)
65
_tcX
+= tc->
IBTIOFF
();
66
67
/* DEBUG
68
btitr->print();
69
std::cout << "K in local " << tc->number() << " TRACO " << K() << std::endl;
70
std::cout << "X in local " << tc->number() << " TRACO " << X() << " offset " << tc->IBTIOFF() << std::endl;
71
print();
72
*/
73
74
/*
75
//OBSOLETE
76
//ATTENTION!! This isn't the "real" MB-superlayer shift
77
//because wires have been renamed/shifted in : DTTrigGeom::cellMapping(int sl, int lay, int tube)
78
//this is a "patch" : to BE FIXED with NEW GEOMETRY!
79
80
//MB1: half cell shift
81
if(btitr->btiSL()==1 && tc->station()==1)
82
_tcX += (int)(0.5*lstep);
83
//MB2
84
// if(btitr->btiSL()==1 && tc->station()==2)
85
// _tcX += (int)(-lstep);
86
87
//std::cout << "X in local TRACO frame = " << _tcX << std::endl;
88
//print();
89
*/
90
}
91
92
DTTracoCand::DTTracoCand
(
const
DTTracoCand
& tccand) :
93
_traco
(tccand.
_traco
),
_btitr
(tccand.
_btitr
),
94
_step
(tccand.
_step
),
_position
(tccand.
_position
),
_usable
(tccand.
_usable
),
95
_tcX
(tccand.
_tcX
),
_tcK
(tccand.
_tcK
) {}
96
97
//--------------
98
// Destructor --
99
//--------------
100
DTTracoCand::~DTTracoCand
(){
101
}
102
103
//--------------
104
// Operations --
105
//--------------
106
107
DTTracoCand
&
108
DTTracoCand::operator=
(
const
DTTracoCand
& tccand){
109
if
(
this
!= &tccand){
110
_traco
= tccand.
_traco
;
111
_btitr
= tccand.
_btitr
;
112
_position
= tccand.
_position
;
113
_step
= tccand.
_step
;
114
_usable
= tccand.
_usable
;
115
_tcX
= tccand.
_tcX
;
116
_tcK
= tccand.
_tcK
;
117
}
118
return
*
this
;
119
}
120
121
void
122
DTTracoCand::print
()
const
{
123
// int sl = _btitr->btiSL();
124
std::cout
<<
" step "
<<
_step
;
125
std::cout
<<
" Position "
<<
_position
;
126
std::cout
<<
" Code = "
<<
_btitr
->
code
();
127
std::cout
<<
" SL = "
<<
_btitr
->
btiSL
();
128
std::cout
<<
" N = "
<<
_btitr
->
btiNumber
();
129
std::cout
<<
" X = "
<<
_btitr
->
X
();
130
std::cout
<<
" K = "
<<
_btitr
->
K
();
131
std::cout
<<
" Kr = "
<<
_traco
->
KRad
();
132
std::cout
<<
" |K-Kr| = "
<<
_tcK
<< std::endl;
133
}
134
DTTracoCand::_step
int _step
Definition:
DTTracoCand.h:114
DTTracoChip::BTIC
int BTIC() const
BTIC parameter.
Definition:
DTTracoChip.h:125
DTTracoChip::KRad
int KRad() const
K par of the radial angle of corr center referred to plane sl.
Definition:
DTTracoChip.cc:1144
DTTracoCand::DTTracoCand
DTTracoCand()
Constructor.
Definition:
DTTracoCand.h:43
DTConfigTraco.h
DTBtiTrigData::X
int X() const
Return trigger X parameter.
Definition:
DTBtiTrigData.h:145
DTBtiTrigData.h
DTTracoCand::_btitr
const DTBtiTrigData * _btitr
Definition:
DTTracoCand.h:110
DTTracoCand::_position
int _position
Definition:
DTTracoCand.h:115
DTBtiTrigData
Definition:
DTBtiTrigData.h:39
funct::abs
Abs< T >::type abs(const T &t)
Definition:
Abs.h:22
DTTracoCand::~DTTracoCand
~DTTracoCand()
Destructor.
Definition:
DTTracoCand.cc:100
DTTracoCand::operator=
DTTracoCand & operator=(const DTTracoCand &tccand)
Assignment operator.
Definition:
DTTracoCand.cc:108
DTBtiTrigData::btiNumber
int btiNumber() const
Return parent BTI number.
Definition:
DTBtiTrigData.h:120
pos
Definition:
PixelAliasList.h:18
DTBtiTrigData::btiSL
int btiSL() const
Return parent BTI superlayer.
Definition:
DTBtiTrigData.h:125
DTTracoChip::IBTIOFF
int IBTIOFF() const
IBTIOFF parameter.
Definition:
DTTracoChip.h:128
DTBtiTrigData::K
int K() const
Return trigger K parameter.
Definition:
DTBtiTrigData.h:140
DTTracoCand::_usable
int _usable
Definition:
DTTracoCand.h:116
DTTracoChip
Definition:
DTTracoChip.h:53
DTTracoCand::_tcX
int _tcX
Definition:
DTTracoCand.h:117
gather_cfg.cout
cout
Definition:
gather_cfg.py:144
step
step
Definition:
StallMonitor.cc:105
DTTracoCand
Definition:
DTTracoCand.h:38
DTConfig::NBTITC
static const int NBTITC
Definition:
DTConfig.h:38
DTTracoCand::_traco
DTTracoChip * _traco
Definition:
DTTracoCand.h:108
DTTracoChip.h
DTTracoCand.h
DTTracoCand::print
void print() const
Print candidate.
Definition:
DTTracoCand.cc:122
DTTracoCand::_tcK
int _tcK
Definition:
DTTracoCand.h:118
DTBtiTrigData::code
int code() const
Return trigger code.
Definition:
DTBtiTrigData.h:135
Generated for CMSSW Reference Manual by
1.8.11