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++) {
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++)
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';
189 for (
int w = 0;
w < 9;
w++) {
191 char wname =
w +
'0';
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;
void setWENflag(int mask, int wire)
Set Wire mask flag.
T getParameter(std::string const &) const
int WENflag(int wire) const
Wire mask flag.
void setLL(int LL)
Set K left limit for left traco.
void setRONflag(bool RON)
Set Redundant patterns flag RONDTBti/src/DTBtiChipEquations.cc:
void setCL(int CL)
Set K left limit for center traco.
void setRL(int RL)
Set K left limit for right traco.
int RH() const
K right limit for right traco.
int LH() const
K right limit for left traco.
bool RONflag() const
Redundant patterns flag RONDTBti/src/DTBtiChipEquations.cc:
~DTConfigBti() override
Destructor.
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.
int PTMSflag(int patt) const
Pattern mask flag.
int KCut() const
Max K param accepted: max bit number.
T getUntrackedParameter(std::string const &, T const &) const
int CH() const
K right limit for center traco.
void setST43(int ST43)
Set ST and RE parameters for drift velocity.
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 AccPattACL() const
Acceptance pattern ACL.
bool XON() const
X-patterns flag XON: activates tracks passing on the same side of 3 wires.
void setPTMSflag(int mask, int patt)
Set Pattern mask flag.
void print() const
Print the setup.
void setKCut(int KCut)
Set Max K param accepted: max bit number.
int CL() const
K left limit for center traco.
int RL() const
K left limit for right traco.
int AccPattACH() const
Acceptance pattern ACH.
int debug() const
Debug flag.
void setCH(int CH)
Set K right limit for center traco.
int AccPattAC2() const
Acceptance pattern AC2.
int LL() const
K left limit for left traco.
int DEADpar() const
Wire DEAD time parameter.
void setRH(int RH)
Set K right limit for right traco.
void setAccPattAC2(int AC2)
Set Acceptance pattern AC2.
void setAccPattACH(int ACH)
Set Acceptance pattern ACH.
void setAccPattAC1(int AC1)
Set Acceptance pattern AC1.
DTConfigBti()
Empty Constructor.
int AccPattAC1() const
Acceptance pattern AC1.
int ST43() const
ST and RE parameters for drift velocity.
int KAccTheta() const
BTI angular acceptance in theta view.