diff --git a/CondCore/SiStripPlugins/plugins/SiStripApvGain_PayloadInspector.cc b/CondCore/SiStripPlugins/plugins/SiStripApvGain_PayloadInspector.cc index b690c63736b22..d62ef40a7f67b 100644 --- a/CondCore/SiStripPlugins/plugins/SiStripApvGain_PayloadInspector.cc +++ b/CondCore/SiStripPlugins/plugins/SiStripApvGain_PayloadInspector.cc @@ -560,13 +560,12 @@ namespace { /************************************************ TrackerMap of SiStripApvGains (ratio with previous gain per detid) *************************************************/ + template - class SiStripApvGainsRatioWithPreviousIOVTrackerMap : public cond::payloadInspector::PlotImage { + class SiStripApvGainsRatioWithPreviousIOVTrackerMapBase : public cond::payloadInspector::PlotImage { public: - SiStripApvGainsRatioWithPreviousIOVTrackerMap() - : cond::payloadInspector::PlotImage("Tracker Map of ratio of SiStripGains with previous IOV") { - setSingleIov(false); - } + SiStripApvGainsRatioWithPreviousIOVTrackerMapBase() + : cond::payloadInspector::PlotImage("Tracker Map of ratio of SiStripGains with previous IOV") {} bool fill(const std::vector>& iovs) override { std::vector> sorted_iovs = iovs; @@ -645,22 +644,51 @@ namespace { } }; - typedef SiStripApvGainsRatioWithPreviousIOVTrackerMap<1> SiStripApvGainsAvgDeviationRatio1sigmaTrackerMap; - typedef SiStripApvGainsRatioWithPreviousIOVTrackerMap<2> SiStripApvGainsAvgDeviationRatio2sigmaTrackerMap; - typedef SiStripApvGainsRatioWithPreviousIOVTrackerMap<3> SiStripApvGainsAvgDeviationRatio3sigmaTrackerMap; + template + class SiStripApvGainsRatioWithPreviousIOVTrackerMapSingleTag + : public SiStripApvGainsRatioWithPreviousIOVTrackerMapBase { + public: + SiStripApvGainsRatioWithPreviousIOVTrackerMapSingleTag() + : SiStripApvGainsRatioWithPreviousIOVTrackerMapBase() { + this->setSingleIov(false); + } + }; + + template + class SiStripApvGainsRatioWithPreviousIOVTrackerMapTwoTags + : public SiStripApvGainsRatioWithPreviousIOVTrackerMapBase { + public: + SiStripApvGainsRatioWithPreviousIOVTrackerMapTwoTags() + : SiStripApvGainsRatioWithPreviousIOVTrackerMapBase() { + this->setTwoTags(true); + } + }; + + typedef SiStripApvGainsRatioWithPreviousIOVTrackerMapSingleTag<1> + SiStripApvGainsAvgDeviationRatio1sigmaTrackerMapSingleTag; + typedef SiStripApvGainsRatioWithPreviousIOVTrackerMapSingleTag<2> + SiStripApvGainsAvgDeviationRatio2sigmaTrackerMapSingleTag; + typedef SiStripApvGainsRatioWithPreviousIOVTrackerMapSingleTag<3> + SiStripApvGainsAvgDeviationRatio3sigmaTrackerMapSingleTag; + + typedef SiStripApvGainsRatioWithPreviousIOVTrackerMapTwoTags<1> + SiStripApvGainsAvgDeviationRatio1sigmaTrackerMapTwoTags; + typedef SiStripApvGainsRatioWithPreviousIOVTrackerMapTwoTags<2> + SiStripApvGainsAvgDeviationRatio2sigmaTrackerMapTwoTags; + typedef SiStripApvGainsRatioWithPreviousIOVTrackerMapTwoTags<3> + SiStripApvGainsAvgDeviationRatio3sigmaTrackerMapTwoTags; /************************************************ TrackerMap of SiStripApvGains (ratio for largest deviation with previous gain per detid) *************************************************/ + template - class SiStripApvGainsRatioMaxDeviationWithPreviousIOVTrackerMap + class SiStripApvGainsRatioMaxDeviationWithPreviousIOVTrackerMapBase : public cond::payloadInspector::PlotImage { public: - SiStripApvGainsRatioMaxDeviationWithPreviousIOVTrackerMap() + SiStripApvGainsRatioMaxDeviationWithPreviousIOVTrackerMapBase() : cond::payloadInspector::PlotImage( - "Tracker Map of ratio (for largest deviation) of SiStripGains with previous IOV") { - setSingleIov(false); - } + "Tracker Map of ratio (for largest deviation) of SiStripGains with previous IOV") {} bool fill(const std::vector>& iovs) override { std::vector> sorted_iovs = iovs; @@ -758,9 +786,39 @@ namespace { } }; - typedef SiStripApvGainsRatioMaxDeviationWithPreviousIOVTrackerMap<1> SiStripApvGainsMaxDeviationRatio1sigmaTrackerMap; - typedef SiStripApvGainsRatioMaxDeviationWithPreviousIOVTrackerMap<2> SiStripApvGainsMaxDeviationRatio2sigmaTrackerMap; - typedef SiStripApvGainsRatioMaxDeviationWithPreviousIOVTrackerMap<3> SiStripApvGainsMaxDeviationRatio3sigmaTrackerMap; + template + class SiStripApvGainsRatioMaxDeviationWithPreviousIOVTrackerMapSingleTag + : public SiStripApvGainsRatioMaxDeviationWithPreviousIOVTrackerMapBase { + public: + SiStripApvGainsRatioMaxDeviationWithPreviousIOVTrackerMapSingleTag() + : SiStripApvGainsRatioMaxDeviationWithPreviousIOVTrackerMapBase() { + this->setSingleIov(false); + } + }; + + template + class SiStripApvGainsRatioMaxDeviationWithPreviousIOVTrackerMapTwoTags + : public SiStripApvGainsRatioMaxDeviationWithPreviousIOVTrackerMapBase { + public: + SiStripApvGainsRatioMaxDeviationWithPreviousIOVTrackerMapTwoTags() + : SiStripApvGainsRatioMaxDeviationWithPreviousIOVTrackerMapBase() { + this->setTwoTags(true); + } + }; + + typedef SiStripApvGainsRatioMaxDeviationWithPreviousIOVTrackerMapSingleTag<1> + SiStripApvGainsMaxDeviationRatio1sigmaTrackerMapSingleTag; + typedef SiStripApvGainsRatioMaxDeviationWithPreviousIOVTrackerMapSingleTag<2> + SiStripApvGainsMaxDeviationRatio2sigmaTrackerMapSingleTag; + typedef SiStripApvGainsRatioMaxDeviationWithPreviousIOVTrackerMapSingleTag<3> + SiStripApvGainsMaxDeviationRatio3sigmaTrackerMapSingleTag; + + typedef SiStripApvGainsRatioMaxDeviationWithPreviousIOVTrackerMapTwoTags<1> + SiStripApvGainsMaxDeviationRatio1sigmaTrackerMapTwoTags; + typedef SiStripApvGainsRatioMaxDeviationWithPreviousIOVTrackerMapTwoTags<2> + SiStripApvGainsMaxDeviationRatio2sigmaTrackerMapTwoTags; + typedef SiStripApvGainsRatioMaxDeviationWithPreviousIOVTrackerMapTwoTags<3> + SiStripApvGainsMaxDeviationRatio3sigmaTrackerMapTwoTags; /************************************************ TrackerMap of SiStripApvGains (maximum gain per detid) @@ -1156,11 +1214,9 @@ namespace { Compare Gains from 2 IOVs, 2 pads canvas, firsr for ratio, second for scatter plot *************************************************/ - class SiStripApvGainsComparator : public cond::payloadInspector::PlotImage { + class SiStripApvGainsComparatorBase : public cond::payloadInspector::PlotImage { public: - SiStripApvGainsComparator() : cond::payloadInspector::PlotImage("SiStripGains Comparison") { - setSingleIov(false); - } + SiStripApvGainsComparatorBase() : cond::payloadInspector::PlotImage("SiStripGains Comparison") {} bool fill(const std::vector>& iovs) override { std::vector> sorted_iovs = iovs; @@ -1349,16 +1405,24 @@ namespace { } }; + class SiStripApvGainsComparatorSingleTag : public SiStripApvGainsComparatorBase { + public: + SiStripApvGainsComparatorSingleTag() : SiStripApvGainsComparatorBase() { setSingleIov(false); } + }; + + class SiStripApvGainsComparatorTwoTags : public SiStripApvGainsComparatorBase { + public: + SiStripApvGainsComparatorTwoTags() : SiStripApvGainsComparatorBase() { setTwoTags(true); } + }; + //*******************************************// // Compare Gains from 2 IOVs //******************************************// - class SiStripApvGainsValuesComparator : public cond::payloadInspector::PlotImage { + class SiStripApvGainsValuesComparatorBase : public cond::payloadInspector::PlotImage { public: - SiStripApvGainsValuesComparator() - : cond::payloadInspector::PlotImage("Comparison of SiStrip APV gains values") { - setSingleIov(false); - } + SiStripApvGainsValuesComparatorBase() + : cond::payloadInspector::PlotImage("Comparison of SiStrip APV gains values") {} bool fill(const std::vector>& iovs) override { TH1F::SetDefaultSumw2(true); @@ -1517,18 +1581,26 @@ namespace { } }; + class SiStripApvGainsValuesComparatorSingleTag : public SiStripApvGainsValuesComparatorBase { + public: + SiStripApvGainsValuesComparatorSingleTag() : SiStripApvGainsValuesComparatorBase() { setSingleIov(false); } + }; + + class SiStripApvGainsValuesComparatorTwoTags : public SiStripApvGainsValuesComparatorBase { + public: + SiStripApvGainsValuesComparatorTwoTags() : SiStripApvGainsValuesComparatorBase() { setTwoTags(true); } + }; + //*******************************************// // Compare Gains ratio from 2 IOVs, region by region //******************************************// - class SiStripApvGainsRatioComparatorByRegion : public cond::payloadInspector::PlotImage { + class SiStripApvGainsRatioComparatorByRegionBase : public cond::payloadInspector::PlotImage { public: - SiStripApvGainsRatioComparatorByRegion() + SiStripApvGainsRatioComparatorByRegionBase() : cond::payloadInspector::PlotImage("Module by Module Comparison of SiStrip APV gains"), m_trackerTopo{StandaloneTrackerTopology::fromTrackerParametersXMLFile( - edm::FileInPath("Geometry/TrackerCommonData/data/trackerParameters.xml").fullPath())} { - setSingleIov(false); - } + edm::FileInPath("Geometry/TrackerCommonData/data/trackerParameters.xml").fullPath())} {} bool fill(const std::vector>& iovs) override { //gStyle->SetPalette(5); @@ -1720,18 +1792,28 @@ namespace { } }; + class SiStripApvGainsRatioComparatorByRegionSingleTag : public SiStripApvGainsRatioComparatorByRegionBase { + public: + SiStripApvGainsRatioComparatorByRegionSingleTag() : SiStripApvGainsRatioComparatorByRegionBase() { + setSingleIov(false); + } + }; + + class SiStripApvGainsRatioComparatorByRegionTwoTags : public SiStripApvGainsRatioComparatorByRegionBase { + public: + SiStripApvGainsRatioComparatorByRegionTwoTags() : SiStripApvGainsRatioComparatorByRegionBase() { setTwoTags(true); } + }; + /************************************************ Compare Gains for each tracker region *************************************************/ - class SiStripApvGainsComparatorByRegion : public cond::payloadInspector::PlotImage { + class SiStripApvGainsComparatorByRegionBase : public cond::payloadInspector::PlotImage { public: - SiStripApvGainsComparatorByRegion() + SiStripApvGainsComparatorByRegionBase() : cond::payloadInspector::PlotImage("SiStripGains Comparison By Region"), m_trackerTopo{StandaloneTrackerTopology::fromTrackerParametersXMLFile( - edm::FileInPath("Geometry/TrackerCommonData/data/trackerParameters.xml").fullPath())} { - setSingleIov(false); - } + edm::FileInPath("Geometry/TrackerCommonData/data/trackerParameters.xml").fullPath())} {} bool fill(const std::vector>& iovs) override { std::vector> sorted_iovs = iovs; @@ -1891,6 +1973,16 @@ namespace { TrackerTopology m_trackerTopo; }; + class SiStripApvGainsComparatorByRegionSingleTag : public SiStripApvGainsComparatorByRegionBase { + public: + SiStripApvGainsComparatorByRegionSingleTag() : SiStripApvGainsComparatorByRegionBase() { setSingleIov(false); } + }; + + class SiStripApvGainsComparatorByRegionTwoTags : public SiStripApvGainsComparatorByRegionBase { + public: + SiStripApvGainsComparatorByRegionTwoTags() : SiStripApvGainsComparatorByRegionBase() { setTwoTags(true); } + }; + /************************************************ Plot gain averages by region *************************************************/ @@ -2013,10 +2105,14 @@ PAYLOAD_INSPECTOR_MODULE(SiStripApvGain) { PAYLOAD_INSPECTOR_CLASS(SiStripApvGainsValue); PAYLOAD_INSPECTOR_CLASS(SiStripApvGainsTest); PAYLOAD_INSPECTOR_CLASS(SiStripApvGainsByRegion); - PAYLOAD_INSPECTOR_CLASS(SiStripApvGainsComparator); - PAYLOAD_INSPECTOR_CLASS(SiStripApvGainsValuesComparator); - PAYLOAD_INSPECTOR_CLASS(SiStripApvGainsComparatorByRegion); - PAYLOAD_INSPECTOR_CLASS(SiStripApvGainsRatioComparatorByRegion); + PAYLOAD_INSPECTOR_CLASS(SiStripApvGainsComparatorSingleTag); + PAYLOAD_INSPECTOR_CLASS(SiStripApvGainsComparatorTwoTags); + PAYLOAD_INSPECTOR_CLASS(SiStripApvGainsValuesComparatorSingleTag); + PAYLOAD_INSPECTOR_CLASS(SiStripApvGainsValuesComparatorTwoTags); + PAYLOAD_INSPECTOR_CLASS(SiStripApvGainsComparatorByRegionSingleTag); + PAYLOAD_INSPECTOR_CLASS(SiStripApvGainsComparatorByRegionTwoTags); + PAYLOAD_INSPECTOR_CLASS(SiStripApvGainsRatioComparatorByRegionSingleTag); + PAYLOAD_INSPECTOR_CLASS(SiStripApvGainsRatioComparatorByRegionTwoTags); PAYLOAD_INSPECTOR_CLASS(SiStripApvBarrelGainsByLayer); PAYLOAD_INSPECTOR_CLASS(SiStripApvAbsoluteBarrelGainsByLayer); PAYLOAD_INSPECTOR_CLASS(SiStripApvEndcapMinusGainsByDisk); @@ -2027,12 +2123,18 @@ PAYLOAD_INSPECTOR_MODULE(SiStripApvGain) { PAYLOAD_INSPECTOR_CLASS(SiStripApvGainsDefaultTrackerMap); PAYLOAD_INSPECTOR_CLASS(SiStripApvGainsMaximumTrackerMap); PAYLOAD_INSPECTOR_CLASS(SiStripApvGainsMinimumTrackerMap); - PAYLOAD_INSPECTOR_CLASS(SiStripApvGainsAvgDeviationRatio1sigmaTrackerMap); - PAYLOAD_INSPECTOR_CLASS(SiStripApvGainsAvgDeviationRatio2sigmaTrackerMap); - PAYLOAD_INSPECTOR_CLASS(SiStripApvGainsAvgDeviationRatio3sigmaTrackerMap); - PAYLOAD_INSPECTOR_CLASS(SiStripApvGainsMaxDeviationRatio1sigmaTrackerMap); - PAYLOAD_INSPECTOR_CLASS(SiStripApvGainsMaxDeviationRatio2sigmaTrackerMap); - PAYLOAD_INSPECTOR_CLASS(SiStripApvGainsMaxDeviationRatio3sigmaTrackerMap); + PAYLOAD_INSPECTOR_CLASS(SiStripApvGainsAvgDeviationRatio1sigmaTrackerMapSingleTag); + PAYLOAD_INSPECTOR_CLASS(SiStripApvGainsAvgDeviationRatio1sigmaTrackerMapTwoTags); + PAYLOAD_INSPECTOR_CLASS(SiStripApvGainsAvgDeviationRatio2sigmaTrackerMapSingleTag); + PAYLOAD_INSPECTOR_CLASS(SiStripApvGainsAvgDeviationRatio2sigmaTrackerMapTwoTags); + PAYLOAD_INSPECTOR_CLASS(SiStripApvGainsAvgDeviationRatio3sigmaTrackerMapSingleTag); + PAYLOAD_INSPECTOR_CLASS(SiStripApvGainsAvgDeviationRatio3sigmaTrackerMapTwoTags); + PAYLOAD_INSPECTOR_CLASS(SiStripApvGainsMaxDeviationRatio1sigmaTrackerMapSingleTag); + PAYLOAD_INSPECTOR_CLASS(SiStripApvGainsMaxDeviationRatio1sigmaTrackerMapTwoTags); + PAYLOAD_INSPECTOR_CLASS(SiStripApvGainsMaxDeviationRatio2sigmaTrackerMapSingleTag); + PAYLOAD_INSPECTOR_CLASS(SiStripApvGainsMaxDeviationRatio2sigmaTrackerMapTwoTags); + PAYLOAD_INSPECTOR_CLASS(SiStripApvGainsMaxDeviationRatio3sigmaTrackerMapSingleTag); + PAYLOAD_INSPECTOR_CLASS(SiStripApvGainsMaxDeviationRatio3sigmaTrackerMapTwoTags); PAYLOAD_INSPECTOR_CLASS(SiStripApvGainByRunMeans); PAYLOAD_INSPECTOR_CLASS(SiStripApvGainMin_History); PAYLOAD_INSPECTOR_CLASS(SiStripApvGainMax_History); diff --git a/CondCore/SiStripPlugins/plugins/SiStripBadStrip_PayloadInspector.cc b/CondCore/SiStripPlugins/plugins/SiStripBadStrip_PayloadInspector.cc index 747a9bd26b727..280682dbdbe2f 100644 --- a/CondCore/SiStripPlugins/plugins/SiStripBadStrip_PayloadInspector.cc +++ b/CondCore/SiStripPlugins/plugins/SiStripBadStrip_PayloadInspector.cc @@ -548,14 +548,12 @@ namespace { Plot BadStrip by region comparison *************************************************/ - class SiStripBadStripByRegionComparison : public cond::payloadInspector::PlotImage { + class SiStripBadStripByRegionComparisonBase : public cond::payloadInspector::PlotImage { public: - SiStripBadStripByRegionComparison() + SiStripBadStripByRegionComparisonBase() : cond::payloadInspector::PlotImage("SiStrip BadStrip By Region Comparison"), m_trackerTopo{StandaloneTrackerTopology::fromTrackerParametersXMLFile( - edm::FileInPath("Geometry/TrackerCommonData/data/trackerParameters.xml").fullPath())} { - setSingleIov(false); - } + edm::FileInPath("Geometry/TrackerCommonData/data/trackerParameters.xml").fullPath())} {} bool fill(const std::vector >& iovs) override { std::vector > sorted_iovs = iovs; @@ -758,15 +756,23 @@ namespace { TrackerTopology m_trackerTopo; }; + class SiStripBadStripByRegionComparisonSingleTag : public SiStripBadStripByRegionComparisonBase { + public: + SiStripBadStripByRegionComparisonSingleTag() : SiStripBadStripByRegionComparisonBase() { setSingleIov(false); } + }; + + class SiStripBadStripByRegionComparisonTwoTags : public SiStripBadStripByRegionComparisonBase { + public: + SiStripBadStripByRegionComparisonTwoTags() : SiStripBadStripByRegionComparisonBase() { setTwoTags(true); } + }; + /************************************************ TrackerMap of SiStripBadStrip (bad strips fraction difference) *************************************************/ - class SiStripBadStripFractionComparisonTrackerMap : public cond::payloadInspector::PlotImage { + class SiStripBadStripFractionComparisonTrackerMapBase : public cond::payloadInspector::PlotImage { public: - SiStripBadStripFractionComparisonTrackerMap() - : cond::payloadInspector::PlotImage("Tracker Map of SiStrip bad strip fraction difference") { - setSingleIov(false); - } + SiStripBadStripFractionComparisonTrackerMapBase() + : cond::payloadInspector::PlotImage("Tracker Map of SiStrip bad strip fraction difference") {} bool fill(const std::vector >& iovs) override { std::vector > sorted_iovs = iovs; @@ -865,6 +871,20 @@ namespace { } }; + class SiStripBadStripFractionComparisonTrackerMapSingleTag : public SiStripBadStripFractionComparisonTrackerMapBase { + public: + SiStripBadStripFractionComparisonTrackerMapSingleTag() : SiStripBadStripFractionComparisonTrackerMapBase() { + setSingleIov(false); + } + }; + + class SiStripBadStripFractionComparisonTrackerMapTwoTags : public SiStripBadStripFractionComparisonTrackerMapBase { + public: + SiStripBadStripFractionComparisonTrackerMapTwoTags() : SiStripBadStripFractionComparisonTrackerMapBase() { + setTwoTags(true); + } + }; + /************************************************ Plot BadStrip Quality analysis *************************************************/ @@ -1049,14 +1069,12 @@ namespace { Plot BadStrip Quality Comparison *************************************************/ - class SiStripBadStripQualityComparison : public cond::payloadInspector::PlotImage { + class SiStripBadStripQualityComparisonBase : public cond::payloadInspector::PlotImage { public: - SiStripBadStripQualityComparison() + SiStripBadStripQualityComparisonBase() : cond::payloadInspector::PlotImage("SiStrip BadStrip Quality Comparison Analysis"), m_trackerTopo{StandaloneTrackerTopology::fromTrackerParametersXMLFile( - edm::FileInPath("Geometry/TrackerCommonData/data/trackerParameters.xml").fullPath())} { - setSingleIov(false); - } + edm::FileInPath("Geometry/TrackerCommonData/data/trackerParameters.xml").fullPath())} {} bool fill(const std::vector >& iovs) override { //SiStripPI::setPaletteStyle(SiStripPI::BLUERED); @@ -1260,6 +1278,16 @@ namespace { TrackerTopology m_trackerTopo; }; + class SiStripBadStripQualityComparisonSingleTag : public SiStripBadStripQualityComparisonBase { + public: + SiStripBadStripQualityComparisonSingleTag() : SiStripBadStripQualityComparisonBase() { setSingleIov(false); } + }; + + class SiStripBadStripQualityComparisonTwoTags : public SiStripBadStripQualityComparisonBase { + public: + SiStripBadStripQualityComparisonTwoTags() : SiStripBadStripQualityComparisonBase() { setTwoTags(true); } + }; + } // namespace // Register the classes as boost python plugin @@ -1273,8 +1301,11 @@ PAYLOAD_INSPECTOR_MODULE(SiStripBadStrip) { PAYLOAD_INSPECTOR_CLASS(SiStripBadStripTIDFractionByRun); PAYLOAD_INSPECTOR_CLASS(SiStripBadStripTECFractionByRun); PAYLOAD_INSPECTOR_CLASS(SiStripBadStripByRegion); - PAYLOAD_INSPECTOR_CLASS(SiStripBadStripByRegionComparison); - PAYLOAD_INSPECTOR_CLASS(SiStripBadStripFractionComparisonTrackerMap); + PAYLOAD_INSPECTOR_CLASS(SiStripBadStripByRegionComparisonSingleTag); + PAYLOAD_INSPECTOR_CLASS(SiStripBadStripByRegionComparisonTwoTags); + PAYLOAD_INSPECTOR_CLASS(SiStripBadStripFractionComparisonTrackerMapSingleTag); + PAYLOAD_INSPECTOR_CLASS(SiStripBadStripFractionComparisonTrackerMapTwoTags); PAYLOAD_INSPECTOR_CLASS(SiStripBadStripQualityAnalysis); - PAYLOAD_INSPECTOR_CLASS(SiStripBadStripQualityComparison); + PAYLOAD_INSPECTOR_CLASS(SiStripBadStripQualityComparisonSingleTag); + PAYLOAD_INSPECTOR_CLASS(SiStripBadStripQualityComparisonTwoTags); } diff --git a/CondCore/SiStripPlugins/plugins/SiStripNoises_PayloadInspector.cc b/CondCore/SiStripPlugins/plugins/SiStripNoises_PayloadInspector.cc index 3645159685d50..0c72afbd2f86a 100644 --- a/CondCore/SiStripPlugins/plugins/SiStripNoises_PayloadInspector.cc +++ b/CondCore/SiStripPlugins/plugins/SiStripNoises_PayloadInspector.cc @@ -59,8 +59,8 @@ namespace { Base::setSingleIov(true); } - bool fill(const std::vector > &iovs) override { - for (auto const &iov : iovs) { + bool fill(const std::vector >& iovs) override { + for (auto const& iov : iovs) { std::shared_ptr payload = Base::fetchPayload(std::get<1>(iov)); if (payload.get()) { fillWithValue(1.); @@ -107,14 +107,14 @@ namespace { Base::setSingleIov(true); } - bool fill(const std::vector > &iovs) override { - for (auto const &iov : iovs) { + bool fill(const std::vector >& iovs) override { + for (auto const& iov : iovs) { std::shared_ptr payload = Base::fetchPayload(std::get<1>(iov)); if (payload.get()) { std::vector detid; payload->getDetIds(detid); - for (const auto &d : detid) { + for (const auto& d : detid) { SiStripNoises::Range range = payload->getRange(d); for (int it = 0; it < (range.second - range.first) * 8 / 9; ++it) { auto noise = payload->getNoise(it, range); @@ -140,7 +140,7 @@ namespace { setSingleIov(true); } - bool fill(const std::vector > &iovs) override { + bool fill(const std::vector >& iovs) override { auto iov = iovs.front(); TGaxis::SetMaxDigits(3); @@ -167,7 +167,8 @@ namespace { payload->getDetIds(detids); // loop on payload - for (const auto &d : detids) { + + for (const auto& d : detids) { SiStripNoises::Range range = payload->getRange(d); unsigned int istrip = 0; @@ -216,7 +217,7 @@ namespace { canvas.Update(); - TPaveStats *st = (TPaveStats *)hist.GetListOfFunctions()->FindObject("stats"); + TPaveStats* st = (TPaveStats*)hist.GetListOfFunctions()->FindObject("stats"); st->SetLineColor(kRed); st->SetTextColor(kRed); st->SetX1NDC(.75); @@ -253,18 +254,16 @@ namespace { // inherit from one of the predefined plot class: PlotImage template - class SiStripNoiseDistributionComparison : public cond::payloadInspector::PlotImage { + class SiStripNoiseDistributionComparisonBase : public cond::payloadInspector::PlotImage { public: - SiStripNoiseDistributionComparison() - : cond::payloadInspector::PlotImage("SiStrip Noise values comparison") { - setSingleIov(false); - } + SiStripNoiseDistributionComparisonBase() + : cond::payloadInspector::PlotImage("SiStrip Noise values comparison") {} - bool fill(const std::vector > &iovs) override { + bool fill(const std::vector >& iovs) override { std::vector > sorted_iovs = iovs; // make absolute sure the IOVs are sortd by since - std::sort(begin(sorted_iovs), end(sorted_iovs), [](auto const &t1, auto const &t2) { + std::sort(begin(sorted_iovs), end(sorted_iovs), [](auto const& t1, auto const& t2) { return std::get<0>(t1) < std::get<0>(t2); }); @@ -307,7 +306,7 @@ namespace { f_payload->getDetIds(f_detid); // loop on first payload - for (const auto &d : f_detid) { + for (const auto& d : f_detid) { SiStripNoises::Range range = f_payload->getRange(d); unsigned int istrip = 0; @@ -346,7 +345,8 @@ namespace { l_payload->getDetIds(l_detid); // loop on first payload - for (const auto &d : l_detid) { + + for (const auto& d : l_detid) { SiStripNoises::Range range = l_payload->getRange(d); unsigned int istrip = 0; @@ -433,27 +433,48 @@ namespace { } }; - typedef SiStripNoiseDistributionComparison SiStripNoiseValueComparisonPerStrip; - typedef SiStripNoiseDistributionComparison SiStripNoiseValueComparisonPerAPV; - typedef SiStripNoiseDistributionComparison SiStripNoiseValueComparisonPerModule; + template + class SiStripNoiseDistributionComparisonSingleTag : public SiStripNoiseDistributionComparisonBase { + public: + SiStripNoiseDistributionComparisonSingleTag() : SiStripNoiseDistributionComparisonBase() { + this->setSingleIov(false); + } + }; + + template + class SiStripNoiseDistributionComparisonTwoTags : public SiStripNoiseDistributionComparisonBase { + public: + SiStripNoiseDistributionComparisonTwoTags() : SiStripNoiseDistributionComparisonBase() { + this->setTwoTags(true); + } + }; + + typedef SiStripNoiseDistributionComparisonSingleTag + SiStripNoiseValueComparisonPerStripSingleTag; + typedef SiStripNoiseDistributionComparisonSingleTag SiStripNoiseValueComparisonPerAPVSingleTag; + typedef SiStripNoiseDistributionComparisonSingleTag + SiStripNoiseValueComparisonPerModuleSingleTag; + + typedef SiStripNoiseDistributionComparisonTwoTags SiStripNoiseValueComparisonPerStripTwoTags; + typedef SiStripNoiseDistributionComparisonTwoTags SiStripNoiseValueComparisonPerAPVTwoTags; + typedef SiStripNoiseDistributionComparisonTwoTags SiStripNoiseValueComparisonPerModuleTwoTags; /************************************************ 1d histogram comparison of SiStripNoises of 1 IOV *************************************************/ // inherit from one of the predefined plot class: PlotImage - class SiStripNoiseValueComparison : public cond::payloadInspector::PlotImage { + + class SiStripNoiseValueComparisonBase : public cond::payloadInspector::PlotImage { public: - SiStripNoiseValueComparison() - : cond::payloadInspector::PlotImage("SiStrip Noise values comparison") { - setSingleIov(false); - } + SiStripNoiseValueComparisonBase() + : cond::payloadInspector::PlotImage("SiStrip Noise values comparison") {} - bool fill(const std::vector > &iovs) override { + bool fill(const std::vector >& iovs) override { std::vector > sorted_iovs = iovs; // make absolute sure the IOVs are sortd by since - std::sort(begin(sorted_iovs), end(sorted_iovs), [](auto const &t1, auto const &t2) { + std::sort(begin(sorted_iovs), end(sorted_iovs), [](auto const& t1, auto const& t2) { return std::get<0>(t1) < std::get<0>(t2); }); @@ -487,7 +508,7 @@ namespace { f_payload->getDetIds(f_detid); // loop on first payload - for (const auto &d : f_detid) { + for (const auto& d : f_detid) { SiStripNoises::Range range = f_payload->getRange(d); for (int it = 0; it < (range.second - range.first) * 8 / 9; ++it) { float noise = f_payload->getNoise(it, range); @@ -500,7 +521,7 @@ namespace { l_payload->getDetIds(l_detid); // loop on first payload - for (const auto &d : l_detid) { + for (const auto& d : l_detid) { SiStripNoises::Range range = l_payload->getRange(d); for (int it = 0; it < (range.second - range.first) * 8 / 9; ++it) { float noise = l_payload->getNoise(it, range); @@ -551,6 +572,16 @@ namespace { } }; + class SiStripNoiseValueComparisonSingleTag : public SiStripNoiseValueComparisonBase { + public: + SiStripNoiseValueComparisonSingleTag() : SiStripNoiseValueComparisonBase() { setSingleIov(false); } + }; + + class SiStripNoiseValueComparisonTwoTags : public SiStripNoiseValueComparisonBase { + public: + SiStripNoiseValueComparisonTwoTags() : SiStripNoiseValueComparisonBase() { setTwoTags(true); } + }; + /************************************************ SiStrip Noise Tracker Map *************************************************/ @@ -564,7 +595,7 @@ namespace { setSingleIov(true); } - bool fill(const std::vector > &iovs) override { + bool fill(const std::vector >& iovs) override { auto iov = iovs.front(); std::shared_ptr payload = fetchPayload(std::get<1>(iov)); @@ -632,7 +663,7 @@ namespace { } // loop on the map - for (const auto &item : info_per_detid) { + for (const auto& item : info_per_detid) { tmap->fill(item.first, item.second); } @@ -659,14 +690,13 @@ namespace { /************************************************ SiStrip Noise Tracker Map (ratio with previous gain per detid) *************************************************/ + template - class SiStripNoiseRatioWithPreviousIOVTrackerMap : public cond::payloadInspector::PlotImage { + class SiStripNoiseRatioWithPreviousIOVTrackerMapBase : public cond::payloadInspector::PlotImage { public: - SiStripNoiseRatioWithPreviousIOVTrackerMap() + SiStripNoiseRatioWithPreviousIOVTrackerMapBase() : cond::payloadInspector::PlotImage("Tracker Map of ratio of SiStripNoises " + - estimatorType(est) + "with previous IOV") { - setSingleIov(false); - } + estimatorType(est) + "with previous IOV") {} std::map computeEstimator(std::shared_ptr payload) { std::map info_per_detid; @@ -724,11 +754,11 @@ namespace { return info_per_detid; } - bool fill(const std::vector > &iovs) override { + bool fill(const std::vector >& iovs) override { std::vector > sorted_iovs = iovs; - std::sort(begin(sorted_iovs), end(sorted_iovs), [](auto const &t1, auto const &t2) { - return std::get<0>(t1) < std::get<0>(t2); //J: ??????? + std::sort(begin(sorted_iovs), end(sorted_iovs), [](auto const& t1, auto const& t2) { + return std::get<0>(t1) < std::get<0>(t2); }); auto firstiov = sorted_iovs.front(); @@ -743,7 +773,6 @@ namespace { titleMap += "/ IOV:"; titleMap += std::to_string(std::get<0>(lastiov)); titleMap += ")"; - titleMap += +" " + std::to_string(nsigma) + " std. dev. saturation"; std::unique_ptr tmap = std::unique_ptr(new TrackerMap("SiStripNoises")); @@ -776,30 +805,75 @@ namespace { } }; - typedef SiStripNoiseRatioWithPreviousIOVTrackerMap - SiStripNoiseMin_RatioWithPreviousIOV1sigmaTrackerMap; - typedef SiStripNoiseRatioWithPreviousIOVTrackerMap - SiStripNoiseMax_RatioWithPreviousIOV1sigmaTrackerMap; - typedef SiStripNoiseRatioWithPreviousIOVTrackerMap - SiStripNoiseMean_RatioWithPreviousIOV1sigmaTrackerMap; - typedef SiStripNoiseRatioWithPreviousIOVTrackerMap - SiStripNoiseRms_RatioWithPreviousIOV1sigmaTrackerMap; - typedef SiStripNoiseRatioWithPreviousIOVTrackerMap - SiStripNoiseMin_RatioWithPreviousIOV2sigmaTrackerMap; - typedef SiStripNoiseRatioWithPreviousIOVTrackerMap - SiStripNoiseMax_RatioWithPreviousIOV2sigmaTrackerMap; - typedef SiStripNoiseRatioWithPreviousIOVTrackerMap - SiStripNoiseMean_RatioWithPreviousIOV2sigmaTrackerMap; - typedef SiStripNoiseRatioWithPreviousIOVTrackerMap - SiStripNoiseRms_RatioWithPreviousIOV2sigmaTrackerMap; - typedef SiStripNoiseRatioWithPreviousIOVTrackerMap - SiStripNoiseMin_RatioWithPreviousIOV3sigmaTrackerMap; - typedef SiStripNoiseRatioWithPreviousIOVTrackerMap - SiStripNoiseMax_RatioWithPreviousIOV3sigmaTrackerMap; - typedef SiStripNoiseRatioWithPreviousIOVTrackerMap - SiStripNoiseMean_RatioWithPreviousIOV3sigmaTrackerMap; - typedef SiStripNoiseRatioWithPreviousIOVTrackerMap - SiStripNoiseRms_RatioWithPreviousIOV3sigmaTrackerMap; + template + class SiStripNoiseRatioWithPreviousIOVTrackerMapSingleTag + : public SiStripNoiseRatioWithPreviousIOVTrackerMapBase { + public: + SiStripNoiseRatioWithPreviousIOVTrackerMapSingleTag() + : SiStripNoiseRatioWithPreviousIOVTrackerMapBase() { + this->setSingleIov(false); + } + }; + + template + class SiStripNoiseRatioWithPreviousIOVTrackerMapTwoTags + : public SiStripNoiseRatioWithPreviousIOVTrackerMapBase { + public: + SiStripNoiseRatioWithPreviousIOVTrackerMapTwoTags() + : SiStripNoiseRatioWithPreviousIOVTrackerMapBase() { + this->setTwoTags(true); + } + }; + + typedef SiStripNoiseRatioWithPreviousIOVTrackerMapSingleTag + SiStripNoiseMin_RatioWithPreviousIOV1sigmaTrackerMapSingleTag; + typedef SiStripNoiseRatioWithPreviousIOVTrackerMapSingleTag + SiStripNoiseMax_RatioWithPreviousIOV1sigmaTrackerMapSingleTag; + typedef SiStripNoiseRatioWithPreviousIOVTrackerMapSingleTag + SiStripNoiseMean_RatioWithPreviousIOV1sigmaTrackerMapSingleTag; + typedef SiStripNoiseRatioWithPreviousIOVTrackerMapSingleTag + SiStripNoiseRms_RatioWithPreviousIOV1sigmaTrackerMapSingleTag; + typedef SiStripNoiseRatioWithPreviousIOVTrackerMapSingleTag + SiStripNoiseMin_RatioWithPreviousIOV2sigmaTrackerMapSingleTag; + typedef SiStripNoiseRatioWithPreviousIOVTrackerMapSingleTag + SiStripNoiseMax_RatioWithPreviousIOV2sigmaTrackerMapSingleTag; + typedef SiStripNoiseRatioWithPreviousIOVTrackerMapSingleTag + SiStripNoiseMean_RatioWithPreviousIOV2sigmaTrackerMapSingleTag; + typedef SiStripNoiseRatioWithPreviousIOVTrackerMapSingleTag + SiStripNoiseRms_RatioWithPreviousIOV2sigmaTrackerMapSingleTag; + typedef SiStripNoiseRatioWithPreviousIOVTrackerMapSingleTag + SiStripNoiseMin_RatioWithPreviousIOV3sigmaTrackerMapSingleTag; + typedef SiStripNoiseRatioWithPreviousIOVTrackerMapSingleTag + SiStripNoiseMax_RatioWithPreviousIOV3sigmaTrackerMapSingleTag; + typedef SiStripNoiseRatioWithPreviousIOVTrackerMapSingleTag + SiStripNoiseMean_RatioWithPreviousIOV3sigmaTrackerMapSingleTag; + typedef SiStripNoiseRatioWithPreviousIOVTrackerMapSingleTag + SiStripNoiseRms_RatioWithPreviousIOV3sigmaTrackerMapSingleTag; + + typedef SiStripNoiseRatioWithPreviousIOVTrackerMapTwoTags + SiStripNoiseMin_RatioWithPreviousIOV1sigmaTrackerMapTwoTags; + typedef SiStripNoiseRatioWithPreviousIOVTrackerMapTwoTags + SiStripNoiseMax_RatioWithPreviousIOV1sigmaTrackerMapTwoTags; + typedef SiStripNoiseRatioWithPreviousIOVTrackerMapTwoTags + SiStripNoiseMean_RatioWithPreviousIOV1sigmaTrackerMapTwoTags; + typedef SiStripNoiseRatioWithPreviousIOVTrackerMapTwoTags + SiStripNoiseRms_RatioWithPreviousIOV1sigmaTrackerMapTwoTags; + typedef SiStripNoiseRatioWithPreviousIOVTrackerMapTwoTags + SiStripNoiseMin_RatioWithPreviousIOV2sigmaTrackerMapTwoTags; + typedef SiStripNoiseRatioWithPreviousIOVTrackerMapTwoTags + SiStripNoiseMax_RatioWithPreviousIOV2sigmaTrackerMapTwoTags; + typedef SiStripNoiseRatioWithPreviousIOVTrackerMapTwoTags + SiStripNoiseMean_RatioWithPreviousIOV2sigmaTrackerMapTwoTags; + typedef SiStripNoiseRatioWithPreviousIOVTrackerMapTwoTags + SiStripNoiseRms_RatioWithPreviousIOV2sigmaTrackerMapTwoTags; + typedef SiStripNoiseRatioWithPreviousIOVTrackerMapTwoTags + SiStripNoiseMin_RatioWithPreviousIOV3sigmaTrackerMapTwoTags; + typedef SiStripNoiseRatioWithPreviousIOVTrackerMapTwoTags + SiStripNoiseMax_RatioWithPreviousIOV3sigmaTrackerMapTwoTags; + typedef SiStripNoiseRatioWithPreviousIOVTrackerMapTwoTags + SiStripNoiseMean_RatioWithPreviousIOV3sigmaTrackerMapTwoTags; + typedef SiStripNoiseRatioWithPreviousIOVTrackerMapTwoTags + SiStripNoiseRms_RatioWithPreviousIOV3sigmaTrackerMapTwoTags; /************************************************ SiStrip Noise Tracker Summaries @@ -815,7 +889,7 @@ namespace { setSingleIov(true); } - bool fill(const std::vector > &iovs) override { + bool fill(const std::vector >& iovs) override { auto iov = iovs.front(); std::shared_ptr payload = fetchPayload(std::get<1>(iov)); @@ -848,7 +922,7 @@ namespace { std::string detector; std::string currentDetector; - for (const auto &element : map) { + for (const auto& element : map) { iBin++; int count = element.second.count; double mean = (element.second.mean) / count; @@ -897,7 +971,8 @@ namespace { TLine l[boundaries.size()]; unsigned int i = 0; - for (const auto &line : boundaries) { + + for (const auto& line : boundaries) { l[i] = TLine(h1->GetBinLowEdge(line), canvas.GetUymin(), h1->GetBinLowEdge(line), canvas.GetUymax()); l[i].SetLineWidth(1); l[i].SetLineStyle(9); @@ -932,21 +1007,19 @@ namespace { *************************************************/ template - class SiStripNoiseComparatorByRegion : public cond::payloadInspector::PlotImage { + class SiStripNoiseComparatorByRegionBase : public cond::payloadInspector::PlotImage { public: - SiStripNoiseComparatorByRegion() + SiStripNoiseComparatorByRegionBase() : cond::payloadInspector::PlotImage("SiStrip Noise " + estimatorType(est) + " comparator by Region"), m_trackerTopo{StandaloneTrackerTopology::fromTrackerParametersXMLFile( - edm::FileInPath("Geometry/TrackerCommonData/data/trackerParameters.xml").fullPath())} { - setSingleIov(false); - } + edm::FileInPath("Geometry/TrackerCommonData/data/trackerParameters.xml").fullPath())} {} - bool fill(const std::vector > &iovs) override { + bool fill(const std::vector >& iovs) override { std::vector > sorted_iovs = iovs; // make absolute sure the IOVs are sortd by since - std::sort(begin(sorted_iovs), end(sorted_iovs), [](auto const &t1, auto const &t2) { + std::sort(begin(sorted_iovs), end(sorted_iovs), [](auto const& t1, auto const& t2) { return std::get<0>(t1) < std::get<0>(t2); }); @@ -1000,7 +1073,7 @@ namespace { std::string detector; std::string currentDetector; - for (const auto &element : f_map) { + for (const auto& element : f_map) { iBin++; int count = element.second.count; double mean = (element.second.mean) / count; @@ -1043,7 +1116,8 @@ namespace { // second payload // reset the counter iBin = 0; - for (const auto &element : l_map) { + + for (const auto& element : l_map) { iBin++; int count = element.second.count; double mean = (element.second.mean) / count; @@ -1083,7 +1157,8 @@ namespace { TLine l[boundaries.size()]; unsigned int i = 0; - for (const auto &line : boundaries) { + + for (const auto& line : boundaries) { l[i] = TLine(hfirst->GetBinLowEdge(line), canvas.GetUymin(), hfirst->GetBinLowEdge(line), canvas.GetUymax()); l[i].SetLineWidth(1); l[i].SetLineStyle(9); @@ -1110,10 +1185,27 @@ namespace { TrackerTopology m_trackerTopo; }; - typedef SiStripNoiseComparatorByRegion SiStripNoiseComparatorMeanByRegion; - typedef SiStripNoiseComparatorByRegion SiStripNoiseComparatorMinByRegion; - typedef SiStripNoiseComparatorByRegion SiStripNoiseComparatorMaxByRegion; - typedef SiStripNoiseComparatorByRegion SiStripNoiseComparatorRMSByRegion; + template + class SiStripNoiseComparatorByRegionSingleTag : public SiStripNoiseComparatorByRegionBase { + public: + SiStripNoiseComparatorByRegionSingleTag() : SiStripNoiseComparatorByRegionBase() { this->setSingleIov(false); } + }; + + template + class SiStripNoiseComparatorByRegionTwoTags : public SiStripNoiseComparatorByRegionBase { + public: + SiStripNoiseComparatorByRegionTwoTags() : SiStripNoiseComparatorByRegionBase() { this->setTwoTags(true); } + }; + + typedef SiStripNoiseComparatorByRegionSingleTag SiStripNoiseComparatorMeanByRegionSingleTag; + typedef SiStripNoiseComparatorByRegionSingleTag SiStripNoiseComparatorMinByRegionSingleTag; + typedef SiStripNoiseComparatorByRegionSingleTag SiStripNoiseComparatorMaxByRegionSingleTag; + typedef SiStripNoiseComparatorByRegionSingleTag SiStripNoiseComparatorRMSByRegionSingleTag; + + typedef SiStripNoiseComparatorByRegionTwoTags SiStripNoiseComparatorMeanByRegionTwoTags; + typedef SiStripNoiseComparatorByRegionTwoTags SiStripNoiseComparatorMinByRegionTwoTags; + typedef SiStripNoiseComparatorByRegionTwoTags SiStripNoiseComparatorMaxByRegionTwoTags; + typedef SiStripNoiseComparatorByRegionTwoTags SiStripNoiseComparatorRMSByRegionTwoTags; /************************************************ Noise linearity @@ -1125,19 +1217,19 @@ namespace { setSingleIov(true); } - bool fill(const std::vector > &iovs) override { + bool fill(const std::vector >& iovs) override { auto iov = iovs.front(); std::shared_ptr payload = fetchPayload(std::get<1>(iov)); edm::FileInPath fp_ = edm::FileInPath("CalibTracker/SiStripCommon/data/SiStripDetInfo.dat"); - SiStripDetInfoFileReader *reader = new SiStripDetInfoFileReader(fp_.fullPath()); + SiStripDetInfoFileReader* reader = new SiStripDetInfoFileReader(fp_.fullPath()); std::vector detid; payload->getDetIds(detid); std::map > noisePerStripLength; - for (const auto &d : detid) { + for (const auto& d : detid) { SiStripNoises::Range range = payload->getRange(d); for (int it = 0; it < (range.second - range.first) * 8 / 9; ++it) { auto noise = payload->getNoise(it, range); @@ -1161,7 +1253,7 @@ namespace { std::vector ey; ey.reserve(noisePerStripLength.size()); - for (const auto &element : noisePerStripLength) { + for (const auto& element : noisePerStripLength) { x.push_back(element.first); ex.push_back(0.); float sum = std::get<1>(element.second); @@ -1205,7 +1297,7 @@ namespace { graph->Draw("AP"); graph->Fit("pol1"); //Access the fit resuts - TF1 *f1 = graph->GetFunction("pol1"); + TF1* f1 = graph->GetFunction("pol1"); f1->SetLineWidth(2); f1->SetLineColor(kBlue); f1->Draw("same"); @@ -1251,13 +1343,14 @@ namespace { "Average " + SiStripPI::getStringFromSubdet(sub) + " noise vs run number", "average " + SiStripPI::getStringFromSubdet(sub) + " Noise") {} - std::pair getFromPayload(SiStripNoises &payload) override { + std::pair getFromPayload(SiStripNoises& payload) override { std::vector detid; payload.getDetIds(detid); int nStrips = 0; float sum = 0., sum2 = 0.; - for (const auto &d : detid) { + + for (const auto& d : detid) { int subid = DetId(d).subdetId(); if (subid != sub) continue; @@ -1295,13 +1388,14 @@ namespace { "Average " + SiStripPI::getStringFromSubdet(sub) + " noise vs run number", "average " + SiStripPI::getStringFromSubdet(sub) + " Noise") {} - std::pair getFromPayload(SiStripNoises &payload) override { + std::pair getFromPayload(SiStripNoises& payload) override { std::vector detid; payload.getDetIds(detid); int nStrips = 0; float sum = 0., sum2 = 0.; - for (const auto &d : detid) { + + for (const auto& d : detid) { int subid = DetId(d).subdetId(); if (subid != sub) continue; @@ -1339,13 +1433,14 @@ namespace { "Average " + SiStripPI::getStringFromSubdet(sub) + " noise vs run number", "average " + SiStripPI::getStringFromSubdet(sub) + " Noise") {} - std::pair getFromPayload(SiStripNoises &payload) override { + std::pair getFromPayload(SiStripNoises& payload) override { std::vector detid; payload.getDetIds(detid); int nStrips = 0; float sum = 0., sum2 = 0.; - for (const auto &d : detid) { + + for (const auto& d : detid) { int subid = DetId(d).subdetId(); if (subid != sub) continue; @@ -1371,6 +1466,180 @@ namespace { typedef NoiseTimeHistory TIDNoiseTimeHistory; typedef NoiseTimeHistory TECNoiseTimeHistory; + /************************************************ + template Noise run history per layer + *************************************************/ + template + class NoiseLayerRunHistory : public cond::payloadInspector::PlotImage { + public: + NoiseLayerRunHistory() + : cond::payloadInspector::PlotImage("SiStrip Noise values comparison"), + m_trackerTopo{StandaloneTrackerTopology::fromTrackerParametersXMLFile( + edm::FileInPath("Geometry/TrackerCommonData/data/trackerParameters.xml").fullPath())} { + setSingleIov(false); + } + + bool fill(const std::vector >& iovs) override { + std::vector > sorted_iovs = iovs; + + // make absolute sure the IOVs are sortd by since + std::sort(begin(sorted_iovs), end(sorted_iovs), [](auto const& t1, auto const& t2) { + return std::get<0>(t1) < std::get<0>(t2); + }); + + std::unordered_map > noises_avg; + std::unordered_map > noises_err; + std::vector runs; + std::vector runs_err; + + for (auto const& iov : sorted_iovs) { + std::unordered_map > noises; //map with noises per layer + + std::shared_ptr payload = fetchPayload(std::get<1>(iov)); + unsigned int run = std::get<0>(iov); + runs.push_back(run); + runs_err.push_back(0); + + if (payload.get()) { + std::vector detid; + payload->getDetIds(detid); + + for (const auto& d : detid) { + int subid = DetId(d).subdetId(); + int layer = -1; + if (subid != sub) + continue; + if (subid == StripSubdetector::TIB) { + layer = m_trackerTopo.tibLayer(d); + } else if (subid == StripSubdetector::TOB) { + layer = m_trackerTopo.tobLayer(d); + } else if (subid == StripSubdetector::TID) { + layer = m_trackerTopo.tidWheel(d); + } else if (subid == StripSubdetector::TEC) { + layer = m_trackerTopo.tecWheel(d); + } + + SiStripNoises::Range range = payload->getRange(d); + for (int it = 0; it < (range.second - range.first) * 8 / 9; ++it) { + auto noise = payload->getNoise(it, range); + if (noises.find(layer) == noises.end()) + noises.emplace(layer, std::vector{}); + noises[layer].push_back(noise); + } // loop on strips + } // loop on detIds + + for (auto& entry : noises) { + double sum = std::accumulate(entry.second.begin(), entry.second.end(), 0.0); + double mean = sum / entry.second.size(); + + //double sq_sum = std::inner_product(entry.second.begin(), entry.second.end(), entry.second.begin(), 0.0); + //double stdev = std::sqrt(sq_sum / entry.second.size() - mean * mean); + + if (noises_avg.find(entry.first) == noises_avg.end()) + noises_avg.emplace(entry.first, std::vector{}); + noises_avg[entry.first].push_back(mean); + + if (noises_err.find(entry.first) == noises_err.end()) + noises_err.emplace(entry.first, std::vector{}); + noises_err[entry.first].push_back(0); + } //get + } //run on iov + } + TCanvas canvas("Partion summary", "partition summary", 2000, 1000); + canvas.cd(); + canvas.SetBottomMargin(0.11); + canvas.SetLeftMargin(0.13); + canvas.SetRightMargin(0.05); + canvas.Modified(); + + TLegend legend = TLegend(0.73, 0.13, 0.89, 0.43); + //legend.SetHeader("Layers","C"); // option "C" allows to center the header + legend.SetTextSize(0.03); + + std::unique_ptr graph[noises_avg.size()]; + + int colors[18] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 20, 30, 40, 42, 46, 48, 32, 36, 38}; + + int el = 0; + + for (auto& entry : noises_avg) { + graph[el] = std::unique_ptr( + new TGraphErrors(runs.size(), &runs[0], &(entry.second[0]), &runs_err[0], &(noises_err[entry.first][0]))); + char title[100]; + char name[100]; + snprintf(name, sizeof(name), "gr%d", entry.first); + graph[el]->SetName(name); + + if (sub == StripSubdetector::TIB) { + snprintf(title, sizeof(title), "SiStrip avg noise per layer -- TIB"); + graph[el]->GetYaxis()->SetTitle("Average Noise per Layer [ADC counts]"); + } else if (sub == StripSubdetector::TOB) { + snprintf(title, sizeof(title), "SiStrip avg noise per layer -- TOB"); + graph[el]->GetYaxis()->SetTitle("Average Noise per Layer [ADC counts]"); + } else if (sub == StripSubdetector::TID) { + snprintf(title, sizeof(title), "SiStrip avg noise per disk -- TID"); + graph[el]->GetYaxis()->SetTitle("Average Noise per Disk [ADC counts]"); + } else if (sub == StripSubdetector::TEC) { + snprintf(title, sizeof(title), "SiStrip avg noise per disk -- TEC"); + graph[el]->GetYaxis()->SetTitle("Average Noise per Disk [ADC counts]"); + } + + graph[el]->SetTitle(title); + graph[el]->GetXaxis()->SetTitle("run"); + graph[el]->SetMarkerColor(colors[el]); + graph[el]->SetMarkerStyle(20); + graph[el]->SetMarkerSize(1.5); + graph[el]->GetXaxis()->CenterTitle(true); + graph[el]->GetYaxis()->CenterTitle(true); + graph[el]->GetXaxis()->SetTitleFont(42); + graph[el]->GetYaxis()->SetTitleFont(42); + graph[el]->GetXaxis()->SetTitleSize(0.05); + graph[el]->GetYaxis()->SetTitleSize(0.05); + graph[el]->GetXaxis()->SetTitleOffset(1.1); + graph[el]->GetYaxis()->SetTitleOffset(1.3); + graph[el]->GetXaxis()->SetLabelFont(42); + graph[el]->GetYaxis()->SetLabelFont(42); + graph[el]->GetYaxis()->SetLabelSize(.05); + graph[el]->GetXaxis()->SetLabelSize(.05); + graph[el]->SetMinimum(3); + graph[el]->SetMaximum(7.5); + + if (el == 0) + graph[el]->Draw("AP"); + else + graph[el]->Draw("P"); + + if (sub == StripSubdetector::TIB) { + legend.AddEntry(name, ("layer " + std::to_string(entry.first)).c_str(), "lep"); + } else if (sub == StripSubdetector::TOB) { + legend.AddEntry(name, ("layer " + std::to_string(entry.first)).c_str(), "lep"); + } else if (sub == StripSubdetector::TID) { + legend.AddEntry(name, ("disk " + std::to_string(entry.first)).c_str(), "lep"); + } else if (sub == StripSubdetector::TEC) { + legend.AddEntry(name, ("disk " + std::to_string(entry.first)).c_str(), "lep"); + } + + if (el == 0) + legend.Draw(); + else + legend.Draw("same"); + el++; + } + //canvas.BuildLegend(); + std::string fileName(m_imageFileName); + canvas.SaveAs(fileName.c_str()); + return true; + } + + private: + TrackerTopology m_trackerTopo; + }; + + typedef NoiseLayerRunHistory TIBNoiseLayerRunHistory; + typedef NoiseLayerRunHistory TOBNoiseLayerRunHistory; + typedef NoiseLayerRunHistory TIDNoiseLayerRunHistory; + typedef NoiseLayerRunHistory TECNoiseLayerRunHistory; + } // namespace PAYLOAD_INSPECTOR_MODULE(SiStripNoises) { @@ -1379,10 +1648,14 @@ PAYLOAD_INSPECTOR_MODULE(SiStripNoises) { PAYLOAD_INSPECTOR_CLASS(SiStripNoiseValuePerStrip); PAYLOAD_INSPECTOR_CLASS(SiStripNoiseValuePerAPV); PAYLOAD_INSPECTOR_CLASS(SiStripNoiseValuePerModule); - PAYLOAD_INSPECTOR_CLASS(SiStripNoiseValueComparison); - PAYLOAD_INSPECTOR_CLASS(SiStripNoiseValueComparisonPerStrip); - PAYLOAD_INSPECTOR_CLASS(SiStripNoiseValueComparisonPerAPV); - PAYLOAD_INSPECTOR_CLASS(SiStripNoiseValueComparisonPerModule); + PAYLOAD_INSPECTOR_CLASS(SiStripNoiseValueComparisonSingleTag); + PAYLOAD_INSPECTOR_CLASS(SiStripNoiseValueComparisonTwoTags); + PAYLOAD_INSPECTOR_CLASS(SiStripNoiseValueComparisonPerStripSingleTag); + PAYLOAD_INSPECTOR_CLASS(SiStripNoiseValueComparisonPerAPVSingleTag); + PAYLOAD_INSPECTOR_CLASS(SiStripNoiseValueComparisonPerModuleSingleTag); + PAYLOAD_INSPECTOR_CLASS(SiStripNoiseValueComparisonPerStripTwoTags); + PAYLOAD_INSPECTOR_CLASS(SiStripNoiseValueComparisonPerAPVTwoTags); + PAYLOAD_INSPECTOR_CLASS(SiStripNoiseValueComparisonPerModuleTwoTags); PAYLOAD_INSPECTOR_CLASS(SiStripNoiseMin_TrackerMap); PAYLOAD_INSPECTOR_CLASS(SiStripNoiseMax_TrackerMap); PAYLOAD_INSPECTOR_CLASS(SiStripNoiseMean_TrackerMap); @@ -1391,22 +1664,38 @@ PAYLOAD_INSPECTOR_MODULE(SiStripNoises) { PAYLOAD_INSPECTOR_CLASS(SiStripNoiseMinByRegion); PAYLOAD_INSPECTOR_CLASS(SiStripNoiseMaxByRegion); PAYLOAD_INSPECTOR_CLASS(SiStripNoiseRMSByRegion); - PAYLOAD_INSPECTOR_CLASS(SiStripNoiseComparatorMeanByRegion); - PAYLOAD_INSPECTOR_CLASS(SiStripNoiseComparatorMinByRegion); - PAYLOAD_INSPECTOR_CLASS(SiStripNoiseComparatorMaxByRegion); - PAYLOAD_INSPECTOR_CLASS(SiStripNoiseComparatorRMSByRegion); - PAYLOAD_INSPECTOR_CLASS(SiStripNoiseMin_RatioWithPreviousIOV1sigmaTrackerMap); - PAYLOAD_INSPECTOR_CLASS(SiStripNoiseMax_RatioWithPreviousIOV1sigmaTrackerMap); - PAYLOAD_INSPECTOR_CLASS(SiStripNoiseMean_RatioWithPreviousIOV1sigmaTrackerMap); - PAYLOAD_INSPECTOR_CLASS(SiStripNoiseRms_RatioWithPreviousIOV1sigmaTrackerMap); - PAYLOAD_INSPECTOR_CLASS(SiStripNoiseMin_RatioWithPreviousIOV2sigmaTrackerMap); - PAYLOAD_INSPECTOR_CLASS(SiStripNoiseMax_RatioWithPreviousIOV2sigmaTrackerMap); - PAYLOAD_INSPECTOR_CLASS(SiStripNoiseMean_RatioWithPreviousIOV2sigmaTrackerMap); - PAYLOAD_INSPECTOR_CLASS(SiStripNoiseRms_RatioWithPreviousIOV2sigmaTrackerMap); - PAYLOAD_INSPECTOR_CLASS(SiStripNoiseMin_RatioWithPreviousIOV3sigmaTrackerMap); - PAYLOAD_INSPECTOR_CLASS(SiStripNoiseMax_RatioWithPreviousIOV3sigmaTrackerMap); - PAYLOAD_INSPECTOR_CLASS(SiStripNoiseMean_RatioWithPreviousIOV3sigmaTrackerMap); - PAYLOAD_INSPECTOR_CLASS(SiStripNoiseRms_RatioWithPreviousIOV3sigmaTrackerMap); + PAYLOAD_INSPECTOR_CLASS(SiStripNoiseComparatorMeanByRegionSingleTag); + PAYLOAD_INSPECTOR_CLASS(SiStripNoiseComparatorMinByRegionSingleTag); + PAYLOAD_INSPECTOR_CLASS(SiStripNoiseComparatorMaxByRegionSingleTag); + PAYLOAD_INSPECTOR_CLASS(SiStripNoiseComparatorRMSByRegionSingleTag); + PAYLOAD_INSPECTOR_CLASS(SiStripNoiseComparatorMeanByRegionTwoTags); + PAYLOAD_INSPECTOR_CLASS(SiStripNoiseComparatorMinByRegionTwoTags); + PAYLOAD_INSPECTOR_CLASS(SiStripNoiseComparatorMaxByRegionTwoTags); + PAYLOAD_INSPECTOR_CLASS(SiStripNoiseComparatorRMSByRegionTwoTags); + PAYLOAD_INSPECTOR_CLASS(SiStripNoiseMin_RatioWithPreviousIOV1sigmaTrackerMapSingleTag); + PAYLOAD_INSPECTOR_CLASS(SiStripNoiseMax_RatioWithPreviousIOV1sigmaTrackerMapSingleTag); + PAYLOAD_INSPECTOR_CLASS(SiStripNoiseMean_RatioWithPreviousIOV1sigmaTrackerMapSingleTag); + PAYLOAD_INSPECTOR_CLASS(SiStripNoiseRms_RatioWithPreviousIOV1sigmaTrackerMapSingleTag); + PAYLOAD_INSPECTOR_CLASS(SiStripNoiseMin_RatioWithPreviousIOV2sigmaTrackerMapSingleTag); + PAYLOAD_INSPECTOR_CLASS(SiStripNoiseMax_RatioWithPreviousIOV2sigmaTrackerMapSingleTag); + PAYLOAD_INSPECTOR_CLASS(SiStripNoiseMean_RatioWithPreviousIOV2sigmaTrackerMapSingleTag); + PAYLOAD_INSPECTOR_CLASS(SiStripNoiseRms_RatioWithPreviousIOV2sigmaTrackerMapSingleTag); + PAYLOAD_INSPECTOR_CLASS(SiStripNoiseMin_RatioWithPreviousIOV3sigmaTrackerMapSingleTag); + PAYLOAD_INSPECTOR_CLASS(SiStripNoiseMax_RatioWithPreviousIOV3sigmaTrackerMapSingleTag); + PAYLOAD_INSPECTOR_CLASS(SiStripNoiseMean_RatioWithPreviousIOV3sigmaTrackerMapSingleTag); + PAYLOAD_INSPECTOR_CLASS(SiStripNoiseRms_RatioWithPreviousIOV3sigmaTrackerMapSingleTag); + PAYLOAD_INSPECTOR_CLASS(SiStripNoiseMin_RatioWithPreviousIOV1sigmaTrackerMapTwoTags); + PAYLOAD_INSPECTOR_CLASS(SiStripNoiseMax_RatioWithPreviousIOV1sigmaTrackerMapTwoTags); + PAYLOAD_INSPECTOR_CLASS(SiStripNoiseMean_RatioWithPreviousIOV1sigmaTrackerMapTwoTags); + PAYLOAD_INSPECTOR_CLASS(SiStripNoiseRms_RatioWithPreviousIOV1sigmaTrackerMapTwoTags); + PAYLOAD_INSPECTOR_CLASS(SiStripNoiseMin_RatioWithPreviousIOV2sigmaTrackerMapTwoTags); + PAYLOAD_INSPECTOR_CLASS(SiStripNoiseMax_RatioWithPreviousIOV2sigmaTrackerMapTwoTags); + PAYLOAD_INSPECTOR_CLASS(SiStripNoiseMean_RatioWithPreviousIOV2sigmaTrackerMapTwoTags); + PAYLOAD_INSPECTOR_CLASS(SiStripNoiseRms_RatioWithPreviousIOV2sigmaTrackerMapTwoTags); + PAYLOAD_INSPECTOR_CLASS(SiStripNoiseMin_RatioWithPreviousIOV3sigmaTrackerMapTwoTags); + PAYLOAD_INSPECTOR_CLASS(SiStripNoiseMax_RatioWithPreviousIOV3sigmaTrackerMapTwoTags); + PAYLOAD_INSPECTOR_CLASS(SiStripNoiseMean_RatioWithPreviousIOV3sigmaTrackerMapTwoTags); + PAYLOAD_INSPECTOR_CLASS(SiStripNoiseRms_RatioWithPreviousIOV3sigmaTrackerMapTwoTags); PAYLOAD_INSPECTOR_CLASS(SiStripNoiseLinearity); PAYLOAD_INSPECTOR_CLASS(TIBNoiseHistory); PAYLOAD_INSPECTOR_CLASS(TOBNoiseHistory); @@ -1416,6 +1705,10 @@ PAYLOAD_INSPECTOR_MODULE(SiStripNoises) { PAYLOAD_INSPECTOR_CLASS(TOBNoiseRunHistory); PAYLOAD_INSPECTOR_CLASS(TIDNoiseRunHistory); PAYLOAD_INSPECTOR_CLASS(TECNoiseRunHistory); + PAYLOAD_INSPECTOR_CLASS(TIBNoiseLayerRunHistory); + PAYLOAD_INSPECTOR_CLASS(TOBNoiseLayerRunHistory); + PAYLOAD_INSPECTOR_CLASS(TIDNoiseLayerRunHistory); + PAYLOAD_INSPECTOR_CLASS(TECNoiseLayerRunHistory); PAYLOAD_INSPECTOR_CLASS(TIBNoiseTimeHistory); PAYLOAD_INSPECTOR_CLASS(TOBNoiseTimeHistory); PAYLOAD_INSPECTOR_CLASS(TIDNoiseTimeHistory); diff --git a/CondCore/SiStripPlugins/plugins/SiStripPedestals_PayloadInspector.cc b/CondCore/SiStripPlugins/plugins/SiStripPedestals_PayloadInspector.cc index 03ef702167237..14c8155b8792d 100644 --- a/CondCore/SiStripPlugins/plugins/SiStripPedestals_PayloadInspector.cc +++ b/CondCore/SiStripPlugins/plugins/SiStripPedestals_PayloadInspector.cc @@ -252,13 +252,12 @@ namespace { *************************************************/ // inherit from one of the predefined plot class: PlotImage + template - class SiStripPedestalDistributionComparison : public cond::payloadInspector::PlotImage { + class SiStripPedestalDistributionComparisonBase : public cond::payloadInspector::PlotImage { public: - SiStripPedestalDistributionComparison() - : cond::payloadInspector::PlotImage("SiStrip Pedestal values comparison") { - setSingleIov(false); - } + SiStripPedestalDistributionComparisonBase() + : cond::payloadInspector::PlotImage("SiStrip Pedestal values comparison") {} bool fill(const std::vector >& iovs) override { std::vector > sorted_iovs = iovs; @@ -433,9 +432,34 @@ namespace { } }; - typedef SiStripPedestalDistributionComparison SiStripPedestalValueComparisonPerStrip; - typedef SiStripPedestalDistributionComparison SiStripPedestalValueComparisonPerAPV; - typedef SiStripPedestalDistributionComparison SiStripPedestalValueComparisonPerModule; + template + class SiStripPedestalDistributionComparisonSingleTag : public SiStripPedestalDistributionComparisonBase { + public: + SiStripPedestalDistributionComparisonSingleTag() : SiStripPedestalDistributionComparisonBase() { + this->setSingleIov(false); + } + }; + + template + class SiStripPedestalDistributionComparisonTwoTags : public SiStripPedestalDistributionComparisonBase { + public: + SiStripPedestalDistributionComparisonTwoTags() : SiStripPedestalDistributionComparisonBase() { + this->setTwoTags(true); + } + }; + + typedef SiStripPedestalDistributionComparisonSingleTag + SiStripPedestalValueComparisonPerStripSingleTag; + typedef SiStripPedestalDistributionComparisonSingleTag + SiStripPedestalValueComparisonPerAPVSingleTag; + typedef SiStripPedestalDistributionComparisonSingleTag + SiStripPedestalValueComparisonPerModuleSingleTag; + + typedef SiStripPedestalDistributionComparisonTwoTags + SiStripPedestalValueComparisonPerStripTwoTags; + typedef SiStripPedestalDistributionComparisonTwoTags SiStripPedestalValueComparisonPerAPVTwoTags; + typedef SiStripPedestalDistributionComparisonTwoTags + SiStripPedestalValueComparisonPerModuleTwoTags; /************************************************ 1d histogram of fraction of Zero SiStripPedestals of 1 IOV @@ -757,9 +781,12 @@ PAYLOAD_INSPECTOR_MODULE(SiStripPedestals) { PAYLOAD_INSPECTOR_CLASS(SiStripPedestalValuePerStrip); PAYLOAD_INSPECTOR_CLASS(SiStripPedestalValuePerAPV); PAYLOAD_INSPECTOR_CLASS(SiStripPedestalValuePerModule); - PAYLOAD_INSPECTOR_CLASS(SiStripPedestalValueComparisonPerStrip); - PAYLOAD_INSPECTOR_CLASS(SiStripPedestalValueComparisonPerAPV); - PAYLOAD_INSPECTOR_CLASS(SiStripPedestalValueComparisonPerModule); + PAYLOAD_INSPECTOR_CLASS(SiStripPedestalValueComparisonPerStripSingleTag); + PAYLOAD_INSPECTOR_CLASS(SiStripPedestalValueComparisonPerAPVSingleTag); + PAYLOAD_INSPECTOR_CLASS(SiStripPedestalValueComparisonPerModuleSingleTag); + PAYLOAD_INSPECTOR_CLASS(SiStripPedestalValueComparisonPerStripTwoTags); + PAYLOAD_INSPECTOR_CLASS(SiStripPedestalValueComparisonPerAPVTwoTags); + PAYLOAD_INSPECTOR_CLASS(SiStripPedestalValueComparisonPerModuleTwoTags); PAYLOAD_INSPECTOR_CLASS(SiStripZeroPedestalsFraction_TrackerMap); PAYLOAD_INSPECTOR_CLASS(SiStripPedestalsMin_TrackerMap); PAYLOAD_INSPECTOR_CLASS(SiStripPedestalsMax_TrackerMap); diff --git a/CondCore/SiStripPlugins/test/testGainsPayloadInspector.sh b/CondCore/SiStripPlugins/test/testGainsPayloadInspector.sh old mode 100755 new mode 100644 index 59e870a260084..a89e12ff5f244 --- a/CondCore/SiStripPlugins/test/testGainsPayloadInspector.sh +++ b/CondCore/SiStripPlugins/test/testGainsPayloadInspector.sh @@ -21,44 +21,72 @@ mkdir $W_DIR/plots #################### getPayloadData.py \ --plugin pluginSiStripApvGain_PayloadInspector \ - --plot plot_SiStripApvGainsValuesComparator \ + --plot plot_SiStripApvGainsValuesComparatorSingleTag \ --tag SiStripApvGainAfterAbortGap_PCL_v0_prompt \ --time_type Run \ --iovs '{"start_iov": "302393", "end_iov": "305114"}' \ --db Prep \ --test; -mv *.png $W_DIR/plots/G2_Value_update.png +mv *.png $W_DIR/plots/G2_Value_update_ST.png getPayloadData.py \ --plugin pluginSiStripApvGain_PayloadInspector \ - --plot plot_SiStripApvGainsMaxDeviationRatio2sigmaTrackerMap \ + --plot plot_SiStripApvGainsValuesComparatorTwoTags \ + --tag SiStripApvGain_FromParticles_GR10_v1_express \ + --tagtwo SiStripApvGain_FromParticles_GR10_v1_hlt \ + --time_type Run \ + --iovs '{"start_iov": "286042", "end_iov": "286042"}' \ + --iovstwo '{"start_iov": "206037", "end_iov": "206037"}' \ + --db Prod \ + --test; + + +mv *.png $W_DIR/plots/G2_Value_update_TT.png + +getPayloadData.py \ + --plugin pluginSiStripApvGain_PayloadInspector \ + --plot plot_SiStripApvGainsMaxDeviationRatio2sigmaTrackerMapSingleTag \ --tag SiStripApvGainAfterAbortGap_PCL_v0_prompt \ --time_type Run \ --iovs '{"start_iov": "302393", "end_iov": "305114"}' \ --db Prep \ --test; -mv *.png $W_DIR/plots/G2_MaxDeviatonRatio_update.png +mv *.png $W_DIR/plots/G2_MaxDeviatonRatio_update_ST.png + +getPayloadData.py \ + --plugin pluginSiStripApvGain_PayloadInspector \ + --plot plot_SiStripApvGainsMaxDeviationRatio2sigmaTrackerMapTwoTags \ + --tag SiStripApvGain_FromParticles_GR10_v1_express \ + --tagtwo SiStripApvGain_FromParticles_GR10_v1_hlt \ + --time_type Run \ + --iovs '{"start_iov": "286042", "end_iov": "286042"}' \ + --iovstwo '{"start_iov": "206037", "end_iov": "206037"}' \ + --db Prod \ + --test; + + +mv *.png $W_DIR/plots/G2_MaxDeviatonRatio_update_TT.png getPayloadData.py \ --plugin pluginSiStripApvGain_PayloadInspector \ - --plot plot_SiStripApvGainsRatioComparatorByRegion \ + --plot plot_SiStripApvGainsRatioComparatorByRegionSingleTag \ --tag SiStripApvGainAfterAbortGap_PCL_v0_prompt \ --time_type Run \ --iovs '{"start_iov": "280000", "end_iov": "305114"}' \ --db Prep \ --test; -mv *.png $W_DIR/plots/G2_Ratio_update.png +mv *.png $W_DIR/plots/G2_Ratio_update_ST.png getPayloadData.py \ --plugin pluginSiStripApvGain_PayloadInspector \ - --plot plot_SiStripApvGainsValuesComparator \ + --plot plot_SiStripApvGainsValuesComparatorSingleTag \ --tag SiStripApvGain_GR10_v1_hlt \ --time_type Run \ --iovs '{"start_iov": "302322", "end_iov": "306054"}' \ --db Prod \ --test; -mv *.png $W_DIR/plots/G1_Value_update.png \ No newline at end of file +mv *.png $W_DIR/plots/G1_Value_update_ST.png diff --git a/CondCore/SiStripPlugins/test/testNoisePayloadInspector.sh b/CondCore/SiStripPlugins/test/testNoisePayloadInspector.sh index 36507dc834ad2..ef37460170f8a 100755 --- a/CondCore/SiStripPlugins/test/testNoisePayloadInspector.sh +++ b/CondCore/SiStripPlugins/test/testNoisePayloadInspector.sh @@ -24,6 +24,7 @@ getPayloadData.py \ estimators=(Mean Min Max RMS) plotTypes=(Strip APV Module) +partition=(TIB TOB TEC TID) mkdir -p $W_DIR/results @@ -77,13 +78,27 @@ do getPayloadData.py \ --plugin pluginSiStripNoises_PayloadInspector \ - --plot plot_SiStripNoiseValueComparisonPer${j} \ + --plot plot_SiStripNoiseValueComparisonPer${j}SingleTag \ --tag SiStripNoise_GR10_v1_hlt \ --time_type Run \ --iovs '{"start_iov": "312968", "end_iov": "313120"}' \ --db Prod \ --test ; - mv *.png $W_DIR/results/SiStripNoisesPer${j}Comparison.png + mv *.png $W_DIR/results/SiStripNoisesPer${j}ComparisonSingleTag.png done + +for j in "${partition[@]}" +do + getPayloadData.py \ + --plugin pluginSiStripNoises_PayloadInspector \ + --plot plot_${j}NoiseLayerRunHistory \ + --tag SiStripNoise_GR10_v1_hlt \ + --time_type Run \ + --iovs '{"start_iov": "315000", "end_iov": "325000"}' \ + --db Prod \ + --test; + + mv *.png $W_DIR/results/${j}NoiseLayerRunHistory.png +done diff --git a/CondCore/SiStripPlugins/test/testPedestalsPayloadInspector.sh b/CondCore/SiStripPlugins/test/testPedestalsPayloadInspector.sh index e1384fb23b67a..663cb1ef9efb4 100755 --- a/CondCore/SiStripPlugins/test/testPedestalsPayloadInspector.sh +++ b/CondCore/SiStripPlugins/test/testPedestalsPayloadInspector.sh @@ -77,7 +77,7 @@ do getPayloadData.py \ --plugin pluginSiStripPedestals_PayloadInspector \ - --plot plot_SiStripPedestalValueComparisonPer${j} \ + --plot plot_SiStripPedestalValueComparisonPer${j}SingleTag \ --tag SiStripPedestals_v2_prompt \ --time_type Run \ --iovs '{"start_iov": "303420", "end_iov": "313120"}' \ diff --git a/CondCore/SiStripPlugins/test/testSiStripPayloadInspector.cpp b/CondCore/SiStripPlugins/test/testSiStripPayloadInspector.cpp index 8ea0fc4d4827e..9d22e36787ad8 100644 --- a/CondCore/SiStripPlugins/test/testSiStripPayloadInspector.cpp +++ b/CondCore/SiStripPlugins/test/testSiStripPayloadInspector.cpp @@ -39,27 +39,27 @@ int main(int argc, char** argv) { histo1.process(connectionString, tag, runTimeType, start, start); std::cout << histo1.data() << std::endl; - SiStripApvGainsAvgDeviationRatio1sigmaTrackerMap histo2; + SiStripApvGainsAvgDeviationRatio1sigmaTrackerMapSingleTag histo2; histo2.process(connectionString, tag, runTimeType, start, end); std::cout << histo2.data() << std::endl; - SiStripApvGainsMaxDeviationRatio1sigmaTrackerMap histo3; + SiStripApvGainsMaxDeviationRatio1sigmaTrackerMapSingleTag histo3; histo3.process(connectionString, tag, runTimeType, start, end); std::cout << histo3.data() << std::endl; - SiStripApvGainsValuesComparator histo4; + SiStripApvGainsValuesComparatorSingleTag histo4; histo4.process(connectionString, tag, runTimeType, start, end); std::cout << histo4.data() << std::endl; - SiStripApvGainsComparator histo5; + SiStripApvGainsComparatorSingleTag histo5; histo5.process(connectionString, tag, runTimeType, start, end); std::cout << histo5.data() << std::endl; - SiStripApvGainsComparatorByRegion histo6; + SiStripApvGainsComparatorByRegionSingleTag histo6; histo6.process(connectionString, tag, runTimeType, start, end); std::cout << histo6.data() << std::endl; - SiStripApvGainsRatioComparatorByRegion histo7; + SiStripApvGainsRatioComparatorByRegionSingleTag histo7; histo7.process(connectionString, tag, runTimeType, start, end); std::cout << histo7.data() << std::endl; @@ -75,11 +75,11 @@ int main(int argc, char** argv) { histo8.process(connectionString, tag, runTimeType, start, start); std::cout << histo8.data() << std::endl; - SiStripNoiseValueComparisonPerAPV histo9; + SiStripNoiseValueComparisonPerAPVSingleTag histo9; histo9.process(connectionString, tag, runTimeType, start, end); std::cout << histo9.data() << std::endl; - SiStripNoiseComparatorMeanByRegion histoCompareMeanByRegion; + SiStripNoiseComparatorMeanByRegionSingleTag histoCompareMeanByRegion; histoCompareMeanByRegion.process(connectionString, tag, runTimeType, start, start); std::cout << histoCompareMeanByRegion.data() << std::endl; @@ -95,7 +95,7 @@ int main(int argc, char** argv) { histo10.process(connectionString, tag, runTimeType, start, start); std::cout << histo10.data() << std::endl; - SiStripPedestalValueComparisonPerModule histo11; + SiStripPedestalValueComparisonPerModuleSingleTag histo11; histo11.process(connectionString, tag, runTimeType, start, end); std::cout << histo11.data() << std::endl;