CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
RPCEfficiency.h
Go to the documentation of this file.
1 
11 
15 
19 
21 
25 
26 #include<string>
27 #include<map>
28 
29 
31 public:
33  DTStationIndex(int region, int wheel, int sector, int station) :
34  _region(region),
35  _wheel(wheel),
36  _sector(sector),
37  _station(station){}
39  int region() const {return _region;}
40  int wheel() const {return _wheel;}
41  int sector() const {return _sector;}
42  int station() const {return _station;}
43  bool operator<(const DTStationIndex& dtind) const{
44  if(dtind.region()!=this->region())
45  return dtind.region()<this->region();
46  else if(dtind.wheel()!=this->wheel())
47  return dtind.wheel()<this->wheel();
48  else if(dtind.sector()!=this->sector())
49  return dtind.sector()<this->sector();
50  else if(dtind.station()!=this->station())
51  return dtind.station()<this->station();
52  return false;
53  }
54 private:
55  int _region;
56  int _wheel;
57  int _sector;
58  int _station;
59 };
60 
61 
63 public:
65  CSCStationIndex(int region, int station, int ring, int chamber):
66  _region(region),
67  _station(station),
68  _ring(ring),
69  _chamber(chamber){}
71  int region() const {return _region;}
72  int station() const {return _station;}
73  int ring() const {return _ring;}
74  int chamber() const {return _chamber;}
75  bool operator<(const CSCStationIndex& cscind) const{
76  if(cscind.region()!=this->region())
77  return cscind.region()<this->region();
78  else if(cscind.station()!=this->station())
79  return cscind.station()<this->station();
80  else if(cscind.ring()!=this->ring())
81  return cscind.ring()<this->ring();
82  else if(cscind.chamber()!=this->chamber())
83  return cscind.chamber()<this->chamber();
84  return false;
85  }
86 
87 private:
88  int _region;
89  int _station;
90  int _ring;
91  int _chamber;
92 };
93 
94 
95 class RPCEfficiency : public DQMEDAnalyzer {
96  public:
97  explicit RPCEfficiency(const edm::ParameterSet&);
99 
100 
101  protected:
102 
103  virtual void analyze(const edm::Event&, const edm::EventSetup&);
104  void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
105  void bookDetUnitSeg(DQMStore::IBooker &, RPCDetId & detId,int nstrips, std::string folder, std::map<std::string, MonitorElement*> & );
106  std::map<DTStationIndex,std::set<RPCDetId> > rollstoreDT;
107  std::map<CSCStationIndex,std::set<RPCDetId> > rollstoreCSC;
108 
110 
111  //Residuals
115 
116  //Endcap
123 
130 
137 
138  private:
139  std::vector<std::map<RPCDetId, int> > counter;
140  std::vector<int> totalcounter;
141  // std::ofstream ofrej;
142  bool incldt;
143  bool incldtMB4;
144  bool inclcsc;
145  bool debug;
146  // bool paper;
147  bool inves;
148  double rangestrips;
150  double MinCosAng;
151  double MaxD;
152  double MaxDrb4;
153  int dupli;
154 
158 
161 
162  std::map<int, std::map<std::string, MonitorElement*> > meCollection;
163 
166 };
int chamber() const
Definition: RPCEfficiency.h:74
int wheel() const
Definition: RPCEfficiency.h:40
MonitorElement * hGlobalResClu1R2A
RPCEfficiency(const edm::ParameterSet &)
MonitorElement * hGlobalResClu1R3A
MonitorElement * hGlobalResClu3R2C
MonitorElement * hGlobalResClu2La[6]
MonitorElement * hGlobalResClu3R3C
std::map< int, std::map< std::string, MonitorElement * > > meCollection
void bookDetUnitSeg(DQMStore::IBooker &, RPCDetId &detId, int nstrips, std::string folder, std::map< std::string, MonitorElement * > &)
CSCStationIndex(int region, int station, int ring, int chamber)
Definition: RPCEfficiency.h:65
int station() const
Definition: RPCEfficiency.h:72
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
std::string EffRootFileName
edm::EDGetTokenT< RPCRecHitCollection > RPCRecHitLabel_
MonitorElement * hGlobalResClu3La[6]
DTStationIndex(int region, int wheel, int sector, int station)
Definition: RPCEfficiency.h:33
std::string folderPath
int ring() const
Definition: RPCEfficiency.h:73
MonitorElement * hGlobalResClu3R2A
double rangestripsRB4
std::vector< int > totalcounter
MonitorElement * hGlobalResClu1R3B
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
std::vector< std::map< RPCDetId, int > > counter
MonitorElement * hGlobalResClu1La[6]
int station() const
Definition: RPCEfficiency.h:42
int region() const
Definition: RPCEfficiency.h:39
bool operator<(const CSCStationIndex &cscind) const
Definition: RPCEfficiency.h:75
double rangestrips
bool operator<(const DTStationIndex &dtind) const
Definition: RPCEfficiency.h:43
int region() const
Definition: RPCEfficiency.h:71
virtual void analyze(const edm::Event &, const edm::EventSetup &)
MonitorElement * hGlobalResClu1R3C
MonitorElement * hGlobalResClu2R2B
int sector() const
Definition: RPCEfficiency.h:41
MonitorElement * hGlobalResClu3R3B
std::string rollseff
MonitorElement * hGlobalResClu3R2B
MonitorElement * hGlobalResClu2R3B
MonitorElement * hGlobalResClu1R2B
MonitorElement * hGlobalResClu2R2C
tuple folder
Histograms Source for live online DQM in P5
Definition: Run.h:43