20 if (nstrips == 0 ) nstrips = 1;
27 nameRoll = RPCname.
name();
42 os<<
"Occupancy_"<<nameRoll;
43 meMap[os.str()] =
dbe->
book1D(os.str(), os.str(), nstrips, 0.5, nstrips+0.5);
47 os<<
"BXDistribution_"<<nameRoll;
48 meMap[os.str()] =
dbe->
book1D(os.str(), os.str(), 7, -3.5, 3.5);
53 os<<
"ClusterSize_"<<nameRoll;
54 meMap[os.str()] =
dbe->
book1D(os.str(), os.str(), 15, 0.5, 15.5);
58 os<<
"Multiplicity_"<<nameRoll;
59 meMap[os.str()] =
dbe->
book1D(os.str(), os.str(), 30, 0.5, 30.5);
64 os<<
"ClusterSize_"<<nameRoll;
65 meMap[os.str()] =
dbe->
book1D(os.str(), os.str(), 10, 0.5, 10.5);
69 os<<
"Multiplicity_"<<nameRoll;
70 meMap[os.str()] =
dbe->
book1D(os.str(), os.str(), 15, 0.5, 15.5);
80 os<<
"NumberOfClusters_"<<nameRoll;
81 meMap[os.str()] =
dbe->
book1D(os.str(), os.str(),10,0.5,10.5);
95 for(
int wheel = -2 ; wheel <= 2; wheel++){
97 os<<
subsystemFolder_<<
"/"<<recHitType<<
"/Barrel/Wheel_"<<wheel<<
"/SummaryBySectors";
100 for (
int sector = 1 ; sector <= 12 ; sector++){
103 os<<
"Occupancy_Wheel_"<<wheel<<
"_Sector_"<<sector;
105 if (sector==9 || sector==11)
106 meMap[os.str()] =
dbe->
book2D(os.str(), os.str(), 90, 0.5, 90.5, 15, 0.5, 15.5);
108 meMap[os.str()] =
dbe->
book2D(os.str(), os.str(), 90, 0.5, 90.5, 21, 0.5, 21.5);
110 meMap[os.str()] =
dbe->
book2D(os.str(), os.str(), 90, 0.5, 90.5, 17, 0.5, 17.5);
124 for (
int region = -1 ; region <= 1; region++){
125 if( region == 0 )
continue;
128 if(region == 1) regionName =
"Endcap+";
132 os<<
subsystemFolder_<<
"/"<<recHitType<<
"/"<<regionName<<
"/Disk_"<<(region * disk)<<
"/SummaryByRings/";
139 os<<
"Occupancy_Disk_"<<(region * disk)<<
"_Ring_"<<
ring<<
"_CH01-CH18";
141 meMap[os.str()] =
dbe->
book2D(os.str(), os.str(), 96, 0.5, 96.5, 18 , 0.5, 18.5);
144 std::stringstream yLabel;
145 for (
int i = 1 ;
i<=18;
i++) {
147 yLabel<<
"R"<<
ring<<
"_CH"<<std::setw(2)<<std::setfill(
'0')<<
i;
148 meMap[os.str()]->setBinLabel(i, yLabel.str(), 2);
152 for(
int i = 1;
i <= 96 ;
i++) {
153 if (
i ==1) meMap[os.str()]->setBinLabel(
i,
"1", 1);
154 else if (
i==16) meMap[os.str()]->setBinLabel(
i,
"RollA", 1);
155 else if (
i==32) meMap[os.str()]->setBinLabel(
i,
"32", 1);
156 else if (
i==33) meMap[os.str()]->setBinLabel(
i,
"1", 1);
157 else if (
i==48) meMap[os.str()]->setBinLabel(
i,
"RollB", 1);
158 else if (
i==64) meMap[os.str()]->setBinLabel(
i,
"32", 1);
159 else if (
i==65) meMap[os.str()]->setBinLabel(
i,
"1", 1);
160 else if (
i==80) meMap[os.str()]->setBinLabel(
i,
"RollC", 1);
161 else if (
i==96) meMap[os.str()]->setBinLabel(
i,
"32", 1);
162 else meMap[os.str()]->setBinLabel(
i,
"", 1);
167 os<<
"Occupancy_Disk_"<<(region * disk)<<
"_Ring_"<<
ring<<
"_CH19-CH36";
169 meMap[os.str()] =
dbe->
book2D(os.str(), os.str(), 96, 0.5, 96.5, 18 , 18.5, 36.5);
172 for (
int i = 1 ;
i<= 18;
i++) {
174 yLabel<<
"R"<<
ring<<
"_CH"<<
i+18;
175 meMap[os.str()]->setBinLabel(i, yLabel.str(), 2);
179 for(
int i = 1;
i <= 96 ;
i++) {
180 if (
i ==1) meMap[os.str()]->setBinLabel(
i,
"1", 1);
181 else if (
i==16) meMap[os.str()]->setBinLabel(
i,
"RollA", 1);
182 else if (
i==32) meMap[os.str()]->setBinLabel(
i,
"32", 1);
183 else if (
i==33) meMap[os.str()]->setBinLabel(
i,
"1", 1);
184 else if (
i==48) meMap[os.str()]->setBinLabel(
i,
"RollB", 1);
185 else if (
i==64) meMap[os.str()]->setBinLabel(
i,
"32", 1);
186 else if (
i==65) meMap[os.str()]->setBinLabel(
i,
"1", 1);
187 else if (
i==80) meMap[os.str()]->setBinLabel(
i,
"RollC", 1);
188 else if (
i==96) meMap[os.str()]->setBinLabel(
i,
"32", 1);
189 else meMap[os.str()]->setBinLabel(
i,
"", 1);
214 for (
int wheel = -2 ; wheel<= 2; wheel++ ) {
222 os<<
"1DOccupancy_Wheel_"<<wheel;
223 meMap[os.str()] =
dbe->
book1D(os.str(), os.str(), 12, 0.5, 12.5);
224 for(
int i=1;
i<12;
i++) {
227 meMap[os.str()] ->setBinLabel(i, label.str(), 1);
231 os<<
"Occupancy_Roll_vs_Sector_Wheel_"<<wheel;
232 meMap[os.str()] =
dbe->
book2D(os.str(), os.str(), 12, 0.5,12.5, 21, 0.5, 21.5);
237 os<<
"BxDistribution_Wheel_"<<wheel;
238 meMap[os.str()] =
dbe->
book1D(os.str(), os.str(), 9, -4.5, 4.5);
241 for(
int layer = 1 ; layer <= 6 ; layer ++){
244 name<<
"ClusterSize_Wheel_"<<wheel<<
"_Layer"<< layer;
245 title<<
"ClusterSize - Wheel "<<wheel<<
" Layer"<<layer;
246 meMap[name.str()] =
dbe->
book1D(name.str(), title.str(), 16, 0.5, 16.5);
256 if(disk == 0)
continue;
260 os<<
"Occupancy_Ring_vs_Segment_Disk_"<<disk;
261 meMap[os.str()] =
dbe->
book2D(os.str(), os.str(), 36, 0.5,36.5, 6, 0.5, 6.5);
267 os<<
"BxDistribution_Disk_"<<disk;
268 meMap[os.str()] =
dbe->
book1D(os.str(), os.str(), 9, -4.5, 4.5);
275 name<<
"ClusterSize_Disk_"<<disk<<
"_Ring"<<
ring;
276 title<<
"ClusterSize - Disk"<<disk<<
" Ring"<<
ring;
277 meMap[name.str()] =
dbe->
book1D(name.str(), title.str(), 16, 0.5, 16.5);
285 os<<
"1DOccupancy_Ring_"<<
ring;
286 meMap[os.str()] =
dbe->
book1D(os.str(), os.str(), 6 , 0.5, 6.5);
287 for(
int xbin= 1 ; xbin<= 6 ; xbin++) {
289 if (xbin < 4) label<<
"Disk "<< (xbin - 4);
290 else label<<
"Disk "<< (xbin - 3);
291 meMap[os.str()] ->
setBinLabel(xbin, label.str(), 1);
308 const RPCRoll * rpcRoll = rpcgeo->roll(
id);
310 if (!rpcRoll)
return 1;
328 std::stringstream
name;
329 std::stringstream
title;
330 for(
int r = 0;
r < 3;
r++){
336 name<<
"ClusterSize_"<< regionName;
337 title<<
"ClusterSize - "<<regionName;
338 me =
dbe->
get(currentFolder+
"/" + name.str());
340 meMap[name.str()] =
dbe->
book1D(name.str(), title.str(), 16, 0.5, 16.5);
349 name<<
"NumberOfClusters_Barrel";
350 title<<
"Number of Clusters per Event - Barrel";
351 me =
dbe->
get(currentFolder+
"/" + name.str());
353 meMap[name.str()] =
dbe->
book1D(name.str(), title.str(), 30, 0.5, 30.5);
357 name<<
"NumberOfClusters_Endcap+";
358 title<<
"Number of Clusters per Event - Endcap+";
359 me =
dbe->
get(currentFolder+
"/" + name.str());
361 meMap[name.str()] =
dbe->
book1D(name.str(), title.str(), 15, 0.5, 15.5);
365 name<<
"NumberOfClusters_Endcap-";
366 title<<
"Number of Clusters per Event - Endcap-";
367 me =
dbe->
get(currentFolder+
"/" + name.str());
369 meMap[name.str()] =
dbe->
book1D(name.str(), title.str(), 15, 0.5, 15.5);
374 name<<
"Multiplicity_Barrel";
375 title<<
"Multiplicity per Event per Roll - Barrel";
376 me =
dbe->
get(currentFolder+
"/" + name.str());
378 meMap[name.str()] =
dbe->
book1D(name.str(), title.str(), 50, 0.5, 50.5);
383 name<<
"Multiplicity_Endcap+";
384 title<<
"Multiplicity per Event per Roll - Endcap+";
385 me =
dbe->
get(currentFolder+
"/" + name.str());
387 meMap[name.str()] =
dbe->
book1D(name.str(), title.str(), 32, 0.5, 32.5);
391 name<<
"Multiplicity_Endcap-";
392 title<<
"Multiplicity per Event per Roll - Endcap-";
393 me =
dbe->
get(currentFolder+
"/" + name.str());
395 meMap[name.str()] =
dbe->
book1D(name.str(), title.str(), 32, 0.5, 32.5);
398 for(
int layer = 1 ; layer <= 6 ; layer ++){
402 name<<
"ClusterSize_Layer"<< layer;
403 title<<
"ClusterSize - Layer"<<layer;
404 me =
dbe->
get(currentFolder+
"/" + name.str());
406 meMap[name.str()] =
dbe->
book1D(name.str(), title.str(), 16, 0.5, 16.5);
413 name<<
"ClusterSize_Ring"<<
ring;
414 title<<
"ClusterSize - Ring"<<
ring;
415 me =
dbe->
get(currentFolder+
"/" + name.str());
417 meMap[name.str()] =
dbe->
book1D(name.str(), title.str(), 16, 0.5, 16.5);
422 me =
dbe->
get(currentFolder+
"/Occupancy_for_Endcap");
424 meMap[
"Occupancy_for_Endcap"] =
dbe -> book2D(
"Occupancy_for_Endcap",
"Occupancy Endcap", 6, 0.5, 6.5, 2, 1.5, 3.5);
425 meMap[
"Occupancy_for_Endcap"] ->setAxisTitle(
"Disk", 1);
426 meMap[
"Occupancy_for_Endcap"] ->setAxisTitle(
"Ring", 2);
428 std::stringstream binlabel;
436 meMap[
"Occupancy_for_Endcap"]->setBinLabel(
bin , binlabel.str(), 1);
439 meMap[
"Occupancy_for_Endcap"]->setBinLabel( 1 ,
"2", 2);
440 meMap[
"Occupancy_for_Endcap"]->setBinLabel( 2 ,
"3", 2);
443 me =
dbe->
get(currentFolder+
"/Occupancy_for_Barrel");
445 meMap[
"Occupancy_for_Barrel"] =
dbe -> book2D(
"Occupancy_for_Barrel",
"Occupancy Barrel", 12, 0.5 , 12.5, 5, -2.5, 2.5 );
446 meMap[
"Occupancy_for_Barrel"] ->setAxisTitle(
"Sec", 1);
447 meMap[
"Occupancy_for_Barrel"] ->setAxisTitle(
"Wheel", 2);
452 meMap[
"Occupancy_for_Barrel"]->setBinLabel( bin , binlabel.str(), 1);
455 binlabel<< (bin - 3);
456 meMap[
"Occupancy_for_Barrel"]->setBinLabel( bin , binlabel.str(), 2);
virtual std::string chambername()
const std::string & getName(void) const
get name of ME
std::string globalFolder_
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
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)
void labelXAxisSegment(MonitorElement *myMe)
void labelYAxisRoll(MonitorElement *myMe, int region, int ring, bool useRollInfo)
void bookRollME(RPCDetId &, const edm::EventSetup &, const std::string &, std::map< std::string, MonitorElement * > &)
Booking of MonitoringElement for one RPCDetId (= roll)
void tag(MonitorElement *me, unsigned int myTag)
static const std::string regionNames_[3]
Data Format.
virtual std::string name()
void labelYAxisRing(MonitorElement *myMe, int numberOfRings, bool useRollInfo)
void removeElement(const std::string &name)
MonitorElement * get(const std::string &path) const
get ME from full pathname (e.g. "my/long/dir/my_histo")
void labelXAxisSector(MonitorElement *myMe)
void bookWheelDiskME(const std::string &, std::map< std::string, MonitorElement * > &)
Booking of MonitoringElemnt at Wheel/Disk level.
std::string folderStructure(RPCDetId detId)
int stripsInRoll(RPCDetId &, const edm::EventSetup &)
void bookSectorRingME(const std::string &, std::map< std::string, MonitorElement * > &)
Booking of MonitoringElement at Sector/Ring level.
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
void bookRegionME(const std::string &, std::map< std::string, MonitorElement * > &)
Booking of MonitoringElemnt at region (Barrel/Endcap) level.
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
std::string subsystemFolder_
void setCurrentFolder(const std::string &fullpath)
int region() const
Region id: 0 for Barrel, +/-1 For +/- Endcap.