7 LogTrace(
"TkHistoMap") <<
"TkHistoMap::constructor without parameters";
8 load(tkDetMap,
"", 0.0
f,
false,
false,
false);
14 LogTrace(
"TkHistoMap") <<
"TkHistoMap::constructor with parameters";
15 load(tkDetMap, path, baseline, mechanicalView,
false);
28 LogTrace(
"TkHistoMap") <<
"TkHistoMap::constructor with parameters";
29 load(tkDetMap, path, baseline, mechanicalView, isTH2F);
42 LogTrace(
"TkHistoMap") <<
"TkHistoMap::constructor with parameters";
43 load(tkDetMap, path, baseline, mechanicalView,
false);
63 <<
"\n------------------------------------------" 64 "\nUnAvailable Service DQMStore: please insert in the configuration file an instance like" 65 "\n\tprocess.load(\"DQMServices.Core.DQMStore_cfg\")" 66 "\n------------------------------------------";
83 #ifdef debug_TkHistoMap 84 LogTrace(
"TkHistoMap") <<
"[TkHistoMap::loadTkHistoMap] folder " << folder <<
" histoName " << fullName
85 <<
" find " << folder.find_last_of(
"/") <<
" length " << folder.length();
87 if (folder.find_last_of(
"/") != folder.length() - 1)
89 tkHistoMap_[layer] = igetter.get(folder + fullName);
90 #ifdef debug_TkHistoMap 91 LogTrace(
"TkHistoMap") <<
"[TkHistoMap::loadTkHistoMap] folder " << folder <<
" histoName " << fullName
92 <<
" layer " << layer <<
" ptr " <<
tkHistoMap_[layer] <<
" find " 93 << folder.find_last_of(
"/") <<
" length " << folder.length();
104 bool mechanicalView) {
113 for (
int layer = 1; layer <
HistoNumber; ++layer) {
114 folder =
folderDefinition(ibooker, path, MapName, layer, mechanicalView, fullName);
117 if (bookTH2F ==
false) {
118 me = ibooker.
bookProfile2D(fullName.c_str(), fullName.c_str(), nchX, lowX, highX, nchY, lowY, highY, 0.0, 0.0);
120 me = ibooker.
book2D(fullName.c_str(), fullName.c_str(), nchX, lowX, highX, nchY, lowY, highY);
124 for (
size_t ix = 1; ix <= (
unsigned int)nchX; ++ix)
125 for (
size_t iy = 1; iy <= (
unsigned int)nchY; ++iy)
127 me->
Fill(1. * (lowX + ix - .5), 1. * (lowY + iy - .5), baseline);
131 #ifdef debug_TkHistoMap 132 LogTrace(
"TkHistoMap") <<
"[TkHistoMap::createTkHistoMap] folder " << folder <<
" histoName " << fullName
133 <<
" layer " << layer <<
" ptr " <<
tkHistoMap_[layer];
147 if (mechanicalView) {
148 std::stringstream
ss;
154 uint32_t subdetlayer = 0, side = 0;
166 file.open(filename.c_str());
169 while (file.good()) {
170 file >> detid >>
value;
179 #ifdef debug_TkHistoMap 180 LogTrace(
"TkHistoMap") <<
"[TkHistoMap::fill] Fill detid " << detid.
rawId() <<
" Layer " << layer <<
" value " 181 << value <<
" ix,iy " << xybin.
ix <<
" " << xybin.
iy <<
" " << xybin.
x <<
" " << xybin.
y <<
" " 185 tkHistoMap_[layer]->getTProfile2D()->Fill(xybin.
x, xybin.
y, value);
187 tkHistoMap_[layer]->getTH2F()->Fill(xybin.
x, xybin.
y, value);
189 #ifdef debug_TkHistoMap 190 LogTrace(
"TkHistoMap") <<
"[TkHistoMap::fill] " 191 <<
tkHistoMap_[layer]->getTProfile2D()->GetBinContent(xybin.
ix, xybin.
iy);
192 for (
size_t ii = 0;
ii < 4;
ii++)
193 for (
size_t jj = 0;
jj < 11;
jj++) {
195 LogTrace(
"TkHistoMap") <<
"[TkHistoMap::fill] " <<
ii <<
" " <<
jj <<
" " 198 LogTrace(
"TkHistoMap") <<
"[TkHistoMap::fill] " <<
ii <<
" " <<
jj <<
" " 216 #ifdef debug_TkHistoMap 217 LogTrace(
"TkHistoMap") <<
"[TkHistoMap::setbincontent] setBinContent detid " << detid.
rawId() <<
" Layer " << layer
218 <<
" value " << value <<
" ix,iy " << xybin.
ix <<
" " << xybin.
iy <<
" " << xybin.
x <<
" " 219 << xybin.
y <<
" " <<
tkHistoMap_[layer]->getTProfile2D()->GetName() <<
" bin " 222 LogTrace(
"TkHistoMap") <<
"[TkHistoMap::setbincontent] " 223 <<
tkHistoMap_[layer]->getTProfile2D()->GetBinContent(xybin.
ix, xybin.
iy);
224 for (
size_t ii = 0;
ii < 4;
ii++)
225 for (
size_t jj = 0;
jj < 11;
jj++) {
226 LogTrace(
"TkHistoMap") <<
"[TkHistoMap::setbincontent] " <<
ii <<
" " <<
jj <<
" " 233 #ifdef debug_TkHistoMap 234 LogTrace(
"TkHistoMap") <<
"[TkHistoMap::add]";
240 tkHistoMap_[layer]->getTProfile2D()->GetBinContent(
257 return tkHistoMap_[layer]->getTProfile2D()->GetBinContent(
266 return tkHistoMap_[layer]->getTProfile2D()->GetBinEntries(
271 for (
int layer = 1; layer <
HistoNumber; ++layer) {
275 for (
size_t i = 0;
i < dets.size(); ++
i) {
389 TFile*
f =
new TFile(filename.c_str(), mode.c_str());
void setSiStripFolderName(std::string name)
static std::string getLayerName(int in)
static void getSubDetLayerSide(int in, SiStripDetId::SubDetector &, uint32_t &layer, uint32_t &side)
void setBinContent(DetId detid, float value)
void meBookerGetter(iFunc f)
void fillFromAscii(const std::string &filename)
void setCurrentFolder(std::string const &fullpath)
constexpr uint32_t rawId() const
get the raw id
void load(const TkDetMap *tkDetMap, const std::string &path, float baseline, bool mechanicalView, bool isTH2F, bool createTkMap=true)
std::vector< DetId > getDetsForLayer(int layer) const
std::vector< MonitorElement * > tkHistoMap_
static ELmap const & loadMap()
void getSubDetLayerFolderName(std::stringstream &ss, SiStripDetId::SubDetector subDet, uint32_t layer, uint32_t side=0)
void save(const std::string &filename)
void createTkHistoMap(DQMStore::IBooker &ibooker, const std::string &path, const std::string &MapName, float baseline, bool mechanicalView)
TkLayerMap::XYbin cached_XYbin
TkHistoMap(const TkDetMap *tkDetMap, DQMStore::IBooker &ibooker, const std::string &path, const std::string &MapName, float baseline=0, bool mechanicalView=false)
MonitorElement * bookProfile2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, double lowZ, double highZ, char const *option="s")
void dumpInTkMap(TrackerMap *tkmap, bool dumpEntries=false)
void getComponents(int layer, int &nchX, double &lowX, double &highX, int &nchY, double &lowY, double &highY) const
int16_t findLayer(DetId detid, DetId &cached_detid, int16_t &cached_layer, TkLayerMap::XYbin &cached_XYbin) const
void fill(DetId detid, float value)
const TkDetMap * tkdetmap_
void saveAsCanvas(const std::string &filename, const std::string &options="", const std::string &mode="RECREATE")
void loadTkHistoMap(const std::string &path, const std::string &MapName, bool mechanicalView=false)
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
DetId getDetFromBin(int layer, int ix, int iy) const
void add(DetId detid, float value)
const TkLayerMap::XYbin & getXY(DetId detid, DetId &cached_detid, int16_t &cached_layer, TkLayerMap::XYbin &cached_XYbin) const
float getEntries(DetId detid)
float getValue(DetId detid)
void save(std::string const &filename, std::string const &path="", std::string const &pattern="", std::string const &rewrite="", uint32_t run=0, uint32_t lumi=0, SaveReferenceTag ref=SaveWithReference, int minStatus=dqm::qstatus::STATUS_OK, std::string const &fileupdate="RECREATE")
void fill(int layer, int ring, int nmod, float x)
std::string folderDefinition(DQMStore::IBooker &ibooker, std::string folder, const std::string &MapName, int layer, bool mechanicalView, std::string &fullName)