21 config.getParameter<edm::
ParameterSet>(
"MillePedeFileReader")
23 mpReader(mpReaderConfig_),
25 sigCut_ (mpReaderConfig_.getParameter<double>(
"sigCut")),
26 Xcut_ (mpReaderConfig_.getParameter<double>(
"Xcut")),
27 tXcut_ (mpReaderConfig_.getParameter<double>(
"tXcut")),
28 Ycut_ (mpReaderConfig_.getParameter<double>(
"Ycut")),
29 tYcut_ (mpReaderConfig_.getParameter<double>(
"tYcut")),
30 Zcut_ (mpReaderConfig_.getParameter<double>(
"Zcut")),
31 tZcut_ (mpReaderConfig_.getParameter<double>(
"tZcut")),
32 maxMoveCut_ (mpReaderConfig_.getParameter<double>(
"maxMoveCut")),
33 maxErrorCut_ (mpReaderConfig_.getParameter<double>(
"maxErrorCut"))
49 edm::LogInfo(
"MillePedeDQMModule") <<
"Booking histograms";
54 h_xPos = booker.
book1D(
"Xpos",
"#Delta X;;#mu m", 10, 0, 10.);
55 h_xRot = booker.
book1D(
"Xrot",
"#Delta #theta_{X};;#mu rad", 10, 0, 10.);
56 h_yPos = booker.
book1D(
"Ypos",
"#Delta Y;;#mu m", 10, 0., 10.);
57 h_yRot = booker.
book1D(
"Yrot",
"#Delta #theta_{Y};;#mu rad", 10, 0, 10.);
58 h_zPos = booker.
book1D(
"Zpos",
"#Delta Z;;#mu m", 10, 0., 10.);
59 h_zRot = booker.
book1D(
"Zrot",
"#Delta #theta_{Z};;#mu rad", 10, 0, 10.);
84 fillExpertHisto(h_xPos, Xcut_, sigCut_, maxMoveCut_, maxErrorCut_, mpReader.getXobs(), mpReader.getXobsErr());
85 fillExpertHisto(h_xRot, tXcut_, sigCut_, maxMoveCut_, maxErrorCut_, mpReader.getTXobs(), mpReader.getTXobsErr());
87 fillExpertHisto(h_yPos, Ycut_, sigCut_, maxMoveCut_, maxErrorCut_, mpReader.getYobs(), mpReader.getYobsErr());
88 fillExpertHisto(h_yRot, tYcut_, sigCut_, maxMoveCut_, maxErrorCut_, mpReader.getTYobs(), mpReader.getTYobsErr());
90 fillExpertHisto(h_zPos, Zcut_, sigCut_, maxMoveCut_, maxErrorCut_, mpReader.getZobs(), mpReader.getZobsErr());
91 fillExpertHisto(h_zRot, tZcut_, sigCut_, maxMoveCut_, maxErrorCut_, mpReader.getTZobs(), mpReader.getTZobsErr());
97 std::array<double, 6> obs, std::array<double, 6> obsErr)
99 TH1F* histo_0 = histo->
getTH1F();
101 histo_0->SetMinimum(-(maxMoveCut_));
102 histo_0->SetMaximum( maxMoveCut_);
104 for (
size_t i = 0;
i < obs.size(); ++
i) {
105 histo_0->SetBinContent(
i+1, obs[
i]);
106 histo_0->SetBinError(i+1, obsErr[i]);
108 histo_0->SetBinContent(8,cut);
109 histo_0->SetBinContent(9,sigCut);
110 histo_0->SetBinContent(10,maxMoveCut);
111 histo_0->SetBinContent(11,maxErrorCut);
virtual ~MillePedeDQMModule()
virtual void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override
DQM Plotter for PCL-Alignment.
void bookHistograms(fwlite::EventContainer &eventCont)
void fillExpertHisto(MonitorElement *histo, const double cut, const double sigCut, const double maxMoveCut, const double maxErrorCut, std::array< double, 6 > obs, std::array< double, 6 > obsErr)
MillePedeDQMModule(const edm::ParameterSet &)
MonitorElement * book1D(Args &&...args)
void bookHistograms(DQMStore::IBooker &)
void setCurrentFolder(const std::string &fullpath)
TH1F * getTH1F(void) const