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.
9 
15 #include <cmath>
16 
18 
19 using namespace std;
20 using namespace edm;
21 
23  dbe_(0)
24 {
25 
26  digiLabel = ps.getUntrackedParameter<std::string> ("digiLabel");
27  outputFile_ = ps.getUntrackedParameter<string> ("outputFile", "rpcDigiValidPlots.root");
29 
30 }
31 
33 {
34 }
35 
37 {
38  countEvent = 0;
39 
40  if (dbe_)
41  {
42  dbe_->setCurrentFolder("RPCDigisV/RPCDigis");
43 
44  xyview = dbe_->book2D("X_Vs_Y_View", "X_Vs_Y_View", 155, -775., 775., 155, -775., 775.);
45 
46  rzview = dbe_->book2D("R_Vs_Z_View", "R_Vs_Z_View", 200, -1000., 1000., 52, 260., 780.);
47  Res = dbe_->book1D("Digi_SimHit_difference", "Digi_SimHit_difference", 300, -8, 8);
48  ResWmin2 = dbe_->book1D("W_Min2_Residuals", "W_Min2_Residuals", 400, -8, 8);
49  ResWmin1 = dbe_->book1D("W_Min1_Residuals", "W_Min1_Residuals", 400, -8, 8);
50  ResWzer0 = dbe_->book1D("W_Zer0_Residuals", "W_Zer0_Residuals", 400, -8, 8);
51  ResWplu1 = dbe_->book1D("W_Plu1_Residuals", "W_Plu1_Residuals", 400, -8, 8);
52  ResWplu2 = dbe_->book1D("W_Plu2_Residuals", "W_Plu2_Residuals", 400, -8, 8);
53 
54  ResLayer1_barrel = dbe_->book1D("ResLayer1_barrel", "ResLayer1_barrel", 400, -8, 8);
55  ResLayer2_barrel = dbe_->book1D("ResLayer2_barrel", "ResLayer2_barrel", 400, -8, 8);
56  ResLayer3_barrel = dbe_->book1D("ResLayer3_barrel", "ResLayer3_barrel", 400, -8, 8);
57  ResLayer4_barrel = dbe_->book1D("ResLayer4_barrel", "ResLayer4_barrel", 400, -8, 8);
58  ResLayer5_barrel = dbe_->book1D("ResLayer5_barrel", "ResLayer5_barrel", 400, -8, 8);
59  ResLayer6_barrel = dbe_->book1D("ResLayer6_barrel", "ResLayer6_barrel", 400, -8, 8);
60 
61  BxDist = dbe_->book1D("Bunch_Crossing", "Bunch_Crossing", 20, -10., 10.);
62  BxDist_whMin2 = dbe_->book1D("BX_wheelMin2", "BX_wheelMin2", 20, -10., 10.);
63  BxDist_whMin1 = dbe_->book1D("BX_wheelMin1", "BX_wheelMin1", 20, -10., 10.);
64  BxDist_wh0 = dbe_->book1D("BX_wheel0", "BX_wheel0", 11, -5.5, 5.5);
65  BxDist_wh0_st1 = dbe_->book1D("BxDist_wh0_st1", "BxDist_wh0_st1", 11, -5.5, 5.5);
66  BxDist_whPlu1 = dbe_->book1D("BX_wheelPlus1", "BX_wheelPlu1", 20, -10., 10.);
67  BxDist_whPlu2 = dbe_->book1D("BX_wheelPlu2", "BX_wheelPlu2", 20, -10., 10.);
68  StripProf = dbe_->book1D("Strip_Profile", "Strip_Profile", 100, 0, 100);
69 
70  //cls histos
71  noiseCLS = dbe_->book1D("noiseCLS", "noiseCLS", 10, 0.5, 10.5);
72 
73  clsBarrel = dbe_->book1D("clsBarrel", "clsBarrel", 10, 0.5, 10.5);
74  clsLayer1 = dbe_->book1D("clsLayer1", "clsLayer1", 10, 0.5, 10.5);
75  clsLayer2 = dbe_->book1D("clsLayer2", "clsLayer2", 10, 0.5, 10.5);
76  clsLayer3 = dbe_->book1D("clsLayer3", "clsLayer3", 10, 0.5, 10.5);
77  clsLayer4 = dbe_->book1D("clsLayer4", "clsLayer4", 10, 0.5, 10.5);
78  clsLayer5 = dbe_->book1D("clsLayer5", "clsLayer5", 10, 0.5, 10.5);
79  clsLayer6 = dbe_->book1D("clsLayer6", "clsLayer6", 10, 0.5, 10.5);
80 
81  //endcap CLS
82  CLS_Endcap_1_Ring2_A = dbe_->book1D("CLS_Endcap_1_1Ring2_A", "CLS_Endcap_1_Ring2_A", 10, 0.5, 10.5);
83  CLS_Endcap_1_Ring2_B = dbe_->book1D("CLS_Endcap_1_1Ring2_B", "CLS_Endcap_1_Ring2_B", 10, 0.5, 10.5);
84  CLS_Endcap_1_Ring2_C = dbe_->book1D("CLS_Endcap_1_1Ring2_C", "CLS_Endcap_1_Ring2_C", 10, 0.5, 10.5);
85 
86  CLS_Endcap_23_Ring2_A = dbe_->book1D("CLS_Endcap_23_Ring2_A", "CLS_Endcap_23_Ring2_A", 10, 0.5, 10.5);
87  CLS_Endcap_23_Ring2_B = dbe_->book1D("CLS_Endcap_23_Ring2_B", "CLS_Endcap_23_Ring2_B", 10, 0.5, 10.5);
88  CLS_Endcap_23_Ring2_C = dbe_->book1D("CLS_Endcap_23_Ring2_C", "CLS_Endcap_23_Ring2_C", 10, 0.5, 10.5);
89 
90  CLS_Endcap_123_Ring3_A = dbe_->book1D("CLS_Endcap_123_Ring3_A", "CLS_Endcap_123_Ring3_A", 10, 0.5, 10.5);
91  CLS_Endcap_123_Ring3_B = dbe_->book1D("CLS_Endcap_123_Ring3_B", "CLS_Endcap_123_Ring3_B", 10, 0.5, 10.5);
92  CLS_Endcap_123_Ring3_C = dbe_->book1D("CLS_Endcap_123_Ring3_C", "CLS_Endcap_123_Ring3_C", 10, 0.5, 10.5);
93  //endcap residuals
94  ResDmin1 = dbe_->book1D("Disk_Min1_Residuals", "Disk_Min1_Residuals", 400, -8, 8);
95  ResDmin2 = dbe_->book1D("Disk_Min2_Residuals", "Disk_Min2_Residuals", 400, -8, 8);
96  ResDmin3 = dbe_->book1D("Disk_Min3_Residuals", "Disk_Min3_Residuals", 400, -8, 8);
97  ResDplu1 = dbe_->book1D("Disk_Plu1_Residuals", "Disk_Plu1_Residuals", 400, -8, 8);
98  ResDplu2 = dbe_->book1D("Disk_Plu2_Residuals", "Disk_Plu2_Residuals", 400, -8, 8);
99  ResDplu3 = dbe_->book1D("Disk_Plu3_Residuals", "Disk_Plu3_Residuals", 400, -8, 8);
100 
101  Res_Endcap1_Ring2_A = dbe_->book1D("Res_Endcap1_Ring2_A", "Res_Endcap1_Ring2_A", 400, -8, 8);
102  Res_Endcap1_Ring2_B = dbe_->book1D("Res_Endcap1_Ring2_B", "Res_Endcap1_Ring2_B", 400, -8, 8);
103  Res_Endcap1_Ring2_C = dbe_->book1D("Res_Endcap1_Ring2_C", "Res_Endcap1_Ring2_C", 400, -8, 8);
104 
105  Res_Endcap23_Ring2_A = dbe_->book1D("Res_Endcap23_Ring2_A", "Res_Endcap23_Ring2_A", 400, -8, 8);
106  Res_Endcap23_Ring2_B = dbe_->book1D("Res_Endcap23_Ring2_B", "Res_Endcap23_Ring2_B", 400, -8, 8);
107  Res_Endcap23_Ring2_C = dbe_->book1D("Res_Endcap23_Ring2_C", "Res_Endcap23_Ring2_C", 400, -8, 8);
108 
109  Res_Endcap123_Ring3_A = dbe_->book1D("Res_Endcap123_Ring3_A", "Res_Endcap123_Ring3_A", 400, -8, 8);
110  Res_Endcap123_Ring3_B = dbe_->book1D("Res_Endcap123_Ring3_B", "Res_Endcap123_Ring3_B", 400, -8, 8);
111  Res_Endcap123_Ring3_C = dbe_->book1D("Res_Endcap123_Ring3_C", "Res_Endcap123_Ring3_C", 400, -8, 8);
112 
113  }//end dbe
114 }
115 
117 {
118  if (outputFile_.size() != 0 && dbe_)
120 
121 }
122 
123 void RPCDigiValid::analyze(const Event& event, const EventSetup& eventSetup)
124 {
125 
126  countEvent++;
127  // cout << endl <<"--- [RPCDigiQuality] Analysing Event: #Run: " << event.id().run()
128  // << " #Event: " << event.id().event() << endl;
129 
130  // Get the RPC Geometry
132  eventSetup.get<MuonGeometryRecord> ().get(rpcGeom);
133 
135  event.getByLabel("g4SimHits", "MuonRPCHits", simHit);
136 
138  event.getByLabel(digiLabel, rpcDigis);
139 
140  // Loop on simhits
141  PSimHitContainer::const_iterator simIt;
142 
143  //loop over Simhit
144  std::map<RPCDetId, std::vector<double> > allsims;
145 
146  for (simIt = simHit->begin(); simIt != simHit->end(); simIt++)
147  {
148  RPCDetId Rsid = (RPCDetId)(*simIt).detUnitId();
149  const RPCRoll* soll = dynamic_cast<const RPCRoll*> (rpcGeom->roll(Rsid));
150  int ptype = simIt->particleType();
151 
152  // std::cout <<"This is a Simhit with Parent "<<ptype<<std::endl;
153  if (ptype == 13 || ptype == -13)
154  {
155 
156  std::vector<double> buff;
157  if (allsims.find(Rsid) != allsims.end())
158  {
159  buff = allsims[Rsid];
160  }
161 
162  buff.push_back(simIt->localPosition().x());
163 
164  allsims[Rsid] = buff;
165 
166  // std::cout << "allsims[Rsid] = " << std::endl;
167  }
168  GlobalPoint p = soll->toGlobal(simIt->localPosition());
169 
170  double sim_x = p.x();
171  double sim_y = p.y();
172 
173  xyview->Fill(sim_x, sim_y);
174  rzview->Fill(p.z(), p.perp());
175  }
176  //loop over Digis
178  for (detUnitIt = rpcDigis->begin(); detUnitIt != rpcDigis->end(); ++detUnitIt)
179  {
180  const RPCDetId Rsid = (*detUnitIt).first;
181  const RPCRoll* roll = dynamic_cast<const RPCRoll*> (rpcGeom->roll(Rsid));
182 
183  RPCGeomServ rpcsrv(roll->id());
184  std::string name = rpcsrv.name();
185  //std:: cout << (roll->id().rawId()) << "\t" << name << std::endl;
186 
187  const RPCDigiCollection::Range& range = (*detUnitIt).second;
188  std::vector<double> sims;
189  if (allsims.find(Rsid) != allsims.end())
190  {
191  sims = allsims[Rsid];
192  }
193  //int ndigi=0;
194  double ndigi = 0;
195  for (RPCDigiCollection::const_iterator digiIt = range.first; digiIt != range.second; ++digiIt)
196  {
197  StripProf->Fill(digiIt->strip());
198  BxDist->Fill(digiIt->bx());
199  //bx for different wheels
200  if (Rsid.region() == 0)
201  {
202  if (Rsid.ring() == -2)
203  {
204  BxDist_whMin2->Fill(digiIt->bx());
205  }
206  if (Rsid.ring() == -1)
207  {
208  BxDist_whMin1->Fill(digiIt->bx());
209  }
210  if (Rsid.ring() == 0)
211  {
212  BxDist_wh0->Fill(digiIt->bx());
213  if (Rsid.layer() == 1 || Rsid.layer() == 2)
214  {
215  BxDist_wh0_st1->Fill(digiIt->bx());
216  }
217  }
218  if (Rsid.ring() == +1)
219  {
220  BxDist_whPlu1->Fill(digiIt->bx());
221  }
222  if (Rsid.ring() == +2)
223  {
224  BxDist_whPlu2->Fill(digiIt->bx());
225  }
226  }
227 
228  map<int, double>* stripRate = mapRollStripRate[Rsid.rawId()];
229  map<int, double>* stripNoisyRate = mapRollNoisyStripRate[Rsid.rawId()];
230  //init map strip rate
231  if (stripRate == 0)
232  {
233  stripRate = new map<int, double> ();
234  mapRollStripRate[Rsid.rawId()] = stripRate;
235  }
236  (*stripRate)[digiIt->strip()] += 1;
237  //noisy only
238  if (sims.size() == 0)
239  {
240  if (stripNoisyRate == 0)
241  {
242  stripNoisyRate = new map<int, double> ();
243  mapRollNoisyStripRate[Rsid.rawId()] = stripNoisyRate;
244  }
245  (*stripNoisyRate)[digiIt->strip()] += 1;
246 
247  }
248  // std::cout << Rsid.rawId() << "\tstrip = " << digiIt->strip() << std::endl;
249  ndigi++;
250  // std::cout << "digis = " << ndigi << std::endl;
251  }
252 
253  double area = 0.0;
254  double stripArea = 0.0;
255 
256  if (Rsid.region() == 0)
257  {
258  const RectangularStripTopology* top_ = dynamic_cast<const RectangularStripTopology*> (&(roll->topology()));
259  float xmin = (top_->localPosition(0.)).x();
260  float xmax = (top_->localPosition((float) roll->nstrips())).x();
261  float striplength = (top_->stripLength());
262  area = striplength * (xmax - xmin);
263  stripArea = area / ((float) roll->nstrips());
264  }
265  else
266  {
267  const TrapezoidalStripTopology* top_ = dynamic_cast<const TrapezoidalStripTopology*> (&(roll->topology()));
268  float xmin = (top_->localPosition(0.)).x();
269  float xmax = (top_->localPosition((float) roll->nstrips())).x();
270  float striplength = (top_->stripLength());
271  area = striplength * (xmax - xmin);
272  stripArea = area / ((float) roll->nstrips());
273  }
274  mapRollTruCount[Rsid] += 1;
275 
276  if (sims.size() == 0)
277  {
278  noiseCLS->Fill(ndigi);
279 
280  mapRollCls[Rsid] += ndigi;
281  mapRollFakeCount[Rsid] += 1;
282  }
283  mapRollArea[Rsid] = area;
284  mapRollStripArea[Rsid] = stripArea;
285  mapRollName[Rsid] = name;
286 
287  //CLS histos
288  if (Rsid.region() == 0)
289  {
290  clsBarrel->Fill(ndigi);
291  if (Rsid.station() == 1 && Rsid.layer() == 1)
292  {
293  clsLayer1->Fill(ndigi);
294  }
295  if (Rsid.station() == 1 && Rsid.layer() == 2)
296  {
297  clsLayer2->Fill(ndigi);
298  }
299  if (Rsid.station() == 2 && Rsid.layer() == 1)
300  {
301  clsLayer3->Fill(ndigi);
302  }
303  if (Rsid.station() == 2 && Rsid.layer() == 2)
304  ;
305  {
306  clsLayer4->Fill(ndigi);
307  }
308  if (Rsid.station() == 3)
309  {
310  clsLayer5->Fill(ndigi);
311  }
312  if (Rsid.station() == 4)
313  {
314  clsLayer6->Fill(ndigi);
315  }
316  }
317  //endcap
318  if (Rsid.region() != 0)
319  {
320  if (Rsid.ring() == 2)
321  {
322  if (abs(Rsid.station()) == 1)
323  {
324  if (Rsid.roll() == 1)
325  CLS_Endcap_1_Ring2_A->Fill(ndigi);
326  if (Rsid.roll() == 2)
327  CLS_Endcap_1_Ring2_B->Fill(ndigi);
328  if (Rsid.roll() == 3)
329  CLS_Endcap_1_Ring2_C->Fill(ndigi);
330  }
331  if (abs(Rsid.station()) == 2 || abs(Rsid.station()) == 3)
332  {
333  if (Rsid.roll() == 1)
334  CLS_Endcap_23_Ring2_A->Fill(ndigi);
335  if (Rsid.roll() == 2)
336  CLS_Endcap_23_Ring2_B->Fill(ndigi);
337  if (Rsid.roll() == 3)
338  CLS_Endcap_23_Ring2_C->Fill(ndigi);
339  }
340  }
341  if (Rsid.ring() == 3)
342  {
343  if (Rsid.roll() == 1)
345  if (Rsid.roll() == 2)
347  if (Rsid.roll() == 3)
349  }
350  }
351 
352  //cls histos
353  if (sims.size() == 1 && ndigi == 1)
354  {
355  double dis = roll->centreOfStrip(range.first->strip()).x() - sims[0];
356  Res->Fill(dis);
357 
358  if (Rsid.region() == 0)
359  {
360  if (Rsid.ring() == -2)
361  ResWmin2->Fill(dis);
362  else if (Rsid.ring() == -1)
363  ResWmin1->Fill(dis);
364  else if (Rsid.ring() == 0)
365  ResWzer0->Fill(dis);
366  else if (Rsid.ring() == 1)
367  ResWplu1->Fill(dis);
368  else if (Rsid.ring() == 2)
369  ResWplu2->Fill(dis);
370  //barrel layers
371  if (Rsid.station() == 1 && Rsid.layer() == 1)
372  ResLayer1_barrel->Fill(dis);
373  if (Rsid.station() == 1 && Rsid.layer() == 2)
374  ResLayer2_barrel->Fill(dis);
375  if (Rsid.station() == 2 && Rsid.layer() == 1)
376  ResLayer3_barrel->Fill(dis);
377  if (Rsid.station() == 2 && Rsid.layer() == 2)
378  ResLayer4_barrel->Fill(dis);
379  if (Rsid.station() == 3)
380  ResLayer5_barrel->Fill(dis);
381  if (Rsid.station() == 4)
382  ResLayer6_barrel->Fill(dis);
383  }
384  //endcap layers residuals
385  if (Rsid.region() != 0)
386  {
387  if (Rsid.ring() == 2)
388  {
389  if (abs(Rsid.station()) == 1)
390  {
391  if (Rsid.roll() == 1)
393  if (Rsid.roll() == 2)
395  if (Rsid.roll() == 3)
397  }
398  if (abs(Rsid.station()) == 2 || abs(Rsid.station()) == 3)
399  {
400  if (Rsid.roll() == 1)
402  if (Rsid.roll() == 2)
404  if (Rsid.roll() == 3)
406  }
407  }
408  if (Rsid.ring() == 3)
409  {
410  if (Rsid.roll() == 1)
412  if (Rsid.roll() == 2)
414  if (Rsid.roll() == 3)
416  }
417  }
418 
419  if (Rsid.region() == (+1))
420  {
421 
422  if (Rsid.station() == 1)
423  ResDplu1->Fill(dis);
424  else if (Rsid.station() == 2)
425  ResDplu2->Fill(dis);
426  else if (Rsid.station() == 3)
427  ResDplu3->Fill(dis);
428  }
429  if (Rsid.region() == (-1))
430  {
431 
432  if (Rsid.station() == 1)
433  ResDmin1->Fill(dis);
434  else if (Rsid.station() == 2)
435  ResDmin2->Fill(dis);
436  else if (Rsid.station() == 3)
437  ResDmin3->Fill(dis);
438  }
439  }
440  }
441 }
MonitorElement * CLS_Endcap_1_Ring2_A
Definition: RPCDigiValid.h:103
MonitorElement * BxDist_wh0_st1
Definition: RPCDigiValid.h:57
MonitorElement * CLS_Endcap_123_Ring3_A
Definition: RPCDigiValid.h:113
T getUntrackedParameter(std::string const &, T const &) const
MonitorElement * CLS_Endcap_1_Ring2_B
Definition: RPCDigiValid.h:104
LocalPoint centreOfStrip(int strip) const
Definition: RPCRoll.cc:52
MonitorElement * BxDist_whPlu1
Definition: RPCDigiValid.h:58
MonitorElement * CLS_Endcap_23_Ring2_A
Definition: RPCDigiValid.h:108
const Topology & topology() const
Definition: RPCRoll.cc:30
T perp() const
Definition: PV3DBase.h:72
std::map< RPCDetId, double > mapRollCls
Definition: RPCDigiValid.h:119
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
Definition: DQMStore.cc:722
std::map< RPCDetId, int > mapRollTruCount
Definition: RPCDigiValid.h:123
MonitorElement * ResLayer6_barrel
Definition: RPCDigiValid.h:67
MonitorElement * Res_Endcap1_Ring2_A
Definition: RPCDigiValid.h:78
MonitorElement * clsLayer5
Definition: RPCDigiValid.h:98
std::map< RPCDetId, std::map< int, double > * > mapRollNoisyStripRate
Definition: RPCDigiValid.h:126
MonitorElement * Res_Endcap123_Ring3_A
Definition: RPCDigiValid.h:86
MonitorElement * ResLayer3_barrel
Definition: RPCDigiValid.h:64
GlobalPoint toGlobal(const Local2DPoint &lp) const
Conversion to the global R.F. from the R.F. of the GeomDet.
Definition: GeomDet.h:47
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:2118
int nstrips() const
Definition: RPCRoll.cc:46
MonitorElement * BxDist_whMin1
Definition: RPCDigiValid.h:55
T y() const
Definition: PV3DBase.h:63
#define abs(x)
Definition: mlp_lapack.h:159
MonitorElement * ResWplu2
Definition: RPCDigiValid.h:50
RPCDigiValid(const edm::ParameterSet &ps)
Definition: RPCDigiValid.cc:22
DQMStore * dbe_
Definition: RPCDigiValid.h:129
MonitorElement * StripProf
Definition: RPCDigiValid.h:52
MonitorElement * Res
Definition: RPCDigiValid.h:45
void analyze(const edm::Event &e, const edm::EventSetup &c)
MonitorElement * ResWzer0
Definition: RPCDigiValid.h:48
std::string outputFile_
Definition: RPCDigiValid.h:130
std::map< RPCDetId, double > mapRollArea
Definition: RPCDigiValid.h:120
void Fill(long long x)
MonitorElement * BxDist_whPlu2
Definition: RPCDigiValid.h:59
MonitorElement * ResDmin3
Definition: RPCDigiValid.h:72
uint32_t rawId() const
get the raw id
Definition: DetId.h:45
void endJob(void)
MonitorElement * ResLayer5_barrel
Definition: RPCDigiValid.h:66
MonitorElement * clsLayer6
Definition: RPCDigiValid.h:99
MonitorElement * ResWmin1
Definition: RPCDigiValid.h:47
MonitorElement * ResLayer2_barrel
Definition: RPCDigiValid.h:63
RPCDetId id() const
Definition: RPCRoll.cc:24
MonitorElement * clsLayer3
Definition: RPCDigiValid.h:96
int roll() const
Definition: RPCDetId.h:123
MonitorElement * ResDplu3
Definition: RPCDigiValid.h:75
int ring() const
Definition: RPCDetId.h:75
MonitorElement * ResDmin1
Definition: RPCDigiValid.h:70
MonitorElement * ResWplu1
Definition: RPCDigiValid.h:49
T z() const
Definition: PV3DBase.h:64
MonitorElement * Res_Endcap123_Ring3_C
Definition: RPCDigiValid.h:88
std::map< RPCDetId, std::string > mapRollName
Definition: RPCDigiValid.h:124
std::map< RPCDetId, double > mapRollStripArea
Definition: RPCDigiValid.h:121
MonitorElement * Res_Endcap123_Ring3_B
Definition: RPCDigiValid.h:87
MonitorElement * clsLayer4
Definition: RPCDigiValid.h:97
std::map< RPCDetId, int > mapRollFakeCount
Definition: RPCDigiValid.h:122
MonitorElement * CLS_Endcap_123_Ring3_B
Definition: RPCDigiValid.h:114
MonitorElement * ResWmin2
Definition: RPCDigiValid.h:46
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:105
MonitorElement * ResDplu2
Definition: RPCDigiValid.h:74
DQMStore * dbe_
MonitorElement * Res_Endcap23_Ring2_C
Definition: RPCDigiValid.h:84
MonitorElement * ResLayer1_barrel
Definition: RPCDigiValid.h:62
int layer() const
Definition: RPCDetId.h:111
MonitorElement * clsLayer1
Definition: RPCDigiValid.h:94
MonitorElement * Res_Endcap1_Ring2_B
Definition: RPCDigiValid.h:79
MonitorElement * clsLayer2
Definition: RPCDigiValid.h:95
const T & get() const
Definition: EventSetup.h:55
MonitorElement * noiseCLS
Definition: RPCDigiValid.h:91
MonitorElement * ResDmin2
Definition: RPCDigiValid.h:71
MonitorElement * BxDist_wh0
Definition: RPCDigiValid.h:56
std::vector< DigiType >::const_iterator const_iterator
MonitorElement * BxDist_whMin2
Definition: RPCDigiValid.h:54
MonitorElement * Res_Endcap23_Ring2_A
Definition: RPCDigiValid.h:82
std::map< RPCDetId, std::map< int, double > * > mapRollStripRate
Definition: RPCDigiValid.h:125
MonitorElement * BxDist
Definition: RPCDigiValid.h:51
MonitorElement * clsBarrel
Definition: RPCDigiValid.h:93
MonitorElement * ResLayer4_barrel
Definition: RPCDigiValid.h:65
MonitorElement * CLS_Endcap_123_Ring3_C
Definition: RPCDigiValid.h:115
std::pair< const_iterator, const_iterator > Range
std::string digiLabel
Definition: RPCDigiValid.h:131
MonitorElement * xyview
Definition: RPCDigiValid.h:43
MonitorElement * ResDplu1
Definition: RPCDigiValid.h:73
Definition: DDAxes.h:10
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:850
MonitorElement * Res_Endcap23_Ring2_B
Definition: RPCDigiValid.h:83
T x() const
Definition: PV3DBase.h:62
void beginJob()
Definition: RPCDigiValid.cc:36
MonitorElement * CLS_Endcap_23_Ring2_C
Definition: RPCDigiValid.h:110
MonitorElement * Res_Endcap1_Ring2_C
Definition: RPCDigiValid.h:80
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:434
MonitorElement * CLS_Endcap_23_Ring2_B
Definition: RPCDigiValid.h:109
MonitorElement * rzview
Definition: RPCDigiValid.h:44
int region() const
Region id: 0 for Barrel, +/-1 For +/- Endcap.
Definition: RPCDetId.h:66
int station() const
Definition: RPCDetId.h:99