28 globalFolder_ = subsystemFolder +
"/"+ recHitTypeFolder +
"/"+ summaryFolder ;
66 if(0 != setup.
find( recordKey ) ) {
71 std::vector<int> FedsInIds= sumFED->m_fed_in;
74 while(!flag && f < FedsInIds.size()) {
75 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);
101 std::stringstream BinLabel;
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);
196 std::stringstream meName;
206 float barrelFactor = 0;
208 for(
int w = -2 ;
w<3;
w++){
211 meName<<
globalFolder_<<
"/RPCChamberQuality_Roll_vs_Sector_Wheel"<<
w;
212 myMe = igetter.
get(meName.str());
215 float wheelFactor = 0;
218 float sectorFactor = 0;
219 int rollInSector = 0;
223 if((
s!=4 &&
r > 17 ) || ((
s ==9 ||
s ==10) &&
r >15 ) )
continue;
229 else sectorFactor+=1;
233 sectorFactor = sectorFactor/rollInSector;
236 wheelFactor += sectorFactor;
240 wheelFactor = wheelFactor/myMe->
getNbinsX();
243 meName<<eventInfoPath_ +
"/reportSummaryContents/RPC_Wheel"<<
w;
244 globalMe=igetter.
get(meName.str());
245 if(globalMe) globalMe->
Fill(wheelFactor);
247 barrelFactor += wheelFactor;
251 barrelFactor = barrelFactor/5;
254 float endcapFactor = 0;
263 meName<<
globalFolder_<<
"/RPCChamberQuality_Ring_vs_Segment_Disk"<<d;
264 myMe = igetter.
get(meName.str());
267 float diskFactor = 0;
269 float sectorFactor[6]= {0,0,0,0,0,0};
271 for (
int i = 0 ;
i <6;
i++){
272 int firstSeg = (
i *6 )+1;
273 int lastSeg = firstSeg +6;
274 int rollInSector = 0;
275 for(
int seg = firstSeg; seg< lastSeg ; seg++){
281 else sectorFactor[
i]+=1;
285 sectorFactor[
i] = sectorFactor[
i]/rollInSector;
289 for (
int sec = 0 ; sec<6; sec++){
290 diskFactor += sectorFactor[sec];
292 if (d<0) reportMe->
setBinContent(d+5, sec+1 , sectorFactor[sec]);
293 else reportMe->
setBinContent(d+11, sec+1 , sectorFactor[sec]);
297 diskFactor = diskFactor/6;
300 meName<<eventInfoPath_ +
"/reportSummaryContents/RPC_Disk"<<d;
301 globalMe=igetter.
get(meName.str());
302 if(globalMe) globalMe->
Fill(diskFactor);
304 endcapFactor += diskFactor;
314 float rpcFactor = barrelFactor;
317 globalMe = igetter.
get(eventInfoPath_ +
"/reportSummary");
318 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)
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)
bool enableReportSummary_
bool doEndcapCertification_
const eventsetup::EventSetupRecord * find(const eventsetup::EventSetupRecordKey &) const
int getNbinsY(void) const
get # of bins in Y-axis
std::string globalFolder_
void clientOperation(DQMStore::IGetter &igetter)
virtual ~RPCEventSummary()
Destructor.
void setCurrentFolder(const std::string &fullpath)
MonitorElement * book2D(Args &&...args)
void dqmEndJob(DQMStore::IBooker &, DQMStore::IGetter &) override
RPCEventSummary(const edm::ParameterSet &ps)
Constructor.
std::pair< int, int > FEDRange_
void dqmEndLuminosityBlock(DQMStore::IBooker &, DQMStore::IGetter &, edm::LuminosityBlock const &, edm::EventSetup const &)
double getBinContent(int binx) const
get content of bin (1-D)
std::string prefixFolder_
int getNbinsX(void) const
get # of bins in X-axis
MonitorElement * bookFloat(Args &&...args)
void setup(std::vector< TH2F > &depth, std::string name, std::string units="")
static HCTypeTag findType(char const *iTypeName)
find a type based on the types name, if not found will return default HCTypeTag