50 throw cms::Exception(
"DTTPG") <<
"===> ConfigBti constructor : not a BTI string!" << std::endl;
54 unsigned short int memory_bti[31];
55 for(
int i=0;
i<31;
i++){
56 memory_bti[
i] = buffer[
i+5];
60 int st43 = memory_bti[0] & 0x3f;
61 wmask[6] = memory_bti[1] & 0x01;
62 wmask[7] = (memory_bti[1] >> 1 )& 0x01;
63 wmask[8] = (memory_bti[1] >> 2 )& 0x01;
64 int re43 = (memory_bti[1] >> 4 )& 0x03;
65 wmask[0] = memory_bti[2] & 0x01;
66 wmask[1] = (memory_bti[2] >> 1) & 0x01;
67 wmask[2] = (memory_bti[2] >> 2 )& 0x01;
68 wmask[3] = (memory_bti[2] >> 3 )& 0x01;
69 wmask[4] = (memory_bti[2] >> 4 )& 0x01;
70 wmask[5] = (memory_bti[2] >> 5 )& 0x01;
71 int dead = memory_bti[3] & 0x3F;
72 int LH = memory_bti[4] & 0x3F;
73 int LL = memory_bti[5] & 0x3F;
74 int CH = memory_bti[6] & 0x3F;
75 int CL = memory_bti[7] & 0x3F;
76 int RH = memory_bti[8] & 0x3F;
77 int RL = memory_bti[9] & 0x3F;
78 int tston = ( memory_bti[10] & 0x20 ) != 0 ;
79 int test = ( memory_bti[10] & 0x10 ) != 0 ;
80 int ten = ( memory_bti[10] & 0x8 ) != 0 ;
81 int xon = ( memory_bti[10] & 0x2 ) != 0 ;
82 int ron = ( memory_bti[10] & 0x1 ) != 0 ;
83 int set = ( memory_bti[11] & 0x38 ) >> 3 ;
84 int lts = ( memory_bti[11] & 0x6 ) >> 1 ;
85 int ac1 = ( memory_bti[12] & 0x30 ) >> 4 ;
86 int ac2 = ( memory_bti[12] & 0xc ) >> 2 ;
87 int acl = ( memory_bti[12] & 0x3 ) ;
88 int ach = ( memory_bti[13] & 0x30 ) >> 4 ;
91 for(
int ir=0; ir<6; ir++)
93 pmask[0+6*ir] = memory_bti[19-ir] & 0x01;
94 pmask[1+6*ir] = (memory_bti[19-ir] >> 1 )& 0x01;
97 pmask[2+6*ir] = (memory_bti[19-ir] >> 2 )& 0x01;
98 pmask[3+6*ir] = (memory_bti[19-ir] >> 3 )& 0x01;
99 pmask[4+6*ir] = (memory_bti[19-ir] >> 4 )& 0x01;
100 pmask[5+6*ir] = (memory_bti[19-ir] >> 5 )& 0x01;
115 <<
" tston=" << tston
127 std::cout << std::dec <<
" wire masks= ";
128 for(
int iw=0; iw<9; iw++)
130 std::cout << std::dec <<
"\n pattern masks= ";
131 for(
int ip=0; ip<32; ip++)
141 for(
int ip=0; ip<32; ip++)
144 for(
int iw=0; iw<9; iw++)
201 for(
int p=0;
p<32;
p++)
203 std::string
label =
"PTMS";
204 char patt0 = (
p/10)+
'0';
205 char patt1 = (
p%10)+
'0';
207 label = label + patt0;
208 label = label + patt1;
214 for(
int w=0; w<9; w++)
216 std::string
label =
"WEN";
218 label = label + wname;
240 std::cout <<
"******************************************************************************" << std::endl;
241 std::cout <<
"* DTTrigger configuration : BTI chips *" << std::endl;
242 std::cout <<
"******************************************************************************" << std::endl;
245 std::cout <<
"Max K param accepted : " <<
KCut() << std::endl;
247 std::cout <<
"Time indep. K equation suppression (XON) : " <<
XON() << std::endl;
248 std::cout <<
"LTS for low trigger suppression : " <<
LTS() << std::endl;
249 std::cout <<
"SET for low trigger suppression : " <<
SET() << std::endl;
250 std::cout <<
"pattern acceptance AC1, AC2, ACH, ACL : " <<
254 for(
int p=0;
p<32;
p++)
259 for(
int w=1; w<=9; w++)
263 std::cout <<
"angular window limits for traco : " <<
LL() <<
", " <<
LH() <<
", "
264 <<
CL() <<
", " <<
CH() <<
", " <<
RL() <<
", " <<
RH() << std::endl;
265 std::cout <<
"drift velocity parameter 4ST3 : " <<
ST43() << std::endl;
266 std::cout <<
"drift velocity parameter 4RE3 : " <<
RE43() << std::endl;
269 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.
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.
~DTConfigBti()
Destructor.
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.