CMS 3D CMS Logo

VMStubsMEMemory.cc
Go to the documentation of this file.
3 #include <iomanip>
4 
5 using namespace std;
6 using namespace trklet;
7 
8 VMStubsMEMemory::VMStubsMEMemory(string name, Settings const& settings, unsigned int iSector)
9  : MemoryBase(name, settings, iSector) {
10  unsigned int layerdisk = initLayerDisk(6);
11  if (layerdisk < N_LAYER) {
13  } else {
14  //For disks we have NLONGVMBITS on each disk
15  binnedstubs_.resize(2 * settings_.NLONGVMBINS());
16  }
17 }
18 
20  std::ostringstream oss;
21  oss << "../data/MemPrints/VMStubsME/VMStubs_" << getName();
22  //get rid of duplicates
23  auto const& tmp = oss.str();
24  int len = tmp.size();
25  if (tmp[len - 2] == 'n' && tmp[len - 1] > '1' && tmp[len - 1] <= '9')
26  return;
27  oss << "_" << std::setfill('0') << std::setw(2) << (iSector_ + 1) << ".dat";
28  auto const& fname = oss.str();
29 
30  if (first) {
31  bx_ = 0;
32  event_ = 1;
33  out_.open(fname.c_str());
34  } else
35  out_.open(fname.c_str(), std::ofstream::app);
36 
37  out_ << "BX = " << (bitset<3>)bx_ << " Event : " << event_ << endl;
38 
39  for (unsigned int i = 0; i < binnedstubs_.size(); i++) {
40  for (unsigned int j = 0; j < binnedstubs_[i].size(); j++) {
41  string stub = binnedstubs_[i][j].stubindex().str();
42  stub += "|" + binnedstubs_[i][j].bend().str();
43 
44  FPGAWord finepos = binnedstubs_[i][j].finerz();
45  stub += "|" + finepos.str();
46  out_ << hex << i << " " << j << dec << " " << stub << " " << trklet::hexFormat(stub) << endl;
47  }
48  }
49  out_.close();
50 
51  bx_++;
52  event_++;
53  if (bx_ > 7)
54  bx_ = 0;
55 }
Settings.h
trklet::MemoryBase::settings_
Settings const & settings_
Definition: MemoryBase.h:50
mps_fire.i
i
Definition: mps_fire.py:355
trklet::FPGAWord::str
std::string str() const
Definition: FPGAWord.cc:54
trklet::Settings
Definition: Settings.h:26
trklet::MemoryBase::event_
int event_
Definition: MemoryBase.h:48
trklet::MemoryBase::out_
std::ofstream out_
Definition: MemoryBase.h:46
trklet::VMStubsMEMemory::binnedstubs_
std::vector< std::vector< VMStubME > > binnedstubs_
Definition: VMStubsMEMemory.h:54
trklet::MemoryBase::initLayerDisk
void initLayerDisk(unsigned int pos, int &layer, int &disk)
Definition: MemoryBase.cc:17
createJobs.tmp
tmp
align.sh
Definition: createJobs.py:716
trklet::MemoryBase::bx_
int bx_
Definition: MemoryBase.h:47
dqmdumpme.first
first
Definition: dqmdumpme.py:55
trklet::MemoryBase::getName
std::string const & getName() const
Definition: MemoryBase.h:19
trklet::N_LAYER
constexpr int N_LAYER
Definition: Settings.h:19
trklet::FPGAWord
Definition: FPGAWord.h:9
VMStubsMEMemory.h
trklet::MemoryBase
Definition: MemoryBase.h:13
trklet::Settings::NLONGVMBINS
unsigned int NLONGVMBINS() const
Definition: Settings.h:272
trklet
Definition: AllProjectionsMemory.h:9
alignmentValidation.fname
string fname
main script
Definition: alignmentValidation.py:959
std
Definition: JetResolutionObject.h:76
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
trklet::hexFormat
std::string hexFormat(const std::string &binary)
Definition: Util.h:14
trklet::VMStubsMEMemory::writeStubs
void writeStubs(bool first)
Definition: VMStubsMEMemory.cc:19
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
TauDecayModes.dec
dec
Definition: TauDecayModes.py:143
trklet::MemoryBase::iSector_
unsigned int iSector_
Definition: MemoryBase.h:44