CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
RPCMonitorDigi Class Reference

#include <RPCMonitorDigi.h>

Inheritance diagram for RPCMonitorDigi:
edm::EDAnalyzer

Public Member Functions

virtual void analyze (const edm::Event &, const edm::EventSetup &)
 
virtual void beginJob ()
 
void beginRun (const edm::Run &r, const edm::EventSetup &c)
 
std::map< std::string,
MonitorElement * > 
bookDetUnitME (RPCDetId &, const edm::EventSetup &)
 Booking of MonitoringElemnt for one RPCDetId (= roll) More...
 
std::map< std::string,
MonitorElement * > 
bookRegionRing (int region, int ring)
 Booking of MonitoringElemnt at Wheel/Disk level. More...
 
virtual void endJob (void)
 
 RPCMonitorDigi (const edm::ParameterSet &)
 Data Format. More...
 
 ~RPCMonitorDigi ()
 
- Public Member Functions inherited from edm::EDAnalyzer
 EDAnalyzer ()
 
std::string workerType () const
 
virtual ~EDAnalyzer ()
 

Private Member Functions

void makeDcsInfo (const edm::Event &)
 
int stripsInRoll (RPCDetId &, const edm::EventSetup &)
 

Private Attributes

MonitorElementBarrelNumberOfDigis
 
MonitorElementBarrelOccupancy
 
MonitorElementClusterSize_for_Barrel
 
MonitorElementClusterSize_for_BarrelandEndcaps
 
MonitorElementClusterSize_for_EndcapNegative
 
MonitorElementClusterSize_for_EndcapPositive
 
int counter
 
DQMStoredbe
 DQM store. More...
 
bool dcs_
 
std::string digiLabel
 
bool dqmexpert
 
bool dqmshifter
 
bool dqmsuperexpert
 
MonitorElementEndcapNegativeOccupancy
 
MonitorElementEndcapPositiveOccupancy
 
std::string globalFolder_
 
std::string GlobalHistogramsFolder
 
std::map< uint32_t, std::map
< std::string, MonitorElement * > > 
meCollection
 
bool mergeRuns_
 
std::map< std::pair< int, int >
, std::map< std::string,
MonitorElement * > > 
meWheelDisk
 
std::string muonNoise_
 
std::string nameInLog
 
MonitorElementNumberOfClusters_for_Barrel
 
MonitorElementNumberOfClusters_for_EndcapNegative
 
MonitorElementNumberOfClusters_for_EndcapPositive
 
MonitorElementNumberOfDigis_for_Barrel
 
MonitorElementNumberOfDigis_for_EndcapNegative
 
MonitorElementNumberOfDigis_for_EndcapPositive
 
std::string RootFileName
 
std::string RPCDataLabel
 
edm::InputTag RPCDigiLabel_
 
MonitorElementRPCEvents
 
edm::ESHandle< RPCGeometryrpcGeo
 
edm::InputTag RPCRecHitLabel_
 
MonitorElementSameBxDigisMeBarrel_
 
MonitorElementSameBxDigisMeEndcapNegative_
 
MonitorElementSameBxDigisMeEndcapPositive_
 
bool saveRootFile
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
typedef WorkerT< EDAnalyzerWorkerType
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::EDAnalyzer
CurrentProcessingContext const * currentContext () const
 

Detailed Description

Definition at line 23 of file RPCMonitorDigi.h.

Constructor & Destructor Documentation

RPCMonitorDigi::RPCMonitorDigi ( const edm::ParameterSet pset)
explicit

Data Format.

Geometry Log messages

Definition at line 24 of file RPCMonitorDigi.cc.

References dqmexpert, dqmshifter, dqmsuperexpert, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), globalFolder_, mergeRuns_, muonNoise_, nameInLog, RootFileName, RPCDigiLabel_, RPCRecHitLabel_, and saveRootFile.

24  :counter(0){
25 
26  nameInLog = pset.getUntrackedParameter<std::string>("moduleLogName", "rpcmonitordigi");
27 
28  saveRootFile = pset.getUntrackedParameter<bool>("DigiDQMSaveRootFile", false);
29  mergeRuns_ = pset.getUntrackedParameter<bool>("MergeDifferentRuns", false);
30  // saveRootFileEventsInterval = pset.getUntrackedParameter<int>("DigiEventsInterval", 10000);
31  RootFileName = pset.getUntrackedParameter<std::string>("RootFileNameDigi", "RPCMonitor.root");
32 
33  globalFolder_ = pset.getUntrackedParameter<std::string>("RPCGlobalFolder", "RPC/RecHits/SummaryHistograms");
34  muonNoise_ = pset.getUntrackedParameter<std::string>("DataType", "Noise");
35 
36  dqmshifter = pset.getUntrackedParameter<bool>("dqmshifter", false);
37  dqmexpert = pset.getUntrackedParameter<bool>("dqmexpert", false);
38  dqmsuperexpert = pset.getUntrackedParameter<bool>("dqmsuperexpert", false);
39 
40  RPCRecHitLabel_ = pset.getParameter<edm::InputTag>("RecHitLabel");
41  RPCDigiLabel_ =pset.getParameter<edm::InputTag>("DigiLabel");
42 }
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
std::string globalFolder_
std::string RootFileName
edm::InputTag RPCRecHitLabel_
edm::InputTag RPCDigiLabel_
std::string muonNoise_
std::string nameInLog
RPCMonitorDigi::~RPCMonitorDigi ( )

Definition at line 44 of file RPCMonitorDigi.cc.

44 {}

Member Function Documentation

void RPCMonitorDigi::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
virtual

Digis

end loop on RPCRecHits for given roll

end loop on RPC Digi Collection

must be fixed!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Implements edm::EDAnalyzer.

Definition at line 152 of file RPCMonitorDigi.cc.

References BarrelOccupancy, ClusterSize_for_Barrel, ClusterSize_for_BarrelandEndcaps, ClusterSize_for_EndcapNegative, ClusterSize_for_EndcapPositive, counter, dcs_, rpcdqm::utils::detId2RollNr(), dqmexpert, dqmsuperexpert, EndcapNegativeOccupancy, EndcapPositiveOccupancy, error, MonitorElement::Fill(), spr::find(), edm::Event::getByLabel(), ExpressReco_HICollisions_FallBack::id, getHLTprescales::index, makeDcsInfo(), meCollection, meWheelDisk, VarParsing::mult, RPCGeomServ::name(), nameInLog, NumberOfClusters_for_Barrel, NumberOfClusters_for_EndcapNegative, NumberOfClusters_for_EndcapPositive, NumberOfDigis_for_Barrel, NumberOfDigis_for_EndcapNegative, NumberOfDigis_for_EndcapPositive, point, RPCDetId::region(), relativeConstraints::ring, RPCDetId::ring(), RPCDetId::roll(), RPCDigiLabel_, RPCEvents, rpcGeo, RPCRecHitLabel_, SameBxDigisMeBarrel_, RPCDetId::sector(), RPCGeomServ::segment(), RPCDetId::station(), strip(), GeomDet::surface(), Surface::toGlobal(), and ExpressReco_HICollisions_FallBack::x.

152  {
153 
154  this->makeDcsInfo(iEvent);
155  if( !dcs_) return;//if RPC not ON there's no need to continue
156 
157  counter++;
158 
159  edm::LogInfo (nameInLog) <<"[RPCMonitorDigi]: Beginning analyzing event " << counter;
160 
163  iEvent.getByLabel(RPCDigiLabel_, rpcdigis);
164 
165  //RecHits
167  iEvent.getByLabel(RPCRecHitLabel_,rpcHits);
168 
169  std::map<int,int> bxMap;
170 
171  if(rpcdigis->begin()!=rpcdigis->end()) RPCEvents -> Fill(1);
172 
173  //Loop on digi collection
174  for( RPCDigiCollection::DigiRangeIterator collectionItr=rpcdigis->begin(); collectionItr!=rpcdigis->end(); ++collectionItr){
175 
176  RPCDetId detId=(*collectionItr).first;
177  uint32_t id=detId();
178 
179  const GeomDet* gdet=rpcGeo->idToDet(detId);
180  const BoundPlane & surface = gdet->surface();
181 
182  //get roll name
183  RPCGeomServ RPCname(detId);
184  std::string nameRoll = RPCname.name();
185  //string YLabel = RPCname.shortname(); // to be removed later!!!
186  std::stringstream os;
187 
188  //get roll number
189  rpcdqm::utils prova;
190  int nr = prova.detId2RollNr(detId);
191 
192  //get MEs corresponding to present detId
193  std::map<std::string, MonitorElement*> meMap=meCollection[id];
194  if(meMap.size()==0) continue;
195 
196  int region=detId.region();
197  int ring;
198  std::string ringType;
199  if(region == 0) {
200  ringType = "Wheel";
201  ring = detId.ring();
202  }else{
203  ringType = "Disk";
204  ring = region*detId.station();
205  }
206 
207  //get wheel/disk MEs
208  std::pair<int,int> regionRing(region,ring);
209  std::map<std::string, MonitorElement*> meRingMap=meWheelDisk[regionRing];
210  if(meRingMap.size()==0) continue;
211 
212  std::vector<std::pair <int,int> > duplicatedDigi;
213  std::vector<int> bxs;
214 
215  //get the RecHits associated to the roll
216  typedef std::pair<RPCRecHitCollection::const_iterator, RPCRecHitCollection::const_iterator> rangeRecHits;
217  rangeRecHits recHitCollection = rpcHits->get(detId);
218 
219  int numberOfDigi= 0;
220 
222  //loop on digis of given roll
223  for (digiItr =(*collectionItr ).second.first;digiItr != (*collectionItr ).second.second; ++digiItr){
224  int strip= (*digiItr).strip();
225  int bx=(*digiItr).bx();
226 
227  //remove duplicated digis
228  std::vector<std::pair <int,int> >::const_iterator itrDuplDigi = find(duplicatedDigi.begin(),duplicatedDigi.end(),std::make_pair(strip, bx));
229  if(itrDuplDigi!=duplicatedDigi.end() && duplicatedDigi.size()!=0) continue;
230 
231  duplicatedDigi.push_back(std::make_pair(strip, bx));
232  ++numberOfDigi;
233 
234  //bunch crossing
235  std::vector<int>::const_iterator existingBX = find(bxs.begin(),bxs.end(),bx);
236  if(existingBX==bxs.end())bxs.push_back(bx);
237 
238  //adding new histo C.Carrillo & A. Cimmino
239  std::map<int,int>::const_iterator bxItr = bxMap.find((*digiItr).bx());
240  if (bxItr == bxMap.end()|| bxMap.size()==0 )bxMap[(*digiItr).bx()]=1;
241  else bxMap[(*digiItr).bx()]++;
242 
243  //sector based histograms for dqm shifter
244  os.str("");
245  os<<"1DOccupancy_"<<ringType<<"_"<<ring;
246  std::string meId = os.str();
247  if( meRingMap[meId]){
248  meRingMap[meId]->Fill(detId.sector());
249  // label
250  }
251 
252  os.str("");
253  os<<"BxDistribution_"<<ringType<<"_"<<ring<<"_Sector_"<<detId.sector();
254  if(meMap[os.str()])
255  meMap[os.str()]->Fill(bx);
256 
257  os.str("");
258  os<<"BxDistribution_"<<ringType<<"_"<<ring;
259  if(meRingMap[os.str()])
260  meRingMap[os.str()]->Fill(bx);
261 
262  if(detId.region()==0)
263  BarrelOccupancy -> Fill(detId.sector(), ring);
264  else if(detId.region()==1)
265  EndcapPositiveOccupancy -> Fill(detId.sector(), ring);
266  else if(detId.region()==-1)
267  EndcapNegativeOccupancy -> Fill(detId.sector(),( -1 * ring) );//for RE- ring is negative
268 
269  os.str("");
270  os<<"Occupancy_"<<ringType<<"_"<<ring<<"_Sector_"<<detId.sector();
271  if(meMap[os.str()]){
272  if(detId.region() ==0) meMap[os.str()]->Fill(strip, nr);
273  else meMap[os.str()]->Fill(strip + 32*(detId.roll()-1), RPCname.segment()+ ((detId.ring() -2)*6));
274  }
275 
276  os.str("");
277  os<<"Occupancy_"<<nameRoll;
278  if(meMap[os.str()]) meMap[os.str()]->Fill(strip);
279 
280  os.str("");
281  os<<"Occupancy_Roll_vs_Sector_"<<ringType<<"_"<<ring;
282  if (meRingMap[os.str()]) {
283  meRingMap[os.str()]->Fill(detId.sector(), nr, 1);
284  }
285 
286  os.str("");
287  os<<"Occupancy_Ring_vs_Segment_"<<ringType<<"_"<<ring;
288  if (meRingMap[os.str()]) {
289  meRingMap[os.str()]->Fill( RPCname.segment(), (detId.ring()-1)*3-detId.roll()+1, 1);
290  }
291 
292  if(dqmexpert){
293  os.str("");
294  os<<"BXN_"<<nameRoll;
295  if(meMap[os.str()]) meMap[os.str()]->Fill(bx);
296  }
297 
298  if (dqmsuperexpert) {
299  os.str("");
300  os<<"BXN_vs_strip_"<<nameRoll;
301  if(meMap[os.str()]) meMap[os.str()]->Fill(strip,bx);
302  }
303  } //end loop of digis of given roll
304 
305  if (dqmexpert){
306  os.str("");
307  os<<"BXWithData_"<<nameRoll;
308  if(meMap[os.str()]) meMap[os.str()]->Fill(bxs.size());
309  }
310 
311  os.str("");
312  os<<"BXWithData_"<<ringType<<"_"<<ring<<"_Sector_"<<detId.sector();
313  if(meMap[os.str()])
314  meMap[os.str()]->Fill(bxs.size());
315 
316  if(numberOfDigi>50) numberOfDigi=50; //overflow
317 
318  os.str("");
319  os<<"Multiplicity_"<<nameRoll;
320  if(meMap[os.str()]) meMap[os.str()]->Fill(numberOfDigi);
321 
322  if(detId.region()==0) NumberOfDigis_for_Barrel -> Fill(numberOfDigi);
323  else if(detId.region()==1) NumberOfDigis_for_EndcapPositive -> Fill(numberOfDigi);
324  else if(detId.region()==-1) NumberOfDigis_for_EndcapNegative -> Fill(numberOfDigi);
325 
326  // Fill RecHit MEs
327  if(recHitCollection.first!=recHitCollection.second ){
328 
330  int numberOfHits=0;
331  int numbOfClusters=0;
332  //loop RPCRecHits for given roll
333  for (it = recHitCollection.first; it != recHitCollection.second ; it++) {
334  numbOfClusters++;
335  RPCDetId detIdRecHits=it->rpcId();
336  LocalError error=it->localPositionError();//plot of errors/roll => should be gaussian
337  LocalPoint point=it->localPosition(); //plot of coordinates/roll =>should be flat
338  GlobalPoint globalHitPoint=surface.toGlobal(point);
339 
340  int mult=it->clusterSize(); //cluster size plot => should be within 1-3
341  int firstStrip=it->firstClusterStrip(); //plot first Strip => should be flat
342 
343  ClusterSize_for_BarrelandEndcaps -> Fill(mult);
344 
345  if(detId.region() == 0) {
346  ClusterSize_for_Barrel -> Fill(mult);
347  } else if (detId.region() == -1) {
348  if(mult<=10) ClusterSize_for_EndcapNegative -> Fill(mult);
349  else ClusterSize_for_EndcapNegative -> Fill(11);
350  } else if (detId.region() == 1) {
351  if(mult<=10) ClusterSize_for_EndcapPositive -> Fill(mult);
352  else ClusterSize_for_EndcapPositive -> Fill(11);
353  }
354 
355  //Cluster Size by Wheels and sector
356  os.str("");
357  os<<"ClusterSize_"<<ringType<<"_"<<ring;
358  if(meRingMap[os.str()])
359  meRingMap[os.str()] -> Fill(mult);
360 
361  if (dqmsuperexpert) {
362  int centralStrip=firstStrip;
363  if(mult%2) {
364  centralStrip+= mult/2;
365  }else{
366  float x = gRandom->Uniform(2);
367  centralStrip+=(x<1)? (mult/2)-1 : (mult/2);
368  }
369 
370  os.str("");
371  os<<"ClusterSize_vs_Strip_"<<nameRoll;
372  if(meMap[os.str()])
373  for(int index=0; index<mult; ++index)
374  meMap[os.str()]->Fill(firstStrip+index,mult);
375  }
376 
377  if(dqmexpert) {
378  os.str("");
379  os<<"ClusterSize_"<<nameRoll;
380  if(meMap[os.str()])
381  meMap[os.str()]->Fill(mult);
382  }
383  numberOfHits++;
384  }
385 
386  if(dqmexpert) {
387  if(numberOfHits>20) numberOfHits=20;
388  os.str("");
389  os<<"NumberOfClusters_"<<nameRoll;
390  if(meMap[os.str()])
391  meMap[os.str()]->Fill(numbOfClusters);
392 
393 
394  os.str("");
395  os<<"RecHitCounter_"<<nameRoll;
396  if(meMap[os.str()])
397  meMap[os.str()]->Fill(numberOfHits);
398  }
399 
400  if(detId.region()==0)
401  NumberOfClusters_for_Barrel -> Fill(numbOfClusters);
402  else if (detId.region()==1)
403  NumberOfClusters_for_EndcapPositive -> Fill(numbOfClusters);
404  else if(detId.region()==-1)
405  NumberOfClusters_for_EndcapNegative -> Fill(numbOfClusters);
406 
407  }
408  }
409 
410  //adding new histo C.Carrillo & A. Cimmino
411  for (std::map<int, int>::const_iterator myItr= bxMap.begin();
412  myItr!=bxMap.end(); myItr++){
413  SameBxDigisMeBarrel_ ->Fill((*myItr).second);
414  }
415 }
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
Definition: Surface.h:78
MonitorElement * NumberOfClusters_for_Barrel
void strip(std::string &input, const std::string &blanks=" \n\t")
Definition: stringTools.cc:16
MonitorElement * NumberOfDigis_for_EndcapNegative
edm::InputTag RPCRecHitLabel_
MonitorElement * ClusterSize_for_EndcapNegative
MonitorElement * ClusterSize_for_BarrelandEndcaps
std::map< uint32_t, std::map< std::string, MonitorElement * > > meCollection
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:7
void makeDcsInfo(const edm::Event &)
MonitorElement * EndcapNegativeOccupancy
void Fill(long long x)
MonitorElement * RPCEvents
MonitorElement * NumberOfDigis_for_Barrel
C::const_iterator const_iterator
constant access iterator type
Definition: RangeMap.h:45
edm::InputTag RPCDigiLabel_
int roll() const
Definition: RPCDetId.h:122
int ring() const
Definition: RPCDetId.h:74
MonitorElement * ClusterSize_for_EndcapPositive
MonitorElement * ClusterSize_for_Barrel
MonitorElement * NumberOfClusters_for_EndcapNegative
std::map< std::pair< int, int >, std::map< std::string, MonitorElement * > > meWheelDisk
edm::ESHandle< RPCGeometry > rpcGeo
MonitorElement * NumberOfDigis_for_EndcapPositive
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:359
MonitorElement * SameBxDigisMeBarrel_
MonitorElement * NumberOfClusters_for_EndcapPositive
MonitorElement * EndcapPositiveOccupancy
int detId2RollNr(const RPCDetId &_id)
Definition: utils.h:18
std::vector< DigiType >::const_iterator const_iterator
int sector() const
Sector id: the group of chambers at same phi (and increasing r)
Definition: RPCDetId.h:104
MonitorElement * BarrelOccupancy
std::string nameInLog
virtual const BoundPlane & surface() const
The nominal surface of the GeomDet.
Definition: GeomDet.h:37
*vegas h *****************************************************used in the default bin number in original ***version of VEGAS is ***a higher bin number might help to derive a more precise ***grade subtle point
Definition: invegas.h:5
int region() const
Region id: 0 for Barrel, +/-1 For +/- Endcap.
Definition: RPCDetId.h:65
int station() const
Definition: RPCDetId.h:98
void RPCMonitorDigi::beginJob ( void  )
virtual

get hold of back-end interface

Reimplemented from edm::EDAnalyzer.

Definition at line 47 of file RPCMonitorDigi.cc.

References BarrelOccupancy, DQMStore::book1D(), ClusterSize_for_Barrel, ClusterSize_for_BarrelandEndcaps, ClusterSize_for_EndcapNegative, ClusterSize_for_EndcapPositive, dbe, dcs_, EndcapNegativeOccupancy, EndcapPositiveOccupancy, globalFolder_, i, nameInLog, NumberOfClusters_for_Barrel, NumberOfClusters_for_EndcapNegative, NumberOfClusters_for_EndcapPositive, NumberOfDigis_for_Barrel, NumberOfDigis_for_EndcapNegative, NumberOfDigis_for_EndcapPositive, cmsCodeRules.cppFunctionSkipper::operator, RPCEvents, SameBxDigisMeBarrel_, SameBxDigisMeEndcapNegative_, SameBxDigisMeEndcapPositive_, and DQMStore::setCurrentFolder().

47  {
48  edm::LogInfo (nameInLog) <<"[RPCMonitorDigi]: Begin job" ;
49 
52 
54 
55  ClusterSize_for_Barrel = dbe->book1D("ClusterSize_for_Barrel", "ClusterSize for Barrel", 20, 0.5, 20.5);
56  ClusterSize_for_EndcapPositive = dbe->book1D("ClusterSize_for_EndcapPositive", "ClusterSize for PositiveEndcap", 20, 0.5, 20.5);
57  ClusterSize_for_EndcapNegative = dbe->book1D("ClusterSize_for_EndcapNegative", "ClusterSize for NegativeEndcap", 20, 0.5, 20.5);
58 
59  ClusterSize_for_BarrelandEndcaps = dbe->book1D("ClusterSize_for_BarrelandEndcap", "ClusterSize for Barrel&Endcaps", 20, 0.5, 20.5);
60 
61  NumberOfClusters_for_Barrel = dbe -> book1D("NumberOfClusters_for_Barrel", "NumberOfClusters for Barrel", 20, 0.5, 20.5);
62  NumberOfClusters_for_EndcapPositive = dbe -> book1D("NumberOfClusters_for_EndcapPositive", "NumberOfClusters for Endcap Positive", 20, 0.5, 20.5);
63  NumberOfClusters_for_EndcapNegative = dbe -> book1D("NumberOfClusters_for_EndcapNegative", "NumberOfClusters for Endcap Negative", 20, 0.5, 20.5);
64 
65  NumberOfDigis_for_Barrel = dbe -> book1D("NumberOfDigi_for_Barrel", "Number Of Digis in Barrel", 50, 0.5, 50.5);
66  NumberOfDigis_for_EndcapPositive = dbe -> book1D("NumberOfDigi_for_EndcapPositive", "Number Of Digis in EndCapPositive", 50, 0.5, 50.5);
67  NumberOfDigis_for_EndcapNegative= dbe -> book1D("NumberOfDigi_for_EndcapNegative", "Number Of Digis in EndCapNegative", 50, 0.5, 50.5);
68 
69  SameBxDigisMeBarrel_ = dbe->book1D("SameBXDigis_Barrel", "Digis with same bx", 20, 0.5, 20.5);
70  SameBxDigisMeEndcapPositive_ = dbe->book1D("SameBXDigis_EndcapPositive", "Digis with same bx", 20, 0.5, 20.5);
71  SameBxDigisMeEndcapNegative_ = dbe->book1D("SameBXDigis_EndcapNegative", "Digis with same bx", 20, 0.5, 20.5);
72 
73  BarrelOccupancy = dbe -> book2D("Occupancy_for_Barrel", "Barrel Occupancy Wheel vs Sector", 12, 0.5, 12.5, 5, -2.5, 2.5);
74  EndcapPositiveOccupancy = dbe -> book2D("Occupancy_for_EndcapPositive", "Endcap Positive Occupancy Disk vs Sector", 6, 0.5, 6.5, 4, 0.5, 4.5);
75  EndcapNegativeOccupancy = dbe -> book2D("Occupancy_for_EndcapNegative", "Endcap Negative Occupancy Disk vs Sector", 6, 0.5, 6.5, 4, 0.5, 4.5);
76 
78  RPCEvents = dbe -> book1D("RPCEvents", "RPC Events Barrel+EndCap", 1, 0.5, 1.5);
79 
80  std::stringstream binLabel;
81  for (int i = 1; i<13; i++){
82  binLabel.str("");
83  binLabel<<"Sec"<<i;
84  BarrelOccupancy -> setBinLabel(i, binLabel.str(), 1);
85  if(i<6){
86  binLabel.str("");
87  binLabel<<"Wheel"<<i-3;
88  BarrelOccupancy -> setBinLabel(i, binLabel.str(), 2);
89  }
90  if(i<7) {
91  binLabel.str("");
92  binLabel<<"Sec"<<i;
93  EndcapPositiveOccupancy -> setBinLabel(i, binLabel.str(), 1);
94  EndcapNegativeOccupancy -> setBinLabel(i, binLabel.str(), 1);
95  }
96  if(i<5){
97  binLabel.str("");
98  binLabel<<"Disk+"<<i ; ;
99  EndcapPositiveOccupancy -> setBinLabel(i, binLabel.str(), 2);
100  binLabel.str("");
101  binLabel<<"Disk-"<<i ;
102  EndcapNegativeOccupancy -> setBinLabel(i, binLabel.str(), 2);
103  }
104  }
105  dcs_ = true;
106 
107 }
MonitorElement * NumberOfClusters_for_Barrel
int i
Definition: DBlmapReader.cc:9
std::string globalFolder_
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:519
MonitorElement * NumberOfDigis_for_EndcapNegative
MonitorElement * ClusterSize_for_EndcapNegative
MonitorElement * SameBxDigisMeEndcapPositive_
MonitorElement * ClusterSize_for_BarrelandEndcaps
DQMStore * dbe
DQM store.
MonitorElement * EndcapNegativeOccupancy
MonitorElement * RPCEvents
MonitorElement * NumberOfDigis_for_Barrel
MonitorElement * ClusterSize_for_EndcapPositive
MonitorElement * ClusterSize_for_Barrel
MonitorElement * NumberOfClusters_for_EndcapNegative
MonitorElement * NumberOfDigis_for_EndcapPositive
MonitorElement * SameBxDigisMeBarrel_
MonitorElement * SameBxDigisMeEndcapNegative_
MonitorElement * NumberOfClusters_for_EndcapPositive
MonitorElement * EndcapPositiveOccupancy
MonitorElement * BarrelOccupancy
std::string nameInLog
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:237
void RPCMonitorDigi::beginRun ( const edm::Run r,
const edm::EventSetup c 
)
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 109 of file RPCMonitorDigi.cc.

References bookDetUnitME(), bookRegionRing(), edm::EventSetup::get(), meCollection, meWheelDisk, RPCGeomServ::name(), nameInLog, csvReporter::r, RPCDetId::region(), relativeConstraints::ring, RPCDetId::ring(), RPCChamber::rolls(), rpcGeo, and RPCDetId::station().

109  {
110 
111  edm::LogInfo (nameInLog) <<"Begin Run " ;
112 
113  iSetup.get<MuonGeometryRecord>().get(rpcGeo);
114 
115  //loop on geometry to book all MEs
116  for (TrackingGeometry::DetContainer::const_iterator it=rpcGeo->dets().begin();it<rpcGeo->dets().end();it++){
117  if(dynamic_cast< RPCChamber* >( *it ) != 0 ){
118  RPCChamber* ch = dynamic_cast< RPCChamber* >( *it );
119  std::vector< const RPCRoll*> roles = (ch->rolls());
120  for(std::vector<const RPCRoll*>::const_iterator r = roles.begin();r != roles.end(); ++r){
121  RPCDetId rpcId = (*r)->id();
122  int region=rpcId.region();
123 
124  //booking all histograms
125  RPCGeomServ rpcsrv(rpcId);
126  std::string nameRoll = rpcsrv.name();
127  //std::cout<<"Booking for "<<nameRoll<<std::endl;
128  meCollection[(uint32_t)rpcId]=bookDetUnitME(rpcId,iSetup );
129 
130  int ring;
131  if(rpcId.region() == 0)
132  ring = rpcId.ring();
133  else
134  ring = rpcId.region()*rpcId.station();
135 
136  //book wheel/disk histos
137  std::pair<int,int> regionRing(region,ring);
138  std::map<std::pair<int,int>, std::map<std::string,MonitorElement*> >::iterator meRingItr = meWheelDisk.find(regionRing);
139  if (meRingItr == meWheelDisk.end() || (meWheelDisk.size()==0)) meWheelDisk[regionRing]=bookRegionRing(region,ring);
140  }
141  }
142  }//end loop on geometry to book all MEs
143 }
std::map< std::string, MonitorElement * > bookRegionRing(int region, int ring)
Booking of MonitoringElemnt at Wheel/Disk level.
std::map< uint32_t, std::map< std::string, MonitorElement * > > meCollection
int ring() const
Definition: RPCDetId.h:74
const std::vector< const RPCRoll * > & rolls() const
Return the Rolls.
Definition: RPCChamber.cc:70
std::map< std::pair< int, int >, std::map< std::string, MonitorElement * > > meWheelDisk
std::map< std::string, MonitorElement * > bookDetUnitME(RPCDetId &, const edm::EventSetup &)
Booking of MonitoringElemnt for one RPCDetId (= roll)
edm::ESHandle< RPCGeometry > rpcGeo
std::string nameInLog
int region() const
Region id: 0 for Barrel, +/-1 For +/- Endcap.
Definition: RPCDetId.h:65
int station() const
Definition: RPCDetId.h:98
std::map< std::string, MonitorElement * > RPCMonitorDigi::bookDetUnitME ( RPCDetId detId,
const edm::EventSetup iSetup 
)

Booking of MonitoringElemnt for one RPCDetId (= roll)

Name components common to current RPCDetId

RPCRecHits

Definition at line 9 of file RPCBookDetUnitME.cc.

References DQMStore::book1D(), DQMStore::book2D(), rpcdqm::CLUSTERSIZE, dbe, dqmexpert, dqmsuperexpert, RPCBookFolderStructure::folderStructure(), DQMStore::get(), i, rpcdqm::utils::labelYAxisRoll(), rpcdqm::MULTIPLICITY, RPCGeomServ::name(), rpcdqm::OCCUPANCY, evf::evtn::offset(), csvReporter::r, RPCDetId::region(), relativeConstraints::ring, RPCDetId::ring(), RPCDetId::sector(), MonitorElement::setAxisTitle(), DQMStore::setCurrentFolder(), RPCDetId::station(), stripsInRoll(), and DQMStore::tag().

Referenced by beginRun().

9  {
10  std::map<std::string, MonitorElement*> meMap;
11 
12  std::string ringType;
13  int ring;
14  if(detId.region() == 0) {
15  ringType = "Wheel";
16  ring = detId.ring();
17  }else if (detId.region() == -1){
18  ringType = "Disk";
19  ring = detId.region()*detId.station();
20  }else {
21  ringType = "Disk";
22  ring = detId.station();
23  }
24 
26  std::string folder = "RPC/RecHits/" + folderStr->folderStructure(detId);
27 
28  dbe->setCurrentFolder(folder);
29 
30  //get number of strips in current roll
31  int nstrips = this->stripsInRoll(detId, iSetup);
32  if (nstrips == 0 ) nstrips = 1;
33 
35  RPCGeomServ RPCname(detId);
36  std::string nameRoll = RPCname.name();
37 
38 
39 
40 
41  std::stringstream os;
42  os.str("");
43  os<<"Occupancy_"<<nameRoll;
44  meMap[os.str()] = dbe->book1D(os.str(), os.str(), nstrips, 0.5, nstrips+0.5);
45  dbe->tag( meMap[os.str()], rpcdqm::OCCUPANCY);
46 
47  //cout<<meMap[os.str()]->flags()<<endl;
48 
49 
50  if (dqmexpert) {
51  os.str("");
52  os<<"BXN_"<<nameRoll;
53  meMap[os.str()] = dbe->book1D(os.str(), os.str(), 21, -10.5, 10.5);
54 
55  os.str("");
56  os<<"ClusterSize_"<<nameRoll;
57  meMap[os.str()] = dbe->book1D(os.str(), os.str(), 20, 0.5, 20.5);
58  dbe->tag( meMap[os.str()], rpcdqm::CLUSTERSIZE);
59  //os.str("");
60 // os<<"NumberOfClusters_"<<nameRoll;
61 // meMap[os.str()] = dbe->book1D(os.str(), os.str(), 10, 0.5, 10.5);
62 
63  os.str("");
64  os<<"Multiplicity_"<<nameRoll;
65  meMap[os.str()] = dbe->book1D(os.str(), os.str(), 50, 0.5, 50.5);
66  dbe->tag( meMap[os.str()], rpcdqm::MULTIPLICITY);
67 
68  os.str("");
69  os<<"BXWithData_"<<nameRoll;
70  meMap[os.str()] = dbe->book1D(os.str(), os.str(), 10, 0.5, 10.5);
71 
73 
74  os.str("");
75  os<<"NumberOfClusters_"<<nameRoll;
76  meMap[os.str()] = dbe->book1D(os.str(), os.str(),20,0.5,20.5);
77  }
78 
79  if (dqmsuperexpert) {
80  os.str("");
81  os<<"BXN_vs_strip_"<<nameRoll;
82  meMap[os.str()] = dbe->book2D(os.str(), os.str(), nstrips , 0.5, nstrips+0.5 , 21, -10.5, 10.5);
83 
84  os.str("");
85  os<<"ClusterSize_vs_Strip_"<<nameRoll;
86  meMap[os.str()] = dbe->book2D(os.str(), os.str(),nstrips, 0.5, nstrips+0.5,11, 0.5, 11.5);
87 
88  }
89 
90  MonitorElement * myMe;
91 
92  os.str("");
93  if(detId.region()==0)
94  os<<"RPC/RecHits/Barrel/Wheel_"<<ring<<"/SummaryBySectors/";
95  else if (detId.region()==1)
96  os<<"RPC/RecHits/Endcap+/Disk_"<<ring<<"/SummaryBySectors/";
97  else
98  os<<"RPC/RecHits/Endcap-/Disk_"<<ring<<"/SummaryBySectors/";
99  std::string WheelSummary = os.str();
100  dbe->setCurrentFolder(WheelSummary);
101 
102  os.str("");
103  os<<"Occupancy_"<<ringType<<"_"<<ring<<"_Sector_"<<detId.sector();
104  myMe = dbe->get(WheelSummary+"/"+os.str());
105 
106  rpcdqm::utils rpcUtils;
107  //check if ME for this sector have already been booked
108  if(myMe) meMap[os.str()]=myMe;
109  else {
110  if(detId.region()==0) {
111  if (detId.sector()==9 || detId.sector()==11)
112  meMap[os.str()] = dbe->book2D(os.str(), os.str(), 96, 0.5,96.5, 15, 0.5, 15.5);
113  else if (detId.sector()==4)
114  meMap[os.str()] = dbe->book2D(os.str(), os.str(), 96, 0.5, 96.5, 21, 0.5, 21.5);
115  else
116  meMap[os.str()] = dbe->book2D(os.str(), os.str(), 96, 0.5, 96.5, 17, 0.5, 17.5);
117 
118  meMap[os.str()]->setAxisTitle("strip", 1);
119  rpcUtils.labelYAxisRoll( meMap[os.str()], 0, ring);
120 
121  }else{//Endcap
122  float fBin = ((detId.sector()-1)*6)+ 0.5;
123  float lBin = fBin+12;
124  meMap[os.str()] = dbe->book2D(os.str(), os.str(), 96, 0.5, 96.5, 12,fBin, lBin);
125  meMap[os.str()]->setAxisTitle("strip", 1);
126  std::stringstream yLabel;
127  for(int r = 2; r<= 3; r ++) {
128  int offset = 0;
129  if (r ==3) offset =6;
130  for (int i = 1 ; i<=6; i++) {
131  yLabel.str("");
132  yLabel<<"R"<<r<<"_C"<<(((detId.sector()-1)*6) +i);
133  meMap[os.str()]->setBinLabel(i+offset, yLabel.str(), 2);
134 
135  }
136  }
137  for(int i = 1; i <= 96 ; i++) {
138  if (i ==1) meMap[os.str()]->setBinLabel(i, "1", 1);
139  else if (i==16) meMap[os.str()]->setBinLabel(i, "RollA", 1);
140  else if (i==32) meMap[os.str()]->setBinLabel(i, "32", 1);
141  else if (i==33) meMap[os.str()]->setBinLabel(i, "1", 1);
142  else if (i==48) meMap[os.str()]->setBinLabel(i, "RollB", 1);
143  else if (i==64) meMap[os.str()]->setBinLabel(i, "32", 1);
144  else if (i==65) meMap[os.str()]->setBinLabel(i, "1", 1);
145  else if (i==80) meMap[os.str()]->setBinLabel(i, "RollC", 1);
146  else if (i==96) meMap[os.str()]->setBinLabel(i, "32", 1);
147  else meMap[os.str()]->setBinLabel(i, "", 1);
148  }
149  }
150  }
151 
152  os.str("");
153  os<<"BxDistribution_"<<ringType<<"_"<<ring<<"_Sector_"<<detId.sector();
154  myMe = dbe->get(WheelSummary+"/"+os.str());
155  if(myMe) meMap[os.str()]=myMe;
156  else meMap[os.str()] = dbe->book1D(os.str(), os.str(), 11, -5.5, 5.5);
157 
158  os.str("");
159  os<<"BXWithData_"<<ringType<<"_"<<ring<<"_Sector_"<<detId.sector();
160  myMe = dbe->get(WheelSummary+"/"+os.str());
161  if(myMe) meMap[os.str()]=myMe;
162  else meMap[os.str()] = dbe->book1D(os.str(), os.str(), 10, 0.5, 10.5);
163 
164  return meMap;
165 }
int i
Definition: DBlmapReader.cc:9
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:519
DQMStore * dbe
DQM store.
void tag(MonitorElement *me, unsigned int myTag)
Definition: DQMStore.cc:1156
int ring() const
Definition: RPCDetId.h:74
unsigned int offset(bool)
MonitorElement * get(const std::string &path) const
get ME from full pathname (e.g. &quot;my/long/dir/my_histo&quot;)
Definition: DQMStore.cc:1270
std::string folderStructure(RPCDetId detId)
int stripsInRoll(RPCDetId &, const edm::EventSetup &)
int sector() const
Sector id: the group of chambers at same phi (and increasing r)
Definition: RPCDetId.h:104
void labelYAxisRoll(MonitorElement *myMe, int region, int ring)
Definition: utils.h:239
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
Definition: DQMStore.cc:647
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:237
int region() const
Region id: 0 for Barrel, +/-1 For +/- Endcap.
Definition: RPCDetId.h:65
int station() const
Definition: RPCDetId.h:98
std::map< std::string, MonitorElement * > RPCMonitorDigi::bookRegionRing ( int  region,
int  ring 
)

Booking of MonitoringElemnt at Wheel/Disk level.

Definition at line 169 of file RPCBookDetUnitME.cc.

References DQMStore::book1D(), DQMStore::book2D(), dbe, globalFolder_, i, label, rpcdqm::utils::labelXAxisSector(), rpcdqm::utils::labelXAxisSegment(), rpcdqm::utils::labelYAxisRing(), rpcdqm::utils::labelYAxisRoll(), relativeConstraints::ring, and DQMStore::setCurrentFolder().

Referenced by beginRun().

169  {
170  std::map<std::string, MonitorElement*> meMap;
171  std::string ringType = (region == 0)?"Wheel":"Disk";
172 
174  std::stringstream os, label;
175 
176  rpcdqm::utils rpcUtils;
177 
178  // os<<"OccupancyXY_"<<ringType<<"_"<<ring;
179  // // meMap[os.str()] = dbe->book2D(os.str(), os.str(),63, -800, 800, 63, -800, 800);
180  // meMap[os.str()] = dbe->book2D(os.str(), os.str(),1000, -800, 800, 1000, -800, 800);
181 
182  os.str("");
183  os<<"ClusterSize_"<<ringType<<"_"<<ring;
184  meMap[os.str()] = dbe->book1D(os.str(), os.str(),20, 0.5, 20.5);
185 
186  os.str("");
187  os<<"1DOccupancy_"<<ringType<<"_"<<ring;
188  if (region!=0) meMap[os.str()] = dbe->book1D(os.str(), os.str(), 6, 0.5, 6.5);
189  else meMap[os.str()] = dbe->book1D(os.str(), os.str(), 12, 0.5, 12.5);
190  int sect=7;
191  if(region==0) sect=13;
192  for(int i=1; i<sect; i++) {
193  label.str("");
194  label<<"Sec"<<i;
195  //cout<<label.str()<<endl;
196  meMap[os.str()] ->setBinLabel(i, label.str(), 1); // to be corrected !!!!
197  }
198 
199  if(region==0) {
200 
201  os.str("");
202  os<<"Occupancy_Roll_vs_Sector_"<<ringType<<"_"<<ring;
203  meMap[os.str()] = dbe->book2D(os.str(), os.str(), 12, 0.5,12.5, 21, 0.5, 21.5);
204  rpcUtils.labelXAxisSector(meMap[os.str()]);
205  rpcUtils.labelYAxisRoll( meMap[os.str()], 0, ring);
206 
207 
208  }else{
209 
210  os.str("");
211  os<<"Occupancy_Ring_vs_Segment_"<<ringType<<"_"<<ring;
212  meMap[os.str()] = dbe->book2D(os.str(), os.str(), 36, 0.5,36.5, 6, 0.5, 6.5);
213 
214  rpcUtils.labelXAxisSegment(meMap[os.str()]);
215  rpcUtils.labelYAxisRing(meMap[os.str()], 2);
216 
217  }
218 
219  os.str("");
220  os<<"BxDistribution_"<<ringType<<"_"<<ring;
221  meMap[os.str()] = dbe->book1D(os.str(), os.str(), 11, -5.5, 5.5);
222 
223 
224  return meMap;
225 }
int i
Definition: DBlmapReader.cc:9
std::string globalFolder_
const std::string & label
Definition: MVAComputer.cc:186
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:519
void labelXAxisSegment(MonitorElement *myMe)
Definition: utils.h:221
DQMStore * dbe
DQM store.
void labelXAxisSector(MonitorElement *myMe)
Definition: utils.h:206
void labelYAxisRoll(MonitorElement *myMe, int region, int ring)
Definition: utils.h:239
MonitorElement * book2D(const char *name, const char *title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
Book 2D histogram.
Definition: DQMStore.cc:647
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:237
void labelYAxisRing(MonitorElement *myMe, int numberOfRings)
Definition: utils.h:266
void RPCMonitorDigi::endJob ( void  )
virtual

Reimplemented from edm::EDAnalyzer.

Definition at line 145 of file RPCMonitorDigi.cc.

References dbe, RootFileName, DQMStore::save(), and saveRootFile.

145  {
147  dbe = 0;
148 }
std::string RootFileName
void save(const std::string &filename, const std::string &path="", const std::string &pattern="", const std::string &rewrite="", SaveReferenceTag ref=SaveWithReference, int minStatus=dqm::qstatus::STATUS_OK, const std::string &fileupdate="RECREATE")
Definition: DQMStore.cc:1883
DQMStore * dbe
DQM store.
void RPCMonitorDigi::makeDcsInfo ( const edm::Event e)
private

Definition at line 418 of file RPCMonitorDigi.cc.

References dcs_, edm::Event::getByLabel(), edm::HandleBase::isValid(), mathSSE::return(), and DcsStatus::RPC.

Referenced by analyze().

418  {
419 
421 
422  if ( ! e.getByLabel("scalersRawToDigi", dcsStatus) ){
423  dcs_ = true;
424  return;
425  }
426 
427  if ( ! dcsStatus.isValid() )
428  {
429  edm::LogWarning("RPCDcsInfo") << "scalersRawToDigi not found" ;
430  dcs_ = true; // info not available: set to true
431  return;
432  }
433 
434 
435  for (DcsStatusCollection::const_iterator dcsStatusItr = dcsStatus->begin();
436  dcsStatusItr != dcsStatus->end(); ++dcsStatusItr) {
437 
438  if (!dcsStatusItr->ready(DcsStatus::RPC)) dcs_=false;
439 
440  }
441 
442  return ;
443 }
return((rh^lh)&mask)
bool isValid() const
Definition: HandleBase.h:76
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
Definition: Event.h:359
int RPCMonitorDigi::stripsInRoll ( RPCDetId id,
const edm::EventSetup iSetup 
)
private

Definition at line 228 of file RPCBookDetUnitME.cc.

References edm::EventSetup::get(), and RPCRoll::nstrips().

Referenced by bookDetUnitME().

228  {
230  iSetup.get<MuonGeometryRecord>().get(rpcgeo);
231 
232  const RPCRoll * rpcRoll = rpcgeo->roll(id);
233 
234  if (rpcRoll)
235  return rpcRoll->nstrips();
236  else
237  return 1;
238 }
int nstrips() const
Definition: RPCRoll.cc:46
const T & get() const
Definition: EventSetup.h:55

Member Data Documentation

MonitorElement* RPCMonitorDigi::BarrelNumberOfDigis
private

Definition at line 62 of file RPCMonitorDigi.h.

MonitorElement* RPCMonitorDigi::BarrelOccupancy
private

Definition at line 63 of file RPCMonitorDigi.h.

Referenced by analyze(), and beginJob().

MonitorElement* RPCMonitorDigi::ClusterSize_for_Barrel
private

Definition at line 57 of file RPCMonitorDigi.h.

Referenced by analyze(), and beginJob().

MonitorElement* RPCMonitorDigi::ClusterSize_for_BarrelandEndcaps
private

Definition at line 61 of file RPCMonitorDigi.h.

Referenced by analyze(), and beginJob().

MonitorElement* RPCMonitorDigi::ClusterSize_for_EndcapNegative
private

Definition at line 59 of file RPCMonitorDigi.h.

Referenced by analyze(), and beginJob().

MonitorElement* RPCMonitorDigi::ClusterSize_for_EndcapPositive
private

Definition at line 58 of file RPCMonitorDigi.h.

Referenced by analyze(), and beginJob().

int RPCMonitorDigi::counter
private

Definition at line 44 of file RPCMonitorDigi.h.

Referenced by analyze().

DQMStore* RPCMonitorDigi::dbe
private

DQM store.

Definition at line 46 of file RPCMonitorDigi.h.

Referenced by beginJob(), bookDetUnitME(), bookRegionRing(), and endJob().

bool RPCMonitorDigi::dcs_
private

Definition at line 47 of file RPCMonitorDigi.h.

Referenced by analyze(), beginJob(), and makeDcsInfo().

std::string RPCMonitorDigi::digiLabel
private

Definition at line 76 of file RPCMonitorDigi.h.

bool RPCMonitorDigi::dqmexpert
private

Definition at line 87 of file RPCMonitorDigi.h.

Referenced by analyze(), bookDetUnitME(), and RPCMonitorDigi().

bool RPCMonitorDigi::dqmshifter
private

Definition at line 86 of file RPCMonitorDigi.h.

Referenced by RPCMonitorDigi().

bool RPCMonitorDigi::dqmsuperexpert
private

Definition at line 88 of file RPCMonitorDigi.h.

Referenced by analyze(), bookDetUnitME(), and RPCMonitorDigi().

MonitorElement* RPCMonitorDigi::EndcapNegativeOccupancy
private

Definition at line 65 of file RPCMonitorDigi.h.

Referenced by analyze(), and beginJob().

MonitorElement* RPCMonitorDigi::EndcapPositiveOccupancy
private

Definition at line 64 of file RPCMonitorDigi.h.

Referenced by analyze(), and beginJob().

std::string RPCMonitorDigi::globalFolder_
private

Definition at line 80 of file RPCMonitorDigi.h.

Referenced by beginJob(), bookRegionRing(), and RPCMonitorDigi().

std::string RPCMonitorDigi::GlobalHistogramsFolder
private

Definition at line 89 of file RPCMonitorDigi.h.

std::map<uint32_t, std::map<std::string, MonitorElement*> > RPCMonitorDigi::meCollection
private

Definition at line 72 of file RPCMonitorDigi.h.

Referenced by analyze(), and beginRun().

bool RPCMonitorDigi::mergeRuns_
private

Definition at line 78 of file RPCMonitorDigi.h.

Referenced by RPCMonitorDigi().

std::map<std::pair<int,int>, std::map<std::string, MonitorElement*> > RPCMonitorDigi::meWheelDisk
private

Definition at line 73 of file RPCMonitorDigi.h.

Referenced by analyze(), and beginRun().

std::string RPCMonitorDigi::muonNoise_
private

Definition at line 79 of file RPCMonitorDigi.h.

Referenced by RPCMonitorDigi().

std::string RPCMonitorDigi::nameInLog
private

Definition at line 82 of file RPCMonitorDigi.h.

Referenced by analyze(), beginJob(), beginRun(), and RPCMonitorDigi().

MonitorElement* RPCMonitorDigi::NumberOfClusters_for_Barrel
private

Definition at line 53 of file RPCMonitorDigi.h.

Referenced by analyze(), and beginJob().

MonitorElement* RPCMonitorDigi::NumberOfClusters_for_EndcapNegative
private

Definition at line 55 of file RPCMonitorDigi.h.

Referenced by analyze(), and beginJob().

MonitorElement* RPCMonitorDigi::NumberOfClusters_for_EndcapPositive
private

Definition at line 54 of file RPCMonitorDigi.h.

Referenced by analyze(), and beginJob().

MonitorElement* RPCMonitorDigi::NumberOfDigis_for_Barrel
private

Definition at line 49 of file RPCMonitorDigi.h.

Referenced by analyze(), and beginJob().

MonitorElement* RPCMonitorDigi::NumberOfDigis_for_EndcapNegative
private

Definition at line 51 of file RPCMonitorDigi.h.

Referenced by analyze(), and beginJob().

MonitorElement* RPCMonitorDigi::NumberOfDigis_for_EndcapPositive
private

Definition at line 50 of file RPCMonitorDigi.h.

Referenced by analyze(), and beginJob().

std::string RPCMonitorDigi::RootFileName
private

Definition at line 85 of file RPCMonitorDigi.h.

Referenced by endJob(), and RPCMonitorDigi().

std::string RPCMonitorDigi::RPCDataLabel
private

Definition at line 75 of file RPCMonitorDigi.h.

edm::InputTag RPCMonitorDigi::RPCDigiLabel_
private

Definition at line 95 of file RPCMonitorDigi.h.

Referenced by analyze(), and RPCMonitorDigi().

MonitorElement* RPCMonitorDigi::RPCEvents
private

Definition at line 66 of file RPCMonitorDigi.h.

Referenced by analyze(), and beginJob().

edm::ESHandle<RPCGeometry> RPCMonitorDigi::rpcGeo
private

Definition at line 91 of file RPCMonitorDigi.h.

Referenced by analyze(), and beginRun().

edm::InputTag RPCMonitorDigi::RPCRecHitLabel_
private

Definition at line 94 of file RPCMonitorDigi.h.

Referenced by analyze(), and RPCMonitorDigi().

MonitorElement* RPCMonitorDigi::SameBxDigisMeBarrel_
private

Definition at line 68 of file RPCMonitorDigi.h.

Referenced by analyze(), and beginJob().

MonitorElement* RPCMonitorDigi::SameBxDigisMeEndcapNegative_
private

Definition at line 70 of file RPCMonitorDigi.h.

Referenced by beginJob().

MonitorElement* RPCMonitorDigi::SameBxDigisMeEndcapPositive_
private

Definition at line 69 of file RPCMonitorDigi.h.

Referenced by beginJob().

bool RPCMonitorDigi::saveRootFile
private

Definition at line 83 of file RPCMonitorDigi.h.

Referenced by endJob(), and RPCMonitorDigi().