From 82e69506a8d3bf9c7333014ce15e2f6f5068d203 Mon Sep 17 00:00:00 2001 From: Anders Ryd Date: Fri, 7 May 2021 00:09:10 -0400 Subject: [PATCH 1/3] Corrections to fix updates to new LUTs that broke the displaced tracking --- .../interface/TrackletLUT.h | 2 ++ .../TrackFindingTracklet/src/TrackletLUT.cc | 15 +++++---------- L1Trigger/TrackFindingTracklet/src/VMRouter.cc | 14 +++++++------- .../TrackFindingTracklet/src/VMStubsTEMemory.cc | 17 ++++++++++++++--- 4 files changed, 28 insertions(+), 20 deletions(-) diff --git a/L1Trigger/TrackFindingTracklet/interface/TrackletLUT.h b/L1Trigger/TrackFindingTracklet/interface/TrackletLUT.h index 7e7392d372e3a..3d480f0c54adb 100644 --- a/L1Trigger/TrackFindingTracklet/interface/TrackletLUT.h +++ b/L1Trigger/TrackFindingTracklet/interface/TrackletLUT.h @@ -59,6 +59,8 @@ namespace trklet { int lookup(unsigned int index) const; + unsigned int size() const { return table_.size(); } + private: int getphiCorrValue(unsigned int layerdisk, unsigned int ibend, unsigned int irbin, diff --git a/L1Trigger/TrackFindingTracklet/src/TrackletLUT.cc b/L1Trigger/TrackFindingTracklet/src/TrackletLUT.cc index bb48a551f1f4d..308653d61bcb4 100644 --- a/L1Trigger/TrackFindingTracklet/src/TrackletLUT.cc +++ b/L1Trigger/TrackFindingTracklet/src/TrackletLUT.cc @@ -598,7 +598,7 @@ void TrackletLUT::initVMRTable(unsigned int layerdisk, VMRTableType type, int re table_.push_back(getVMRLookup(layerdisk + 1, z, r, dz, dr)); } if (layerdisk == LayerDisk::L2) { - table_.push_back(getVMRLookup(layerdisk + 1, z, r, dz, dr, 1)); + table_.push_back(getVMRLookup(layerdisk + 1, z, r, dz, dr, Seed::L2L3)); } } @@ -611,27 +611,22 @@ void TrackletLUT::initVMRTable(unsigned int layerdisk, VMRTableType type, int re if (type == VMRTableType::innerthird ) { if (layerdisk == LayerDisk::L2) { //projection from L2 to D1 for L2L3D1 seeding - table_.push_back(getVMRLookup(6, z, r, dz, dr, 10)); + table_.push_back(getVMRLookup(LayerDisk::D1, z, r, dz, dr, Seed::L2L3D1)); } if (layerdisk == LayerDisk::L5) { //projection from L5 to L4 for L5L6L4 seeding - table_.push_back(getVMRLookup(3, z, r, dz, dr)); + table_.push_back(getVMRLookup(LayerDisk::L4, z, r, dz, dr)); } if (layerdisk == LayerDisk::L3) { //projection from L3 to L5 for L3L4L2 seeding - table_.push_back(getVMRLookup(1, z, r, dz, dr)); + table_.push_back(getVMRLookup(LayerDisk::L2, z, r, dz, dr)); } if (layerdisk == LayerDisk::D1) { //projection from D1 to L2 for D1D2L2 seeding - table_.push_back(getVMRLookup(1, z, r, dz, dr)); + table_.push_back(getVMRLookup(LayerDisk::L2, z, r, dz, dr)); } } - if (type == VMRTableType::innerthird ) { - if (layerdisk == LayerDisk::L1 || layerdisk == 1) { - table_.push_back(getVMRLookup(N_LAYER, z, r, dz, dr, layerdisk + N_LAYER)); - } - } } } diff --git a/L1Trigger/TrackFindingTracklet/src/VMRouter.cc b/L1Trigger/TrackFindingTracklet/src/VMRouter.cc index 37ca217a0e92e..a8feaeb8bf291 100644 --- a/L1Trigger/TrackFindingTracklet/src/VMRouter.cc +++ b/L1Trigger/TrackFindingTracklet/src/VMRouter.cc @@ -110,7 +110,7 @@ void VMRouter::addOutput(MemoryBase* memory, string output) { } else if (seedtype < 'o' && seedtype >= 'a') { if (layerdisk_ == LayerDisk::L2 || layerdisk_ == LayerDisk::L3) iseed = Seed::L2L3D1; - if (layerdisk_ == LayerDisk::L1) + if (layerdisk_ == LayerDisk::L2) inner = 0; } else if (seedtype > 'o' && seedtype <= 'z') { if (layerdisk_ == LayerDisk::L2) @@ -185,7 +185,7 @@ void VMRouter::execute() { for (unsigned int i = 0; i < stubinput->nStubs(); i++) { if (allStubCounter >= settings_.maxStep("VMR")) continue; - if (allStubCounter > 127) + if (allStubCounter >= (1<getStub(i); @@ -194,7 +194,7 @@ void VMRouter::execute() { //use &127 to make sure we fit into the number of bits - //though we should have protected against overflows above - FPGAWord allStubIndex(allStubCounter & 127, 7, true, __LINE__, __FILE__); + FPGAWord allStubIndex(allStubCounter & ((1<setAllStubIndex(allStubCounter); @@ -287,7 +287,7 @@ void VMRouter::execute() { for (auto& ivmstubTEPHI : vmstubsTEPHI_) { unsigned int iseed = ivmstubTEPHI.seednumber; unsigned int inner = ivmstubTEPHI.stubposition; - if ((iseed == 4 || iseed == 5 || iseed == 6 || iseed == 7) && (!stub->isPSmodule())) + if ((iseed == Seed::D1D2 || iseed == Seed::D3D4 || iseed == Seed::L1D1 || iseed == Seed::L2D1) && (!stub->isPSmodule())) continue; unsigned int lutwidth = settings_.lutwidthtab(inner, iseed); @@ -301,7 +301,7 @@ void VMRouter::execute() { if (layerdisk_ < N_LAYER) { lutval = melut; } else { - if (inner == 2 && iseed == 10) { + if (inner == 2 && iseed == Seed::L2L3D1) { lutval = 0; if (stub->r().value() < 10) { lutval = 8 * (1 + (stub->r().value() >> 2)); @@ -317,14 +317,14 @@ void VMRouter::execute() { if (lutval == -1) continue; } else { - if (iseed < 6 || iseed > 7) { + if (iseed < Seed::L1D1 || iseed > Seed::L2D1) { lutval = innerTable_.lookup((indexz<lookup(ptinnerindex) && pttableouternew_->lookup(ptouterindex))) { if (settings_->debugTracklet()) { edm::LogVerbatim("Tracklet") << " Stub pair rejected because of stub pt cut bends : " << settings_->benddecode( diff --git a/L1Trigger/TrackFindingTracklet/src/TrackletLUT.cc b/L1Trigger/TrackFindingTracklet/src/TrackletLUT.cc index 308653d61bcb4..a1a4b4b46774f 100644 --- a/L1Trigger/TrackFindingTracklet/src/TrackletLUT.cc +++ b/L1Trigger/TrackFindingTracklet/src/TrackletLUT.cc @@ -71,16 +71,16 @@ void TrackletLUT::initTPlut(bool fillInner, unsigned int iSeed, unsigned int lay settings_.nallstubs(layerdisk2) * settings_.nvmte(1, iSeed) * (1 << settings_.nfinephi(1, iSeed)); double dfinephi = settings_.dphisectorHG() / nfinephibins; - double rmin = -1.0; - double rmax = -1.0; + //double rmin = -1.0; + //double rmax = -1.0; int outerrbits = 3; if (iSeed == Seed::L1L2 || iSeed == Seed::L2L3 ||iSeed == Seed::L3L4 || iSeed == Seed::L5L6 ) { outerrbits = 0; - rmin = settings_.rmean(layerdisk1); - rmax = settings_.rmean(layerdisk2); - } else { + //rmin = settings_.rmean(layerdisk1); + //rmax = settings_.rmean(layerdisk2); + } /*else { if (iSeed == Seed::L1D1) { rmax = settings_.rmaxdiskl1overlapvm(); rmin = settings_.rmean(layerdisk1); @@ -91,7 +91,7 @@ void TrackletLUT::initTPlut(bool fillInner, unsigned int iSeed, unsigned int lay rmax = settings_.rmaxdiskvm(); rmin = rmax * settings_.zmean(layerdisk2 - N_LAYER - 1) / settings_.zmean(layerdisk2 - N_LAYER); } - } + }*/ int outerrbins = (1 << outerrbits); @@ -209,12 +209,13 @@ void TrackletLUT::initTPregionlut(unsigned int iSeed, unsigned int layerdisk1, u } unsigned int nbendbitsinner = 3; - unsigned int nbendbitsouter = 3; - if (iSeed == Seed::L3L4) { - nbendbitsouter = 4; - } else if (iSeed == Seed::L5L6) { + //unsigned int nbendbitsouter = 3; + //if (iSeed == Seed::L3L4) { + // nbendbitsouter = 4; + // } else + if (iSeed == Seed::L5L6) { nbendbitsinner = 4; - nbendbitsouter = 4; + // nbendbitsouter = 4; } for (int innerfinephi = 0; innerfinephi < (1 << nbitsfinephi); innerfinephi++) { diff --git a/L1Trigger/TrackFindingTracklet/src/TrackletProcessor.cc b/L1Trigger/TrackFindingTracklet/src/TrackletProcessor.cc index dad0a7060877b..720bf62b4b6b9 100644 --- a/L1Trigger/TrackFindingTracklet/src/TrackletProcessor.cc +++ b/L1Trigger/TrackFindingTracklet/src/TrackletProcessor.cc @@ -187,8 +187,8 @@ void TrackletProcessor::addInput(MemoryBase* memory, string input) { iSeed_, nbitsfinephidiff_, iAllStub_, - pttableinner_, - pttableouter_, + &pttableinner_, + &pttableouter_, outervmstubs_); teunits_.resize(settings_.teunits(iSeed_), teunit); @@ -299,14 +299,10 @@ void TrackletProcessor::execute(unsigned int iSector, double phimin, double phim TrackletEngineUnit* teunitptr = nullptr; - int iTE = 0; - int icount = -1; for (auto& teunit : teunits_) { teunit.setNearFull(); - icount++; if (!teunit.empty()) { teunitptr = &teunit; - iTE = icount; } } From bdf4403ae0f7d9933c5c8f2255aaff509cdc5084 Mon Sep 17 00:00:00 2001 From: Anders Ryd Date: Fri, 7 May 2021 09:23:51 -0400 Subject: [PATCH 3/3] Remove commented out code --- .../TrackFindingTracklet/src/TrackletLUT.cc | 28 +++---------------- .../TrackFindingTracklet/src/VMRouter.cc | 2 +- 2 files changed, 5 insertions(+), 25 deletions(-) diff --git a/L1Trigger/TrackFindingTracklet/src/TrackletLUT.cc b/L1Trigger/TrackFindingTracklet/src/TrackletLUT.cc index a1a4b4b46774f..adfb887177ce4 100644 --- a/L1Trigger/TrackFindingTracklet/src/TrackletLUT.cc +++ b/L1Trigger/TrackFindingTracklet/src/TrackletLUT.cc @@ -39,7 +39,7 @@ void TrackletLUT::initmatchcut(unsigned int layerdisk, MatchType type, unsigned if (type==barrelphi) { name_ += TrackletConfigBuilder::LayerName(layerdisk)+"PHI"+cregion+"_phicut.tab"; - } + } if (type==barrelz) { name_ += TrackletConfigBuilder::LayerName(layerdisk)+"PHI"+cregion+"_zcut.tab"; } @@ -71,28 +71,12 @@ void TrackletLUT::initTPlut(bool fillInner, unsigned int iSeed, unsigned int lay settings_.nallstubs(layerdisk2) * settings_.nvmte(1, iSeed) * (1 << settings_.nfinephi(1, iSeed)); double dfinephi = settings_.dphisectorHG() / nfinephibins; - //double rmin = -1.0; - //double rmax = -1.0; - int outerrbits = 3; if (iSeed == Seed::L1L2 || iSeed == Seed::L2L3 ||iSeed == Seed::L3L4 || iSeed == Seed::L5L6 ) { outerrbits = 0; - //rmin = settings_.rmean(layerdisk1); - //rmax = settings_.rmean(layerdisk2); - } /*else { - if (iSeed == Seed::L1D1) { - rmax = settings_.rmaxdiskl1overlapvm(); - rmin = settings_.rmean(layerdisk1); - } else if (iSeed == Seed::L2D1) { - rmax = settings_.rmaxdiskvm(); - rmin = settings_.rmean(layerdisk1); - } else { - rmax = settings_.rmaxdiskvm(); - rmin = rmax * settings_.zmean(layerdisk2 - N_LAYER - 1) / settings_.zmean(layerdisk2 - N_LAYER); - } - }*/ - + } + int outerrbins = (1 << outerrbits); double dphi[2]; @@ -209,13 +193,9 @@ void TrackletLUT::initTPregionlut(unsigned int iSeed, unsigned int layerdisk1, u } unsigned int nbendbitsinner = 3; - //unsigned int nbendbitsouter = 3; - //if (iSeed == Seed::L3L4) { - // nbendbitsouter = 4; - // } else + if (iSeed == Seed::L5L6) { nbendbitsinner = 4; - // nbendbitsouter = 4; } for (int innerfinephi = 0; innerfinephi < (1 << nbitsfinephi); innerfinephi++) { diff --git a/L1Trigger/TrackFindingTracklet/src/VMRouter.cc b/L1Trigger/TrackFindingTracklet/src/VMRouter.cc index a8feaeb8bf291..05549c77e1321 100644 --- a/L1Trigger/TrackFindingTracklet/src/VMRouter.cc +++ b/L1Trigger/TrackFindingTracklet/src/VMRouter.cc @@ -324,7 +324,7 @@ void VMRouter::execute() { } if (lutval == -1) continue; - if (settings_.extended() && (iseed == 2 || iseed == 3 || iseed == 4 || iseed == 10)) { + if (settings_.extended() && (iseed == Seed::L3L4 || iseed == Seed::L5L6 || iseed == Seed::D1D2 || iseed == Seed::L2L3D1)) { int lutval2 = innerThirdTable_.lookup((indexz<