28 globalFolder_ = subsystemFolder +
"/"+ recHitTypeFolder +
"/"+ summaryFolder ;
67 if(
nullptr != setup.
find( recordKey ) ) {
72 std::vector<int> FedsInIds= sumFED->
m_fed_in;
75 while(!
isIn_ && f < FedsInIds.size()) {
76 int fedID=FedsInIds[
f];
94 me->
Fill(defaultValue);
98 me = ibooker.
book2D(
"reportSummaryMap",
"RPC Report Summary Map", 15, -7.5, 7.5, 12, 0.5 ,12.5);
102 for (
int i= 1 ;
i<=15;
i++){
111 BinLabel<<
"Disk"<<
i-5;
113 BinLabel<<
"Disk"<<i-11;
114 else if(i==11 || i==5)
117 BinLabel<<
"Wheel"<<i-8;
123 for(
int i=1;
i<=15;
i++){
124 for (
int j=1; j<=12; j++ ){
125 if(
i==5 ||
i==11 || (j>6 && (i<6 || i>10)))
133 for (
int j=1; j<=12; j++ ){
142 std::stringstream segName;
143 std::vector<std::string> segmentNames;
144 for(
int i=-2;
i<=2;
i++){
146 segName<<
"RPC_Wheel"<<
i;
147 segmentNames.push_back(segName.str());
153 segName<<
"RPC_Disk"<<
i;
154 segmentNames.push_back(segName.str());
158 for(
unsigned int i=0;
i<segmentNames.size();
i++){
161 me->
Fill(defaultValue);
197 std::stringstream meName;
207 float barrelFactor = 0;
209 for(
int w = -2 ;
w<3;
w++){
212 meName<<
globalFolder_<<
"/RPCChamberQuality_Roll_vs_Sector_Wheel"<<
w;
213 myMe = igetter.
get(meName.str());
216 float wheelFactor = 0;
219 float sectorFactor = 0;
220 int rollInSector = 0;
224 if((
s!=4 &&
r > 17 ) || ((
s ==9 ||
s ==10) &&
r >15 ) )
continue;
230 else sectorFactor+=1;
234 sectorFactor = sectorFactor/rollInSector;
237 wheelFactor += sectorFactor;
241 wheelFactor = wheelFactor/myMe->
getNbinsX();
244 meName<<eventInfoPath_ +
"/reportSummaryContents/RPC_Wheel"<<
w;
245 globalMe=igetter.
get(meName.str());
246 if(globalMe) globalMe->
Fill(wheelFactor);
248 barrelFactor += wheelFactor;
252 barrelFactor = barrelFactor/5;
255 float endcapFactor = 0;
264 meName<<
globalFolder_<<
"/RPCChamberQuality_Ring_vs_Segment_Disk"<<
d;
265 myMe = igetter.
get(meName.str());
268 float diskFactor = 0;
270 float sectorFactor[6]= {0,0,0,0,0,0};
272 for (
int i = 0 ;
i <6;
i++){
273 int firstSeg = (
i *6 )+1;
274 int lastSeg = firstSeg +6;
275 int rollInSector = 0;
276 for(
int seg = firstSeg; seg< lastSeg ; seg++){
282 else sectorFactor[
i]+=1;
286 sectorFactor[
i] = sectorFactor[
i]/rollInSector;
290 for (
int sec = 0 ; sec<6; sec++){
291 diskFactor += sectorFactor[sec];
293 if (d<0) reportMe->
setBinContent(d+5, sec+1 , sectorFactor[sec]);
294 else reportMe->
setBinContent(d+11, sec+1 , sectorFactor[sec]);
298 diskFactor = diskFactor/6;
301 meName<<eventInfoPath_ +
"/reportSummaryContents/RPC_Disk"<<
d;
302 globalMe=igetter.
get(meName.str());
303 if(globalMe) globalMe->
Fill(diskFactor);
305 endcapFactor += diskFactor;
315 float rpcFactor = barrelFactor;
318 globalMe = igetter.
get(eventInfoPath_ +
"/reportSummary");
319 if(globalMe) globalMe->
Fill(rpcFactor);
std::string eventInfoPath_
T getUntrackedParameter(std::string const &, T const &) const
void setBinContent(int binx, double content)
set content of bin (1-D)
~RPCEventSummary() override
Destructor.
MonitorElement * get(const std::string &path)
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)
def setup(process, global_tag, zero_tesla=False)
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_
const eventsetup::EventSetupRecord * find(const eventsetup::EventSetupRecordKey &) const
std::string globalFolder_
std::vector< int > m_fed_in
void clientOperation(DQMStore::IGetter &igetter)
void setCurrentFolder(const std::string &fullpath)
MonitorElement * book2D(Args &&...args)
void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override
RPCEventSummary(const edm::ParameterSet &ps)
Constructor.
int getNbinsY() const
get # of bins in Y-axis
std::pair< int, int > FEDRange_
double getBinContent(int binx) const
get content of bin (1-D)
std::string prefixFolder_
int getNbinsX() const
get # of bins in X-axis
MonitorElement * bookFloat(Args &&...args)