46 if (buffer[2] != 0x15) {
47 throw cms::Exception(
"DTTPG") <<
"===> ConfigTraco constructor : not a TRACO string!" << std::endl;
51 unsigned short int memory_traco[38];
53 for (
int i = 0;
i < 38;
i++) {
54 memory_traco[
i] = buffer[
i + 5];
57 int btic = memory_traco[0] & 0x3f;
58 int rad = ((memory_traco[0] & 0xc0) >> 6) | ((memory_traco[1] & 0x7) << 2);
59 int dd = (memory_traco[1] & 0xf8) >> 3;
60 int fprgcomp = memory_traco[2] & 0x3;
61 int sprgcomp = memory_traco[3] & 0x3;
62 int fhism = (memory_traco[2] & 0x4) != 0;
63 int fhtprf = (memory_traco[2] & 0x8) != 0;
64 int fslmsk = (memory_traco[2] & 0x10) != 0;
65 int fltmsk = (memory_traco[2] & 0x20) != 0;
66 int fhtmsk = (memory_traco[2] & 0x40) != 0;
67 int shism = (memory_traco[3] & 0x4) != 0;
68 int shtprf = (memory_traco[3] & 0x8) != 0;
69 int sslmsk = (memory_traco[3] & 0x10) != 0;
70 int sltmsk = (memory_traco[3] & 0x20) != 0;
71 int shtmsk = (memory_traco[3] & 0x40) != 0;
72 int reusei = (memory_traco[2] & 0x80) != 0;
73 int reuseo = (memory_traco[3] & 0x80) != 0;
74 int ltf = (memory_traco[4] & 1) != 0;
75 int lts = (memory_traco[4] & 2) != 0;
76 int prgdel = (memory_traco[4] & 0x1c) >> 2;
77 int snapcor = (memory_traco[4] & 0xe0) >> 5;
79 for (
int it = 0; it < 2; it++) {
80 trgenb[0 + it * 8] = memory_traco[5 + it] & 0x01;
81 trgenb[1 + it * 8] = (memory_traco[5 + it] >> 1) & 0x01;
82 trgenb[2 + it * 8] = (memory_traco[5 + it] >> 1) & 0x01;
83 trgenb[3 + it * 8] = (memory_traco[5 + it] >> 1) & 0x01;
84 trgenb[4 + it * 8] = (memory_traco[5 + it] >> 1) & 0x01;
85 trgenb[5 + it * 8] = (memory_traco[5 + it] >> 1) & 0x01;
86 trgenb[6 + it * 8] = (memory_traco[5 + it] >> 1) & 0x01;
87 trgenb[7 + it * 8] = (memory_traco[5 + it] >> 1) & 0x01;
89 int trgadel = memory_traco[7] & 0x3;
90 int ibtioff = (memory_traco[7] & 0xfc) >> 2;
91 int kprgcom = (memory_traco[8] & 0xff);
92 int testmode = (memory_traco[9] & 1) != 0;
93 int starttest = (memory_traco[9] & 2) != 0;
94 int prvsignmux = (memory_traco[9] & 4) != 0;
95 int lth = (memory_traco[9] & 8) != 0;
98 std::cout <<
"btic=" << btic <<
" rad=" << rad <<
" dd=" << dd <<
" fprgcomp=" << fprgcomp
99 <<
" sprgcomp=" << sprgcomp <<
" fhism=" << fhism <<
" fhtprf=" << fhtprf <<
" fslmsk=" << fslmsk
100 <<
" fltmsk=" << fltmsk <<
" fhtmsk=" << fhtmsk <<
" shism=" << shism <<
" shtprf=" << shtprf
101 <<
" sslmsk=" << sslmsk <<
" sltmsk=" << sltmsk <<
" shtmsk=" << shtmsk <<
" reusei=" << reusei
102 <<
" reuseo=" << reuseo <<
" ltf=" << ltf <<
" lts=" << lts <<
" prgdel=" << prgdel
103 <<
" snapcor=" << snapcor <<
" trgenb=";
104 for (
int t = 0;
t < 16;
t++)
106 std::cout <<
" trgadel=" << trgadel <<
" ibtioff=" << ibtioff <<
" kprgcom=" << kprgcom <<
" testmode=" << testmode
107 <<
" starttest=" << starttest <<
" prvsignmux=" << prvsignmux <<
" lth=" << lth << std::endl;
134 for (
int t = 0;
t < 16;
t++)
198 for (
int b = 0;
b < 16;
b++) {
200 char p0 = (
b / 10) +
'0';
201 char p1 = (
b % 10) +
'0';
220 std::cout <<
"******************************************************************************" << std::endl;
221 std::cout <<
"* DTTrigger configuration : TRACO chips *" << std::endl;
222 std::cout <<
"******************************************************************************" << std::endl;
225 std::cout <<
"KRAD traco parameter : " <<
KRAD() << std::endl;
226 std::cout <<
"BTIC traco parameter : " <<
BTIC() << std::endl;
227 std::cout <<
"DD traco parameter : " <<
DD() << std::endl;
237 std::cout <<
"Connected bti in traco - bti mask : ";
238 for (
int b = 1;
b <= 16;
b++)
244 std::cout <<
"******************************************************************************" << std::endl;
DTConfigTraco()
Constructor.
T getUntrackedParameter(std::string const &, T const &) const
void print() const
Print the setup.
void setPrefInner(int i, int prefInner)
Set Preference to inner on first/second tracks: F(S)SLMSK.
void setBTIC(int BTIC)
Set BTIC traco parameter: must be equal to Btis ST parameter.
void setDefaults(const edm::ParameterSet &ps)
Set default parameters.
void setSingleLenab(int i, int singleLenab)
Set Single LTRIG accept enabling on first/second tracks LTF.
int KRAD() const
KRAD traco parameter.
int prefHtrig(int i) const
Preference to HTRIG on first/second tracks: F(S)HTPRF.
int LVALIDIFH() const
Flag for Low validation parameter.
void setSortKascend(int i, int sortKascend)
Set Ascend. order for K sorting first/second tracks: F(S)HISM.
int singleLenab(int i) const
Single LTRIG accept enabling on first/second tracks LTF.
void setIBTIOFF(int IBTIOFF)
Set IBTIOFF traco parameter.
int BTIC() const
BTIC traco parameter: must be equal to Btis ST parameter.
void setUsedBti(int bti, int mask)
Set Connected bti in traco: bti mask.
void setDD(int DD)
Set DD traco parameter: this is fixed.
void setPrefHtrig(int i, int prefHtrig)
Set Preference to HTRIG on first/second tracks: F(S)HTPRF.
int BendingAngleCut() const
Bending angle cut for all stations and triggers : KPRGCOM.
void setBendingAngleCut(int BendingAngleCut)
Set Bending angle cut for all stations and triggers : KPRGCOM.
void setTcKToll(int i, int TcKToll)
Set K tollerance for correlation in TRACO: F(S)PRGCOMP.
void setSingleHflag(int i, int singleHflag)
Set Single HTRIG enabling on first/second tracks F(S)HTMSK.
int TcBxLts() const
Suppr. of LTRIG in 4 BX before HTRIG: LTS.
void setTcReuse(int i, int TcReuse)
Set Recycling of TRACO cand. in inner/outer SL : REUSEI/REUSEO.
int singleHflag(int i) const
Single HTRIG enabling on first/second tracks F(S)HTMSK.
int TcKToll(int i) const
K tollerance for correlation in TRACO: F(S)PRGCOMP.
int prefInner(int i) const
Preference to inner on first/second tracks: F(S)SLMSK.
void setKRAD(int KRAD)
Set KRAD traco parameter.
T getParameter(std::string const &) const
void setSingleLflag(int i, int singleLflag)
Set Single LTRIG enabling on first/second tracks: F(S)LTMSK.
int usedBti(int bti) const
Connected bti in traco: bti mask.
void setTcBxLts(int TcBxLts)
Set Suppr. of LTRIG in 4 BX before HTRIG: LTS.
int DD() const
DD traco parameter: this is fixed.
int singleLflag(int i) const
Single LTRIG enabling on first/second tracks: F(S)LTMSK.
void setLVALIDIFH(int LVALIDIFH)
Set Flag for Low validation parameter.
int TcReuse(int i) const
Recycling of TRACO cand. in inner/outer SL : REUSEI/REUSEO.
int debug() const
Debug flag.
int sortKascend(int i) const
Ascend. order for K sorting first/second tracks: F(S)HISM.
int IBTIOFF() const
IBTIOFF traco parameter.
~DTConfigTraco() override
Destructor.