CMS 3D CMS Logo

List of all members | Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes
SiStripCondObjectRepresent::SiStripDataContainer< Item, type > Class Template Reference

#include <SiStripCondObjectRepresent.h>

Public Member Functions

void compare (SiStripDataContainer *dataCont2)
 
void divide (SiStripDataContainer *dataCont2)
 
void fillByPartition (TCanvas &canvas, int nbins, float min, float max)
 
void fillCorrelationByPartition (TCanvas &canvas, int nbins, float min, float max)
 
void fillSummary (TCanvas &canvas)
 
void fillTrackerMap (TrackerMap *&tmap, std::pair< float, float > &range, const SiStripPI::estimator &est, const int nsigmas_of_saturation)
 
void fillValuePlot (TCanvas &canvas, const SiStripPI::OpMode &op_mode_, int nbins, float min, float max)
 
const plotTypegetPlotType () const
 
const std::string & hash () const
 
const std::string & hash2 () const
 
const bool isMultiTag ()
 
const SiStripPI::MetaData metaData () const
 
const std::string & payloadName () const
 
const char * plotDescriptor ()
 
void printAll ()
 
const unsigned int run () const
 
const unsigned int run2 () const
 
void setAdditionalIOV (const unsigned int run, const std::string &hash, const std::string &tagname)
 
void setGranularity (granularity myGranularity)
 
void setPayloadType (std::string myPayloadType)
 
void setPlotType (plotType myType)
 
SiStripCondDataItem< typesiStripCondData ()
 
 SiStripDataContainer (const std::shared_ptr< Item > &payload, const SiStripPI::MetaData &metadata, const std::string &tagname)
 
virtual void storeAllValues ()
 
void subtract (SiStripDataContainer *dataCont2)
 
const std::string & tagName () const
 
const std::string & tagName2 () const
 
const std::string & topoMode () const
 
virtual ~SiStripDataContainer ()=default
 

Protected Attributes

std::shared_ptr< Item > payload_
 
std::string payloadType_
 
SiStripCondDataItem< typeSiStripCondData_
 

Private Member Functions

std::string opType (SiStripPI::OpMode mode)
 

Private Attributes

std::tuple< int, std::string, std::string > additionalIOV_
 
granularity granularity_
 
std::string hash_
 
TrackerTopology m_trackerTopo
 
plotType plotMode_
 
unsigned int run_
 
SiStripDetSummary summary {&m_trackerTopo}
 
std::string tagname_
 
std::string TopoMode_
 
std::map< std::string, std::string > units_
 

Detailed Description

template<class Item, class type>
class SiStripCondObjectRepresent::SiStripDataContainer< Item, type >

Definition at line 174 of file SiStripCondObjectRepresent.h.

Constructor & Destructor Documentation

◆ SiStripDataContainer()

template<class Item , class type >
SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::SiStripDataContainer ( const std::shared_ptr< Item > &  payload,
const SiStripPI::MetaData metadata,
const std::string &  tagname 
)
inline

Definition at line 176 of file SiStripCondObjectRepresent.h.

References SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::additionalIOV_, SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::granularity_, SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::payloadType_, SiStripCondObjectRepresent::PERSTRIP, SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::plotMode_, SiStripCondObjectRepresent::STANDARD, and AlCaHLTBitMon_QueryRunRegistry::string.

179  : payload_(payload),
180  run_(std::get<0>(metadata)),
181  hash_(std::get<1>(metadata)),
182  tagname_(tagname),
184  edm::FileInPath("Geometry/TrackerCommonData/data/trackerParameters.xml").fullPath())) {
188  additionalIOV_ = std::make_tuple(-1, "", "");
189  }
TrackerTopology fromTrackerParametersXMLFile(const std::string &xmlFileName)
std::tuple< int, std::string, std::string > additionalIOV_

◆ ~SiStripDataContainer()

template<class Item , class type >
virtual SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::~SiStripDataContainer ( )
virtualdefault

Member Function Documentation

◆ compare()

template<class Item , class type >
void SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::compare ( SiStripDataContainer< Item, type > *  dataCont2)
inline

Definition at line 275 of file SiStripCondObjectRepresent.h.

References SiStripCondObjectRepresent::COMPARISON, hcalRecHitTable_cff::detId, mps_splice::entry, SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::hash(), SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::plotMode_, SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::run(), SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::setAdditionalIOV(), SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::setPlotType(), SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::siStripCondData(), SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::SiStripCondData_, SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::storeAllValues(), and SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::tagName().

277  {
279  dataCont2->setPlotType(COMPARISON);
280  SiStripCondData_.setComparedBit();
281 
282  setAdditionalIOV(dataCont2->run(), dataCont2->hash(), dataCont2->tagName());
283 
284  if (!SiStripCondData_.isCached())
285  storeAllValues();
286  dataCont2->storeAllValues();
287  auto SiStripCondData2_ = dataCont2->siStripCondData();
288 
289  auto listOfDetIds = SiStripCondData_.detIds(false);
290  for (const auto &detId : listOfDetIds) {
291  auto entriesToAdd = SiStripCondData2_.data(detId);
292  for (const auto &entry : entriesToAdd) {
293  SiStripCondData_.fillByPushBack(detId, entry);
294  }
295  }
296  }
void setAdditionalIOV(const unsigned int run, const std::string &hash, const std::string &tagname)

◆ divide()

template<class Item , class type >
void SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::divide ( SiStripDataContainer< Item, type > *  dataCont2)
inline

Definition at line 299 of file SiStripCondObjectRepresent.h.

References hcalRecHitTable_cff::detId, SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::hash(), SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::plotMode_, SiStripCondObjectRepresent::RATIO, SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::run(), SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::setAdditionalIOV(), SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::setPlotType(), SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::siStripCondData(), SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::SiStripCondData_, SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::storeAllValues(), and SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::tagName().

Referenced by python.rootplot.utilities.Hist::__div__().

301  {
302  plotMode_ = RATIO;
303  dataCont2->setPlotType(RATIO);
304 
305  setAdditionalIOV(dataCont2->run(), dataCont2->hash(), dataCont2->tagName());
306 
307  if (!SiStripCondData_.isCached())
308  storeAllValues();
309  dataCont2->storeAllValues();
310  auto SiStripCondData2_ = dataCont2->siStripCondData();
311 
312  auto listOfDetIds = SiStripCondData_.detIds(false);
313  for (const auto &detId : listOfDetIds) {
314  SiStripCondData_.divide(detId, SiStripCondData2_.data(detId));
315  }
316  }
void setAdditionalIOV(const unsigned int run, const std::string &hash, const std::string &tagname)

◆ fillByPartition()

template<class Item , class type >
void SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::fillByPartition ( TCanvas &  canvas,
int  nbins,
float  min,
float  max 
)
inline

Definition at line 726 of file SiStripCondObjectRepresent.h.

References svgfig::canvas(), SiStripCondObjectRepresent::COMPARISON, hcalRecHitTable_cff::detId, SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::granularity_, SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::isMultiTag(), SiStripCondObjectRepresent::k_colormap, SiStripPI::makeNicePlotStyle(), SiStripPI::max, SiStripPI::min, LaserClient_cfi::nbins, SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::payloadType_, SiStripCondObjectRepresent::PERAPV, SiStripCondObjectRepresent::PERMODULE, SiStripCondObjectRepresent::PERSTRIP, SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::plotDescriptor(), SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::plotMode_, SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::run(), SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::run2(), SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::SiStripCondData_, SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::storeAllValues(), DetId::subdetId(), SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::tagName(), SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::tagName2(), StripSubdetector::TEC, StripSubdetector::TIB, StripSubdetector::TID, StripSubdetector::TOB, SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::units_, and contentValuesCheck::values.

728  {
729  std::map<std::string, TH1F *> h_parts;
730  std::map<std::string, TH1F *> h_parts2;
731  std::vector<std::string> parts = {"TEC", "TOB", "TIB", "TID"};
732 
733  const char *device;
734  switch (granularity_) {
735  case PERSTRIP:
736  device = "strips";
737  break;
738  case PERAPV:
739  device = "APVs";
740  break;
741  case PERMODULE:
742  device = "modules";
743  break;
744  default:
745  device = "unrecognized device";
746  break;
747  }
748 
749  for (const auto &part : parts) {
750  TString globalTitle = Form("%s - %s %s;%s %s;n. %s",
751  plotDescriptor(),
752  payloadType_.c_str(),
753  part.c_str(),
754  payloadType_.c_str(),
755  (units_[payloadType_]).c_str(),
756  device);
757 
758  h_parts[part] = new TH1F(Form("h_%s", part.c_str()), globalTitle, nbins, min, max);
759  h_parts[part]->SetTitle(""); /* remove the title from display */
760  if (plotMode_ == COMPARISON) {
761  h_parts2[part] = new TH1F(Form("h2_%s", part.c_str()), globalTitle, nbins, min, max);
762  h_parts2[part]->SetTitle(""); /* remove the title from display */
763  }
764  }
765 
766  if (!SiStripCondData_.isCached())
767  storeAllValues();
768  auto listOfDetIds = SiStripCondData_.detIds(false);
769  for (const auto &detId : listOfDetIds) {
770  auto values = SiStripCondData_.data(detId);
771  int subid = DetId(detId).subdetId();
772  unsigned int counter{0};
773  for (const auto &value : values) {
774  counter++;
775  switch (subid) {
777  if ((plotMode_ == COMPARISON) && (counter > (values.size() / 2))) {
778  h_parts2["TIB"]->Fill(value);
779  } else {
780  h_parts["TIB"]->Fill(value);
781  }
782  break;
784  if ((plotMode_ == COMPARISON) && (counter > (values.size() / 2))) {
785  h_parts2["TID"]->Fill(value);
786  } else {
787  h_parts["TID"]->Fill(value);
788  }
789  break;
791  if ((plotMode_ == COMPARISON) && (counter > (values.size() / 2))) {
792  h_parts2["TOB"]->Fill(value);
793  } else {
794  h_parts["TOB"]->Fill(value);
795  }
796  break;
798  if ((plotMode_ == COMPARISON) && (counter > (values.size() / 2))) {
799  h_parts2["TEC"]->Fill(value);
800  } else {
801  h_parts["TEC"]->Fill(value);
802  }
803  break;
804  default:
805  edm::LogError("LogicError") << "Unknown partition: " << subid;
806  break;
807  }
808  }
809  }
810 
811  canvas.Divide(2, 2);
812 
813  auto ltx = TLatex();
814  ltx.SetTextFont(62);
815  ltx.SetTextSize(0.05);
816  ltx.SetTextAlign(31);
817 
818  int index = 0;
819  for (const auto &part : parts) {
820  index++;
821  canvas.cd(index)->SetTopMargin(0.07);
822  canvas.cd(index)->SetLeftMargin(0.13);
823  canvas.cd(index)->SetRightMargin(0.08);
824 
826  h_parts[part]->SetMinimum(1.);
827  h_parts[part]->SetStats(false);
828  h_parts[part]->SetLineWidth(2);
829 
830  if (plotMode_ != COMPARISON) {
831  h_parts[part]->SetLineColor(k_colormap.at(part));
832  h_parts[part]->SetFillColorAlpha(k_colormap.at(part), 0.15);
833  float theMax = h_parts[part]->GetMaximum();
834  h_parts[part]->SetMaximum(theMax * 1.30);
835  } else {
836  h_parts[part]->SetLineColor(kBlack);
837 
839  h_parts2[part]->SetMinimum(1.);
840  h_parts2[part]->SetStats(false);
841  h_parts2[part]->SetLineWidth(2);
842  h_parts2[part]->SetLineColor(kBlue);
843  h_parts2[part]->SetFillColorAlpha(kBlue, 0.15);
844 
845  float theMax = (h_parts[part]->GetMaximum() > h_parts2[part]->GetMaximum()) ? h_parts[part]->GetMaximum()
846  : h_parts2[part]->GetMaximum();
847 
848  h_parts[part]->SetMaximum(theMax * 1.30);
849  h_parts2[part]->SetMaximum(theMax * 1.30);
850  }
851 
852  h_parts[part]->Draw();
853  if (plotMode_ == COMPARISON) {
854  h_parts2[part]->Draw("same");
855  }
856 
857  TLegend *leg = new TLegend(.13, 0.81, 0.92, 0.93);
858  if (plotMode_ != COMPARISON) {
859  // it means it's a difference
860  if (this->isMultiTag()) {
861  leg->SetHeader("#bf{Two Tags Difference}", "C"); // option "C" allows to center the header
862  leg->AddEntry(h_parts[part],
863  (fmt::sprintf("#splitline{%s : %i}{%s : %i}", tagName(), run(), tagName2(), run2())).c_str(),
864  "F");
865  } else {
866  leg->SetHeader(("tag: #bf{" + tagName() + "}").c_str(), "C"); // option "C" allows to center the header
867  leg->AddEntry(h_parts[part], (fmt::sprintf("%s", plotDescriptor())).c_str(), "F");
868  }
869  leg->SetTextSize(0.04);
870  leg->Draw("same");
871  ltx.DrawLatexNDC(
872  0.35,
873  0.7,
874  (fmt::sprintf("#splitline{#mu = %.2f}{r.m.s. = %.2f}", h_parts[part]->GetMean(), h_parts[part]->GetRMS()))
875  .c_str());
876  ltx.DrawLatexNDC(1 - gPad->GetRightMargin(),
877  1 - gPad->GetTopMargin() + 0.01,
878  (fmt::sprintf("#color[2]{%s} %s Values %s", part, payloadType_, plotDescriptor())).c_str());
879  } else {
880  if (this->isMultiTag()) {
881  leg->SetHeader("#bf{Two Tags Comparison}", "C"); // option "C" allows to center the header
882  leg->AddEntry(h_parts[part], (fmt::sprintf("%s : %i", tagName(), run())).c_str(), "F");
883  leg->AddEntry(h_parts2[part], (fmt::sprintf("%s : %i", tagName2(), run2())).c_str(), "F");
884  } else {
885  leg->SetHeader(("tag: #bf{" + tagName() + "}").c_str(), "C"); // option "C" allows to center the header
886  leg->AddEntry(h_parts[part], (fmt::sprintf("IOV since: %i", this->run())).c_str(), "F");
887  leg->AddEntry(h_parts2[part], (fmt::sprintf("IOV since: %i", this->run2())).c_str(), "F");
888  }
889  leg->SetTextSize(0.035);
890  leg->Draw("same");
891  ltx.DrawLatexNDC(1 - gPad->GetRightMargin(),
892  1 - gPad->GetTopMargin() + 0.01,
893  (fmt::sprintf("#color[2]{%s} %s Values Comparison", part, payloadType_)).c_str());
894  }
895  }
896  }
static constexpr auto TEC
Log< level::Error, false > LogError
void makeNicePlotStyle(TH1 *hist)
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:48
Definition: value.py:1
static constexpr auto TOB
Definition: DetId.h:17
static constexpr auto TIB
part
Definition: HCALResponse.h:20
static const std::map< std::string, int > k_colormap
def canvas(sub, attr)
Definition: svgfig.py:482
static constexpr auto TID

◆ fillCorrelationByPartition()

template<class Item , class type >
void SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::fillCorrelationByPartition ( TCanvas &  canvas,
int  nbins,
float  min,
float  max 
)
inline

Definition at line 899 of file SiStripCondObjectRepresent.h.

References SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::additionalIOV_, svgfig::canvas(), SiStripCondObjectRepresent::COMPARISON, SiStripPI::DEFAULT, hcalRecHitTable_cff::detId, Exception, SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::granularity_, SiStripPI::makeNicePlotStyle(), SiStripPI::max, SiStripPI::min, LaserClient_cfi::nbins, SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::payloadType_, SiStripCondObjectRepresent::PERAPV, SiStripCondObjectRepresent::PERMODULE, SiStripCondObjectRepresent::PERSTRIP, SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::plotMode_, SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::run_, SiStripPI::setPaletteStyle(), SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::SiStripCondData_, SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::storeAllValues(), DetId::subdetId(), StripSubdetector::TEC, StripSubdetector::TIB, StripSubdetector::TID, to_string(), StripSubdetector::TOB, SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::units_, and contentValuesCheck::values.

901  {
902  SiStripPI::setPaletteStyle(SiStripPI::DEFAULT); /* better looking palette ;)*/
903 
904  if (plotMode_ != COMPARISON) {
905  throw cms::Exception("Logic error") << "not being in compared mode, cannot plot correlations";
906  }
907 
908  std::map<std::string, TH2F *> h2_parts;
909  std::vector<std::string> parts = {"TEC", "TOB", "TIB", "TID"};
910 
911  const char *device;
912  switch (granularity_) {
913  case PERSTRIP:
914  device = "strips";
915  break;
916  case PERAPV:
917  device = "APVs";
918  break;
919  case PERMODULE:
920  device = "modules";
921  break;
922  default:
923  device = "unrecognized device";
924  break;
925  }
926 
927  for (const auto &part : parts) {
928  TString globalTitle = Form("%s - %s %s;%s %s (#color[4]{%s});%s %s (#color[4]{%s});n. %s",
929  "Correlation", // FIXME: can use the plotDescriptor()
930  payloadType_.c_str(),
931  part.c_str(),
932  payloadType_.c_str(),
933  (units_[payloadType_]).c_str(),
934  std::to_string(run_).c_str(),
935  payloadType_.c_str(),
936  (units_[payloadType_]).c_str(),
937  std::to_string(std::get<0>(additionalIOV_)).c_str(),
938  device);
939 
940  h2_parts[part] = new TH2F(Form("h2_%s", part.c_str()), globalTitle, nbins, min, max, nbins, min, max);
941  }
942 
943  if (!SiStripCondData_.isCached())
944  storeAllValues();
945  auto listOfDetIds = SiStripCondData_.detIds(false);
946  for (const auto &detId : listOfDetIds) {
947  auto values = SiStripCondData_.demuxedData(detId);
948  int subid = DetId(detId).subdetId();
949  unsigned int counter{0};
950  for (const auto &value : values.first) {
951  switch (subid) {
953  h2_parts["TIB"]->Fill(value, (values.second)[counter]);
954  break;
956  h2_parts["TID"]->Fill(value, (values.second)[counter]);
957  break;
959  h2_parts["TOB"]->Fill(value, (values.second)[counter]);
960  break;
962  h2_parts["TEC"]->Fill(value, (values.second)[counter]);
963  break;
964  default:
965  edm::LogError("LogicError") << "Unknown partition: " << subid;
966  break;
967  }
968  counter++;
969  }
970  }
971 
972  canvas.Divide(2, 2);
973 
974  int index = 0;
975  for (const auto &part : parts) {
976  index++;
977  canvas.cd(index)->SetTopMargin(0.07);
978  canvas.cd(index)->SetLeftMargin(0.13);
979  canvas.cd(index)->SetRightMargin(0.17);
980 
982  h2_parts[part]->GetZaxis()->SetTitleOffset(1.6);
983  h2_parts[part]->GetZaxis()->SetTitleSize(0.04);
984  h2_parts[part]->GetZaxis()->CenterTitle();
985  h2_parts[part]->GetZaxis()->SetMaxDigits(2); /* exponentiate z-axis */
986 
987  //h2_parts[part]->SetMarkerColor(k_colormap.at(part));
988  //h2_parts[part]->SetMarkerStyle(k_markermap.at(part));
989  //h2_parts[part]->SetStats(false);
990  //h2_parts[part]->Draw("P");
991  h2_parts[part]->Draw("colz");
992 
993  TLegend *leg = new TLegend(.13, 0.87, 0.27, 0.93);
994  leg->SetTextSize(0.045);
995  leg->SetHeader(Form("#bf{%s}", part.c_str()), "C"); // option "C" allows to center the header
996  //leg->AddEntry(h2_parts[part], Form("#DeltaIOV: #splitline{%i}{%i}", run_, std::get<0>(additionalIOV_)),"P");
997  leg->Draw("same");
998  }
999  }
static constexpr auto TEC
Log< level::Error, false > LogError
void setPaletteStyle(SiStripPI::palette palette)
static std::string to_string(const XMLCh *ch)
void makeNicePlotStyle(TH1 *hist)
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:48
Definition: value.py:1
static constexpr auto TOB
Definition: DetId.h:17
static constexpr auto TIB
part
Definition: HCALResponse.h:20
def canvas(sub, attr)
Definition: svgfig.py:482
std::tuple< int, std::string, std::string > additionalIOV_
static constexpr auto TID

◆ fillSummary()

template<class Item , class type >
void SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::fillSummary ( TCanvas &  canvas)
inline

Definition at line 566 of file SiStripCondObjectRepresent.h.

References SiStripDetSummary::add(), SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::additionalIOV_, cms::cuda::assert(), svgfig::canvas(), SiStripDetSummary::clear(), SiStripCondObjectRepresent::COMPARISON, submitPVResolutionJobs::count, gather_cfg::cout, hgcalTestNeighbor_cfi::detector, hcalRecHitTable_cff::detId, SiStripDetSummary::getCounts(), SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::hash_, mps_fire::i, MainPageGenerator::l, compareTotals::legend, mps_splice::line, SiStripPI::mean, SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::payloadType_, SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::plotMode_, SiStripPI::regionType(), SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::run_, SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::SiStripCondData_, SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::storeAllValues(), AlCaHLTBitMon_QueryRunRegistry::string, SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::summary, and contentValuesCheck::values.

568  {
569  std::map<unsigned int, SiStripDetSummary::Values> f_map;
570  std::map<unsigned int, SiStripDetSummary::Values> l_map;
571 
572  if (!SiStripCondData_.isCached())
573  storeAllValues();
574  auto listOfDetIds = SiStripCondData_.detIds(false);
575 
576  if (plotMode_ == COMPARISON) {
577  for (const auto &detId : listOfDetIds) {
578  auto values = SiStripCondData_.demuxedData(detId);
579  for (const auto &value : values.first) {
581  }
582  }
583 
584  f_map = summary.getCounts();
585  summary.clear();
586 
587  for (const auto &detId : listOfDetIds) {
588  auto values = SiStripCondData_.demuxedData(detId);
589  for (const auto &value : values.second) {
591  }
592  }
593 
594  l_map = summary.getCounts();
595 
596  } else {
597  for (const auto &detId : listOfDetIds) {
598  auto values = SiStripCondData_.data(detId);
599  for (const auto &value : values) {
601  }
602  }
603  f_map = summary.getCounts();
604  }
605 
606  if (plotMode_ == COMPARISON) {
607  std::cout << "f map size: " << f_map.size() << " l map size:" << l_map.size() << std::endl;
608  assert(f_map.size() == l_map.size());
609  }
610  //=========================
611 
612  canvas.cd();
613  auto h1 = new TH1F(
614  "byRegion1",
615  Form("SiStrip %s average by region;; average SiStrip %s", payloadType_.c_str(), payloadType_.c_str()),
616  f_map.size(),
617  0.,
618  f_map.size());
619  h1->SetStats(false);
620 
621  auto h2 = new TH1F(
622  "byRegion2",
623  Form("SiStrip %s average by region;; average SiStrip %s", payloadType_.c_str(), payloadType_.c_str()),
624  f_map.size(),
625  0.,
626  f_map.size());
627  h2->SetStats(false);
628 
629  canvas.SetBottomMargin(0.18);
630  canvas.SetLeftMargin(0.17);
631  canvas.SetRightMargin(0.05);
632  canvas.Modified();
633 
634  std::vector<int> boundaries;
635  unsigned int iBin = 0;
636 
638  std::string currentDetector;
639 
640  for (const auto &element : f_map) {
641  iBin++;
642  int count = element.second.count;
643  double mean = (element.second.mean) / count;
644 
645  if (currentDetector.empty())
646  currentDetector = "TIB";
647 
648  switch ((element.first) / 1000) {
649  case 1:
650  detector = "TIB";
651  break;
652  case 2:
653  detector = "TOB";
654  break;
655  case 3:
656  detector = "TEC";
657  break;
658  case 4:
659  detector = "TID";
660  break;
661  }
662 
663  h1->SetBinContent(iBin, mean);
664  h1->GetXaxis()->SetBinLabel(iBin, SiStripPI::regionType(element.first).second);
665  h1->GetXaxis()->LabelsOption("v");
666 
667  if (detector != currentDetector) {
668  boundaries.push_back(iBin);
669  currentDetector = detector;
670  }
671  }
672 
673  iBin = 0;
674  if (plotMode_ == COMPARISON) {
675  for (const auto &element : l_map) {
676  iBin++;
677  int count = element.second.count;
678  double mean = (element.second.mean) / count;
679 
680  h2->SetBinContent(iBin, mean);
681  h2->GetXaxis()->SetBinLabel(iBin, SiStripPI::regionType(element.first).second);
682  h2->GetXaxis()->LabelsOption("v");
683  }
684  }
685 
686  h1->GetYaxis()->SetRangeUser(0., h1->GetMaximum() * 1.30);
687  h1->SetMarkerStyle(20);
688  h1->SetMarkerSize(1.5);
689  h1->Draw("HIST");
690  h1->Draw("Psame");
691 
692  if (plotMode_ == COMPARISON) {
693  h2->GetYaxis()->SetRangeUser(0., h2->GetMaximum() * 1.30);
694  h2->SetMarkerStyle(25);
695  h2->SetMarkerColor(kBlue);
696  h2->SetLineColor(kBlue);
697  h2->SetMarkerSize(1.5);
698  h2->Draw("HISTsame");
699  h2->Draw("Psame");
700  }
701 
702  canvas.Update();
703 
704  TLine *l[boundaries.size()];
705  unsigned int i = 0;
706  for (const auto &line : boundaries) {
707  l[i] = new TLine(h1->GetBinLowEdge(line), canvas.GetUymin(), h1->GetBinLowEdge(line), canvas.GetUymax());
708  l[i]->SetLineWidth(1);
709  l[i]->SetLineStyle(9);
710  l[i]->SetLineColor(2);
711  l[i]->Draw("same");
712  i++;
713  }
714 
715  TLegend *legend = new TLegend(0.52, 0.82, 0.95, 0.9);
716  legend->SetHeader(hash_.c_str(), "C"); // option "C" allows to center the header
717  legend->AddEntry(h1, Form("IOV: %i", run_), "PL");
718  if (plotMode_ == COMPARISON) {
719  legend->AddEntry(h2, Form("IOV: %i", std::get<0>(additionalIOV_)), "PL");
720  }
721  legend->SetTextSize(0.025);
722  legend->Draw("same");
723  }
std::map< unsigned int, Values > getCounts()
std::pair< int, const char * > regionType(int index)
assert(be >=bs)
void add(DetId detid, float value)
Used to compute the mean value of the value variable divided by subdetector, layer and mono/stereo...
Definition: value.py:1
def canvas(sub, attr)
Definition: svgfig.py:482
std::tuple< int, std::string, std::string > additionalIOV_

◆ fillTrackerMap()

template<class Item , class type >
void SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::fillTrackerMap ( TrackerMap *&  tmap,
std::pair< float, float > &  range,
const SiStripPI::estimator est,
const int  nsigmas_of_saturation 
)
inline

Definition at line 356 of file SiStripCondObjectRepresent.h.

References hcalRecHitTable_cff::detId, SiStripCondObjectRepresent::DIFF, SiStripPI::estimatorType(), TrackerMap::fill(), SiStripPI::getTheRange(), SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::hash_, B2GTnPMonitor_cfi::item, SiStripPI::max, SiStripPI::mean, SiStripPI::min, SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::payloadType_, SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::plotDescriptor(), SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::plotMode_, FastTimerService_cff::range, SiStripCondObjectRepresent::RATIO, SiStripPI::rms, TrackerMap::setPalette(), TrackerMap::setTitle(), SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::SiStripCondData_, mathSSE::sqrt(), SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::storeAllValues(), AlCaHLTBitMon_QueryRunRegistry::string, relativeConstraints::value, and contentValuesCheck::values.

361  {
362  std::string titleMap;
363  if (plotMode_ != DIFF && plotMode_ != RATIO) {
364  titleMap =
365  "Tracker Map of " + payloadType_ + " " + estimatorType(est) + " per module (payload : " + hash_ + ")";
366  } else {
367  titleMap = "Tracker Map of " + payloadType_ + " " + Form("%s", plotDescriptor()) + " " + estimatorType(est) +
368  " per module";
369  }
370 
371  tmap = new TrackerMap(payloadType_);
372  tmap->setTitle(titleMap);
373  tmap->setPalette(1);
374 
375  // storage of info
376  std::map<unsigned int, float> info_per_detid;
377 
378  if (!SiStripCondData_.isCached())
379  storeAllValues();
380  auto listOfDetIds = SiStripCondData_.detIds(false);
381  for (const auto &detId : listOfDetIds) {
382  auto values = SiStripCondData_.data(detId);
383 
384  unsigned int nElements = values.size();
385  double mean(0.), rms(0.), min(10000.), max(0.);
386 
387  for (const auto &value : values) {
388  mean += value;
389  rms += value * value;
390  if (value < min)
391  min = value;
392  if (value > max)
393  max = value;
394  }
395 
396  mean /= nElements;
397  if ((rms / nElements - mean * mean) > 0.) {
398  rms = sqrt(rms / nElements - mean * mean);
399  } else {
400  rms = 0.;
401  }
402 
403  switch (est) {
404  case SiStripPI::min:
405  info_per_detid[detId] = min;
406  break;
407  case SiStripPI::max:
408  info_per_detid[detId] = max;
409  break;
410  case SiStripPI::mean:
411  info_per_detid[detId] = mean;
412  break;
413  case SiStripPI::rms:
414  info_per_detid[detId] = rms;
415  break;
416  default:
417  edm::LogWarning("LogicError") << "Unknown estimator: " << est;
418  break;
419  }
420  }
421 
422  // loop on the map
423  for (const auto &item : info_per_detid) {
424  tmap->fill(item.first, item.second);
425  }
426 
427  range = SiStripPI::getTheRange(info_per_detid, nsigmas_of_saturation);
428  }
void setTitle(std::string s)
Definition: TrackerMap.h:158
std::pair< float, float > getTheRange(std::map< uint32_t, float > values, const float nsigma)
T sqrt(T t)
Definition: SSEVec.h:19
void setPalette(int numpalette)
Definition: TrackerMap.h:155
Definition: value.py:1
std::string estimatorType(SiStripPI::estimator e)
Log< level::Warning, false > LogWarning
void fill(int layer, int ring, int nmod, float x)
Definition: TrackerMap.cc:3443

◆ fillValuePlot()

template<class Item , class type >
void SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::fillValuePlot ( TCanvas &  canvas,
const SiStripPI::OpMode op_mode_,
int  nbins,
float  min,
float  max 
)
inline

Definition at line 431 of file SiStripCondObjectRepresent.h.

References SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::additionalIOV_, SiStripPI::APV_BASED, svgfig::canvas(), SiStripCondObjectRepresent::COMPARISON, gather_cfg::cout, hcalRecHitTable_cff::detId, SiStripPI::Monitor1D::getHist(), SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::granularity_, compareTotals::legend, SiStripPI::makeNicePlotStyle(), SiStripPI::max, SiStripPI::min, LaserClient_cfi::nbins, SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::opType(), SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::payloadType_, SiStripCondObjectRepresent::PERAPV, SiStripCondObjectRepresent::PERMODULE, SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::plotMode_, SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::run_, SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::SiStripCondData_, SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::storeAllValues(), SiStripPI::STRIP_BASED, SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::units_, and contentValuesCheck::values.

433  {
434  auto myMode = op_mode_;
435  // check the consistency first
436 
437  if (granularity_ == PERAPV) {
438  switch (op_mode_) {
440  edm::LogError("LogicError") << " Cannot display average per " << opType(op_mode_).c_str()
441  << " in a conditions served per APV";
442  return;
444  myMode = SiStripPI::STRIP_BASED;
445  break;
446  default:
447  break;
448  }
449  } else if (granularity_ == PERMODULE) {
450  if (op_mode_ == SiStripPI::STRIP_BASED || op_mode_ == SiStripPI::APV_BASED) {
451  edm::LogError("LogicError") << " Cannot display average per " << opType(op_mode_).c_str()
452  << " in a conditions served per module";
453  return;
454  }
455  }
456 
457  SiStripPI::Monitor1D *f_mon = nullptr;
458  SiStripPI::Monitor1D *l_mon = nullptr;
459 
460  f_mon = new SiStripPI::Monitor1D(myMode,
461  "first",
462  Form("#LT %s #GT per %s;#LT%s per %s#GT %s;n. %ss",
463  payloadType_.c_str(),
464  opType(op_mode_).c_str(),
465  payloadType_.c_str(),
466  opType(op_mode_).c_str(),
467  (units_[payloadType_]).c_str(),
468  opType(op_mode_).c_str()),
469  nbins,
470  min,
471  max);
472 
473  if (plotMode_ == COMPARISON) {
474  l_mon = new SiStripPI::Monitor1D(myMode,
475  "last",
476  Form("#LT %s #GT per %s;#LT%s per %s#GT %s;n. %ss",
477  payloadType_.c_str(),
478  opType(op_mode_).c_str(),
479  payloadType_.c_str(),
480  opType(op_mode_).c_str(),
481  (units_[payloadType_]).c_str(),
482  opType(op_mode_).c_str()),
483  nbins,
484  min,
485  max);
486  }
487 
488  // retrieve the data
489  if (!SiStripCondData_.isCached())
490  storeAllValues();
491  auto listOfDetIds = SiStripCondData_.detIds(false);
492 
493  unsigned int prev_det = 0;
494  unsigned int prev_apv = 0;
495  SiStripPI::Entry f_entryContainer;
496  SiStripPI::Entry l_entryContainer;
497 
498  std::cout << "mode:" << opType(myMode) << " granularity: " << granularity_
499  << " listOfDetIds.size(): " << listOfDetIds.size() << std::endl;
500 
501  for (const auto &detId : listOfDetIds) {
502  if (plotMode_ == COMPARISON) {
503  auto values = SiStripCondData_.demuxedData(detId);
504  SiStripCondData_.fillMonitor1D(myMode, f_mon, f_entryContainer, values.first, prev_det, prev_apv, detId);
505  SiStripCondData_.fillMonitor1D(myMode, l_mon, l_entryContainer, values.second, prev_det, prev_apv, detId);
506  } else {
507  auto values = SiStripCondData_.data(detId);
508  SiStripCondData_.fillMonitor1D(myMode, f_mon, l_entryContainer, values, prev_det, prev_apv, detId);
509  }
510  prev_det = detId;
511  }
512 
513  TH1F *h_first = (TH1F *)(f_mon->getHist()).Clone("h_first");
514  h_first->SetStats(kFALSE);
516  h_first->GetYaxis()->CenterTitle(true);
517  h_first->GetXaxis()->CenterTitle(true);
518  h_first->SetLineWidth(2);
519  h_first->SetLineColor(kBlack);
520 
521  //=========================
522  canvas.cd();
523  canvas.SetBottomMargin(0.11);
524  canvas.SetLeftMargin(0.13);
525  canvas.SetRightMargin(0.05);
526  //canvas.Modified();
527 
528  TLegend *legend = new TLegend(0.52, 0.82, 0.95, 0.9);
529  legend->SetTextSize(0.025);
530 
531  if (plotMode_ != COMPARISON) {
532  float theMax = h_first->GetMaximum();
533  h_first->SetMaximum(theMax * 1.30);
534  h_first->Draw();
535 
536  legend->AddEntry(h_first, Form("IOV: %i", run_), "L");
537 
538  } else {
539  TH1F *h_last = (TH1F *)(l_mon->getHist()).Clone("h_last");
540  h_last->SetStats(kFALSE);
542  h_last->GetYaxis()->CenterTitle(true);
543  h_last->GetXaxis()->CenterTitle(true);
544  h_last->SetLineWidth(2);
545  h_last->SetLineColor(kBlue);
546 
547  std::cout << h_first->GetEntries() << " ---- " << h_last->GetEntries() << std::endl;
548 
549  float theMax = (h_first->GetMaximum() > h_last->GetMaximum()) ? h_first->GetMaximum() : h_last->GetMaximum();
550 
551  h_first->SetMaximum(theMax * 1.30);
552  h_last->SetMaximum(theMax * 1.30);
553 
554  h_first->Draw();
555  h_last->Draw("same");
556 
557  legend->SetHeader(Form("%s comparison", payloadType_.c_str()), "C"); // option "C" allows to center the header
558  legend->AddEntry(h_first, Form("IOV: %i", run_), "F");
559  legend->AddEntry(h_last, Form("IOV: %i", (std::get<0>(additionalIOV_))), "F");
560  }
561 
562  legend->Draw("same");
563  }
Log< level::Error, false > LogError
void makeNicePlotStyle(TH1 *hist)
def canvas(sub, attr)
Definition: svgfig.py:482
std::tuple< int, std::string, std::string > additionalIOV_

◆ getPlotType()

template<class Item , class type >
const plotType& SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::getPlotType ( ) const
inline

◆ hash()

template<class Item , class type >
const std::string& SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::hash ( ) const
inline

◆ hash2()

template<class Item , class type >
const std::string& SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::hash2 ( ) const
inline

◆ isMultiTag()

template<class Item , class type >
const bool SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::isMultiTag ( )
inline

◆ metaData()

template<class Item , class type >
const SiStripPI::MetaData SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::metaData ( ) const
inline

◆ opType()

template<class Item , class type >
std::string SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::opType ( SiStripPI::OpMode  mode)
inlineprivate

◆ payloadName()

template<class Item , class type >
const std::string& SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::payloadName ( ) const
inline

◆ plotDescriptor()

template<class Item , class type >
const char* SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::plotDescriptor ( )
inline

Definition at line 241 of file SiStripCondObjectRepresent.h.

References SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::additionalIOV_, SiStripCondObjectRepresent::COMPARISON, SiStripCondObjectRepresent::DIFF, SiStripCondObjectRepresent::END_OF_TYPES, SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::hash_, SiStripCondObjectRepresent::MAP, SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::plotMode_, SiStripCondObjectRepresent::RATIO, SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::run_, and SiStripCondObjectRepresent::STANDARD.

Referenced by SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::fillByPartition(), and SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::fillTrackerMap().

243  {
244  const char *thePlotType = "";
245  switch (plotMode_) {
246  case STANDARD:
247  thePlotType = Form("Display - IOV: %i", run_);
248  break;
249  case COMPARISON:
250  thePlotType = "Display";
251  break;
252  case DIFF:
253  thePlotType = Form("#Delta (%i-%i)", run_, std::get<0>(additionalIOV_));
254  break;
255  case RATIO:
256  thePlotType = Form("Ratio (%i/%i)", run_, std::get<0>(additionalIOV_));
257  break;
258  case MAP:
259  thePlotType = Form("TrackerMap - %s", hash_.c_str());
260  break;
261  case END_OF_TYPES:
262  edm::LogError("LogicError") << "Unknown plot type: " << plotMode_;
263  break;
264  default:
265  edm::LogError("LogicError") << "Unknown plot type: " << plotMode_;
266  break;
267  }
268 
269  return thePlotType;
270  }
Log< level::Error, false > LogError
std::tuple< int, std::string, std::string > additionalIOV_

◆ printAll()

template<class Item , class type >
void SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::printAll ( )
inline

◆ run()

template<class Item , class type >
const unsigned int SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::run ( ) const
inline

◆ run2()

template<class Item , class type >
const unsigned int SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::run2 ( ) const
inline

◆ setAdditionalIOV()

template<class Item , class type >
void SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::setAdditionalIOV ( const unsigned int  run,
const std::string &  hash,
const std::string &  tagname 
)
inline

◆ setGranularity()

template<class Item , class type >
void SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::setGranularity ( granularity  myGranularity)
inline

Definition at line 208 of file SiStripCondObjectRepresent.h.

References SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::granularity_, SiStripCondObjectRepresent::PERAPV, SiStripCondObjectRepresent::PERMODULE, SiStripCondObjectRepresent::PERSTRIP, and SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::SiStripCondData_.

208  {
209  granularity_ = myGranularity;
210 
211  switch (myGranularity) {
212  case PERSTRIP:
213  SiStripCondData_.setGranularity(true, false);
214  break;
215  case PERAPV:
216  SiStripCondData_.setGranularity(false, true);
217  break;
218  case PERMODULE:
219  SiStripCondData_.setGranularity(false, false);
220  break;
221  default:
222  edm::LogError("LogicError") << "Unknown granularity type: " << myGranularity;
223  }
224  }
Log< level::Error, false > LogError

◆ setPayloadType()

template<class Item , class type >
void SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::setPayloadType ( std::string  myPayloadType)
inline

◆ setPlotType()

template<class Item , class type >
void SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::setPlotType ( plotType  myType)
inline

◆ siStripCondData()

template<class Item , class type >
SiStripCondDataItem<type> SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::siStripCondData ( )
inline

◆ storeAllValues()

template<class Item , class type >
virtual void SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::storeAllValues ( )
inlinevirtual

◆ subtract()

template<class Item , class type >
void SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::subtract ( SiStripDataContainer< Item, type > *  dataCont2)
inline

Definition at line 319 of file SiStripCondObjectRepresent.h.

References hcalRecHitTable_cff::detId, SiStripCondObjectRepresent::DIFF, SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::hash(), SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::plotMode_, SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::run(), SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::setAdditionalIOV(), SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::setPlotType(), SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::siStripCondData(), SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::SiStripCondData_, SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::storeAllValues(), and SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::tagName().

321  {
322  plotMode_ = DIFF;
323  dataCont2->setPlotType(DIFF);
324 
325  setAdditionalIOV(dataCont2->run(), dataCont2->hash(), dataCont2->tagName());
326 
327  if (!SiStripCondData_.isCached())
328  storeAllValues();
329  dataCont2->storeAllValues();
330  auto SiStripCondData2_ = dataCont2->siStripCondData();
331 
332  auto listOfDetIds = SiStripCondData_.detIds(false);
333  for (const auto &detId : listOfDetIds) {
334  SiStripCondData_.subtract(detId, SiStripCondData2_.data(detId));
335  }
336  }
void setAdditionalIOV(const unsigned int run, const std::string &hash, const std::string &tagname)

◆ tagName()

template<class Item , class type >
const std::string& SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::tagName ( ) const
inline

◆ tagName2()

template<class Item , class type >
const std::string& SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::tagName2 ( ) const
inline

◆ topoMode()

template<class Item , class type >
const std::string& SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::topoMode ( ) const
inline

Member Data Documentation

◆ additionalIOV_

template<class Item , class type >
std::tuple<int, std::string, std::string> SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::additionalIOV_
private

◆ granularity_

template<class Item , class type >
granularity SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::granularity_
private

◆ hash_

template<class Item , class type >
std::string SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::hash_
private

◆ m_trackerTopo

template<class Item , class type >
TrackerTopology SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::m_trackerTopo
private

Definition at line 1012 of file SiStripCondObjectRepresent.h.

◆ payload_

template<class Item , class type >
std::shared_ptr<Item> SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::payload_
protected

Definition at line 1002 of file SiStripCondObjectRepresent.h.

◆ payloadType_

template<class Item , class type >
std::string SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::payloadType_
protected

◆ plotMode_

template<class Item , class type >
plotType SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::plotMode_
private

◆ run_

template<class Item , class type >
unsigned int SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::run_
private

◆ SiStripCondData_

template<class Item , class type >
SiStripCondDataItem<type> SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::SiStripCondData_
protected

◆ summary

template<class Item , class type >
SiStripDetSummary SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::summary {&m_trackerTopo}
private

◆ tagname_

template<class Item , class type >
std::string SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::tagname_
private

◆ TopoMode_

template<class Item , class type >
std::string SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::TopoMode_
private

◆ units_

template<class Item , class type >
std::map<std::string, std::string> SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::units_
private
Initial value:
= {{"SiStripPedestals", "[ADC counts]"},
{"SiStripApvGain", ""},
{"SiStripNoises", "[ADC counts]"},
{"SiStripLorentzAngle", "[1/T}]"},
{"SiStripBackPlaneCorrection", ""},
{"SiStripBadStrip", ""},
{"SiStripDetVOff", ""}}

Definition at line 1018 of file SiStripCondObjectRepresent.h.

Referenced by SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::fillByPartition(), SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::fillCorrelationByPartition(), and SiStripCondObjectRepresent::SiStripDataContainer< Item, type >::fillValuePlot().