CMS 3D CMS Logo

TrackletProjectionsMemory.cc
Go to the documentation of this file.
3 #include <iomanip>
5 
6 using namespace std;
7 using namespace trklet;
8 
9 TrackletProjectionsMemory::TrackletProjectionsMemory(string name, Settings const& settings, unsigned int iSector)
10  : MemoryBase(name, settings, iSector) {
11  size_t pos = find_nth(name, 0, "_", 1);
12  assert(pos != string::npos);
14 }
15 
17  if (layer_ != 0 && disk_ == 0)
18  assert(tracklet->validProj(layer_));
19  if (layer_ == 0 && disk_ != 0)
20  assert(tracklet->validProjDisk(disk_));
21  if (layer_ != 0 && disk_ != 0)
22  assert(tracklet->validProj(layer_) || tracklet->validProjDisk(disk_));
23 
24  for (auto& itracklet : tracklets_) {
25  if (itracklet == tracklet) {
26  edm::LogPrint("Tracklet") << "Adding same tracklet " << tracklet << " twice in " << getName();
27  }
28  assert(itracklet != tracklet);
29  }
30 
31  tracklets_.push_back(tracklet);
32 }
33 
35 
37  std::ostringstream oss;
38  oss << "../data/MemPrints/TrackletProjections/TrackletProjections_" << getName() << "_" << std::setfill('0')
39  << std::setw(2) << (iSector_ + 1) << ".dat";
40  auto const& fname = oss.str();
41 
42  if (first) {
43  bx_ = 0;
44  event_ = 1;
45  out_.open(fname.c_str());
46  } else
47  out_.open(fname.c_str(), std::ofstream::app);
48 
49  out_ << "BX = " << (bitset<3>)bx_ << " Event : " << event_ << endl;
50 
51  for (unsigned int j = 0; j < tracklets_.size(); j++) {
52  string proj = (layer_ > 0 && tracklets_[j]->validProj(layer_)) ? tracklets_[j]->trackletprojstrlayer(layer_)
53  : tracklets_[j]->trackletprojstrdisk(disk_);
54  out_ << "0x";
55  out_ << std::setfill('0') << std::setw(2);
56  out_ << hex << j << dec;
57  out_ << " " << proj << " " << trklet::hexFormat(proj) << endl;
58  }
59  out_.close();
60 
61  bx_++;
62  event_++;
63  if (bx_ > 7)
64  bx_ = 0;
65 }
MessageLogger.h
trklet::MemoryBase::find_nth
static size_t find_nth(const std::string &haystack, size_t pos, const std::string &needle, size_t nth)
Definition: MemoryBase.cc:108
pos
Definition: PixelAliasList.h:18
edm::LogPrint
Log< level::Warning, true > LogPrint
Definition: MessageLogger.h:130
trklet::Settings
Definition: Settings.h:26
cms::cuda::assert
assert(be >=bs)
trklet::MemoryBase::event_
int event_
Definition: MemoryBase.h:48
trklet::MemoryBase::out_
std::ofstream out_
Definition: MemoryBase.h:46
trklet::MemoryBase::initLayerDisk
void initLayerDisk(unsigned int pos, int &layer, int &disk)
Definition: MemoryBase.cc:17
trklet::TrackletProjectionsMemory::clean
void clean() override
Definition: TrackletProjectionsMemory.cc:34
trklet::MemoryBase::bx_
int bx_
Definition: MemoryBase.h:47
trklet::Tracklet::validProj
bool validProj(int layer) const
Definition: Tracklet.h:89
dqmdumpme.first
first
Definition: dqmdumpme.py:55
trklet::Tracklet
Definition: Tracklet.h:28
TrackletProjectionsMemory.h
trklet::MemoryBase::getName
std::string const & getName() const
Definition: MemoryBase.h:19
amptDefault_cfi.proj
proj
Definition: amptDefault_cfi.py:13
trklet::MemoryBase
Definition: MemoryBase.h:13
trklet::TrackletProjectionsMemory::disk_
int disk_
Definition: TrackletProjectionsMemory.h:38
trklet::TrackletProjectionsMemory::writeTPROJ
void writeTPROJ(bool first)
Definition: TrackletProjectionsMemory.cc:36
trklet
Definition: AllProjectionsMemory.h:9
alignmentValidation.fname
string fname
main script
Definition: alignmentValidation.py:959
std
Definition: JetResolutionObject.h:76
trklet::TrackletProjectionsMemory::addProj
void addProj(Tracklet *tracklet)
Definition: TrackletProjectionsMemory.cc:16
trklet::TrackletProjectionsMemory::tracklets_
std::vector< Tracklet * > tracklets_
Definition: TrackletProjectionsMemory.h:35
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
trklet::hexFormat
std::string hexFormat(const std::string &binary)
Definition: Util.h:14
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
trklet::Tracklet::validProjDisk
bool validProjDisk(int disk) const
Definition: Tracklet.h:206
TauDecayModes.dec
dec
Definition: TauDecayModes.py:143
Tracklet.h
trklet::MemoryBase::iSector_
unsigned int iSector_
Definition: MemoryBase.h:44
trklet::TrackletProjectionsMemory::layer_
int layer_
Definition: TrackletProjectionsMemory.h:37