|
|
#include <Sector.h>
|
void | addMem (std::string memType, std::string memName) |
|
template<typename TV , typename... Args> |
void | addMemToVec (std::vector< std::unique_ptr< TV > > &memvec, const std::string &memName, Args &... args) |
|
void | addProc (std::string procType, std::string procName) |
|
template<typename TV , typename... Args> |
void | addProcToVec (std::vector< std::unique_ptr< TV > > &procvec, const std::string &procName, Args &... args) |
|
bool | addStub (L1TStub stub, std::string dtc) |
|
void | addWire (std::string mem, std::string procinfull, std::string procoutfull) |
|
void | clean () |
|
void | executeFT () |
|
void | executeIR () |
|
void | executeMC () |
|
void | executeME () |
|
void | executeMP () |
|
void | executePD (std::vector< Track > &tracks) |
|
void | executePR () |
|
void | executeTC () |
|
void | executeTCD () |
|
void | executeTE () |
|
void | executeTED () |
|
void | executeTP () |
|
void | executeTRE () |
|
void | executeVMR () |
|
std::vector< Tracklet * > | getAllTracklets () const |
|
MemoryBase * | getMem (std::string memName) |
|
ProcessBase * | getProc (std::string procName) |
|
std::vector< const Stub * > | getStubs () const |
|
double | phimax () const |
|
double | phimin () const |
|
| Sector (Settings const &settings, Globals *globals) |
|
std::unordered_set< int > | seedMatch (int itp) const |
|
void | setSector (unsigned int isector) |
|
void | writeAIS (bool first) |
|
void | writeAP (bool first) |
|
void | writeAS (bool first) |
|
void | writeCM (bool first) |
|
void | writeCT (bool first) |
|
void | writeDTCStubs (bool first) |
|
void | writeIRStubs (bool first) |
|
void | writeMC (bool first) |
|
void | writeSP (bool first) |
|
void | writeST (bool first) |
|
void | writeTF (bool first) |
|
void | writeTPAR (bool first) |
|
void | writeTPROJ (bool first) |
|
void | writeVMPROJ (bool first) |
|
void | writeVMSME (bool first) |
|
void | writeVMSTE (bool first) |
|
| ~Sector () |
|
Definition at line 61 of file Sector.h.
◆ Sector()
◆ ~Sector()
◆ addMem()
void Sector::addMem |
( |
std::string |
memType, |
|
|
std::string |
memName |
|
) |
| |
Definition at line 101 of file Sector.cc.
102 if (memType ==
"DTCLink:") {
104 }
else if (memType ==
"InputLink:") {
106 }
else if (memType ==
"AllStubs:") {
108 }
else if (memType ==
"AllInnerStubs:") {
110 }
else if (memType ==
"VMStubsTE:") {
112 }
else if (memType ==
"VMStubsME:") {
114 }
else if (memType ==
"StubPairs:" || memType ==
"StubPairsDisplaced:") {
116 }
else if (memType ==
"StubTriplets:") {
118 }
else if (memType ==
"TrackletParameters:") {
120 }
else if (memType ==
"TrackletProjections:") {
122 }
else if (memType ==
"AllProj:") {
124 }
else if (memType ==
"VMProjections:") {
126 }
else if (memType ==
"CandidateMatch:") {
128 }
else if (memType ==
"FullMatch:") {
130 }
else if (memType ==
"TrackFit:") {
132 }
else if (memType ==
"CleanTrack:") {
135 edm::LogPrint(
"Tracklet") <<
"Don't know of memory type: " << memType;
References addMemToVec(), AIS_, AP_, AS_, CM_, CT_, DL_, beamvalidation::exit(), FM_, IL_, phimax_, phimin_, settings_, SP_, ST_, TF_, TPAR_, TPROJ_, VMPROJ_, VMSME_, and VMSTE_.
◆ addMemToVec()
template<typename TV , typename... Args>
void trklet::Sector::addMemToVec |
( |
std::vector< std::unique_ptr< TV > > & |
memvec, |
|
|
const std::string & |
memName, |
|
|
Args &... |
args |
|
) |
| |
|
inline |
◆ addProc()
void Sector::addProc |
( |
std::string |
procType, |
|
|
std::string |
procName |
|
) |
| |
Definition at line 140 of file Sector.cc.
141 if (procType ==
"InputRouter:") {
143 }
else if (procType ==
"VMRouter:") {
145 }
else if (procType ==
"VMRouterCM:") {
147 }
else if (procType ==
"TrackletEngine:") {
149 }
else if (procType ==
"TrackletEngineDisplaced:") {
151 }
else if (procType ==
"TripletEngine:") {
153 }
else if (procType ==
"TrackletCalculator:") {
155 }
else if (procType ==
"TrackletProcessor:") {
157 }
else if (procType ==
"TrackletCalculatorDisplaced:") {
159 }
else if (procType ==
"ProjectionRouter:") {
161 }
else if (procType ==
"MatchEngine:") {
163 }
else if (procType ==
"MatchCalculator:" ||
164 procType ==
"DiskMatchCalculator:") {
166 }
else if (procType ==
"MatchProcessor:") {
168 }
else if (procType ==
"FitTrack:") {
170 }
else if (procType ==
"PurgeDuplicate:") {
173 edm::LogPrint(
"Tracklet") <<
"Don't know of processing type: " << procType;
References addProcToVec(), beamvalidation::exit(), FT_, globals_, IR_, MC_, ME_, MP_, PD_, PR_, settings_, TC_, TCD_, TE_, TED_, TP_, TRE_, VMR_, and VMRCM_.
◆ addProcToVec()
template<typename TV , typename... Args>
void trklet::Sector::addProcToVec |
( |
std::vector< std::unique_ptr< TV > > & |
procvec, |
|
|
const std::string & |
procName, |
|
|
Args &... |
args |
|
) |
| |
|
inline |
◆ addStub()
bool Sector::addStub |
( |
L1TStub |
stub, |
|
|
std::string |
dtc |
|
) |
| |
Definition at line 68 of file Sector.cc.
69 unsigned int layerdisk = stub.
layerdisk();
71 if (layerdisk < N_LAYER && globals_->phiCorr(layerdisk) ==
nullptr) {
80 int bendbin = fpgastub.bend().value();
81 int rbin = (
r.value() + (1 << (
r.nbits() - 1))) >> (
r.nbits() - 3);
83 int iphicorr = phiCorrTable.
lookup(bendbin * (1 << 3) + rbin);
84 fpgastub.setPhiCorr(iphicorr);
88 for (
unsigned int i = 0;
i <
DL_.size();
i++) {
89 const string&
name =
DL_[
i]->getName();
90 if (
name.find(
"_" + dtc) == string::npos)
92 DL_[
i]->addStub(stub, fpgastub);
References cms::cuda::assert(), trklet::Stub::bend(), DL_, globals_, mps_fire::i, trklet::TrackletLUT::initPhiCorrTable(), trklet::L1TStub::layerdisk(), trklet::TrackletLUT::lookup(), trklet::N_LAYER, Skims_PA_cff::name, trklet::Globals::phiCorr(), trklet::Stub::r(), alignCSCRings::r, trklet::Stub::setPhiCorr(), settings_, and trklet::FPGAWord::value().
◆ addWire()
void Sector::addWire |
( |
std::string |
mem, |
|
|
std::string |
procinfull, |
|
|
std::string |
procoutfull |
|
) |
| |
Definition at line 178 of file Sector.cc.
179 stringstream ss1(procinfull);
181 getline(ss1, procin,
'.');
184 stringstream ss2(procoutfull);
185 string procout,
input;
186 getline(ss2, procout,
'.');
191 if (!procin.empty()) {
196 if (!procout.empty()) {
References trklet::ProcessBase::addInput(), trklet::ProcessBase::addOutput(), getMem(), getProc(), input, mem, and convertSQLitetoXML_cfg::output.
◆ clean()
◆ executeFT()
void Sector::executeFT |
( |
| ) |
|
◆ executeIR()
void Sector::executeIR |
( |
| ) |
|
◆ executeMC()
void Sector::executeMC |
( |
| ) |
|
◆ executeME()
void Sector::executeME |
( |
| ) |
|
◆ executeMP()
void Sector::executeMP |
( |
| ) |
|
◆ executePD()
void Sector::executePD |
( |
std::vector< Track > & |
tracks | ) |
|
◆ executePR()
void Sector::executePR |
( |
| ) |
|
◆ executeTC()
void Sector::executeTC |
( |
| ) |
|
Definition at line 369 of file Sector.cc.
370 for (
auto&
i :
TC_) {
377 out <<
i->getName() <<
" " <<
i->nTracklets() << endl;
References globals_, mps_fire::i, isector_, trklet::Globals::ofstream(), MillePedeFileConverter_cfg::out, phimax_, phimin_, settings_, TC_, TPROJ_, and trklet::Settings::writeMonitorData().
◆ executeTCD()
void Sector::executeTCD |
( |
| ) |
|
◆ executeTE()
void Sector::executeTE |
( |
| ) |
|
◆ executeTED()
void Sector::executeTED |
( |
| ) |
|
◆ executeTP()
void Sector::executeTP |
( |
| ) |
|
◆ executeTRE()
void Sector::executeTRE |
( |
| ) |
|
◆ executeVMR()
void Sector::executeVMR |
( |
| ) |
|
◆ getAllTracklets()
std::vector< Tracklet * > Sector::getAllTracklets |
( |
| ) |
const |
◆ getMem()
MemoryBase * Sector::getMem |
( |
std::string |
memName | ) |
|
◆ getProc()
◆ getStubs()
std::vector< const Stub * > Sector::getStubs |
( |
| ) |
const |
Definition at line 434 of file Sector.cc.
435 std::vector<const Stub*>
tmp;
437 for (
auto& imem :
IL_) {
438 for (
unsigned int istub = 0; istub < imem->nStubs(); istub++) {
439 tmp.push_back(imem->getStub(istub));
References IL_, and createJobs::tmp.
◆ phimax()
double trklet::Sector::phimax |
( |
| ) |
const |
|
inline |
◆ phimin()
double trklet::Sector::phimin |
( |
| ) |
const |
|
inline |
◆ seedMatch()
std::unordered_set< int > Sector::seedMatch |
( |
int |
itp | ) |
const |
Definition at line 446 of file Sector.cc.
447 std::unordered_set<int> tmpSeeds;
449 unsigned int nTracklet =
i->nTracklets();
450 for (
unsigned int j = 0;
j < nTracklet;
j++) {
451 if (
i->getTracklet(
j)->tpseed() == itp) {
452 tmpSeeds.insert(
i->getTracklet(
j)->getISeed());
References mps_fire::i, dqmiolumiharvest::j, and TPAR_.
◆ setSector()
void Sector::setSector |
( |
unsigned int |
isector | ) |
|
◆ writeAIS()
void Sector::writeAIS |
( |
bool |
first | ) |
|
◆ writeAP()
void Sector::writeAP |
( |
bool |
first | ) |
|
◆ writeAS()
void Sector::writeAS |
( |
bool |
first | ) |
|
◆ writeCM()
void Sector::writeCM |
( |
bool |
first | ) |
|
◆ writeCT()
void Sector::writeCT |
( |
bool |
first | ) |
|
◆ writeDTCStubs()
void Sector::writeDTCStubs |
( |
bool |
first | ) |
|
◆ writeIRStubs()
void Sector::writeIRStubs |
( |
bool |
first | ) |
|
◆ writeMC()
void Sector::writeMC |
( |
bool |
first | ) |
|
◆ writeSP()
void Sector::writeSP |
( |
bool |
first | ) |
|
◆ writeST()
void Sector::writeST |
( |
bool |
first | ) |
|
◆ writeTF()
void Sector::writeTF |
( |
bool |
first | ) |
|
◆ writeTPAR()
void Sector::writeTPAR |
( |
bool |
first | ) |
|
◆ writeTPROJ()
void Sector::writeTPROJ |
( |
bool |
first | ) |
|
◆ writeVMPROJ()
void Sector::writeVMPROJ |
( |
bool |
first | ) |
|
◆ writeVMSME()
void Sector::writeVMSME |
( |
bool |
first | ) |
|
◆ writeVMSTE()
void Sector::writeVMSTE |
( |
bool |
first | ) |
|
◆ AIS_
◆ AP_
◆ AS_
◆ CM_
◆ CT_
◆ DL_
◆ FM_
◆ FT_
std::vector<std::unique_ptr<FitTrack> > trklet::Sector::FT_ |
|
private |
◆ globals_
◆ IL_
◆ IR_
std::vector<std::unique_ptr<InputRouter> > trklet::Sector::IR_ |
|
private |
◆ isector_
int trklet::Sector::isector_ |
|
private |
Definition at line 142 of file Sector.h.
Referenced by executeFT(), executeMP(), executePD(), executeTC(), executeTCD(), executeTP(), setSector(), writeAIS(), writeAP(), writeAS(), writeCM(), writeCT(), writeDTCStubs(), writeIRStubs(), writeMC(), writeSP(), writeST(), writeTF(), writeTPAR(), writeTPROJ(), writeVMPROJ(), writeVMSME(), and writeVMSTE().
◆ MC_
◆ ME_
std::vector<std::unique_ptr<MatchEngine> > trklet::Sector::ME_ |
|
private |
◆ Memories_
std::map<std::string, MemoryBase*> trklet::Sector::Memories_ |
|
private |
◆ MemoriesV_
std::vector<MemoryBase*> trklet::Sector::MemoriesV_ |
|
private |
◆ MP_
◆ PD_
◆ phimax_
double trklet::Sector::phimax_ |
|
private |
◆ phimin_
double trklet::Sector::phimin_ |
|
private |
◆ PR_
◆ Processes_
std::map<std::string, ProcessBase*> trklet::Sector::Processes_ |
|
private |
◆ settings_
Settings const& trklet::Sector::settings_ |
|
private |
◆ SP_
◆ ST_
◆ TC_
◆ TCD_
◆ TE_
◆ TED_
◆ TF_
◆ TP_
◆ TPAR_
◆ TPROJ_
◆ TRE_
std::vector<std::unique_ptr<TripletEngine> > trklet::Sector::TRE_ |
|
private |
◆ VMPROJ_
◆ VMR_
std::vector<std::unique_ptr<VMRouter> > trklet::Sector::VMR_ |
|
private |
◆ VMRCM_
std::vector<std::unique_ptr<VMRouterCM> > trklet::Sector::VMRCM_ |
|
private |
◆ VMSME_
◆ VMSTE_
std::vector< std::unique_ptr< AllProjectionsMemory > > AP_
virtual void addOutput(MemoryBase *memory, std::string output)=0
std::vector< std::unique_ptr< ProjectionRouter > > PR_
std::vector< std::unique_ptr< AllStubsMemory > > AS_
void addMemToVec(std::vector< std::unique_ptr< TV > > &memvec, const std::string &memName, Args &... args)
static const std::string input
int lookup(unsigned int index) const
Log< level::Warning, true > LogPrint
constexpr unsigned int N_SECTOR
std::vector< std::unique_ptr< TrackletEngine > > TE_
std::vector< std::unique_ptr< PurgeDuplicate > > PD_
uint16_t mem[nChs][nEvts]
std::vector< std::unique_ptr< MatchProcessor > > MP_
std::vector< MemoryBase * > MemoriesV_
virtual void addInput(MemoryBase *memory, std::string input)=0
std::vector< std::unique_ptr< TripletEngine > > TRE_
std::vector< std::unique_ptr< InputLinkMemory > > IL_
std::vector< std::unique_ptr< FullMatchMemory > > FM_
std::vector< std::unique_ptr< TrackletProjectionsMemory > > TPROJ_
std::vector< std::unique_ptr< TrackletEngineDisplaced > > TED_
double dphisectorHG() const
std::map< std::string, ProcessBase * > Processes_
ProcessBase * getProc(std::string procName)
Settings const & settings_
std::vector< std::unique_ptr< MatchCalculator > > MC_
std::vector< std::unique_ptr< StubTripletsMemory > > ST_
void addProcToVec(std::vector< std::unique_ptr< TV > > &procvec, const std::string &procName, Args &... args)
std::vector< std::unique_ptr< DTCLinkMemory > > DL_
std::vector< std::unique_ptr< TrackletCalculatorDisplaced > > TCD_
std::vector< std::unique_ptr< CandidateMatchMemory > > CM_
std::vector< std::unique_ptr< VMStubsMEMemory > > VMSME_
const uint32_t *__restrict__ const HitContainer *__restrict__ TkSoA *__restrict__ tracks
std::vector< std::unique_ptr< VMProjectionsMemory > > VMPROJ_
TrackletLUT *& phiCorr(unsigned int layer)
std::vector< std::unique_ptr< TrackletParametersMemory > > TPAR_
void initPhiCorrTable(unsigned int layerdisk, unsigned int rbits)
std::vector< std::unique_ptr< TrackletProcessor > > TP_
std::vector< std::unique_ptr< VMRouterCM > > VMRCM_
bool writeMonitorData(std::string module) const
std::vector< std::unique_ptr< CleanTrackMemory > > CT_
std::ofstream & ofstream(std::string fname)
std::vector< std::unique_ptr< VMStubsTEMemory > > VMSTE_
std::vector< std::unique_ptr< MatchEngine > > ME_
std::vector< std::unique_ptr< StubPairsMemory > > SP_
std::vector< std::unique_ptr< AllInnerStubsMemory > > AIS_
std::vector< std::unique_ptr< FitTrack > > FT_
std::vector< std::unique_ptr< TrackFitMemory > > TF_
std::map< std::string, MemoryBase * > Memories_
MemoryBase * getMem(std::string memName)
std::vector< std::unique_ptr< InputRouter > > IR_
std::vector< std::unique_ptr< TrackletCalculator > > TC_
std::vector< std::unique_ptr< VMRouter > > VMR_
constexpr T reduceRange(T x)