27 if(sector1==13) sector1=4;
28 if(sector1==14) sector1=10;
30 if(sector2==13) sector2=4;
31 if(sector2==14) sector2=10;
33 int distance =
abs(sector1 - sector2);
34 if(distance>6) distance = 12-distance;
79 std::stringstream sstr;
80 for(
int i = 1;
i<=15;
i++ ){
87 for(
int i = 1;
i<=15;
i++ ){
96 folder =
folderPath+
"MuonSegEff/"+
"Residuals/Barrel";
100 std::stringstream histoName, histoTitle;
102 for (
int layer = 1 ; layer<= 6 ;layer++){
105 histoName<<
"GlobalResidualsClu1La"<<layer;
106 histoTitle<<
"RPC Residuals Layer "<<layer<<
" Cluster Size 1";
111 histoName<<
"GlobalResidualsClu2La"<<layer;
112 histoTitle<<
"RPC Residuals Layer "<<layer<<
" Cluster Size 2";
117 histoName<<
"GlobalResidualsClu3La"<<layer;
118 histoTitle<<
"RPC Residuals Layer "<<layer<<
" Cluster Size 3";
123 LogDebug(
"rpcefficiency")<<
"Booking Residuals for EndCap";
124 folder =
folderPath+
"MuonSegEff/Residuals/EndCap";
157 for (TrackingGeometry::DetContainer::const_iterator it=rpcGeo->dets().begin();it<rpcGeo->dets().end();it++){
158 if(dynamic_cast< RPCChamber* >( *it ) != 0 ){
160 std::vector< const RPCRoll*> roles = (ch->
rolls());
161 for(std::vector<const RPCRoll*>::const_iterator
r = roles.begin();
r != roles.end(); ++
r){
164 int region=rpcId.
region();
175 int wheel=rpcId.
ring();
176 int sector=rpcId.
sector();
179 std::set<RPCDetId> myrolls;
181 myrolls.insert(rpcId);
184 }
else if(region!=0 &&
inclcsc){
190 int rpcsegment = rpcsrv.
segment();
191 int cscchamber = rpcsegment;
192 if((station==2||station==3)&&ring==3){
197 std::set<RPCDetId> myrolls;
201 myrolls.insert(rpcId);
207 for (TrackingGeometry::DetContainer::const_iterator it=rpcGeo->dets().begin();it<rpcGeo->dets().end();it++){
208 if( dynamic_cast< RPCChamber* >( *it ) != 0 ){
211 std::vector< const RPCRoll*> roles = (ch->
rolls());
212 for(std::vector<const RPCRoll*>::const_iterator
r = roles.begin();
r != roles.end(); ++
r){
215 int region=rpcId.
region();
218 int region=rpcId.
region();
223 if((station==2||station==3)&&ring==3) cscring = 2;
228 int rpcsegment = rpcsrv.
segment();
230 int cscchamber = rpcsegment+1;
231 if(cscchamber==37)cscchamber=1;
233 std::set<RPCDetId> myrolls;
235 myrolls.insert(rpcId);
238 cscchamber = rpcsegment-1;
239 if(cscchamber==0)cscchamber=36;
241 std::set<RPCDetId> myrollsDos;
243 myrollsDos.insert(rpcId);
266 std::stringstream meIdRPC, meIdDT, meIdCSC;
268 LogDebug(
"rpcefficiency") <<
"\t Getting the RPC RecHits";
275 LogDebug(
"rpcefficiency")<<
"\t Getting the DT Segments";
282 if(all4DSegments->size()>0){
286 LogDebug(
"rpcefficiency")<<
"\t Number of DT Segments in this event = "<<all4DSegments->size();
288 std::map<DTChamberId,int> DTSegmentCounter;
291 for (segment = all4DSegments->begin();segment!=all4DSegments->end(); ++segment){
292 DTSegmentCounter[segment->chamberId()]++;
297 LogDebug(
"rpcefficiency")<<
"\t Loop over all the 4D Segments";
298 for (segment = all4DSegments->begin(); segment != all4DSegments->end(); ++segment){
303 if(DTSegmentCounter[DTId]==1 && DTId.
station()!=4){
305 int dtWheel = DTId.
wheel();
306 int dtStation = DTId.
station();
307 int dtSector = DTId.
sector();
309 LocalPoint segmentPosition= segment->localPosition();
310 LocalVector segmentDirection=segment->localDirection();
312 const GeomDet* gdet=dtGeo->idToDet(segment->geographicalId());
317 if(segment->dimension()==4){
319 float Xo=segmentPosition.
x();
320 float Yo=segmentPosition.
y();
321 float Zo=segmentPosition.
z();
322 float dx=segmentDirection.
x();
323 float dy=segmentDirection.
y();
324 float dz=segmentDirection.
z();
328 LogDebug(
"rpcefficiency")<<
"DT \t \t Loop over all the rolls asociated to this DT";
329 for (std::set<RPCDetId>::iterator iteraRoll = rollsForThisDT.begin();iteraRoll != rollsForThisDT.end(); iteraRoll++){
330 const RPCRoll* rollasociated = rpcGeo->roll(*iteraRoll);
339 LocalPoint CenterRollinDTFrame = DTSurface.toLocal(CenterPointRollGlobal);
341 float D=CenterRollinDTFrame.
z();
347 const RectangularStripTopology* top_=
dynamic_cast<const RectangularStripTopology*
> (&(rollasociated->
topology()));
349 LogDebug(
"rpcefficiency")<<
"DT \t \t \t xmin of this Roll "<<xmin<<
"cm";
351 LogDebug(
"rpcefficiency")<<
"DT \t \t \t xmax of this Roll "<<xmax<<
"cm";
352 float rsize = fabs( xmax.
x()-xmin.
x() );
353 LogDebug(
"rpcefficiency")<<
"DT \t \t \t Roll Size "<<rsize<<
"cm";
354 float stripl = top_->stripLength();
355 float stripw = top_->pitch();
357 float extrapolatedDistance =
sqrt((X-Xo)*(X-Xo)+(Y-Yo)*(Y-Yo)+(Z-Zo)*(Z-Zo));
359 if(extrapolatedDistance<=
MaxD){
362 LocalPoint PointExtrapolatedRPCFrame = RPCSurface.toLocal(GlobalPointExtrapolated);
364 if(fabs(PointExtrapolatedRPCFrame.
z()) < 10. &&
365 fabs(PointExtrapolatedRPCFrame.
x()) < rsize*0.5 &&
366 fabs(PointExtrapolatedRPCFrame.
y()) < stripl*0.5){
371 LogDebug(
"rpcefficiency")<<
"DT \t \t \t \t The RPCName is "<<nameRoll;
372 const float stripPredicted =
373 rollasociated->
strip(
LocalPoint(PointExtrapolatedRPCFrame.
x(),PointExtrapolatedRPCFrame.
y(),0.));
375 LogDebug(
"rpcefficiency")<<
"DT \t \t \t \t Candidate (from DT Segment) STRIP---> "<<stripPredicted<< std::endl;
380 meIdDT<<
"ExpectedOccupancyFromDT_"<<rollId.
rawId();
381 meMap[meIdDT.str()]->Fill(stripPredicted);
386 int countRecHits = 0;
388 float minres = 3000.;
390 typedef std::pair<RPCRecHitCollection::const_iterator, RPCRecHitCollection::const_iterator> rangeRecHits;
391 rangeRecHits recHitCollection = rpcHits->get(rollasociated->
id());
394 for (recHit = recHitCollection.first; recHit != recHitCollection.second ; recHit++) {
401 float res=PointExtrapolatedRPCFrame.
x()- recHitPos.
x();
402 LogDebug(
"rpcefficiency")<<
"DT \t \t \t \t \t Found Rec Hit at "<<res<<
"cm of the prediction.";
403 if(fabs(res)<fabs(minres)){
405 cluSize = recHit->clusterSize();
406 LogDebug(
"rpcefficiency")<<
"DT \t \t \t \t \t \t New Min Res "<<res<<
"cm.";
411 LogDebug(
"rpcefficiency") <<
"DT \t \t \t \t \t THIS ROLL DOESN'T HAVE ANY RECHIT";
413 assert(minres!=3000);
415 if(fabs(minres)<=(
rangestrips+cluSize*0.5)*stripw){
416 LogDebug(
"rpcefficiency")<<
"DT \t \t \t \t \t \t True!";
444 meIdRPC<<
"RPCDataOccupancyFromDT_"<<rollId.
rawId();
445 meMap[meIdRPC.str()]->Fill(stripPredicted);
449 LogDebug(
"rpcefficiency")<<
"DT \t \t \t \t No the prediction is outside of this roll";
452 LogDebug(
"rpcefficiency")<<
"DT \t \t \t No, Exrtrapolation too long!, canceled";
457 LogDebug(
"rpcefficiency")<<
"DT \t \t More than one segment in this chamber, or we are in Station 4";
461 LogDebug(
"rpcefficiency")<<
"DT This Event doesn't have any DT4DDSegment";
470 if(all4DSegments.
isValid() && all4DSegments->size()>0){
472 std::map<DTChamberId,int> DTSegmentCounter;
475 for (segment = all4DSegments->begin();segment!=all4DSegments->end(); ++segment){
476 DTSegmentCounter[segment->chamberId()]++;
479 LogDebug(
"rpcefficiency")<<
"MB4 \t \t Loop Over all4DSegments";
480 for (segment = all4DSegments->begin(); segment != all4DSegments->end(); ++segment){
484 if(DTSegmentCounter[DTId] == 1 && DTId.
station()==4){
485 int dtWheel = DTId.
wheel();
486 int dtStation = DTId.
station();
487 int dtSector = DTId.
sector();
489 LocalPoint segmentPosition= segment->localPosition();
490 LocalVector segmentDirection=segment->localDirection();
494 if(segment->dimension()==2){
496 LocalPoint segmentPositionMB4=segmentPosition;
499 const BoundPlane& DTSurface4 = dtGeo->idToDet(DTId)->surface();
503 for(segMB3=all4DSegments->begin();segMB3!=all4DSegments->end();++segMB3){
510 && DTSegmentCounter[dtid3] == 1
511 && segMB3->dimension()==4){
513 const GeomDet* gdet3=dtGeo->idToDet(segMB3->geographicalId());
516 LocalVector segmentDirectionMB3 = segMB3->localDirection();
517 GlobalPoint segmentPositionMB3inGlobal = DTSurface3.toGlobal(segMB3->localPosition());
519 GlobalVector segDirMB4inGlobalFrame=DTSurface4.toGlobal(segmentDirectionMB4);
520 GlobalVector segDirMB3inGlobalFrame=DTSurface3.toGlobal(segmentDirectionMB3);
522 float dx=segDirMB4inGlobalFrame.
x();
523 float dy=segDirMB4inGlobalFrame.
y();
526 float dx3=segDirMB3inGlobalFrame.
x();
527 float dy3=segDirMB3inGlobalFrame.
y();
530 double cosAng=fabs(dx*dx3+dy*dy3/
sqrt((dx3*dx3+dy3*dy3)*(dx*dx+dy*dy)));
542 assert(rollsForThisDT.size()>=1);
544 for (std::set<RPCDetId>::iterator iteraRoll=rollsForThisDT.begin();iteraRoll != rollsForThisDT.end(); iteraRoll++){
545 const RPCRoll* rollasociated = rpcGeo->roll(*iteraRoll);
552 LocalPoint CenterRollinMB4Frame = DTSurface4.toLocal(CenterPointRollGlobal);
553 LocalPoint segmentPositionMB3inMB4Frame = DTSurface4.toLocal(segmentPositionMB3inGlobal);
554 LocalVector segmentDirectionMB3inMB4Frame = DTSurface4.toLocal(segDirMB3inGlobalFrame);
557 float Dxz=CenterRollinMB4Frame.
z();
558 float Xo4=segmentPositionMB4.
x();
559 float dxl=segmentDirectionMB4.
x();
560 float dzl=segmentDirectionMB4.
z();
562 float X=Xo4+dxl*Dxz/dzl;
566 float Yo34=segmentPositionMB3inMB4Frame.
y();
567 float dy34 = segmentDirectionMB3inMB4Frame.
y();
568 float dz34 = segmentDirectionMB3inMB4Frame.
z();
569 float Dy=Dxz-(segmentPositionMB3inMB4Frame.
z());
571 float Y=Yo34+dy34*Dy/dz34;
573 const RectangularStripTopology* top_
574 =
dynamic_cast<const RectangularStripTopology*
>(&(rollasociated->
topology()));
577 float rsize = fabs( xmax.
x()-xmin.
x() );
578 float stripl = top_->stripLength();
579 float stripw = top_->pitch();
581 float extrapolatedDistance =
sqrt((Y-Yo34)*(Y-Yo34)+Dy*Dy);
583 if(extrapolatedDistance<=
MaxDrb4){
586 LocalPoint PointExtrapolatedRPCFrame = RPCSurfaceRB4.toLocal(GlobalPointExtrapolated);
588 if(fabs(PointExtrapolatedRPCFrame.
z()) < 5. &&
589 fabs(PointExtrapolatedRPCFrame.
x()) < rsize*0.5 &&
590 fabs(PointExtrapolatedRPCFrame.
y()) < stripl*0.5){
597 const float stripPredicted=
598 rollasociated->
strip(
LocalPoint(PointExtrapolatedRPCFrame.
x(),PointExtrapolatedRPCFrame.
y(),0.));
600 LogDebug(
"rpcefficiency")<<
"MB4 \t \t \t \t Candidate (from DT Segment) STRIP---> "<<stripPredicted<< std::endl;
606 meIdDT<<
"ExpectedOccupancyFromDT_"<<rollId.
rawId();
607 meMap[meIdDT.str()]->Fill(stripPredicted);
612 int countRecHits = 0;
614 float minres = 3000.;
616 LogDebug(
"rpcefficiency")<<
"MB4 \t \t \t \t Getting RecHits in Roll Asociated";
617 typedef std::pair<RPCRecHitCollection::const_iterator, RPCRecHitCollection::const_iterator> rangeRecHits;
618 rangeRecHits recHitCollection = rpcHits->get(rollasociated->
id());
621 for (recHit = recHitCollection.first; recHit != recHitCollection.second ; recHit++) {
624 float res=PointExtrapolatedRPCFrame.
x()- recHitPos.
x();
625 LogDebug(
"rpcefficiency")<<
"DT \t \t \t \t \t Found Rec Hit at "<<res<<
"cm of the prediction.";
626 if(fabs(res)<fabs(minres)){
628 cluSize = recHit->clusterSize();
633 LogDebug(
"rpcefficiency") <<
"MB4 \t \t \t \t \t \t THIS ROLL DOESN'T HAVE ANY RECHIT";
635 assert(minres!=3000);
637 if(fabs(minres)<=(
rangestrips+cluSize*0.5)*stripw){
644 meIdRPC<<
"RPCDataOccupancyFromDT_"<<rollId.
rawId();
645 meMap[meIdRPC.str()]->Fill(stripPredicted);
649 LogDebug(
"rpcefficiency")<<
"MB4 \t \t \t \t No the prediction is outside of this roll";
653 LogDebug(
"rpcefficiency")<<
"MB4 \t \t \t No, Exrtrapolation too long!, canceled";
657 LogDebug(
"rpcefficiency")<<
"MB4 \t \t \t \t I found segments in MB4 and MB3 adjacent or same wheel and sector but not compatibles Diferent Directions";
660 LogDebug(
"rpcefficiency")<<
"MB4 \t \t \t No the same station or same wheel or segment dim in mb3 not 4D";
664 LogDebug(
"rpcefficiency")<<
"MB4 \t \t \t Is NOT a 2D Segment";
667 LogDebug(
"rpcefficiency")<<
"MB4 \t \t \t \t There is not just one segment or is not in station 4";
671 LogDebug(
"rpcefficiency")<<
"MB4 \t This event doesn't have 4D Segment";
678 LogDebug(
"rpcefficiency") <<
"\t Getting the CSC Segments";
684 if(allCSCSegments->size()>0){
687 LogDebug(
"rpcefficiency")<<
"CSC \t Number of CSC Segments in this event = "<<allCSCSegments->size();
689 std::map<CSCDetId,int> CSCSegmentsCounter;
692 int segmentsInThisEventInTheEndcap=0;
694 for (segment = allCSCSegments->begin();segment!=allCSCSegments->end(); ++segment){
695 CSCSegmentsCounter[segment->cscDetId()]++;
696 segmentsInThisEventInTheEndcap++;
701 LogDebug(
"rpcefficiency")<<
"CSC \t loop over all the CSCSegments ";
702 for (segment = allCSCSegments->begin();segment!=allCSCSegments->end(); ++segment){
703 CSCDetId CSCId = segment->cscDetId();
705 if(CSCSegmentsCounter[CSCId]==1 && CSCId.
station()!=4 && CSCId.
ring()!=1 && allCSCSegments->size()>=2){
706 LogDebug(
"rpcefficiency")<<
"CSC \t \t yes";
707 int cscEndCap = CSCId.
endcap();
708 int cscStation = CSCId.
station();
709 int cscRing = CSCId.
ring();
711 int rpcRegion = 1;
if(cscEndCap==2) rpcRegion= -1;
712 int rpcRing = cscRing;
713 if(cscRing==4)rpcRing =1;
714 int rpcStation = cscStation;
715 int rpcSegment = CSCId.
chamber();
717 LocalPoint segmentPosition= segment->localPosition();
718 LocalVector segmentDirection=segment->localDirection();
719 float dz=segmentDirection.
z();
721 LogDebug(
"rpcefficiency")<<
"CSC \t \t Is a good Segment? dim = 4, 4 <= nRecHits <= 10 Incident angle int range 45 < "<<acos(dz)*180/3.1415926<<
" < 135? ";
723 if(segment->dimension()==4 && (segment->nRecHits()<=10 && segment->nRecHits()>=4)&& acos(dz)*180/3.1415926 > 45. && acos(dz)*180/3.1415926 < 160. ){
725 float Xo=segmentPosition.
x();
726 float Yo=segmentPosition.
y();
727 float Zo=segmentPosition.
z();
728 float dx=segmentDirection.
x();
729 float dy=segmentDirection.
y();
730 float dz=segmentDirection.
z();
733 LogDebug(
"rpcefficiency")<<
"CSC \t \t Getting chamber from Geometry";
734 const CSCChamber* TheChamber=cscGeo->chamber(CSCId);
735 LogDebug(
"rpcefficiency")<<
"CSC \t \t Getting ID from Chamber";
737 LogDebug(
"rpcefficiency")<<
"CSC \t \t Printing The Id"<<TheId;
739 LogDebug(
"rpcefficiency")<<
"CSC \t \t Number of rolls for this CSC = "<<rollsForThisCSC.size();
741 if(rpcRing!=1&&rpcStation!=4){
744 for (std::set<RPCDetId>::iterator iteraRoll = rollsForThisCSC.begin();iteraRoll != rollsForThisCSC.end(); iteraRoll++){
746 const RPCRoll* rollasociated = rpcGeo->roll(*iteraRoll);
754 float D=CenterRollinCSCFrame.
z();
760 const TrapezoidalStripTopology* top_=
dynamic_cast<const TrapezoidalStripTopology*
>(&(rollasociated->
topology()));
762 LogDebug(
"rpcefficiency")<<
"CSC \t \t \t xmin of this Roll "<<xmin<<
"cm";
764 LogDebug(
"rpcefficiency")<<
"CSC \t \t \t xmax of this Roll "<<xmax<<
"cm";
765 float rsize = fabs( xmax.
x()-xmin.
x() );
766 LogDebug(
"rpcefficiency")<<
"CSC \t \t \t Roll Size "<<rsize<<
"cm";
767 float stripl = top_->stripLength();
768 float stripw = top_->pitch();
771 float extrapolatedDistance =
sqrt((X-Xo)*(X-Xo)+(Y-Yo)*(Y-Yo)+(Z-Zo)*(Z-Zo));
774 if(extrapolatedDistance<=
MaxD){
777 LocalPoint PointExtrapolatedRPCFrame = RPCSurface.toLocal(GlobalPointExtrapolated);
780 if(fabs(PointExtrapolatedRPCFrame.
z()) < 10. &&
781 fabs(PointExtrapolatedRPCFrame.
x()) < rsize*0.5 &&
782 fabs(PointExtrapolatedRPCFrame.
y()) < stripl*0.5){
788 LogDebug(
"rpcefficiency")<<
"CSC \t \t \t \t The RPCName is "<<nameRoll;
790 const float stripPredicted =
791 rollasociated->
strip(
LocalPoint(PointExtrapolatedRPCFrame.
x(),PointExtrapolatedRPCFrame.
y(),0.));
793 LogDebug(
"rpcefficiency")<<
"CSC \t \t \t \t \t Candidate"<<rollId<<
" "<<
"(from CSC Segment) STRIP---> "<<stripPredicted<< std::endl;
798 meIdCSC<<
"ExpectedOccupancyFromCSC_"<<rollId.
rawId();
799 meMap[meIdCSC.str()]->Fill(stripPredicted);
805 int countRecHits = 0;
806 float minres = 3000.;
808 LogDebug(
"rpcefficiency")<<
"CSC \t \t \t \t \t Getting RecHits in Roll Asociated";
809 typedef std::pair<RPCRecHitCollection::const_iterator, RPCRecHitCollection::const_iterator> rangeRecHits;
810 rangeRecHits recHitCollection = rpcHits->get(rollasociated->
id());
813 for (recHit = recHitCollection.first; recHit != recHitCollection.second ; recHit++) {
817 float res=PointExtrapolatedRPCFrame.
x()- recHitPos.
x();
818 LogDebug(
"rpcefficiency")<<
"CSC \t \t \t \t \t \t Found Rec Hit at "<<res<<
"cm of the prediction.";
819 if(fabs(res)<fabs(minres)){
821 cluSize = recHit->clusterSize();
822 LogDebug(
"rpcefficiency")<<
"CSC \t \t \t \t \t \t \t New Min Res "<<res<<
"cm.";
827 LogDebug(
"rpcefficiency") <<
"CSC \t \t \t \t \t THIS ROLL DOESN'T HAVE ANY RECHIT";
829 assert(minres!=3000);
831 if(fabs(minres)<=(
rangestrips+cluSize*0.5)*stripw){
832 LogDebug(
"rpcefficiency")<<
"CSC \t \t \t \t \t \t True!";
834 if(rollId.
ring()==2&&rollId.
roll()==1){
839 else if(rollId.
ring()==2&&rollId.
roll()==2){
844 else if(rollId.
ring()==2&&rollId.
roll()==3){
849 else if(rollId.
ring()==3&&rollId.
roll()==1){
854 else if(rollId.
ring()==3&&rollId.
roll()==2){
862 meIdRPC<<
"RPCDataOccupancyFromCSC_"<<rollId.
rawId();
863 meMap[meIdRPC.str()]->Fill(stripPredicted);
868 LogDebug(
"rpcefficiency")<<
"CSC \t \t \t \t No the prediction is outside of this roll";
871 LogDebug(
"rpcefficiency")<<
"CSC \t \t \t No, Exrtrapolation too long!, canceled";
877 LogDebug(
"rpcefficiency")<<
"CSC \t \t More than one segment in this chamber, or we are in Station Ring 1 or in Station 4";
881 LogDebug(
"rpcefficiency")<<
"CSC This Event doesn't have any CSCSegment";
const double Z[kNumberCalorimeter]
T getParameter(std::string const &) const
float strip(const LocalPoint &lp) const
T getUntrackedParameter(std::string const &, T const &) const
const Topology & topology() const
int distsector_tmp(int sector1, int sector2)
MonitorElement * hGlobalResClu1R2A
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
RPCEfficiency(const edm::ParameterSet &)
bool getByToken(EDGetToken token, Handle< PROD > &result) const
CSCDetId id() const
Get the (concrete) DetId.
MonitorElement * hGlobalResClu1R3A
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
MonitorElement * hGlobalResClu3R2C
MonitorElement * hGlobalResClu2La[6]
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)
MonitorElement * hGlobalResClu3R3C
LocalPoint toLocal(const GlobalPoint &gp) const
Conversion to the R.F. of the GeomDet.
std::map< int, std::map< std::string, MonitorElement * > > meCollection
const Plane & surface() const
The nominal surface of the GeomDet.
uint32_t rawId() const
get the raw id
std::string EffRootFileName
virtual std::string name()
edm::EDGetTokenT< RPCRecHitCollection > RPCRecHitLabel_
MonitorElement * hGlobalResClu3La[6]
void bookDetUnitSeg(RPCDetId &detId, int nstrips, std::string folder, std::map< std::string, MonitorElement * > &)
virtual void endRun(const edm::Run &r, const edm::EventSetup &iSetup)
MonitorElement * hGlobalResClu3R2A
const std::vector< const RPCRoll * > & rolls() const
Return the Rolls.
Abs< T >::type abs(const T &t)
MonitorElement * hGlobalResClu1R3B
void save(const std::string &filename, const std::string &path="", const std::string &pattern="", const std::string &rewrite="", const uint32_t run=0, SaveReferenceTag ref=SaveWithReference, int minStatus=dqm::qstatus::STATUS_OK, const std::string &fileupdate="RECREATE")
MonitorElement * hGlobalResClu1R2C
MonitorElement * hGlobalResClu2R3C
MonitorElement * hGlobalResClu3R3A
std::map< CSCStationIndex, std::set< RPCDetId > > rollstoreCSC
MonitorElement * statistics
edm::EDGetTokenT< CSCSegmentCollection > cscSegments
std::map< DTStationIndex, std::set< RPCDetId > > rollstoreDT
edm::EDGetTokenT< DTRecSegment4DCollection > dt4DSegments
MonitorElement * hGlobalResClu2R2A
MonitorElement * hGlobalResClu2R3A
MonitorElement * hGlobalResClu1La[6]
int sector() const
Sector id: the group of chambers at same phi (and increasing r)
virtual void analyze(const edm::Event &, const edm::EventSetup &)
MonitorElement * hGlobalResClu1R3C
MonitorElement * hGlobalResClu2R2B
int station() const
Return the station number.
MonitorElement * hGlobalResClu3R3B
int wheel() const
Return the wheel number.
virtual void beginRun(const edm::Run &, const edm::EventSetup &)
DecomposeProduct< arg, typename Div::arg > D
MonitorElement * hGlobalResClu3R2B
MonitorElement * hGlobalResClu2R3B
void setCurrentFolder(const std::string &fullpath)
MonitorElement * hGlobalResClu1R2B
MonitorElement * hGlobalResClu2R2C
int region() const
Region id: 0 for Barrel, +/-1 For +/- Endcap.