15 TrackletEngineDisplaced::TrackletEngineDisplaced(
string name,
27 string name1 =
name.substr(1);
28 if (name1[3] ==
'L') {
31 if (name1[3] ==
'D') {
34 if (name1[11] ==
'L') {
37 if (name1[11] ==
'D') {
40 if (name1[12] ==
'L') {
43 if (name1[12] ==
'D') {
68 if (
output ==
"stubpairout") {
74 throw cms::Exception(
"BadConfig") << __FILE__ <<
" " << __LINE__ <<
" Could not find output : " <<
output;
82 if (
input ==
"firstvmstubin") {
88 if (
input ==
"secondvmstubin") {
94 throw cms::Exception(
"BadConfig") << __FILE__ <<
" " << __LINE__ <<
" Could not find input : " <<
input;
104 unsigned int countall = 0;
105 unsigned int countpass = 0;
106 unsigned int nInnerStubs = 0;
108 for (
unsigned int iInnerMem = 0; iInnerMem <
firstvmstubs_.size();
109 nInnerStubs +=
firstvmstubs_.at(iInnerMem)->nVMStubs(), iInnerMem++)
116 assert(iInnerMem->nVMStubs() == iInnerMem->nVMStubs());
117 for (
unsigned int i = 0;
i < iInnerMem->nVMStubs();
i++) {
118 const VMStubTE& firstvmstub = iInnerMem->getVMStubTE(
i);
124 int lookupbits = firstvmstub.
vmbits().
value() & 1023;
125 int zdiffmax = (lookupbits >> 7);
126 int newbin = (lookupbits & 127);
127 int bin = newbin / 8;
129 int zbinfirst = newbin & 7;
139 for (
int ibin =
start; ibin <=
last; ibin++) {
153 if (zbin < zbinfirst || zbin - zbinfirst > zdiffmax) {
177 edm::LogVerbatim(
"Tracklet") <<
"Stub pair rejected because of stub pt cut bends : "
186 for (
unsigned int isp = 0; isp <
stubpairs_.size(); ++isp) {
190 ofstream
fout(
"seeds.txt", ofstream::app);
203 int lookupbits = firstvmstub.
vmbits().
value() & 1023;
204 int zdiffmax = (lookupbits >> 7);
205 int newbin = (lookupbits & 127);
206 int bin = newbin / 8;
208 int zbinfirst = newbin & 7;
218 for (
int ibin =
start; ibin <=
last; ibin++) {
233 if (zbin < zbinfirst || zbin - zbinfirst > zdiffmax) {
257 edm::LogVerbatim(
"Tracklet") <<
"Stub pair rejected because of stub pt cut bends : "
266 for (
unsigned int isp = 0; isp <
stubpairs_.size(); ++isp) {
270 ofstream
fout(
"seeds.txt", ofstream::app);
286 int lookupbits = firstvmstub.
vmbits().
value() & 511;
288 int rdiffmax = (lookupbits >> 6);
289 int newbin = (lookupbits & 63);
290 int bin = newbin / 8;
292 int rbinfirst = newbin & 7;
299 for (
int ibin =
start; ibin <=
last; ibin++) {
315 if (rbin < rbinfirst)
317 if (rbin - rbinfirst > rdiffmax)
320 unsigned int irsecondbin = secondvmstub.
vmbits().
value() >> 2;
337 edm::LogVerbatim(
"Tracklet") <<
"Stub pair rejected because of stub pt cut bends : "
347 for (
unsigned int isp = 0; isp <
stubpairs_.size(); ++isp) {
351 ofstream
fout(
"seeds.txt", ofstream::app);
364 if (countall > 5000) {
365 edm::LogVerbatim(
"Tracklet") <<
"In TrackletEngineDisplaced::execute : " <<
getName() <<
" " << nInnerStubs <<
" "
368 for (
unsigned int i = 0;
i < iInnerMem->nVMStubs();
i++) {
369 const VMStubTE& firstvmstub = iInnerMem->getVMStubTE(
i);
370 edm::LogVerbatim(
"Tracklet") <<
"In TrackletEngineDisplaced::execute first stub : "
379 edm::LogVerbatim(
"Tracklet") <<
"In TrackletEngineDisplaced::execute second stub : "
397 unsigned int finddir = tablePath.find(
"table_TED_");
398 tableName = tablePath.substr(0, finddir) +
"table_" +
name_ +
".txt";
406 istringstream iss(
line);
416 for (
unsigned int isp = 0; isp <
stubpairs_.size(); ++isp)