#include <TrackletProcessor.h>
Public Member Functions | |
void | addInput (MemoryBase *memory, std::string input) override |
void | addOutput (MemoryBase *memory, std::string output) override |
void | addOutputProjection (TrackletProjectionsMemory *&outputProj, MemoryBase *memory) |
void | buildLUT () |
void | execute () |
TrackletProcessor (std::string name, Settings const &settings, Globals *globals, unsigned int iSector) | |
void | writeTETable () |
~TrackletProcessor () override=default | |
Public Member Functions inherited from trklet::TrackletCalculatorBase | |
void | addDiskProj (Tracklet *tracklet, int disk) |
bool | addLayerProj (Tracklet *tracklet, int layer) |
void | addProjection (int layer, int iphi, TrackletProjectionsMemory *trackletprojs, Tracklet *tracklet) |
void | addProjectionDisk (int disk, int iphi, TrackletProjectionsMemory *trackletprojs, Tracklet *tracklet) |
bool | barrelSeeding (const Stub *innerFPGAStub, const L1TStub *innerStub, const Stub *outerFPGAStub, const L1TStub *outerStub) |
bool | diskSeeding (const Stub *innerFPGAStub, const L1TStub *innerStub, const Stub *outerFPGAStub, const L1TStub *outerStub) |
void | exactproj (double rproj, double rinv, double phi0, double t, double z0, double &phiproj, double &zproj, double &phider, double &zder) |
void | exactprojdisk (double zproj, double rinv, double phi0, double t, double z0, double &phiproj, double &rproj, double &phider, double &rder) |
void | exacttracklet (double r1, double z1, double phi1, double r2, double z2, double phi2, double, double &rinv, double &phi0, double &t, double &z0, double phiproj[N_LAYER - 2], double zproj[N_LAYER - 2], double phider[N_LAYER - 2], double zder[N_LAYER - 2], double phiprojdisk[N_DISK], double rprojdisk[N_DISK], double phiderdisk[N_DISK], double rderdisk[N_DISK]) |
void | exacttrackletdisk (double r1, double z1, double phi1, double r2, double z2, double phi2, double, double &rinv, double &phi0, double &t, double &z0, double phiprojLayer[N_PSLAYER], double zprojLayer[N_PSLAYER], double phiderLayer[N_PSLAYER], double zderLayer[N_PSLAYER], double phiproj[N_DISK - 2], double rproj[N_DISK - 2], double phider[N_DISK - 2], double rder[N_DISK - 2]) |
void | exacttrackletOverlap (double r1, double z1, double phi1, double r2, double z2, double phi2, double, double &rinv, double &phi0, double &t, double &z0, double phiprojLayer[N_PSLAYER], double zprojLayer[N_PSLAYER], double phiderLayer[N_PSLAYER], double zderLayer[N_PSLAYER], double phiproj[N_DISK - 2], double rproj[N_DISK - 2], double phider[N_DISK - 2], double rder[N_DISK - 2]) |
bool | goodTrackPars (bool goodrinv, bool goodz0) |
bool | inSector (int iphi0, int irinv, double phi0approx, double rinvapprox) |
bool | overlapSeeding (const Stub *innerFPGAStub, const L1TStub *innerStub, const Stub *outerFPGAStub, const L1TStub *outerStub) |
TrackletCalculatorBase (std::string name, Settings const &settings, Globals *global, unsigned int iSector) | |
~TrackletCalculatorBase () override=default | |
Public Member Functions inherited from trklet::ProcessBase | |
unsigned int | getISeed (const std::string &name) |
std::string const & | getName () const |
unsigned int | initLayerDisk (unsigned int pos) |
void | initLayerDisk (unsigned int pos, int &layer, int &disk) |
void | initLayerDisk (unsigned int pos, int &layer, int &disk, int &layerdisk) |
void | initLayerDisksandISeed (unsigned int &layerdisk1, unsigned int &layerdisk2, unsigned int &iSeed) |
unsigned int | nbits (unsigned int power) |
ProcessBase (std::string name, Settings const &settings, Globals *global, unsigned int iSector) | |
virtual | ~ProcessBase ()=default |
Private Attributes | |
int | iAllStub_ |
std::vector< AllStubsMemory * > | innerallstubs_ |
int | innerphibits_ |
int | iTC_ |
int | nbitsfinephi_ |
int | nbitsfinephidiff_ |
unsigned int | nbitsrfinebintable_ |
unsigned int | nbitsrzbin_ |
unsigned int | nbitszfinebintable_ |
std::vector< AllStubsMemory * > | outerallstubs_ |
int | outerphibits_ |
VMStubsTEMemory * | outervmstubs_ |
std::map< unsigned int, std::vector< bool > > | pttableinner_ |
std::vector< bool > | pttableinnernew_ |
std::map< unsigned int, std::vector< bool > > | pttableouter_ |
std::vector< bool > | pttableouternew_ |
std::vector< std::tuple< CircularBuffer< TEData >, unsigned int, unsigned int, unsigned int, unsigned int > > | tedatabuffers_ |
std::vector< TrackletEngineUnit > | teunits_ |
std::vector< std::vector< bool > > | useregion_ |
VMRouterTable | vmrtable_ |
Additional Inherited Members | |
Protected Attributes inherited from trklet::TrackletCalculatorBase | |
unsigned int | iSeed_ |
unsigned int | layerdisk1_ |
unsigned int | layerdisk2_ |
int | TCIndex_ |
TrackletParametersMemory * | trackletpars_ |
std::vector< std::vector< TrackletProjectionsMemory * > > | trackletprojdisks_ |
std::vector< std::vector< TrackletProjectionsMemory * > > | trackletprojlayers_ |
Protected Attributes inherited from trklet::ProcessBase | |
Globals * | globals_ |
unsigned int | iSector_ |
std::string | name_ |
double | phimax_ |
double | phimin_ |
Settings const & | settings_ |
Definition at line 23 of file TrackletProcessor.h.
TrackletProcessor::TrackletProcessor | ( | std::string | name, |
Settings const & | settings, | ||
Globals * | globals, | ||
unsigned int | iSector | ||
) |
Definition at line 19 of file TrackletProcessor.cc.
References cms::cuda::assert(), trklet::ProcessBase::getName(), iAllStub_, trklet::VMRouterTable::init(), trklet::ProcessBase::initLayerDisksandISeed(), innerphibits_, trklet::TrackletCalculatorBase::iSeed_, iTC_, trklet::TrackletCalculatorBase::layerdisk1_, trklet::TrackletCalculatorBase::layerdisk2_, trklet::N_DISK, trklet::N_LAYER, trklet::Settings::nallstubs(), trklet::ProcessBase::name_, nbitsrfinebintable_, nbitsrzbin_, nbitszfinebintable_, trklet::Settings::nfinephi(), trklet::NFINERZBITS, trklet::Settings::ntrackletmax(), outerphibits_, outervmstubs_, trklet::ProcessBase::settings_, trklet::TrackletCalculatorBase::TCIndex_, createJobs::tmp, trklet::TrackletCalculatorBase::trackletprojdisks_, trklet::TrackletCalculatorBase::trackletprojlayers_, trklet::Settings::vmrlutrbits(), trklet::Settings::vmrlutzbits(), and vmrtable_.
|
overridedefault |
|
overridevirtual |
Implements trklet::ProcessBase.
Definition at line 104 of file TrackletProcessor.cc.
References cms::cuda::assert(), buildLUT(), Exception, iAllStub_, innerallstubs_, input, trklet::TrackletCalculatorBase::iSeed_, trklet::TrackletCalculatorBase::layerdisk2_, trklet::ProcessBase::name_, nbitsfinephi_, nbitsfinephidiff_, outerallstubs_, outervmstubs_, pttableinnernew_, pttableouternew_, trklet::CircularBuffer< T >::reset(), trklet::ProcessBase::settings_, tedatabuffers_, teunits_, createJobs::tmp, and trklet::Settings::writetrace().
|
overridevirtual |
Implements trklet::ProcessBase.
Definition at line 62 of file TrackletProcessor.cc.
References cms::cuda::assert(), Exception, trklet::N_DISK, trklet::N_LAYER, trklet::ProcessBase::name_, convertSQLitetoXML_cfg::output, trklet::ProcessBase::settings_, findQualityFiles::size, createJobs::tmp, trklet::TrackletCalculatorBase::trackletpars_, trklet::TrackletCalculatorBase::trackletprojdisks_, trklet::TrackletCalculatorBase::trackletprojlayers_, and trklet::Settings::writetrace().
void TrackletProcessor::addOutputProjection | ( | TrackletProjectionsMemory *& | outputProj, |
MemoryBase * | memory | ||
) |
void TrackletProcessor::buildLUT | ( | ) |
Definition at line 424 of file TrackletProcessor.cc.
References funct::abs(), trklet::bend(), trklet::Settings::bendcutte(), trklet::benddecode(), trklet::Settings::dphisectorHG(), testProducerWithPsetDescEmpty_cfi::i2, testProducerWithPsetDescEmpty_cfi::i3, iAllStub_, trklet::TrackletCalculatorBase::iSeed_, trklet::TrackletCalculatorBase::layerdisk1_, trklet::TrackletCalculatorBase::layerdisk2_, dqm-mbProfile::log, match(), trklet::Settings::maxrinv(), trklet::N_LAYER, trklet::Settings::nallstubs(), LaserClient_cfi::nbins, trklet::Settings::nbitsallstubs(), nbitsfinephi_, nbitsfinephidiff_, trklet::Settings::nbitsvmte(), trklet::Settings::nfinephi(), trklet::Settings::nvmte(), pttableinnernew_, pttableouternew_, trklet::Settings::rcrit(), trklet::rinv(), trklet::Settings::rinvcutte(), trklet::Settings::rmaxdiskl1overlapvm(), trklet::Settings::rmaxdiskvm(), trklet::Settings::rmean(), trklet::Settings::rmindiskvm(), trklet::ProcessBase::settings_, trklet::Settings::stripPitch(), useregion_, and trklet::Settings::zmean().
Referenced by addInput().
void TrackletProcessor::execute | ( | void | ) |
Definition at line 172 of file TrackletProcessor.cc.
References accept(), cms::cuda::assert(), trklet::TrackletCalculatorBase::barrelSeeding(), trklet::Stub::bend(), trklet::FPGAWord::bits(), trklet::Settings::debugTracklet(), trklet::Stub::disk(), trklet::TrackletCalculatorBase::diskSeeding(), trklet::CircularBuffer< T >::empty(), trklet::CircularBuffer< T >::full(), trklet::ProcessBase::getName(), trklet::ProcessBase::globals_, iAllStub_, innerallstubs_, trklet::TEData::innerbend_, trklet::TEData::innerfinephi_, trklet::ProcessBase::iSector_, trklet::TrackletCalculatorBase::iSeed_, trklet::Stub::isPSmodule(), trklet::Stub::l1tstub(), dqmdumpme::last, trklet::TrackletCalculatorBase::layerdisk1_, trklet::TrackletCalculatorBase::layerdisk2_, trklet::VMRouterTable::lookupinner(), trklet::VMRouterTable::lookupinneroverlap(), trklet::Settings::lutwidthtab(), trklet::Settings::maxStep(), trklet::N_LAYER, trklet::Settings::nallstubs(), PFElectronDQMAnalyzer_cfi::nBin, LaserClient_cfi::nbins, trklet::FPGAWord::nbits(), nbitsfinephi_, nbitsrfinebintable_, nbitsrzbin_, nbitszfinebintable_, GetRecoTauVFromDQM_MC_cff::next, trklet::Settings::ntrackletmax(), trklet::TrackletParametersMemory::nTracklets(), trklet::VMStubsTEMemory::nVMStubs(), trklet::VMStubsTEMemory::nVMStubsBinned(), trklet::Settings::nvmte(), trklet::Globals::ofstream(), outervmstubs_, trklet::TrackletCalculatorBase::overlapSeeding(), trklet::Stub::phicorr(), trklet::Stub::r(), trklet::CircularBuffer< T >::read(), trklet::TrackletEngineUnit::read(), trklet::TEData::regions_, trklet::TEData::rzbinfirst_, trklet::TEData::rzdiffmax_, trklet::ProcessBase::settings_, command_line::start, trklet::TEData::start_, trklet::TrackletEngineUnit::step(), trklet::CircularBuffer< T >::store(), trklet::TEData::stub_, tedatabuffers_, teunits_, trklet::TrackletCalculatorBase::trackletpars_, useregion_, trklet::Settings::useSeed(), trklet::FPGAWord::value(), vmrtable_, trklet::Settings::writeMonitorData(), and trklet::Stub::z().
void TrackletProcessor::writeTETable | ( | ) |
Definition at line 400 of file TrackletProcessor.cc.
References trklet::ProcessBase::getName().
|
private |
Definition at line 43 of file TrackletProcessor.h.
Referenced by addInput(), buildLUT(), execute(), and TrackletProcessor().
|
private |
Definition at line 56 of file TrackletProcessor.h.
Referenced by addInput(), and execute().
|
private |
Definition at line 70 of file TrackletProcessor.h.
Referenced by TrackletProcessor().
|
private |
Definition at line 42 of file TrackletProcessor.h.
Referenced by TrackletProcessor().
|
private |
Definition at line 67 of file TrackletProcessor.h.
Referenced by addInput(), buildLUT(), and execute().
|
private |
Definition at line 68 of file TrackletProcessor.h.
Referenced by addInput(), and buildLUT().
|
private |
Definition at line 74 of file TrackletProcessor.h.
Referenced by execute(), and TrackletProcessor().
|
private |
Definition at line 76 of file TrackletProcessor.h.
Referenced by execute(), and TrackletProcessor().
|
private |
Definition at line 73 of file TrackletProcessor.h.
Referenced by execute(), and TrackletProcessor().
|
private |
Definition at line 57 of file TrackletProcessor.h.
Referenced by addInput().
|
private |
Definition at line 71 of file TrackletProcessor.h.
Referenced by TrackletProcessor().
|
private |
Definition at line 45 of file TrackletProcessor.h.
Referenced by addInput(), execute(), and TrackletProcessor().
|
private |
Definition at line 59 of file TrackletProcessor.h.
|
private |
Definition at line 62 of file TrackletProcessor.h.
Referenced by addInput(), and buildLUT().
|
private |
Definition at line 60 of file TrackletProcessor.h.
|
private |
Definition at line 63 of file TrackletProcessor.h.
Referenced by addInput(), and buildLUT().
|
private |
Definition at line 52 of file TrackletProcessor.h.
Referenced by addInput(), and execute().
|
private |
Definition at line 54 of file TrackletProcessor.h.
Referenced by addInput(), and execute().
|
private |
Definition at line 65 of file TrackletProcessor.h.
Referenced by buildLUT(), and execute().
|
private |
Definition at line 78 of file TrackletProcessor.h.
Referenced by execute(), and TrackletProcessor().