26 globalFolder_ = subsystemFolder +
"/" + recHitTypeFolder +
"/" + summaryFolder;
67 runInfoRec->get(sumFED);
68 std::vector<int> FedsInIds = sumFED->
m_fed_in;
71 while (!
isIn_ && f < FedsInIds.size()) {
72 int fedID = FedsInIds[
f];
90 me->
Fill(defaultValue);
94 me = ibooker.
book2D(
"reportSummaryMap",
"RPC Report Summary Map", 15, -7.5, 7.5, 12, 0.5, 12.5);
98 for (
int i = 1;
i <= 15;
i++) {
101 BinLabel <<
"Sec" <<
i;
107 BinLabel <<
"Disk" <<
i - 5;
109 BinLabel <<
"Disk" << i - 11;
110 else if (i == 11 || i == 5)
113 BinLabel <<
"Wheel" << i - 8;
119 for (
int i = 1;
i <= 15;
i++) {
120 for (
int j = 1;
j <= 12;
j++) {
121 if (
i == 5 ||
i == 11 || (
j > 6 && (i < 6 || i > 10)))
129 for (
int j = 1;
j <= 12;
j++) {
138 std::stringstream segName;
139 std::vector<std::string> segmentNames;
140 for (
int i = -2;
i <= 2;
i++) {
142 segName <<
"RPC_Wheel" <<
i;
143 segmentNames.push_back(segName.str());
150 segName <<
"RPC_Disk" <<
i;
151 segmentNames.push_back(segName.str());
154 for (
unsigned int i = 0;
i < segmentNames.size();
i++) {
157 me->
Fill(defaultValue);
188 std::stringstream meName;
198 float barrelFactor = 0;
200 for (
int w = -2;
w < 3;
w++) {
202 meName <<
globalFolder_ <<
"/RPCChamberQuality_Roll_vs_Sector_Wheel" <<
w;
203 myMe = igetter.
get(meName.str());
206 float wheelFactor = 0;
209 float sectorFactor = 0;
210 int rollInSector = 0;
213 if ((
s != 4 &&
r > 17) || ((
s == 9 ||
s == 10) &&
r > 15))
224 if (rollInSector != 0)
225 sectorFactor = sectorFactor / rollInSector;
229 wheelFactor += sectorFactor;
233 wheelFactor = wheelFactor / myMe->
getNbinsX();
236 meName << eventInfoPath_ +
"/reportSummaryContents/RPC_Wheel" <<
w;
237 globalMe = igetter.
get(meName.str());
239 globalMe->
Fill(wheelFactor);
241 barrelFactor += wheelFactor;
245 barrelFactor = barrelFactor / 5;
247 float endcapFactor = 0;
256 meName <<
globalFolder_ <<
"/RPCChamberQuality_Ring_vs_Segment_Disk" <<
d;
257 myMe = igetter.
get(meName.str());
260 float diskFactor = 0;
262 float sectorFactor[6] = {0, 0, 0, 0, 0, 0};
264 for (
int i = 0;
i < 6;
i++) {
265 int firstSeg = (
i * 6) + 1;
266 int lastSeg = firstSeg + 6;
267 int rollInSector = 0;
268 for (
int seg = firstSeg; seg < lastSeg; seg++) {
272 sectorFactor[
i] += 0.8;
274 sectorFactor[
i] += 0;
276 sectorFactor[
i] += 1;
279 sectorFactor[
i] = sectorFactor[
i] / rollInSector;
283 diskFactor += sectorFactor[
sec];
292 diskFactor = diskFactor / 6;
295 meName << eventInfoPath_ +
"/reportSummaryContents/RPC_Disk" <<
d;
296 globalMe = igetter.
get(meName.str());
298 globalMe->
Fill(diskFactor);
300 endcapFactor += diskFactor;
308 float rpcFactor = barrelFactor;
310 rpcFactor = (barrelFactor + endcapFactor) / 2;
313 globalMe = igetter.
get(eventInfoPath_ +
"/reportSummary");
315 globalMe->
Fill(rpcFactor);
std::string eventInfoPath_
T getUntrackedParameter(std::string const &, T const &) const
std::optional< T > tryToGet() const
MonitorElement * bookFloat(TString const &name)
virtual int getNbinsY() const
get # of bins in Y-axis
~RPCEventSummary() override
Destructor.
void setCurrentFolder(std::string const &fullpath)
static HCTypeTag findType(char const *iTypeName)
find a type based on the types name, if not found will return default HCTypeTag
void dqmEndLuminosityBlock(DQMStore::IBooker &, DQMStore::IGetter &, edm::LuminosityBlock const &, edm::EventSetup const &) override
bool enableReportSummary_
bool doEndcapCertification_
std::string globalFolder_
virtual int getNbinsX() const
get # of bins in X-axis
std::vector< int > m_fed_in
virtual void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
virtual double getBinContent(int binx) const
get content of bin (1-D)
void clientOperation(DQMStore::IGetter &igetter)
virtual void setBinContent(int binx, double content)
set content of bin (1-D)
void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override
RPCEventSummary(const edm::ParameterSet &ps)
Constructor.
std::pair< int, int > FEDRange_
std::string prefixFolder_
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
MonitorElement * get(std::string const &path)