52 throw cms::Exception(
"DTTPG") <<
"===> ConfigBti constructor : not a BTI string!" << std::endl;
56 unsigned short int memory_bti[31];
57 for(
int i=0;
i<31;
i++){
58 memory_bti[
i] = buffer[
i+5];
62 int st43 = memory_bti[0] & 0x3f;
63 wmask[6] = memory_bti[1] & 0x01;
64 wmask[7] = (memory_bti[1] >> 1 )& 0x01;
65 wmask[8] = (memory_bti[1] >> 2 )& 0x01;
66 int re43 = (memory_bti[1] >> 4 )& 0x03;
67 wmask[0] = memory_bti[2] & 0x01;
68 wmask[1] = (memory_bti[2] >> 1) & 0x01;
69 wmask[2] = (memory_bti[2] >> 2 )& 0x01;
70 wmask[3] = (memory_bti[2] >> 3 )& 0x01;
71 wmask[4] = (memory_bti[2] >> 4 )& 0x01;
72 wmask[5] = (memory_bti[2] >> 5 )& 0x01;
73 int dead = memory_bti[3] & 0x3F;
74 int LH = memory_bti[4] & 0x3F;
75 int LL = memory_bti[5] & 0x3F;
76 int CH = memory_bti[6] & 0x3F;
77 int CL = memory_bti[7] & 0x3F;
78 int RH = memory_bti[8] & 0x3F;
79 int RL = memory_bti[9] & 0x3F;
80 int tston = ( memory_bti[10] & 0x20 ) != 0 ;
81 int test = ( memory_bti[10] & 0x10 ) != 0 ;
82 int ten = ( memory_bti[10] & 0x8 ) != 0 ;
83 int xon = ( memory_bti[10] & 0x2 ) != 0 ;
84 int ron = ( memory_bti[10] & 0x1 ) != 0 ;
85 int set = ( memory_bti[11] & 0x38 ) >> 3 ;
86 int lts = ( memory_bti[11] & 0x6 ) >> 1 ;
87 int ac1 = ( memory_bti[12] & 0x30 ) >> 4 ;
88 int ac2 = ( memory_bti[12] & 0xc ) >> 2 ;
89 int acl = ( memory_bti[12] & 0x3 ) ;
90 int ach = ( memory_bti[13] & 0x30 ) >> 4 ;
93 for(
int ir=0; ir<6; ir++)
95 pmask[0+6*ir] = memory_bti[19-ir] & 0x01;
96 pmask[1+6*ir] = (memory_bti[19-ir] >> 1 )& 0x01;
99 pmask[2+6*ir] = (memory_bti[19-ir] >> 2 )& 0x01;
100 pmask[3+6*ir] = (memory_bti[19-ir] >> 3 )& 0x01;
101 pmask[4+6*ir] = (memory_bti[19-ir] >> 4 )& 0x01;
102 pmask[5+6*ir] = (memory_bti[19-ir] >> 5 )& 0x01;
117 <<
" tston=" << tston
130 for(
int iw=0; iw<9; iw++)
132 std::cout << std::dec <<
"\n pattern masks= ";
133 for(
int ip=0; ip<32; ip++)
143 for(
int ip=0; ip<32; ip++)
146 for(
int iw=0; iw<9; iw++)
203 for(
int p=0;
p<32;
p++)
206 char patt0 = (
p/10)+
'0';
207 char patt1 = (
p%10)+
'0';
209 label = label + patt0;
210 label = label + patt1;
216 for(
int w=0;
w<9;
w++)
220 label = label + wname;
242 std::cout <<
"******************************************************************************" << std::endl;
243 std::cout <<
"* DTTrigger configuration : BTI chips *" << std::endl;
244 std::cout <<
"******************************************************************************" << std::endl;
247 std::cout <<
"Max K param accepted : " <<
KCut() << std::endl;
249 std::cout <<
"Time indep. K equation suppression (XON) : " <<
XON() << std::endl;
250 std::cout <<
"LTS for low trigger suppression : " <<
LTS() << std::endl;
251 std::cout <<
"SET for low trigger suppression : " <<
SET() << std::endl;
252 std::cout <<
"pattern acceptance AC1, AC2, ACH, ACL : " <<
256 for(
int p=0;
p<32;
p++)
261 for(
int w=1;
w<=9;
w++)
265 std::cout <<
"angular window limits for traco : " <<
LL() <<
", " <<
LH() <<
", " 266 <<
CL() <<
", " <<
CH() <<
", " <<
RL() <<
", " <<
RH() << std::endl;
267 std::cout <<
"drift velocity parameter 4ST3 : " <<
ST43() << std::endl;
268 std::cout <<
"drift velocity parameter 4RE3 : " <<
RE43() << std::endl;
271 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.