diff --git a/L1Trigger/TrackFindingTracklet/interface/Stub.h b/L1Trigger/TrackFindingTracklet/interface/Stub.h index 90c8f7f1dbd80..de7f78ca6ebeb 100644 --- a/L1Trigger/TrackFindingTracklet/interface/Stub.h +++ b/L1Trigger/TrackFindingTracklet/interface/Stub.h @@ -43,7 +43,11 @@ namespace trklet { unsigned int nbitsfinephi = 8; FPGAWord finephi( phicorr_.bits(phicorr_.nbits() - nbitsfinephi, nbitsfinephi), nbitsfinephi, true, __LINE__, __FILE__); - return str() + "|" + stubindex_.str() + "|" + finephi.str(); + if (layer_.value() == -1) { + return str() + "|" + negdisk_.str() + "|" + stubindex_.str() + "|" + finephi.str(); + } else { + return str() + "|" + stubindex_.str() + "|" + finephi.str(); + } } FPGAWord allStubIndex() const { return stubindex_; } @@ -59,6 +63,7 @@ namespace trklet { const FPGAWord& r() const { return r_; } const FPGAWord& z() const { return z_; } + const FPGAWord& negdisk() const { return negdisk_; } const FPGAWord& phi() const { return phi_; } const FPGAWord& phicorr() const { return phicorr_; } const FPGAWord& alpha() const { return alpha_; } @@ -87,6 +92,7 @@ namespace trklet { FPGAWord disk_; FPGAWord r_; FPGAWord z_; + FPGAWord negdisk_; FPGAWord phi_; FPGAWord alpha_; diff --git a/L1Trigger/TrackFindingTracklet/src/Stub.cc b/L1Trigger/TrackFindingTracklet/src/Stub.cc index 8359d17894966..68c722c7102a6 100644 --- a/L1Trigger/TrackFindingTracklet/src/Stub.cc +++ b/L1Trigger/TrackFindingTracklet/src/Stub.cc @@ -77,6 +77,8 @@ Stub::Stub(L1TStub& stub, Settings const& settings, Globals& globals) : settings alpha_.set(newalpha, nalphabits, false, __LINE__, __FILE__); nrbits = 4; } + int negdisk = (disk < 0) ? 1 : 0; + negdisk_.set(negdisk, 1, true, __LINE__, __FILE__); } else { disk_.set(0, 4, false, __LINE__, __FILE__); layer_.set(layerdisk_, 3, true, __LINE__, __FILE__);