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();
165 int wheel = roll->
id().
ring();
173 maprecCL1[rhitlocalx] = nrec;
174 nrecCL1 = nrecCL1 + 1;
182 for (
int occ = 0; occ < clsize; occ++) {
183 int occup = fstrip + occ;
184 if (station == 1 && k == 1) {
187 if (station == 1 && k == 2) {
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();
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];
428 if (nsimmin1 == nrecmin1) {
429 for (
int r=0;
r<nsimmin1;
r++) {
430 resmin1 = nsimWmin1[
r+1] - nrecWmin1[
r+1];
434 if (nsimzer0 == nreczer0) {
435 for (
int r=0;
r<nsimzer0;
r++) {
436 reszer0 = nsimWzer0[
r+1] - nrecWzer0[
r+1];
440 if (nsimplu1 == nrecplu1) {
441 for (
int r=0;
r<nsimplu1;
r++) {
442 resplu1 = nsimWplu1[
r+1] - nrecWplu1[
r+1];
446 if (nsimplu2 == nrecplu2) {
447 for (
int r=0;
r<nsimplu2;
r++) {
448 resplu2 = nsimWplu2[
r+1] - nrecWplu2[
r+1];
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]];
MonitorElement * ResWplu1
MonitorElement * ResWmin1
C::const_iterator const_iterator
constant access iterator type
MonitorElement * ResWplu2
MonitorElement * Rechisto
MonitorElement * occRB1IN
MonitorElement * Simhisto
MonitorElement * occRB1OUT
MonitorElement * ResWmin2
int sector() const
Sector id: the group of chambers at same phi (and increasing r)
MonitorElement * ResWzer0