46 if (buffer[2] != 0x54) {
47 throw cms::Exception(
"DTTPG") <<
"===> ConfigBti constructor : not a BTI string!" << std::endl;
51 unsigned short int memory_bti[31];
52 for (
int i = 0;
i < 31;
i++) {
53 memory_bti[
i] = buffer[
i + 5];
57 int st43 = memory_bti[0] & 0x3f;
58 wmask[6] = memory_bti[1] & 0x01;
59 wmask[7] = (memory_bti[1] >> 1) & 0x01;
60 wmask[8] = (memory_bti[1] >> 2) & 0x01;
61 int re43 = (memory_bti[1] >> 4) & 0x03;
62 wmask[0] = memory_bti[2] & 0x01;
63 wmask[1] = (memory_bti[2] >> 1) & 0x01;
64 wmask[2] = (memory_bti[2] >> 2) & 0x01;
65 wmask[3] = (memory_bti[2] >> 3) & 0x01;
66 wmask[4] = (memory_bti[2] >> 4) & 0x01;
67 wmask[5] = (memory_bti[2] >> 5) & 0x01;
68 int dead = memory_bti[3] & 0x3F;
69 int LH = memory_bti[4] & 0x3F;
70 int LL = memory_bti[5] & 0x3F;
71 int CH = memory_bti[6] & 0x3F;
72 int CL = memory_bti[7] & 0x3F;
73 int RH = memory_bti[8] & 0x3F;
74 int RL = memory_bti[9] & 0x3F;
75 int tston = (memory_bti[10] & 0x20) != 0;
76 int test = (memory_bti[10] & 0x10) != 0;
77 int ten = (memory_bti[10] & 0x8) != 0;
78 int xon = (memory_bti[10] & 0x2) != 0;
79 int ron = (memory_bti[10] & 0x1) != 0;
80 int set = (memory_bti[11] & 0x38) >> 3;
81 int lts = (memory_bti[11] & 0x6) >> 1;
82 int ac1 = (memory_bti[12] & 0x30) >> 4;
83 int ac2 = (memory_bti[12] & 0xc) >> 2;
84 int acl = (memory_bti[12] & 0x3);
85 int ach = (memory_bti[13] & 0x30) >> 4;
88 for (
int ir = 0; ir < 6; ir++) {
89 pmask[0 + 6 * ir] = memory_bti[19 - ir] & 0x01;
90 pmask[1 + 6 * ir] = (memory_bti[19 - ir] >> 1) & 0x01;
92 pmask[2 + 6 * ir] = (memory_bti[19 - ir] >> 2) & 0x01;
93 pmask[3 + 6 * ir] = (memory_bti[19 - ir] >> 3) & 0x01;
94 pmask[4 + 6 * ir] = (memory_bti[19 - ir] >> 4) & 0x01;
95 pmask[5 + 6 * ir] = (memory_bti[19 - ir] >> 5) & 0x01;
101 std::cout <<
std::dec <<
"st43=" << st43 <<
" re43=" << re43 <<
" dead=" << dead <<
" LH=" << LH <<
" LL=" << LL
102 <<
" CH=" << CH <<
" CL=" << CL <<
" RH=" << RH <<
" RL=" << RL <<
" tston=" << tston <<
" test=" << test
103 <<
" ten=" << ten <<
" xon=" << xon <<
" ron=" << ron <<
" set=" <<
set <<
" lts=" << lts
104 <<
" ac1=" << ac1 <<
" ac2=" << ac2 <<
" acl=" << acl <<
" ach=" << ach << std::endl;
106 for (
int iw = 0; iw < 9; iw++)
108 std::cout << std::dec <<
"\n pattern masks= ";
109 for (
int ip = 0; ip < 32; ip++)
119 for (
int ip = 0; ip < 32; ip++)
122 for (
int iw = 0; iw < 9; iw++)
177 for (
int p = 0;
p < 32;
p++) {
179 char patt0 = (
p / 10) +
'0';
180 char patt1 = (
p % 10) +
'0';
182 label = label + patt0;
183 label = label + patt1;
189 for (
int w = 0;
w < 9;
w++) {
191 char wname =
w +
'0';
192 label = label + wname;
213 std::cout <<
"******************************************************************************" << std::endl;
214 std::cout <<
"* DTTrigger configuration : BTI chips *" << std::endl;
215 std::cout <<
"******************************************************************************" << std::endl;
218 std::cout <<
"Max K param accepted : " <<
KCut() << std::endl;
220 std::cout <<
"Time indep. K equation suppression (XON) : " <<
XON() << std::endl;
221 std::cout <<
"LTS for low trigger suppression : " <<
LTS() << std::endl;
222 std::cout <<
"SET for low trigger suppression : " <<
SET() << std::endl;
227 for (
int p = 0;
p < 32;
p++)
232 for (
int w = 1;
w <= 9;
w++)
236 std::cout <<
"angular window limits for traco : " <<
LL() <<
", " <<
LH() <<
", " <<
CL() <<
", " <<
CH() <<
", " 237 <<
RL() <<
", " <<
RH() << std::endl;
238 std::cout <<
"drift velocity parameter 4ST3 : " <<
ST43() << std::endl;
239 std::cout <<
"drift velocity parameter 4RE3 : " <<
RE43() << std::endl;
242 std::cout <<
"******************************************************************************" << std::endl;
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
void setWENflag(int mask, int wire)
Set Wire mask flag.
int debug() const
Debug flag.
int RL() const
K left limit for right traco.
void setLL(int LL)
Set K left limit for left traco.
int AccPattACL() const
Acceptance pattern ACL.
void setRONflag(bool RON)
Set Redundant patterns flag RONDTBti/src/DTBtiChipEquations.cc:
int DEADpar() const
Wire DEAD time parameter.
int ST43() const
ST and RE parameters for drift velocity.
void setCL(int CL)
Set K left limit for center traco.
void setRL(int RL)
Set K left limit for right traco.
int CH() const
K right limit for center traco.
~DTConfigBti() override
Destructor.
int AccPattAC1() const
Acceptance pattern AC1.
void setKAccTheta(int KAccTh)
Set BTI angular acceptance in theta view.
void setLH(int LH)
Set K right limit for left traco.
void setDefaults(const edm::ParameterSet &ps)
Set default parameters.
void setST43(int ST43)
Set ST and RE parameters for drift velocity.
int LL() const
K left limit for left traco.
void setSET(int SET)
Set SET.
void setAccPattACL(int ACL)
Set Acceptance pattern ACL.
BitArray< 32 > m_pattmask
void setLTS(int LTS)
Set LTS.
void setXON(bool XON)
Set X-patterns flag XON: activates tracks passing on the same side of 3 wires.
void setDEADpar(int DEAD)
Wire DEAD time parameter.
int KCut() const
Max K param accepted: max bit number.
int PTMSflag(int patt) const
Pattern mask flag.
void setPTMSflag(int mask, int patt)
Set Pattern mask flag.
int KAccTheta() const
BTI angular acceptance in theta view.
int AccPattAC2() const
Acceptance pattern AC2.
void setKCut(int KCut)
Set Max K param accepted: max bit number.
void print() const
Print the setup.
int AccPattACH() const
Acceptance pattern ACH.
void setCH(int CH)
Set K right limit for center traco.
int LH() const
K right limit for left traco.
int RH() const
K right limit for right traco.
void setRH(int RH)
Set K right limit for right traco.
void setAccPattAC2(int AC2)
Set Acceptance pattern AC2.
bool RONflag() const
Redundant patterns flag RONDTBti/src/DTBtiChipEquations.cc:
void setAccPattACH(int ACH)
Set Acceptance pattern ACH.
void setAccPattAC1(int AC1)
Set Acceptance pattern AC1.
int CL() const
K left limit for center traco.
DTConfigBti()
Empty Constructor.
int WENflag(int wire) const
Wire mask flag.
bool XON() const
X-patterns flag XON: activates tracks passing on the same side of 3 wires.