36 Rechisto = dbe_->book1D(
"RecHits",
"RPC RecHits", 300, -150, 150);
37 Simhisto = dbe_->book1D(
"SimHits",
"Simulated Hits", 300, -150, 150);
38 Pulls = dbe_->book1D(
"Global Pulls",
"RPC Global Pulls", 100, -4,4);
39 ClSize = dbe_->book1D(
"Global ClSize",
"Global Cluster Size", 10, 0, 10);
40 res1cl = dbe_->book1D(
"Residuals CS = 1",
"Residuals for ClSize = 1", 300, -8, 8);
52 dbe_->setCurrentFolder(
"Residuals and Occupancy");
53 occRB1IN = dbe_->book1D(
"RB1 IN Occupancy",
"RB1 IN Occupancy", 100, 0, 100);
54 occRB1OUT = dbe_->book1D(
"RB1 OUT Occupancy",
"RB1 OUT Occupancy", 100, 0, 100);
57 Res = dbe_->book1D(
"Global Residuals",
"Global Residuals", 300, -8, 8);
58 ResWmin2 = dbe_->book1D(
"W-2 Residuals",
"Residuals for Wheel -2", 300, -8, 8);
59 ResWmin1 = dbe_->book1D(
"W-1 Residuals",
"Residuals for Wheel -1", 300, -8, 8);
60 ResWzer0 = dbe_->book1D(
"W 0 Residuals",
"Residuals for Wheel 0", 300, -8, 8);
61 ResWplu1 = dbe_->book1D(
"W+1 Residuals",
"Residuals for Wheel +1", 300, -8, 8);
62 ResWplu2 = dbe_->book1D(
"W+2 Residuals",
"Residuals for Wheel +2", 300, -8, 8);
63 ResS1 = dbe_->book1D(
"Sector 1 Residuals",
"Sector 1 Residuals", 300, -8, 8);
64 ResS3 = dbe_->book1D(
"Sector 3 Residuals",
"Sector 3 Residuals", 300, -8, 8);
79 if ( rootFileName.size() != 0 &&
dbe_ )
dbe_->
save(rootFileName);
91 event.getByLabel(
"g4SimHits",
"MuonRPCHits", simHit);
92 std::map<double, int> mapsim;
93 std::map<int, double> nmapsim;
94 std::map<double, int> simWmin2;
95 std::map<double, int> simWmin1;
96 std::map<double, int> simWzer0;
97 std::map<double, int> simWplu1;
98 std::map<double, int> simWplu2;
99 std::map<double, int> simS1;
100 std::map<double, int> simS3;
101 std::map<int, double> nsimWmin2;
102 std::map<int, double> nsimWmin1;
103 std::map<int, double> nsimWzer0;
104 std::map<int, double> nsimWplu1;
105 std::map<int, double> nsimWplu2;
106 std::map<int, double> nsimS1;
107 std::map<int, double> nsimS3;
110 event.getByLabel(
"rpcRecHits", recHit);
111 std::map<double, int> maprec;
112 std::map<int, double> nmaprec;
113 std::map<double, double> nmaperr;
114 std::map<int, double> nmapres;
116 std::map<double, int> maprecCL1;
117 std::map<int, double> nmaprecCL1;
119 std::map<double, int> recWmin2;
120 std::map<double, int> recWmin1;
121 std::map<double, int> recWzer0;
122 std::map<double, int> recWplu1;
123 std::map<double, int> recWplu2;
124 std::map<double, int> recS1;
125 std::map<double, int> recS3;
126 std::map<int, double> nrecWmin2;
127 std::map<int, double> nrecWmin1;
128 std::map<int, double> nrecWzer0;
129 std::map<int, double> nrecWplu1;
130 std::map<int, double> nrecWplu2;
131 std::map<int, double> nrecS1;
132 std::map<int, double> nrecS3;
133 std::map<double, double> errWmin2;
134 std::map<double, double> errWmin1;
135 std::map<double, double> errWzer0;
136 std::map<double, double> errWplu1;
137 std::map<double, double> errWplu2;
152 for (recIt = recHit->begin(); recIt != recHit->end(); recIt++) {
154 const RPCRoll* roll =
dynamic_cast<const RPCRoll*
>( rpcGeom->roll(Rid));
156 int clsize = (*recIt).clusterSize();
157 int fstrip = (*recIt).firstClusterStrip();
160 LocalPoint rhitlocal = (*recIt).localPosition();
161 LocalError locerr = (*recIt).localPositionError();
162 double rhitlocalx = rhitlocal.
x();
163 double rhiterrx = locerr.
xx();
164 Rechisto->Fill(rhitlocalx);
165 int wheel = roll->
id().
ring();
173 maprecCL1[rhitlocalx] = nrec;
174 nrecCL1 = nrecCL1 + 1;
178 ClSize->Fill(clsize);
182 for (
int occ = 0; occ < clsize; occ++) {
183 int occup = fstrip + occ;
184 if (station == 1 && k == 1) {
185 occRB1IN->Fill(occup);
187 if (station == 1 && k == 2) {
188 occRB1OUT->Fill(occup);
193 maprec[rhitlocalx] = nrec;
194 nmaperr[rhitlocalx] = rhiterrx;
198 recS1[rhitlocalx] = nrec;
199 nrecS1c = nrecS1c + 1;
202 recS3[rhitlocalx] = nrec;
203 nrecS3c = nrecS3c + 1;
208 recWmin2[rhitlocalx] = nrec;
209 errWmin2[rhitlocalx] = rhiterrx;
210 nrecmin2 = nrecmin2 + 1;
213 recWmin1[rhitlocalx] = nrec;
214 errWmin1[rhitlocalx] = rhiterrx;
215 nrecmin1 = nrecmin1 + 1;
218 recWzer0[rhitlocalx] = nrec;
219 errWzer0[rhitlocalx] = rhiterrx;
220 nreczer0 = nreczer0 + 1;
223 recWplu1[rhitlocalx] = nrec;
224 errWplu1[rhitlocalx] = rhiterrx;
225 nrecplu1 = nrecplu1 + 1;
228 recWplu2[rhitlocalx] = nrec;
229 errWplu2[rhitlocalx] = rhiterrx;
230 nrecplu2 = nrecplu2 + 1;
237 for (map<double, int>::iterator iter = maprec.begin(); iter != maprec.end(); iter++) {
239 nmaprec[
i] = (*iter).first;
243 for (map<double, int>::iterator iter = maprecCL1.begin(); iter != maprecCL1.end(); iter++) {
245 nmaprecCL1[
i] = (*iter).first;
249 for (map<double, int>::iterator iter = recWmin2.begin(); iter != recWmin2.end(); iter++) {
251 nrecWmin2[
i] = (*iter).first;
255 for (map<double, int>::iterator iter = recWmin1.begin(); iter != recWmin1.end(); iter++) {
257 nrecWmin1[
i] = (*iter).first;
261 for (map<double, int>::iterator iter = recWzer0.begin(); iter != recWzer0.end(); iter++) {
263 nrecWzer0[
i] = (*iter).first;
267 for (map<double, int>::iterator iter = recWplu1.begin(); iter != recWplu1.end(); iter++) {
269 nrecWplu1[
i] = (*iter).first;
273 for (map<double, int>::iterator iter = recWplu2.begin(); iter != recWplu2.end(); iter++) {
275 nrecWplu2[
i] = (*iter).first;
279 for (map<double, int>::iterator iter = recS1.begin(); iter != recS1.end(); iter++) {
281 nrecS1[
i] = (*iter).first;
285 for (map<double, int>::iterator iter = recS3.begin(); iter != recS3.end(); iter++) {
287 nrecS3[
i] = (*iter).first;
292 PSimHitContainer::const_iterator simIt;
302 for (simIt = simHit->begin(); simIt != simHit->end(); simIt++) {
303 int ptype = (*simIt).particleType();
305 const RPCRoll* roll =
dynamic_cast<const RPCRoll*
>( rpcGeom->roll(Rsid));
306 int Swheel = roll->
id().
ring();
310 if (ptype == 13 || ptype == -13) {
312 LocalPoint shitlocal = (*simIt).localPosition();
313 double shitlocalx = shitlocal.
x();
314 Simhisto->Fill(shitlocalx);
316 mapsim[shitlocalx] = nsim;
320 simS1[shitlocalx] = nsim;
321 nsimS1c = nsimS1c + 1;
324 simS3[shitlocalx] = nsim;
325 nsimS3c = nsimS3c + 1;
331 simWmin2[shitlocalx] = nsim;
332 nsimmin2 = nsimmin2 + 1;
335 simWmin1[shitlocalx] = nsim;
336 nsimmin1 = nsimmin1 + 1;
339 simWzer0[shitlocalx] = nsim;
340 nsimzer0 = nsimzer0 + 1;
343 simWplu1[shitlocalx] = nsim;
344 nsimplu1 = nsimplu1 + 1;
347 simWplu2[shitlocalx] = nsim;
348 nsimplu2 = nsimplu2 + 1;
357 for (map<double, int>::iterator iter = mapsim.begin(); iter != mapsim.end(); iter++) {
359 nmapsim[
i] = (*iter).first;
363 for (map<double, int>::iterator iter = simWmin2.begin(); iter != simWmin2.end(); iter++) {
365 nsimWmin2[
i] = (*iter).first;
369 for (map<double, int>::iterator iter = simWmin1.begin(); iter != simWmin1.end(); iter++) {
371 nsimWmin1[
i] = (*iter).first;
375 for (map<double, int>::iterator iter = simWzer0.begin(); iter != simWzer0.end(); iter++) {
377 nsimWzer0[
i] = (*iter).first;
381 for (map<double, int>::iterator iter = simWplu1.begin(); iter != simWplu1.end(); iter++) {
383 nsimWplu1[
i] = (*iter).first;
387 for (map<double, int>::iterator iter = simWplu2.begin(); iter != simWplu2.end(); iter++) {
389 nsimWplu2[
i] = (*iter).first;
393 for (map<double, int>::iterator iter = simS1.begin(); iter != simS1.end(); iter++) {
395 nsimS1[
i] = (*iter).first;
399 for (map<double, int>::iterator iter = simS3.begin(); iter != simS3.end(); iter++) {
401 nsimS3[
i] = (*iter).first;
405 double res,resmin2,resmin1,reszer0,resplu1,resplu2,resS1,resS3;
407 for (
int r=0;
r<nsim;
r++) {
408 res = nmapsim[
r+1] - nmaprec[
r+1];
413 if (nsim == nrecCL1) {
414 for (
int r=0;
r<nsim;
r++) {
415 res = nmapsim[
r+1] - nmaprecCL1[
r+1];
422 if (nsimmin2 == nrecmin2) {
423 for (
int r=0;
r<nsimmin2;
r++) {
424 resmin2 = nsimWmin2[
r+1] - nrecWmin2[
r+1];
425 ResWmin2->Fill(resmin2);
428 if (nsimmin1 == nrecmin1) {
429 for (
int r=0;
r<nsimmin1;
r++) {
430 resmin1 = nsimWmin1[
r+1] - nrecWmin1[
r+1];
431 ResWmin1->Fill(resmin1);
434 if (nsimzer0 == nreczer0) {
435 for (
int r=0;
r<nsimzer0;
r++) {
436 reszer0 = nsimWzer0[
r+1] - nrecWzer0[
r+1];
437 ResWzer0->Fill(reszer0);
440 if (nsimplu1 == nrecplu1) {
441 for (
int r=0;
r<nsimplu1;
r++) {
442 resplu1 = nsimWplu1[
r+1] - nrecWplu1[
r+1];
443 ResWplu1->Fill(resplu1);
446 if (nsimplu2 == nrecplu2) {
447 for (
int r=0;
r<nsimplu2;
r++) {
448 resplu2 = nsimWplu2[
r+1] - nrecWplu2[
r+1];
449 ResWplu2->Fill(resplu2);
452 if (nsimS1c == nrecS1c) {
453 for (
int r=0;
r<nsimS1c;
r++) {
454 resS1 = nsimS1[
r+1] - nrecS1[
r+1];
458 if (nsimS3c == nrecS3c) {
459 for (
int r=0;
r<nsimS3c;
r++) {
460 resS3 = nsimS3[
r+1] - nrecS3[
r+1];
469 for (
int r=0;
r<nsim;
r++) {
470 pull = nmapres[
r+1] / nmaperr[nmaprec[
r+1]];
T getUntrackedParameter(std::string const &, T const &) const
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")
C::const_iterator const_iterator
constant access iterator type
void analyze(const edm::Event &e, const edm::EventSetup &c)
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
int sector() const
Sector id: the group of chambers at same phi (and increasing r)
RPCRecHitValid(const edm::ParameterSet &ps)