29 : DQMEDHarvester(iConfig),
33 LogInfo(
"PixelDQM") <<
"SiPixelBarycenter::SiPixelBarycenter: Got DQM BackEnd interface" << endl;
39 LogInfo(
"PixelDQM") <<
"SiPixelBarycenter::~SiPixelBarycenter: Destructor" << endl;
67 {
"BPIX",
"FPIX_zm",
"FPIX_zp",
"BPIX_xp",
"BPIX_xm",
"FPIX_zp_xp",
"FPIX_zm_xp",
"FPIX_zp_xm",
"FPIX_zm_xm"}) {
70 "Position of the barycenter for " +
subdetector +
";Coordinate;Position [mm]",
88 const std::vector<AlignTransform>&
input,
89 const std::vector<AlignTransform>& GPR,
91 const auto GPR_translation_pixel = GPR[0].translation();
92 const std::map<DQMBarycenter::coordinate, float> GPR_pixel = {{
DQMBarycenter::t_x, GPR_translation_pixel.x()},
99 auto Xbarycenters = barycenters.
getX();
100 auto Ybarycenters = barycenters.
getY();
101 auto Zbarycenters = barycenters.
getZ();
104 std::vector<std::string> subdetectors = {
105 "BPIX",
"FPIX_zm",
"FPIX_zp",
"BPIX_xp",
"BPIX_xm",
"FPIX_zp_xp",
"FPIX_zm_xp",
"FPIX_zp_xm",
"FPIX_zm_xm"};
106 for (std::size_t
i = 0;
i < subdetectors.size(); ++
i) {
108 barycenters_[subdetectors[
i]]->setBinContent(2, Ybarycenters[i]);
109 barycenters_[subdetectors[
i]]->setBinContent(3, Zbarycenters[i]);
const edm::ESGetToken< Alignments, GlobalPositionRcd > gprToken_
const edm::EventSetup & c
virtual void setCurrentFolder(std::string const &fullpath)
#define DEFINE_FWK_MODULE(type)
void fillBarycenterHistograms(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter, const std::vector< AlignTransform > &input, const std::vector< AlignTransform > &GPR, const TrackerTopology &tTopo)
const std::array< double, 9 > getY()
std::vector< AlignTransform > m_align
void dqmEndRun(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter, edm::Run const &iRun, edm::EventSetup const &c) override
static std::string const input
bool getData(T &iHolder) const
void dqmEndJob(DQMStore::IBooker &iBooker, DQMStore::IGetter &iGetter) override
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > trackerTopologyToken_
SiPixelBarycenter(const edm::ParameterSet &conf)
Log< level::Info, false > LogInfo
void computeBarycenters(const std::vector< AlignTransform > &input, const TrackerTopology &tTopo, const std::map< DQMBarycenter::coordinate, float > &GPR)
trackerTopologyToken_(iC.esConsumes())
std::map< std::string, MonitorElement * > barycenters_
const edm::ESGetToken< Alignments, TrackerAlignmentRcd > alignmentToken_
const std::array< double, 9 > getZ()
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
~SiPixelBarycenter() override
const std::array< double, 9 > getX()
void bookBarycenterHistograms(DQMStore::IBooker &iBooker)
void beginRun(edm::Run const &run, edm::EventSetup const &eSetup) override