CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
RPCDigiValid.cc
Go to the documentation of this file.
6 
12 #include <cmath>
14 
15 using namespace std;
16 using namespace edm;
17 
19  dbe_(0)
20 {
21 
22 // Init the tokens for run data retrieval - stanislav
23 // ps.getUntackedParameter<InputTag> retrieves a InputTag from the configuration. The second param is default value
24 // module, instance and process labels may be passed in a single string if separated by colon ':'
25 // (@see the edm::InputTag constructor documentation)
26  simHitToken = consumes<PSimHitContainer>(ps.getUntrackedParameter<edm::InputTag >("simHitTag", edm::InputTag("g4SimHits:MuonRPCHits")));
27  rpcDigiToken = consumes<RPCDigiCollection>(ps.getUntrackedParameter<edm::InputTag>("rpcDigiTag", edm::InputTag("simMuonRPCDigis")));
28 
29  outputFile_ = ps.getUntrackedParameter<string> ("outputFile", "rpcDigiValidPlots.root");
31 }
32 
34 {
35 }
36 
37 
38 void RPCDigiValid::analyze(const Event& event, const EventSetup& eventSetup)
39 {
40 
41  countEvent++;
42  // cout << endl <<"--- [RPCDigiQuality] Analysing Event: #Run: " << event.id().run()
43  // << " #Event: " << event.id().event() << endl;
44 
45  // Get the RPC Geometry
47  eventSetup.get<MuonGeometryRecord> ().get(rpcGeom);
48 
51  event.getByToken(simHitToken, simHit);
52  event.getByToken(rpcDigiToken, rpcDigis);
53 
54  // Loop on simhits
55  PSimHitContainer::const_iterator simIt;
56 
57  //loop over Simhit
58  std::map<RPCDetId, std::vector<double> > allsims;
59 
60  for (simIt = simHit->begin(); simIt != simHit->end(); simIt++)
61  {
62  RPCDetId Rsid = (RPCDetId)(*simIt).detUnitId();
63  const RPCRoll* soll = dynamic_cast<const RPCRoll*> (rpcGeom->roll(Rsid));
64  int ptype = simIt->particleType();
65 
66  // std::cout <<"This is a Simhit with Parent "<<ptype<<std::endl;
67  if (ptype == 13 || ptype == -13)
68  {
69 
70  std::vector<double> buff;
71  if (allsims.find(Rsid) != allsims.end())
72  {
73  buff = allsims[Rsid];
74  }
75 
76  buff.push_back(simIt->localPosition().x());
77 
78  allsims[Rsid] = buff;
79 
80  // std::cout << "allsims[Rsid] = " << std::endl;
81  }
82  GlobalPoint p = soll->toGlobal(simIt->localPosition());
83 
84  double sim_x = p.x();
85  double sim_y = p.y();
86 
87  xyview->Fill(sim_x, sim_y);
88 
89  if (Rsid.region() == (+1))
90  {
91  if (Rsid.station() == 4)
92  {
93  xyvDplu4->Fill(sim_x, sim_y);
94  }
95  }
96  else if (Rsid.region() == (-1))
97  {
98  if (Rsid.station() == 4)
99  {
100  xyvDmin4->Fill(sim_x, sim_y);
101  }
102  }
103 
104  // xyview->Fill(p.x(),p.y());
105  rzview->Fill(p.z(), p.perp());
106  }
107  //loop over Digis
109  for (detUnitIt = rpcDigis->begin(); detUnitIt != rpcDigis->end(); ++detUnitIt)
110  {
111  const RPCDetId Rsid = (*detUnitIt).first;
112  const RPCRoll* roll = dynamic_cast<const RPCRoll*> (rpcGeom->roll(Rsid));
113 
114  RPCGeomServ rpcsrv(roll->id());
115  std::string name = rpcsrv.name();
116  //std:: cout << (roll->id().rawId()) << "\t" << name << std::endl;
117 
118 
119  const RPCDigiCollection::Range& range = (*detUnitIt).second;
120  std::vector<double> sims;
121  if (allsims.find(Rsid) != allsims.end())
122  {
123  sims = allsims[Rsid];
124  }
125 
126  //int ndigi=0;
127  double ndigi = 0;
128  for (RPCDigiCollection::const_iterator digiIt = range.first; digiIt != range.second; ++digiIt)
129  {
130  StripProf->Fill(digiIt->strip());
131  BxDist->Fill(digiIt->bx());
132  //bx for 4 endcaps
133  if (Rsid.region() == (+1))
134  {
135  if (Rsid.station() == 4)
136  BxDisc_4Plus->Fill(digiIt->bx());
137  }
138  else if (Rsid.region() == (-1))
139  {
140  if (Rsid.station() == 4)
141  BxDisc_4Min->Fill(digiIt->bx());
142  }
143  map<int, double>* stripRate = mapRollStripRate[Rsid.rawId()];
144  map<int, double>* stripNoisyRate = mapRollNoisyStripRate[Rsid.rawId()];
145  //init map strip rate
146  if (stripRate == 0)
147  {
148  stripRate = new map<int, double> ();
149  mapRollStripRate[Rsid.rawId()] = stripRate;
150  }
151  (*stripRate)[digiIt->strip()] += 1;
152 
153  //noisy only
154  if (sims.size() == 0)
155  {
156  if (stripNoisyRate == 0)
157  {
158  stripNoisyRate = new map<int, double> ();
159  mapRollNoisyStripRate[Rsid.rawId()] = stripNoisyRate;
160  }
161  (*stripNoisyRate)[digiIt->strip()] += 1;
162 
163  }
164 
165  // std::cout << Rsid.rawId() << "\tstrip = " << digiIt->strip() << std::endl;
166  ndigi++;
167  // std::cout << "digis = " << ndigi << std::endl;
168  }
169 
170  double area = 0.0;
171  double stripArea = 0.0;
172 
173  if (Rsid.region() == 0)
174  {
175  const RectangularStripTopology* top_ = dynamic_cast<const RectangularStripTopology*> (&(roll->topology()));
176  float xmin = (top_->localPosition(0.)).x();
177  float xmax = (top_->localPosition((float) roll->nstrips())).x();
178  float striplength = (top_->stripLength());
179  area = striplength * (xmax - xmin);
180  stripArea = area / ((float) roll->nstrips());
181  }
182  else
183  {
184  const TrapezoidalStripTopology* top_ = dynamic_cast<const TrapezoidalStripTopology*> (&(roll->topology()));
185  float xmin = (top_->localPosition(0.)).x();
186  float xmax = (top_->localPosition((float) roll->nstrips())).x();
187  float striplength = (top_->stripLength());
188  area = striplength * (xmax - xmin);
189  stripArea = area / ((float) roll->nstrips());
190  }
191 
192  mapRollTruCount[Rsid] += 1;
193 
194  if (sims.size() == 0)
195  {
196  noiseCLS->Fill(ndigi);
197  if (Rsid.region() == 0)
198  {
199  noiseCLSBarrel->Fill(ndigi);
200  }
201  if (Rsid.region() == +1 || Rsid.region() == 1)
202  {
203  noiseCLSEndcaps->Fill(ndigi);
204  }
205 
206  mapRollCls[Rsid] += ndigi;
207  mapRollFakeCount[Rsid] += 1;
208  }
209  mapRollArea[Rsid] = area;
210  mapRollStripArea[Rsid] = stripArea;
211  mapRollName[Rsid] = name;
212 
213  //CLS histos
214  if (Rsid.region() == 0)
215  {
216  clsBarrel->Fill(ndigi);
217  }
218  //endcap
219  if (Rsid.region() != 0)
220  {
221  if (Rsid.ring() == 2)
222  {
223  if (abs(Rsid.station()) == 1)
224  {
225  if (Rsid.roll() == 1)
226  CLS_Endcap_1_Ring2_A->Fill(ndigi);
227  if (Rsid.roll() == 2)
228  CLS_Endcap_1_Ring2_B->Fill(ndigi);
229  if (Rsid.roll() == 3)
230  CLS_Endcap_1_Ring2_C->Fill(ndigi);
231  }
232  if (abs(Rsid.station()) == 2 || abs(Rsid.station()) == 3)
233  {
234  if (Rsid.roll() == 1)
235  CLS_Endcap_23_Ring2_A->Fill(ndigi);
236  if (Rsid.roll() == 2)
237  CLS_Endcap_23_Ring2_B->Fill(ndigi);
238  if (Rsid.roll() == 3)
239  CLS_Endcap_23_Ring2_C->Fill(ndigi);
240  }
241  }
242  if (Rsid.ring() == 3)
243  {
244  if (Rsid.roll() == 1)
246  if (Rsid.roll() == 2)
248  if (Rsid.roll() == 3)
250  }
251  if (abs(Rsid.station()) == 4)
252  CLS_Endcap_4->Fill(ndigi);
253  }
254 
255  //cls histos
256  if (sims.size() == 1 && ndigi == 1)
257  {
258  double dis = roll->centreOfStrip(range.first->strip()).x() - sims[0];
259  Res->Fill(dis);
260 
261  if (Rsid.region() == 0)
262  {
263  if (Rsid.ring() == -2)
264  ResWmin2->Fill(dis);
265  else if (Rsid.ring() == -1)
266  ResWmin1->Fill(dis);
267  else if (Rsid.ring() == 0)
268  ResWzer0->Fill(dis);
269  else if (Rsid.ring() == 1)
270  ResWplu1->Fill(dis);
271  else if (Rsid.ring() == 2)
272  ResWplu2->Fill(dis);
273  //barrel layers
274  if (Rsid.station() == 1 && Rsid.layer() == 1)
275  ResLayer1_barrel->Fill(dis);
276  if (Rsid.station() == 1 && Rsid.layer() == 2)
277  ResLayer2_barrel->Fill(dis);
278  if (Rsid.station() == 2 && Rsid.layer() == 1)
279  ResLayer3_barrel->Fill(dis);
280  if (Rsid.station() == 2 && Rsid.layer() == 2)
281  ResLayer4_barrel->Fill(dis);
282  if (Rsid.station() == 3)
283  ResLayer5_barrel->Fill(dis);
284  if (Rsid.station() == 4)
285  ResLayer6_barrel->Fill(dis);
286  }
287  //endcap layers residuals
288  if (Rsid.region() != 0)
289  {
290  if (Rsid.ring() == 2)
291  {
292  if (abs(Rsid.station()) == 1)
293  {
294  if (Rsid.roll() == 1)
296  if (Rsid.roll() == 2)
298  if (Rsid.roll() == 3)
300  }
301  if (abs(Rsid.station()) == 2 || abs(Rsid.station()) == 3)
302  {
303  if (Rsid.roll() == 1)
305  if (Rsid.roll() == 2)
307  if (Rsid.roll() == 3)
309  }
310  }
311  if (Rsid.ring() == 3)
312  {
313  if (Rsid.roll() == 1)
315  if (Rsid.roll() == 2)
317  if (Rsid.roll() == 3)
319  }
320  }
321 
322  if (Rsid.region() == (+1))
323  {
324 
325  if (Rsid.station() == 1)
326  ResDplu1->Fill(dis);
327  else if (Rsid.station() == 2)
328  ResDplu2->Fill(dis);
329  else if (Rsid.station() == 3)
330  ResDplu3->Fill(dis);
331  else if (Rsid.station() == 4)
332  ResDplu4->Fill(dis);
333  }
334  if (Rsid.region() == (-1))
335  {
336 
337  if (Rsid.station() == 1)
338  ResDmin1->Fill(dis);
339  else if (Rsid.station() == 2)
340  ResDmin2->Fill(dis);
341  else if (Rsid.station() == 3)
342  ResDmin3->Fill(dis);
343  else if (Rsid.station() == 4)
344  ResDmin4->Fill(dis);
345  }
346  }
347  }
348 }
349 
351 {
352 }
353 
355 {
356  if (outputFile_.size() != 0 && dbe_)
358 
359 }
360 
362 {
363  countEvent = 0;
364 
365  if (dbe_)
366  {
367  dbe_->setCurrentFolder("RPCDigisV/RPCDigis");
368 
369  xyview = dbe_->book2D("X_Vs_Y_View", "X_Vs_Y_View", 155, -775., 775., 155, -775., 775.);
370 
371  xyvDplu4 = dbe_->book2D("Dplu4_XvsY", "Dplu4_XvsY", 155, -775., 775., 155, -775., 775.);
372  xyvDmin4 = dbe_->book2D("Dmin4_XvsY", "Dmin4_XvsY", 155, -775., 775., 155, -775., 775.);
373 
374  rzview = dbe_->book2D("R_Vs_Z_View", "R_Vs_Z_View", 216, -1080., 1080., 52, 260., 780.);
375  Res = dbe_->book1D("Digi_SimHit_difference", "Digi_SimHit_difference", 300, -8, 8);
376  ResWmin2 = dbe_->book1D("W_Min2_Residuals", "W_Min2_Residuals", 400, -8, 8);
377  ResWmin1 = dbe_->book1D("W_Min1_Residuals", "W_Min1_Residuals", 400, -8, 8);
378  ResWzer0 = dbe_->book1D("W_Zer0_Residuals", "W_Zer0_Residuals", 400, -8, 8);
379  ResWplu1 = dbe_->book1D("W_Plu1_Residuals", "W_Plu1_Residuals", 400, -8, 8);
380  ResWplu2 = dbe_->book1D("W_Plu2_Residuals", "W_Plu2_Residuals", 400, -8, 8);
381 
382  ResLayer1_barrel = dbe_->book1D("ResLayer1_barrel", "ResLayer1_barrel", 400, -8, 8);
383  ResLayer2_barrel = dbe_->book1D("ResLayer2_barrel", "ResLayer2_barrel", 400, -8, 8);
384  ResLayer3_barrel = dbe_->book1D("ResLayer3_barrel", "ResLayer3_barrel", 400, -8, 8);
385  ResLayer4_barrel = dbe_->book1D("ResLayer4_barrel", "ResLayer4_barrel", 400, -8, 8);
386  ResLayer5_barrel = dbe_->book1D("ResLayer5_barrel", "ResLayer5_barrel", 400, -8, 8);
387  ResLayer6_barrel = dbe_->book1D("ResLayer6_barrel", "ResLayer6_barrel", 400, -8, 8);
388 
389  BxDist = dbe_->book1D("Bunch_Crossing", "Bunch_Crossing", 20, -10., 10.);
390  StripProf = dbe_->book1D("Strip_Profile", "Strip_Profile", 100, 0, 100);
391 
392  BxDisc_4Plus = dbe_->book1D("BxDisc_4Plus", "BxDisc_4Plus", 20, -10., 10.);
393  BxDisc_4Min = dbe_->book1D("BxDisc_4Min", "BxDisc_4Min", 20, -10., 10.);
394 
395  //cls histos
396  noiseCLS = dbe_->book1D("noiseCLS", "noiseCLS", 10, 0.5, 10.5);
397  noiseCLSBarrel = dbe_->book1D("noiseCLSBarrel", "noiseCLSBarrel", 10, 0.5, 10.5);
398  noiseCLSEndcaps = dbe_->book1D("noiseCLSEndcaps", "noiseCLSEndcaps", 10, 0.5, 10.5);
399 
400  clsBarrel = dbe_->book1D("clsBarrel", "clsBarrel", 10, 0.5, 10.5);
401 
402  //endcap CLS
403  CLS_Endcap_1_Ring2_A = dbe_->book1D("CLS_Endcap_1_1Ring2_A", "CLS_Endcap_1_Ring2_A", 10, 0.5, 10.5);
404  CLS_Endcap_1_Ring2_B = dbe_->book1D("CLS_Endcap_1_1Ring2_B", "CLS_Endcap_1_Ring2_B", 10, 0.5, 10.5);
405  CLS_Endcap_1_Ring2_C = dbe_->book1D("CLS_Endcap_1_1Ring2_C", "CLS_Endcap_1_Ring2_C", 10, 0.5, 10.5);
406 
407  CLS_Endcap_23_Ring2_A = dbe_->book1D("CLS_Endcap_23_Ring2_A", "CLS_Endcap_23_Ring2_A", 10, 0.5, 10.5);
408  CLS_Endcap_23_Ring2_B = dbe_->book1D("CLS_Endcap_23_Ring2_B", "CLS_Endcap_23_Ring2_B", 10, 0.5, 10.5);
409  CLS_Endcap_23_Ring2_C = dbe_->book1D("CLS_Endcap_23_Ring2_C", "CLS_Endcap_23_Ring2_C", 10, 0.5, 10.5);
410 
411  CLS_Endcap_123_Ring3_A = dbe_->book1D("CLS_Endcap_123_Ring3_A", "CLS_Endcap_123_Ring3_A", 10, 0.5, 10.5);
412  CLS_Endcap_123_Ring3_B = dbe_->book1D("CLS_Endcap_123_Ring3_B", "CLS_Endcap_123_Ring3_B", 10, 0.5, 10.5);
413  CLS_Endcap_123_Ring3_C = dbe_->book1D("CLS_Endcap_123_Ring3_C", "CLS_Endcap_123_Ring3_C", 10, 0.5, 10.5);
414 
415  CLS_Endcap_4 = dbe_->book1D("CLS_Endcap_4", "CLS_Endcap_4", 10, 0.5, 10.5);
416 
417  //endcap residuals
418  ResDmin1 = dbe_->book1D("Disk_Min1_Residuals", "Disk_Min1_Residuals", 400, -8, 8);
419  ResDmin2 = dbe_->book1D("Disk_Min2_Residuals", "Disk_Min2_Residuals", 400, -8, 8);
420  ResDmin3 = dbe_->book1D("Disk_Min3_Residuals", "Disk_Min3_Residuals", 400, -8, 8);
421  ResDplu1 = dbe_->book1D("Disk_Plu1_Residuals", "Disk_Plu1_Residuals", 400, -8, 8);
422  ResDplu2 = dbe_->book1D("Disk_Plu2_Residuals", "Disk_Plu2_Residuals", 400, -8, 8);
423  ResDplu3 = dbe_->book1D("Disk_Plu3_Residuals", "Disk_Plu3_Residuals", 400, -8, 8);
424 
425  ResDmin4 = dbe_->book1D("Disk_Min4_Residuals", "Disk_Min4_Residuals", 400, -8, 8);
426  ResDplu4 = dbe_->book1D("Disk_Plu4_Residuals", "Disk_Plu4_Residuals", 400, -8, 8);
427 
428  Res_Endcap1_Ring2_A = dbe_->book1D("Res_Endcap1_Ring2_A", "Res_Endcap1_Ring2_A", 400, -8, 8);
429  Res_Endcap1_Ring2_B = dbe_->book1D("Res_Endcap1_Ring2_B", "Res_Endcap1_Ring2_B", 400, -8, 8);
430  Res_Endcap1_Ring2_C = dbe_->book1D("Res_Endcap1_Ring2_C", "Res_Endcap1_Ring2_C", 400, -8, 8);
431 
432  Res_Endcap23_Ring2_A = dbe_->book1D("Res_Endcap23_Ring2_A", "Res_Endcap23_Ring2_A", 400, -8, 8);
433  Res_Endcap23_Ring2_B = dbe_->book1D("Res_Endcap23_Ring2_B", "Res_Endcap23_Ring2_B", 400, -8, 8);
434  Res_Endcap23_Ring2_C = dbe_->book1D("Res_Endcap23_Ring2_C", "Res_Endcap23_Ring2_C", 400, -8, 8);
435 
436  Res_Endcap123_Ring3_A = dbe_->book1D("Res_Endcap123_Ring3_A", "Res_Endcap123_Ring3_A", 400, -8, 8);
437  Res_Endcap123_Ring3_B = dbe_->book1D("Res_Endcap123_Ring3_B", "Res_Endcap123_Ring3_B", 400, -8, 8);
438  Res_Endcap123_Ring3_C = dbe_->book1D("Res_Endcap123_Ring3_C", "Res_Endcap123_Ring3_C", 400, -8, 8);
439 
440  }//end dbe
441 }
442 
444 {
445 }
MonitorElement * CLS_Endcap_1_Ring2_A
Definition: RPCDigiValid.h:98
MonitorElement * CLS_Endcap_123_Ring3_A
Definition: RPCDigiValid.h:108
T getUntrackedParameter(std::string const &, T const &) const
MonitorElement * CLS_Endcap_1_Ring2_B
Definition: RPCDigiValid.h:99
LocalPoint centreOfStrip(int strip) const
Definition: RPCRoll.cc:52
MonitorElement * CLS_Endcap_23_Ring2_A
Definition: RPCDigiValid.h:103
const Topology & topology() const
Definition: RPCRoll.cc:30
T perp() const
Definition: PV3DBase.h:72
std::map< RPCDetId, double > mapRollCls
Definition: RPCDigiValid.h:124
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:872
std::map< RPCDetId, int > mapRollTruCount
Definition: RPCDigiValid.h:128
MonitorElement * noiseCLSEndcaps
Definition: RPCDigiValid.h:92
MonitorElement * ResLayer6_barrel
Definition: RPCDigiValid.h:66
MonitorElement * Res_Endcap1_Ring2_A
Definition: RPCDigiValid.h:77
std::map< RPCDetId, std::map< int, double > * > mapRollNoisyStripRate
Definition: RPCDigiValid.h:131
MonitorElement * Res_Endcap123_Ring3_A
Definition: RPCDigiValid.h:85
MonitorElement * ResLayer3_barrel
Definition: RPCDigiValid.h:63
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
Definition: GeomDet.h:47
int nstrips() const
Definition: RPCRoll.cc:46
T y() const
Definition: PV3DBase.h:63
MonitorElement * CLS_Endcap_4
Definition: RPCDigiValid.h:121
MonitorElement * ResWplu2
Definition: RPCDigiValid.h:56
RPCDigiValid(const edm::ParameterSet &ps)
Definition: RPCDigiValid.cc:18
DQMStore * dbe_
Definition: RPCDigiValid.h:134
MonitorElement * BxDisc_4Min
Definition: RPCDigiValid.h:118
MonitorElement * StripProf
Definition: RPCDigiValid.h:58
MonitorElement * Res
Definition: RPCDigiValid.h:51
void analyze(const edm::Event &e, const edm::EventSetup &c)
Definition: RPCDigiValid.cc:38
MonitorElement * ResWzer0
Definition: RPCDigiValid.h:54
std::string outputFile_
Definition: RPCDigiValid.h:135
std::map< RPCDetId, double > mapRollArea
Definition: RPCDigiValid.h:125
void beginRun(edm::Run const &, edm::EventSetup const &)
void Fill(long long x)
MonitorElement * ResDmin3
Definition: RPCDigiValid.h:71
uint32_t rawId() const
get the raw id
Definition: DetId.h:43
void endJob(void)
MonitorElement * ResLayer5_barrel
Definition: RPCDigiValid.h:65
MonitorElement * ResWmin1
Definition: RPCDigiValid.h:53
MonitorElement * ResLayer2_barrel
Definition: RPCDigiValid.h:62
RPCDetId id() const
Definition: RPCRoll.cc:24
int roll() const
Definition: RPCDetId.h:120
MonitorElement * ResDplu4
Definition: RPCDigiValid.h:116
MonitorElement * ResDplu3
Definition: RPCDigiValid.h:74
int ring() const
Definition: RPCDetId.h:72
MonitorElement * ResDmin1
Definition: RPCDigiValid.h:69
MonitorElement * ResWplu1
Definition: RPCDigiValid.h:55
T z() const
Definition: PV3DBase.h:64
MonitorElement * Res_Endcap123_Ring3_C
Definition: RPCDigiValid.h:87
MonitorElement * BxDisc_4Plus
Definition: RPCDigiValid.h:117
std::map< RPCDetId, std::string > mapRollName
Definition: RPCDigiValid.h:129
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
std::map< RPCDetId, double > mapRollStripArea
Definition: RPCDigiValid.h:126
MonitorElement * Res_Endcap123_Ring3_B
Definition: RPCDigiValid.h:86
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")
Definition: DQMStore.cc:2296
std::map< RPCDetId, int > mapRollFakeCount
Definition: RPCDigiValid.h:127
MonitorElement * CLS_Endcap_123_Ring3_B
Definition: RPCDigiValid.h:109
MonitorElement * ResWmin2
Definition: RPCDigiValid.h:52
MonitorElement * xyvDmin4
Definition: RPCDigiValid.h:120
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger but the state exists so we define the behavior If all triggers are the negative crieriion will lead to accepting the event(this again matches the behavior of"!*"before the partial wildcard feature was incorporated).The per-event"cost"of each negative criterion with multiple relevant triggers is about the same as!*was in the past
MonitorElement * CLS_Endcap_1_Ring2_C
Definition: RPCDigiValid.h:100
MonitorElement * ResDplu2
Definition: RPCDigiValid.h:73
DQMStore * dbe_
MonitorElement * Res_Endcap23_Ring2_C
Definition: RPCDigiValid.h:83
MonitorElement * ResLayer1_barrel
Definition: RPCDigiValid.h:61
int layer() const
Definition: RPCDetId.h:108
MonitorElement * Res_Endcap1_Ring2_B
Definition: RPCDigiValid.h:78
const T & get() const
Definition: EventSetup.h:55
MonitorElement * noiseCLS
Definition: RPCDigiValid.h:90
MonitorElement * ResDmin2
Definition: RPCDigiValid.h:70
std::vector< RPCDigi >::const_iterator const_iterator
edm::EDGetTokenT< RPCDigiCollection > rpcDigiToken
Definition: RPCDigiValid.h:140
MonitorElement * Res_Endcap23_Ring2_A
Definition: RPCDigiValid.h:81
std::map< RPCDetId, std::map< int, double > * > mapRollStripRate
Definition: RPCDigiValid.h:130
MonitorElement * BxDist
Definition: RPCDigiValid.h:57
MonitorElement * clsBarrel
Definition: RPCDigiValid.h:94
MonitorElement * ResDmin4
Definition: RPCDigiValid.h:115
MonitorElement * ResLayer4_barrel
Definition: RPCDigiValid.h:64
MonitorElement * CLS_Endcap_123_Ring3_C
Definition: RPCDigiValid.h:110
std::pair< const_iterator, const_iterator > Range
MonitorElement * xyview
Definition: RPCDigiValid.h:49
MonitorElement * ResDplu1
Definition: RPCDigiValid.h:72
edm::EDGetTokenT< edm::PSimHitContainer > simHitToken
Definition: RPCDigiValid.h:139
Definition: DDAxes.h:10
void endRun(edm::Run const &, edm::EventSetup const &)
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:1000
MonitorElement * Res_Endcap23_Ring2_B
Definition: RPCDigiValid.h:82
T x() const
Definition: PV3DBase.h:62
MonitorElement * xyvDplu4
Definition: RPCDigiValid.h:119
MonitorElement * CLS_Endcap_23_Ring2_C
Definition: RPCDigiValid.h:105
MonitorElement * Res_Endcap1_Ring2_C
Definition: RPCDigiValid.h:79
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:584
Definition: Run.h:41
MonitorElement * CLS_Endcap_23_Ring2_B
Definition: RPCDigiValid.h:104
MonitorElement * rzview
Definition: RPCDigiValid.h:50
int region() const
Region id: 0 for Barrel, +/-1 For +/- Endcap.
Definition: RPCDetId.h:63
int station() const
Definition: RPCDetId.h:96
MonitorElement * noiseCLSBarrel
Definition: RPCDigiValid.h:91