|
|
Go to the documentation of this file.
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++) {
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;
int usedBti(int bti) const
Connected bti in traco: bti mask.
int sortKascend(int i) const
Ascend. order for K sorting first/second tracks: F(S)HISM.
int BTIC() const
BTIC traco parameter: must be equal to Btis ST parameter.
void setTcKToll(int i, int TcKToll)
Set K tollerance for correlation in TRACO: F(S)PRGCOMP.
~DTConfigTraco() override
Destructor.
int prefHtrig(int i) const
Preference to HTRIG on first/second tracks: F(S)HTPRF.
DTConfigTraco()
Constructor.
void setIBTIOFF(int IBTIOFF)
Set IBTIOFF traco parameter.
void setPrefHtrig(int i, int prefHtrig)
Set Preference to HTRIG on first/second tracks: F(S)HTPRF.
int TcReuse(int i) const
Recycling of TRACO cand. in inner/outer SL : REUSEI/REUSEO.
void setBendingAngleCut(int BendingAngleCut)
Set Bending angle cut for all stations and triggers : KPRGCOM.
void setSortKascend(int i, int sortKascend)
Set Ascend. order for K sorting first/second tracks: F(S)HISM.
void setDD(int DD)
Set DD traco parameter: this is fixed.
int TcBxLts() const
Suppr. of LTRIG in 4 BX before HTRIG: LTS.
T getUntrackedParameter(std::string const &, T const &) const
void setSingleLflag(int i, int singleLflag)
Set Single LTRIG enabling on first/second tracks: F(S)LTMSK.
void setTcBxLts(int TcBxLts)
Set Suppr. of LTRIG in 4 BX before HTRIG: LTS.
void setUsedBti(int bti, int mask)
Set Connected bti in traco: bti mask.
int TcKToll(int i) const
K tollerance for correlation in TRACO: F(S)PRGCOMP.
int KRAD() const
KRAD traco parameter.
int LVALIDIFH() const
Flag for Low validation parameter.
void print() const
Print the setup.
void setKRAD(int KRAD)
Set KRAD traco parameter.
void setPrefInner(int i, int prefInner)
Set Preference to inner on first/second tracks: F(S)SLMSK.
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.
void setBTIC(int BTIC)
Set BTIC traco parameter: must be equal to Btis ST parameter.
int DD() const
DD traco parameter: this is fixed.
int singleLenab(int i) const
Single LTRIG accept enabling on first/second tracks LTF.
int prefInner(int i) const
Preference to inner on first/second tracks: F(S)SLMSK.
void setTcReuse(int i, int TcReuse)
Set Recycling of TRACO cand. in inner/outer SL : REUSEI/REUSEO.
void setSingleHflag(int i, int singleHflag)
Set Single HTRIG enabling on first/second tracks F(S)HTMSK.
int singleLflag(int i) const
Single LTRIG enabling on first/second tracks: F(S)LTMSK.
int BendingAngleCut() const
Bending angle cut for all stations and triggers : KPRGCOM.
T getParameter(std::string const &) const
int IBTIOFF() const
IBTIOFF traco parameter.
int singleHflag(int i) const
Single HTRIG enabling on first/second tracks F(S)HTMSK.
void setLVALIDIFH(int LVALIDIFH)
Set Flag for Low validation parameter.
int debug() const
Debug flag.