|
|
Go to the documentation of this file.
15 TrackletCalculator::TrackletCalculator(
string name,
Settings const& settings,
Globals* globals,
unsigned int iSector)
19 for (
unsigned int ilayer = 0; ilayer <
N_LAYER; ilayer++) {
20 vector<TrackletProjectionsMemory*>
tmp(settings.
nallstubs(ilayer),
nullptr);
24 for (
unsigned int idisk = 0; idisk <
N_DISK; idisk++) {
38 double phicritFactor =
40 if (
std::abs(phicritFactor - 2.) > 0.25)
42 <<
"TrackletCalculator::TrackletCalculator phicrit approximation may be invalid! Please check.";
47 outputProj = dynamic_cast<TrackletProjectionsMemory*>(
memory);
48 assert(outputProj !=
nullptr);
56 if (
output ==
"trackpar") {
57 auto*
tmp = dynamic_cast<TrackletParametersMemory*>(
memory);
63 if (
output.substr(0, 7) ==
"projout") {
65 auto*
tmp = dynamic_cast<TrackletProjectionsMemory*>(
memory);
68 unsigned int layerdisk =
output[8] -
'1';
69 unsigned int phiregion =
output[12] -
'A';
90 throw cms::Exception(
"BadConfig") << __FILE__ <<
" " << __LINE__ <<
" Could not find output : " <<
output;
98 if (
input ==
"innerallstubin") {
99 auto*
tmp = dynamic_cast<AllStubsMemory*>(
memory);
104 if (
input ==
"outerallstubin") {
105 auto*
tmp = dynamic_cast<AllStubsMemory*>(
memory);
110 if (
input.substr(0, 8) ==
"stubpair") {
111 auto*
tmp = dynamic_cast<StubPairsMemory*>(
memory);
116 throw cms::Exception(
"BadConfig") << __FILE__ <<
" " << __LINE__ <<
" Could not find intput : " <<
input;
120 unsigned int countall = 0;
121 unsigned int countsel = 0;
128 for (
unsigned int i = 0;
i < stubpair->nStubPairs();
i++) {
130 const Stub* innerFPGAStub = stubpair->getVMStub1(
i).stub();
133 const Stub* outerFPGAStub = stubpair->getVMStub2(
i).stub();
141 if (outerFPGAStub->
isDisk()) {
153 if (outerFPGAStub->
isDisk()) {
158 }
else if (innerFPGAStub->
isDisk()) {
164 throw cms::Exception(
"LogicError") << __FILE__ <<
" " << __LINE__ <<
" invalid seeding";
unsigned int ntrackletmax() const
static const std::string input
void addOutputProjection(TrackletProjectionsMemory *&outputProj, MemoryBase *memory)
TrackletParametersMemory * trackletpars_
std::vector< AllStubsMemory * > outerallstubs_
Log< level::Warning, true > LogPrint
bool barrelSeeding(const Stub *innerFPGAStub, const L1TStub *innerStub, const Stub *outerFPGAStub, const L1TStub *outerStub)
Settings const & settings_
std::vector< std::vector< TrackletProjectionsMemory * > > trackletprojlayers_
bool accept(const edm::Event &event, const edm::TriggerResults &triggerTable, const std::string &triggerPath)
void initLayerDisksandISeed(unsigned int &layerdisk1, unsigned int &layerdisk2, unsigned int &iSeed)
bool diskSeeding(const Stub *innerFPGAStub, const L1TStub *innerStub, const Stub *outerFPGAStub, const L1TStub *outerStub)
IMATH_TrackletCalculator * ITC_L1L2()
bool overlapSeeding(const Stub *innerFPGAStub, const L1TStub *innerStub, const Stub *outerFPGAStub, const L1TStub *outerStub)
std::vector< std::vector< TrackletProjectionsMemory * > > trackletprojdisks_
bool writeMonitorData(std::string module) const
unsigned int nTracklets() const
bool usephicritapprox() const
std::ofstream & ofstream(std::string fname)
Log< level::Info, true > LogVerbatim
std::string const & getName() const
unsigned int nallstubs(unsigned int layerdisk) const
bool debugTracklet() const
unsigned int maxStep(std::string module) const
void addOutput(MemoryBase *memory, std::string output) override
std::vector< AllStubsMemory * > innerallstubs_
Abs< T >::type abs(const T &t)
void addInput(MemoryBase *memory, std::string input) override
std::vector< StubPairsMemory * > stubpairs_