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') {
70 if (
output ==
"stubpairout") {
76 throw cms::Exception(
"BadConfig") << __FILE__ <<
" " << __LINE__ <<
" Could not find output : " <<
output;
84 if (
input ==
"firstvmstubin") {
90 if (
input ==
"secondvmstubin") {
96 throw cms::Exception(
"BadConfig") << __FILE__ <<
" " << __LINE__ <<
" Could not find input : " <<
input;
103 unsigned int countall = 0;
104 unsigned int countpass = 0;
105 unsigned int nInnerStubs = 0;
107 for (
unsigned int iInnerMem = 0; iInnerMem <
firstvmstubs_.size();
108 nInnerStubs +=
firstvmstubs_.at(iInnerMem)->nVMStubs(), iInnerMem++)
115 assert(iInnerMem->nVMStubs() == iInnerMem->nVMStubs());
116 for (
unsigned int i = 0;
i < iInnerMem->nVMStubs();
i++) {
117 const VMStubTE& firstvmstub = iInnerMem->getVMStubTE(
i);
123 int lookupbits = firstvmstub.
vmbits().
value() & 1023;
124 int zdiffmax = (lookupbits >> 7);
125 int newbin = (lookupbits & 127);
126 int bin = newbin / 8;
128 int zbinfirst = newbin & 7;
138 for (
int ibin =
start; ibin <=
last; ibin++) {
152 if (zbin < zbinfirst || zbin - zbinfirst > zdiffmax) {
178 edm::LogVerbatim(
"Tracklet") <<
"Stub pair rejected because of stub pt cut bends : "
188 for (
unsigned int isp = 0; isp <
stubpairs_.size(); ++isp) {
191 ofstream
fout(
"seeds.txt", ofstream::app);
204 int lookupbits = firstvmstub.
vmbits().
value() & 1023;
205 int zdiffmax = (lookupbits >> 7);
206 int newbin = (lookupbits & 127);
207 int bin = newbin / 8;
209 int zbinfirst = newbin & 7;
219 for (
int ibin =
start; ibin <=
last; ibin++) {
234 if (zbin < zbinfirst || zbin - zbinfirst > zdiffmax) {
260 edm::LogVerbatim(
"Tracklet") <<
"Stub pair rejected because of stub pt cut bends : "
268 for (
unsigned int isp = 0; isp <
stubpairs_.size(); ++isp) {
271 ofstream
fout(
"seeds.txt", ofstream::app);
287 int lookupbits = firstvmstub.
vmbits().
value() & 511;
289 int rdiffmax = (lookupbits >> 6);
290 int newbin = (lookupbits & 63);
291 int bin = newbin / 8;
293 int rbinfirst = newbin & 7;
300 for (
int ibin =
start; ibin <=
last; ibin++) {
316 if (rbin < rbinfirst)
318 if (rbin - rbinfirst > rdiffmax)
321 unsigned int irsecondbin = secondvmstub.
vmbits().
value() >> 2;
340 edm::LogVerbatim(
"Tracklet") <<
"Stub pair rejected because of stub pt cut bends : "
349 for (
unsigned int isp = 0; isp <
stubpairs_.size(); ++isp) {
352 ofstream
fout(
"seeds.txt", ofstream::app);
365 if (countall > 5000) {
366 edm::LogVerbatim(
"Tracklet") <<
"In TrackletEngineDisplaced::execute : " <<
getName() <<
" " << nInnerStubs <<
" "
369 for (
unsigned int i = 0;
i < iInnerMem->nVMStubs();
i++) {
370 const VMStubTE& firstvmstub = iInnerMem->getVMStubTE(
i);
371 edm::LogVerbatim(
"Tracklet") <<
"In TrackletEngineDisplaced::execute first stub : "
380 edm::LogVerbatim(
"Tracklet") <<
"In TrackletEngineDisplaced::execute second stub : "
398 unsigned int finddir = tablePath.find(
"table_TED_");
399 tableName = tablePath.substr(0, finddir) +
"table_" +
name_ +
".txt";
407 istringstream iss(
line);