37 std::pair<typename T::DetSet::const_iterator, typename T::DetSet::const_iterator>
39 typedef std::pair<typename T::DetSet::const_iterator, typename T::DetSet::const_iterator> return_type;
40 typename T::const_iterator
match = detset.find(
id);
41 if (match == detset.end())
return return_type();
42 typename T::DetSet hits = *
match;
43 return return_type(hits.begin(), hits.end());
53 matchedRecHits_( ps.getParameter<edm::
InputTag>(
"matchedRecHits") ),
54 rphiRecHits_( ps.getParameter<edm::
InputTag>(
"rphiRecHits") ),
55 stereoRecHits_( ps.getParameter<edm::
InputTag>(
"stereoRecHits") ) {
60 dbe_->setCurrentFolder(
"TrackerRecHitsV/TrackerRecHits/Strip/SISTRIP");
62 meNumTotRphi = dbe_->book1D(
"NumTotRphi",
"Num of RecHits rphi",100, 0, 10000);
63 meNumTotSas = dbe_->book1D(
"NumTotSas",
"Num of RecHits sas",100, 0, 10000);
64 meNumTotMatched = dbe_->book1D(
"NumTotMatched",
"Num of RecHits rmatched",100, 0, 10000);
66 dbe_->setCurrentFolder(
"TrackerRecHitsV/TrackerRecHits/Strip/TIB");
67 meNumRphiTIB = dbe_->book1D(
"NumRphiTIB",
"Num of RecHits rphi", 100, 0, 1000.);
68 meNumSasTIB = dbe_->book1D(
"NumSasTIB",
"Num of RecHits sas", 100, 0, 1000.);
69 meNumMatchedTIB = dbe_->book1D(
"NumMatchedTIB",
"Num of RecHits matched", 100, 0, 1000.);
72 for(
int i = 0 ;
i<4 ;
i++) {
74 sprintf(histo,
"Nstp_rphi_layer%dtib",
i+1);
75 meNstpRphiTIB[
i] = dbe_->book1D(histo,
"RecHit Cluster Size",10,0.5,10.5);
76 sprintf(histo,
"Adc_rphi_layer%dtib",
i+1);
77 meAdcRphiTIB[
i] = dbe_->book1D(histo,
"RecHit Cluster Charge",100,0.,300.);
78 sprintf(histo,
"Posx_rphi_layer%dtib",
i+1);
79 mePosxRphiTIB[
i] = dbe_->book1D(histo,
"RecHit x coord.",100,-6.0,+6.0);
80 sprintf(histo,
"Errx_rphi_layer%dtib",
i+1);
81 meErrxRphiTIB[
i] = dbe_->book1D(histo,
"RecHit err(x) coord.",100,0,0.01);
82 sprintf(histo,
"Res_rphi_layer%dtib",
i+1);
83 meResRphiTIB[
i] = dbe_->book1D(histo,
"RecHit Residual",100,-0.02,+0.02);
84 sprintf(histo,
"Pull_LF_rphi_layer%dtib",
i+1);
86 sprintf(histo,
"Pull_MF_rphi_layer%dtib",
i+1);
88 sprintf(histo,
"Chi2_rphi_layer%dtib",
i+1);
89 meChi2RphiTIB[
i] = dbe_->book1D(histo,
"RecHit Chi2 test",100,0., 50);
93 for(
int i = 0 ;
i<2 ;
i++) {
95 sprintf(histo,
"Nstp_sas_layer%dtib",
i+1);
96 meNstpSasTIB[
i] = dbe_->book1D(histo,
"RecHit Cluster Size",10,0.5,10.5);
97 sprintf(histo,
"Adc_sas_layer%dtib",
i+1);
98 meAdcSasTIB[
i] = dbe_->book1D(histo,
"RecHit Cluster Charge",100,0.,300.);
99 sprintf(histo,
"Posx_sas_layer%dtib",
i+1);
100 mePosxSasTIB[
i] = dbe_->book1D(histo,
"RecHit x coord.",100,-6.0,+6.0);
101 sprintf(histo,
"Errx_sas_layer%dtib",
i+1);
102 meErrxSasTIB[
i] = dbe_->book1D(histo,
"RecHit err(x) coord.",100,0.,0.01);
103 sprintf(histo,
"Res_sas_layer%dtib",
i+1);
104 meResSasTIB[
i] = dbe_->book1D(histo,
"RecHit Residual",100,-0.02,+0.02);
105 sprintf(histo,
"Pull_LF_sas_layer%dtib",
i+1);
107 sprintf(histo,
"Pull_MF_sas_layer%dtib",
i+1);
109 sprintf(histo,
"Chi2_sas_layer%dtib",
i+1);
110 meChi2SasTIB[
i] = dbe_->book1D(histo,
"RecHit Chi2 test",100,0., 50);
112 sprintf(histo,
"Posx_matched_layer%dtib",
i+1);
114 sprintf(histo,
"Posy_matched_layer%dtib",
i+1);
116 sprintf(histo,
"Errx_matched_layer%dtib",
i+1);
118 sprintf(histo,
"Erry_matched_layer%dtib",
i+1);
120 sprintf(histo,
"Resx_matched_layer%dtib",
i+1);
121 meResxMatchedTIB[
i] = dbe_->book1D(histo,
"RecHit Res(x) coord.",100,-0.02, +0.02);
122 sprintf(histo,
"Resy_matched_layer%dtib",
i+1);
124 sprintf(histo,
"Chi2_matched_layer%dtib",
i+1);
128 dbe_->setCurrentFolder(
"TrackerRecHitsV/TrackerRecHits/Strip/TOB");
129 meNumRphiTOB = dbe_->book1D(
"NumRphiTOB",
"Num of RecHits rphi", 100, 0, 1000.);
130 meNumSasTOB = dbe_->book1D(
"NumSasTOB",
"Num of RecHits sas", 100, 0, 1000.);
131 meNumMatchedTOB = dbe_->book1D(
"NumMatchedTOB",
"Num of RecHits matched", 100, 0, 1000.);
133 for(
int i = 0 ;
i<6 ;
i++) {
135 sprintf(histo,
"Nstp_rphi_layer%dtob",
i+1);
136 meNstpRphiTOB[
i] = dbe_->book1D(histo,
"RecHit Cluster Size",10,0.5,10.5);
137 sprintf(histo,
"Adc_rphi_layer%dtob",
i+1);
138 meAdcRphiTOB[
i] = dbe_->book1D(histo,
"RecHit Cluster Charge",100,0.,300.);
139 sprintf(histo,
"Posx_rphi_layer%dtob",
i+1);
140 mePosxRphiTOB[
i] = dbe_->book1D(histo,
"RecHit x coord.",100,-6.0,+6.0);
141 sprintf(histo,
"Errx_rphi_layer%dtob",
i+1);
142 meErrxRphiTOB[
i] = dbe_->book1D(histo,
"RecHit err(x) coord.",100,0,0.01);
143 sprintf(histo,
"Res_rphi_layer%dtob",
i+1);
144 meResRphiTOB[
i] = dbe_->book1D(histo,
"RecHit Residual",100,-0.02,+0.02);
145 sprintf(histo,
"Pull_LF_rphi_layer%dtob",
i+1);
147 sprintf(histo,
"Pull_MF_rphi_layer%dtob",
i+1);
149 sprintf(histo,
"Chi2_rphi_layer%dtob",
i+1);
150 meChi2RphiTOB[
i] = dbe_->book1D(histo,
"RecHit Chi2 test",100,0., 50);
154 for(
int i = 0 ;
i<2 ;
i++) {
156 sprintf(histo,
"Nstp_sas_layer%dtob",
i+1);
157 meNstpSasTOB[
i] = dbe_->book1D(histo,
"RecHit Cluster Size",10,0.5,10.5);
158 sprintf(histo,
"Adc_sas_layer%dtob",
i+1);
159 meAdcSasTOB[
i] = dbe_->book1D(histo,
"RecHit Cluster Charge",100,0.,300.);
160 sprintf(histo,
"Posx_sas_layer%dtob",
i+1);
161 mePosxSasTOB[
i] = dbe_->book1D(histo,
"RecHit x coord.",100,-6.0,+6.0);
162 sprintf(histo,
"Errx_sas_layer%dtob",
i+1);
163 meErrxSasTOB[
i] = dbe_->book1D(histo,
"RecHit err(x) coord.",100,0.,0.01);
164 sprintf(histo,
"Res_sas_layer%dtob",
i+1);
165 meResSasTOB[
i] = dbe_->book1D(histo,
"RecHit Residual",100,-0.02,+0.02);
166 sprintf(histo,
"Pull_LF_sas_layer%dtob",
i+1);
168 sprintf(histo,
"Pull_MF_sas_layer%dtob",
i+1);
170 sprintf(histo,
"Chi2_sas_layer%dtob",
i+1);
171 meChi2SasTOB[
i] = dbe_->book1D(histo,
"RecHit Chi2 test",100,0., 50);
173 sprintf(histo,
"Posx_matched_layer%dtob",
i+1);
175 sprintf(histo,
"Posy_matched_layer%dtob",
i+1);
177 sprintf(histo,
"Errx_matched_layer%dtob",
i+1);
179 sprintf(histo,
"Erry_matched_layer%dtob",
i+1);
181 sprintf(histo,
"Resx_matched_layer%dtob",
i+1);
182 meResxMatchedTOB[
i] = dbe_->book1D(histo,
"RecHit Res(x) coord.",100,-0.02, +0.02);
183 sprintf(histo,
"Resy_matched_layer%dtob",
i+1);
185 sprintf(histo,
"Chi2_matched_layer%dtob",
i+1);
189 dbe_->setCurrentFolder(
"TrackerRecHitsV/TrackerRecHits/Strip/TID");
190 meNumRphiTID = dbe_->book1D(
"NumRphiTID",
"Num of RecHits rphi", 100, 0, 1000.);
191 meNumSasTID = dbe_->book1D(
"NumSasTID",
"Num of RecHits sas", 100, 0, 1000.);
192 meNumMatchedTID = dbe_->book1D(
"NumMatchedTID",
"Num of RecHits matched", 100, 0, 1000.);
195 for(
int i = 0 ;
i<3 ;
i++) {
197 sprintf(histo,
"Nstp_rphi_layer%dtid",
i+1);
198 meNstpRphiTID[
i] = dbe_->book1D(histo,
"RecHit Cluster Size",10,0.5,10.5);
199 sprintf(histo,
"Adc_rphi_layer%dtid",
i+1);
200 meAdcRphiTID[
i] = dbe_->book1D(histo,
"RecHit Cluster Charge",100,0.,300.);
201 sprintf(histo,
"Posx_rphi_layer%dtid",
i+1);
202 mePosxRphiTID[
i] = dbe_->book1D(histo,
"RecHit x coord.",100,-6.0,+6.0);
203 sprintf(histo,
"Errx_rphi_layer%dtid",
i+1);
204 meErrxRphiTID[
i] = dbe_->book1D(histo,
"RecHit err(x) coord.",100,0,0.5);
205 sprintf(histo,
"Res_rphi_layer%dtid",
i+1);
206 meResRphiTID[
i] = dbe_->book1D(histo,
"RecHit Residual",100,-0.5,+0.5);
207 sprintf(histo,
"Pull_LF_rphi_layer%dtid",
i+1);
209 sprintf(histo,
"Pull_MF_rphi_layer%dtid",
i+1);
211 sprintf(histo,
"Chi2_rphi_layer%dtid",
i+1);
212 meChi2RphiTID[
i] = dbe_->book1D(histo,
"RecHit Chi2 test",100,0., 50);
216 for(
int i = 0 ;
i<2 ;
i++) {
218 sprintf(histo,
"Nstp_sas_layer%dtid",
i+1);
219 meNstpSasTID[
i] = dbe_->book1D(histo,
"RecHit Cluster Size",10,0.5,10.5);
220 sprintf(histo,
"Adc_sas_layer%dtid",
i+1);
221 meAdcSasTID[
i] = dbe_->book1D(histo,
"RecHit Cluster Charge",100,0.,300.);
222 sprintf(histo,
"Posx_sas_layer%dtid",
i+1);
223 mePosxSasTID[
i] = dbe_->book1D(histo,
"RecHit x coord.",100,-6.0,+6.0);
224 sprintf(histo,
"Errx_sas_layer%dtid",
i+1);
225 meErrxSasTID[
i] = dbe_->book1D(histo,
"RecHit err(x) coord.",100,0.,0.5);
226 sprintf(histo,
"Res_sas_layer%dtid",
i+1);
227 meResSasTID[
i] = dbe_->book1D(histo,
"RecHit Residual",100,-0.5,+0.5);
228 sprintf(histo,
"Pull_LF_sas_layer%dtid",
i+1);
230 sprintf(histo,
"Pull_MF_sas_layer%dtid",
i+1);
232 sprintf(histo,
"Chi2_sas_layer%dtid",
i+1);
233 meChi2SasTID[
i] = dbe_->book1D(histo,
"RecHit Chi2 test",100,0., 50);
235 sprintf(histo,
"Posx_matched_layer%dtid",
i+1);
237 sprintf(histo,
"Posy_matched_layer%dtid",
i+1);
239 sprintf(histo,
"Errx_matched_layer%dtid",
i+1);
241 sprintf(histo,
"Erry_matched_layer%dtid",
i+1);
243 sprintf(histo,
"Resx_matched_layer%dtid",
i+1);
245 sprintf(histo,
"Resy_matched_layer%dtid",
i+1);
247 sprintf(histo,
"Chi2_matched_layer%dtid",
i+1);
251 dbe_->setCurrentFolder(
"TrackerRecHitsV/TrackerRecHits/Strip/TEC");
252 meNumRphiTEC = dbe_->book1D(
"NumRphiTEC",
"Num of RecHits rphi", 100, 0, 1000.);
253 meNumSasTEC = dbe_->book1D(
"NumSasTEC",
"Num of RecHits sas", 100, 0, 1000.);
254 meNumMatchedTEC = dbe_->book1D(
"NumMatchedTEC",
"Num of RecHits matched", 100, 0, 1000.);
257 for(
int i = 0 ;
i<7 ;
i++) {
259 sprintf(histo,
"Nstp_rphi_layer%dtec",
i+1);
260 meNstpRphiTEC[
i] = dbe_->book1D(histo,
"RecHit Cluster Size",10,0.5,10.5);
261 sprintf(histo,
"Adc_rphi_layer%dtec",
i+1);
262 meAdcRphiTEC[
i] = dbe_->book1D(histo,
"RecHit Cluster Charge",100,0.,300.);
263 sprintf(histo,
"Posx_rphi_layer%dtec",
i+1);
264 mePosxRphiTEC[
i] = dbe_->book1D(histo,
"RecHit x coord.",100,-6.0,+6.0);
265 sprintf(histo,
"Errx_rphi_layer%dtec",
i+1);
266 meErrxRphiTEC[
i] = dbe_->book1D(histo,
"RecHit err(x) coord.",100,0,0.5);
267 sprintf(histo,
"Res_rphi_layer%dtec",
i+1);
268 meResRphiTEC[
i] = dbe_->book1D(histo,
"RecHit Residual",100,-0.5,+0.5);
269 sprintf(histo,
"Pull_LF_rphi_layer%dtec",
i+1);
271 sprintf(histo,
"Pull_MF_rphi_layer%dtec",
i+1);
273 sprintf(histo,
"Chi2_rphi_layer%dtec",
i+1);
274 meChi2RphiTEC[
i] = dbe_->book1D(histo,
"RecHit Chi2 test",100,0., 50);
278 for(
int i = 0 ;
i<5 ;
i++) {
279 if(
i == 0 ||
i == 1 ||
i == 4) {
281 sprintf(histo,
"Nstp_sas_layer%dtec",
i+1);
282 meNstpSasTEC[
i] = dbe_->book1D(histo,
"RecHit Cluster Size",10,0.5,10.5);
283 sprintf(histo,
"Adc_sas_layer%dtec",
i+1);
284 meAdcSasTEC[
i] = dbe_->book1D(histo,
"RecHit Cluster Charge",100,0.,300.);
285 sprintf(histo,
"Posx_sas_layer%dtec",
i+1);
286 mePosxSasTEC[
i] = dbe_->book1D(histo,
"RecHit x coord.",100,-6.0,+6.0);
287 sprintf(histo,
"Errx_sas_layer%dtec",
i+1);
288 meErrxSasTEC[
i] = dbe_->book1D(histo,
"RecHit err(x) coord.",100,0.,0.5);
289 sprintf(histo,
"Res_sas_layer%dtec",
i+1);
290 meResSasTEC[
i] = dbe_->book1D(histo,
"RecHit Residual",100,-0.5,+0.5);
291 sprintf(histo,
"Pull_LF_sas_layer%dtec",
i+1);
293 sprintf(histo,
"Pull_MF_sas_layer%dtec",
i+1);
295 sprintf(histo,
"Chi2_sas_layer%dtec",
i+1);
296 meChi2SasTEC[
i] = dbe_->book1D(histo,
"RecHit Chi2 test",100,0., 50);
298 sprintf(histo,
"Posx_matched_layer%dtec",
i+1);
300 sprintf(histo,
"Posy_matched_layer%dtec",
i+1);
302 sprintf(histo,
"Errx_matched_layer%dtec",
i+1);
304 sprintf(histo,
"Erry_matched_layer%dtec",
i+1);
306 sprintf(histo,
"Resx_matched_layer%dtec",
i+1);
308 sprintf(histo,
"Resy_matched_layer%dtec",
i+1);
310 sprintf(histo,
"Chi2_matched_layer%dtec",
i+1);
352 int numrechitrphi =0;
354 int numrechitmatched=0;
356 int totTibnumrechitrphi=0;
357 int totTibnumrechitsas=0;
358 int totTibnumrechitmatched=0;
359 int totTobnumrechitrphi=0;
360 int totTobnumrechitsas=0;
361 int totTobnumrechitmatched=0;
362 int totTidnumrechitrphi=0;
363 int totTidnumrechitsas=0;
364 int totTidnumrechitmatched=0;
365 int totTecnumrechitrphi=0;
366 int totTecnumrechitsas=0;
367 int totTecnumrechitmatched=0;
368 int totrechitrphi =0;
370 int totrechitmatched =0;
378 std::vector<DetId> IDs;
379 IDs.reserve(rechitsrphi->size() + rechitsmatched->size() + rechitsstereo->size());
385 for(std::vector<DetId>::const_iterator it = IDs.begin(); it != IDs.end(); ++it ){
386 uint32_t myid=((*it).rawId());
422 std::pair<SiStripRecHit2DCollection::DetSet::const_iterator,SiStripRecHit2DCollection::DetSet::const_iterator> rechitrphiRange =
helper::getRange(*rechitsrphi, detid);
427 numrechitrphi = rechitrphiRangeIteratorEnd - rechitrphiRangeIteratorBegin;
433 if(numrechitrphi > 0 ){
434 totrechitrphi+=numrechitrphi;
435 for(iterrphi=rechitrphiRangeIteratorBegin; iterrphi!=rechitrphiRangeIteratorEnd;++iterrphi){
439 SiStripRecHit2D
const rechit=*iterrphi;
446 SiStripRecHit2D::ClusterRef clust=rechit.cluster();
449 clusiz = clust->amplitudes().size();
450 const std::vector<uint8_t> amplitudes=clust->amplitudes();
451 for(
size_t ia=0; ia<amplitudes.size();ia++){
452 totcharge+=amplitudes[ia];
463 float mindist = 999999;
468 dist = fabs(
rechitrphix[i] - (*m).localPosition().x());
480 rhparameters[0] = position.
x();
481 rhparameters[1] = position.
y();
487 R[0][0] = error.
xx();
488 R[0][1] = error.
xy();
489 R[1][1] = error.
yy();
492 double est = R.similarity(r);
510 std::pair<SiStripRecHit2DCollection::DetSet::const_iterator,SiStripRecHit2DCollection::DetSet::const_iterator> rechitsasRange =
helper::getRange(*rechitsstereo, detid);
514 numrechitsas = rechitsasRangeIteratorEnd - rechitsasRangeIteratorBegin;
515 if(numrechitsas > 0){
516 totrechitsas+=numrechitsas;
517 for(itersas=rechitsasRangeIteratorBegin; itersas!=rechitsasRangeIteratorEnd;++itersas){
521 SiStripRecHit2D
const rechit=*itersas;
528 SiStripRecHit2D::ClusterRef clust=rechit.cluster();
int clusiz=0;
530 clusiz = clust->amplitudes().size();
531 const std::vector<uint8_t> amplitudes=clust->amplitudes();
532 for(
size_t ia=0; ia<amplitudes.size();ia++){
533 totcharge+=amplitudes[ia];
543 float mindist = 999999;
550 dist = fabs(
rechitsasx[j] - (*m).localPosition().x());
562 rhparameters[0] = position.
x();
563 rhparameters[1] = position.
y();
570 R[0][0] = error.
xx();
571 R[0][1] = error.
xy();
572 R[1][1] = error.
yy();
575 double est = R.similarity(r);
596 std::pair<SiStripMatchedRecHit2DCollection::DetSet::const_iterator,SiStripMatchedRecHit2DCollection::DetSet::const_iterator> rechitmatchedRange =
helper::getRange(*rechitsmatched, detid);
600 numrechitmatched = rechitmatchedRangeIteratorEnd - rechitmatchedRangeIteratorBegin;
601 if(numrechitmatched > 0){
602 totrechitmatched +=numrechitmatched;
604 for(itermatched=rechitmatchedRangeIteratorBegin; itermatched!=rechitmatchedRangeIteratorEnd;++itermatched){
605 SiStripMatchedRecHit2D
const rechit=*itermatched;
609 float mindist = 999999;
610 float distx = 999999;
611 float disty = 999999;
613 std::pair<LocalPoint,LocalVector> closestPair;
635 std::pair<LocalPoint,LocalVector> hitPair;
644 dist =
sqrt(distx*distx+disty*disty);
649 closestPair = hitPair;
661 rhparameters[0] = position.
x();
662 rhparameters[1] = position.
y();
665 shparameters[0] = sh.
x();
666 shparameters[1] = sh.
y();
669 R[0][0] = error.
xx();
670 R[0][1] = error.
xy();
671 R[1][1] = error.
yy();
674 double est = R.similarity(r);
689 if(numrechitrphi>0 || numrechitsas>0 || numrechitmatched){
692 int Tibnumrechitrphi = numrechitrphi;
693 int Tibnumrechitsas = numrechitsas;
694 int Tibnumrechitmatched = numrechitmatched;
696 int Tibnumrechitrphi2 = i2;
697 int Tibnumrechitsas2 = j2;
698 int Tibnumrechitmatched2 = k2;
700 totTibnumrechitrphi +=numrechitrphi;
701 totTibnumrechitsas +=numrechitsas;
702 totTibnumrechitmatched +=numrechitmatched;
704 int ilay = tTopo->tibLayer(myid) - 1;
706 if(tTopo->tibStereo(myid)==0){
707 for(
int k = 0; k<Tibnumrechitrphi; k++){
718 for(
int k = 0; k<Tibnumrechitrphi2; k++){
722 }
else if(tTopo->tibStereo(myid)==1){
723 for(
int kk = 0; kk < Tibnumrechitsas; kk++)
733 for(
int l = 0;
l<Tibnumrechitsas2;
l++){
738 if(Tibnumrechitmatched>0){
739 for(
int kkk = 0; kkk<Tibnumrechitmatched; kkk++)
748 for(
int l = 0;
l<Tibnumrechitmatched2;
l++){
758 int Tobnumrechitrphi = numrechitrphi;
759 int Tobnumrechitsas = numrechitsas;
760 int Tobnumrechitmatched = numrechitmatched;
761 totTobnumrechitrphi +=numrechitrphi;
762 totTobnumrechitsas +=numrechitsas;
763 totTobnumrechitmatched +=numrechitmatched;
765 int Tobnumrechitrphi2 = i2;
766 int Tobnumrechitsas2 = j2;
767 int Tobnumrechitmatched2 = k2;
769 int ilay = tTopo->tobLayer(myid) - 1;
771 if(tTopo->tobStereo(myid)==0){
772 for(
int k = 0; k<Tobnumrechitrphi; k++){
781 for(
int l = 0;
l<Tobnumrechitrphi2;
l++){
784 }
else if(tTopo->tobStereo(myid)==1){
785 for(
int kk = 0; kk < Tobnumrechitsas; kk++)
795 for(
int l = 0;
l<Tobnumrechitsas2;
l++){
800 if(Tobnumrechitmatched>0){
801 for(
int kkk = 0; kkk<Tobnumrechitmatched; kkk++)
810 for(
int l = 0;
l<Tobnumrechitmatched2;
l++){
818 int Tidnumrechitrphi = numrechitrphi;
819 int Tidnumrechitsas = numrechitsas;
820 int Tidnumrechitmatched = numrechitmatched;
821 totTidnumrechitrphi +=numrechitrphi;
822 totTidnumrechitsas +=numrechitsas;
823 totTidnumrechitmatched +=numrechitmatched;
825 int Tidnumrechitrphi2 = i2;
826 int Tidnumrechitsas2 = j2;
827 int Tidnumrechitmatched2 = k2;
829 int ilay = tTopo->tidRing(myid) - 1;
831 if(tTopo->tidStereo(myid)==0){
832 for(
int k = 0; k<Tidnumrechitrphi; k++){
841 for(
int l = 0;
l<Tidnumrechitrphi2;
l++){
845 }
else if(tTopo->tidStereo(myid)==1){
846 for(
int kk = 0; kk < Tidnumrechitsas; kk++)
856 for(
int l = 0;
l<Tidnumrechitsas2;
l++){
861 if(Tidnumrechitmatched>0){
862 for(
int kkk = 0; kkk<Tidnumrechitmatched; kkk++)
871 for(
int l = 0;
l<Tidnumrechitmatched2;
l++){
879 int Tecnumrechitrphi = numrechitrphi;
880 int Tecnumrechitsas = numrechitsas;
881 int Tecnumrechitmatched = numrechitmatched;
882 totTecnumrechitrphi +=numrechitrphi;
883 totTecnumrechitsas +=numrechitsas;
884 totTecnumrechitmatched +=numrechitmatched;
886 int Tecnumrechitrphi2 = i2;
887 int Tecnumrechitsas2 = j2;
888 int Tecnumrechitmatched2 = k2;
890 int ilay = tTopo->tecRing(myid) - 1;
892 if(tTopo->tecStereo(myid)==0){
893 for(
int k = 0; k<Tecnumrechitrphi; k++){
902 for(
int l = 0;
l<Tecnumrechitrphi2;
l++){
906 }
else if(tTopo->tecStereo(myid)==1){
907 for(
int kk = 0; kk < Tecnumrechitsas; kk++)
917 for(
int l = 0;
l<Tecnumrechitsas2;
l++){
922 if(Tecnumrechitmatched>0){
923 for(
int kkk = 0; kkk<Tecnumrechitmatched; kkk++)
932 for(
int l = 0;
l<Tecnumrechitmatched2;
l++){
974 LocalPoint localHit = plane.toLocal(globalpos);
981 float scale = -localHit.
z() / dir.
z();
993 return std::pair<LocalPoint,LocalVector>( projectedPos, localStripDir);
MonitorElement * meNstpRphiTEC[7]
MonitorElement * meNumTotRphi
float rechitrphiy[MAXHIT]
float rechitrphix[MAXHIT]
MonitorElement * meNstpSasTEC[5]
GlobalPoint toGlobal(const Point2DBase< Scalar, LocalTag > lp) const
MonitorElement * meResRphiTEC[7]
EventNumber_t event() const
MonitorElement * meChi2RphiTID[3]
T getUntrackedParameter(std::string const &, T const &) const
boost::transform_iterator< IterHelp, const_IdIter > const_iterator
MonitorElement * mePullLFSasTIB[4]
MonitorElement * meErrxSasTEC[5]
MonitorElement * meAdcRphiTIB[4]
MonitorElement * meErrxMatchedTIB[2]
MonitorElement * mePullLFRphiTID[3]
virtual float stripAngle(float strip) const =0
MonitorElement * meChi2RphiTEC[7]
float rechitmatchedresy[MAXHIT]
MonitorElement * mePosyMatchedTEC[5]
MonitorElement * meNumRphiTIB
MonitorElement * meErrxMatchedTOB[2]
MonitorElement * mePosxRphiTID[3]
MonitorElement * meChi2MatchedTID[2]
float rechitsasres[MAXHIT]
MonitorElement * meErryMatchedTID[2]
std::vector< PSimHit > matched
MonitorElement * meNstpRphiTIB[4]
MonitorElement * meResyMatchedTID[2]
MonitorElement * meNumMatchedTOB
float rechitmatchedresx[MAXHIT]
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")
Sin< T >::type sin(const T &t)
MonitorElement * meNumSasTOB
MonitorElement * meErrxRphiTIB[4]
float rechitmatchederrxx[MAXHIT]
float rechitsaserrx[MAXHIT]
MonitorElement * meResxMatchedTEC[5]
MonitorElement * meNstpSasTOB[2]
MonitorElement * mePullLFSasTEC[5]
MonitorElement * meResSasTID[2]
MonitorElement * meNumMatchedTID
MonitorElement * mePullMFRphiTOB[6]
MonitorElement * meAdcRphiTEC[7]
MonitorElement * meChi2MatchedTIB[2]
MonitorElement * meNumSasTIB
MonitorElement * meResxMatchedTID[2]
MonitorElement * meNstpRphiTID[3]
virtual const StripTopology & specificTopology() const
Returns a reference to the strip proxy topology.
const Plane & surface() const
The nominal surface of the GeomDet.
MonitorElement * mePosxRphiTOB[6]
static int position[TOTALCHAMBERS][3]
MonitorElement * mePullLFRphiTIB[4]
MonitorElement * meNumRphiTID
virtual float strip(const LocalPoint &) const =0
float rechitmatchederryy[MAXHIT]
MonitorElement * meErrxRphiTEC[7]
float rechitmatchederrxy[MAXHIT]
MonitorElement * meChi2RphiTOB[6]
virtual void analyze(const edm::Event &e, const edm::EventSetup &c)
edm::InputTag matchedRecHits_
MonitorElement * meResSasTOB[2]
MonitorElement * mePullMFRphiTID[3]
MonitorElement * mePosxRphiTEC[7]
MonitorElement * meResRphiTOB[6]
MonitorElement * mePosxSasTID[2]
MonitorElement * meNumMatchedTIB
float rechitsaspullMF[MAXHIT]
virtual MeasurementError measurementError(const LocalPoint &, const LocalError &) const =0
Local3DPoint localPosition() const
MonitorElement * meNumTotMatched
MonitorElement * meErryMatchedTEC[5]
MonitorElement * mePullMFSasTID[2]
MonitorElement * meResyMatchedTOB[2]
MonitorElement * mePullMFRphiTEC[7]
Cos< T >::type cos(const T &t)
MonitorElement * meErrxSasTIB[4]
virtual const Topology & topology() const
Returns a reference to the strip proxy topology.
MonitorElement * meChi2SasTOB[2]
MonitorElement * meAdcRphiTOB[6]
MonitorElement * meChi2SasTEC[5]
MonitorElement * meErrxSasTOB[2]
MonitorElement * mePosxMatchedTOB[2]
float rechitmatchedz[MAXHIT]
MonitorElement * mePosyMatchedTIB[2]
virtual MeasurementPoint measurementPosition(const LocalPoint &) const =0
MonitorElement * meResRphiTIB[4]
float rechitmatchedx[MAXHIT]
float rechitrphiz[MAXHIT]
MonitorElement * meChi2RphiTIB[4]
MonitorElement * meErrxMatchedTEC[5]
MonitorElement * meChi2SasTIB[4]
int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
MonitorElement * mePosyMatchedTID[2]
MonitorElement * mePullLFRphiTEC[7]
std::pair< typename T::DetSet::const_iterator, typename T::DetSet::const_iterator > getRange(const T &detset, const DetId &id)
MonitorElement * meAdcSasTIB[4]
virtual const GeomDet * idToDet(DetId) const
bool getByLabel(InputTag const &tag, Handle< PROD > &result) const
MonitorElement * mePosxSasTIB[4]
MonitorElement * meChi2MatchedTOB[2]
MonitorElement * meResSasTEC[5]
MonitorElement * mePosxRphiTIB[4]
LocalVector localDirection() const
Obsolete. Same as momentumAtEntry().unit(), for backward compatibility.
MonitorElement * meNstpSasTIB[4]
SiStripRecHitsValid(const edm::ParameterSet &conf)
MonitorElement * mePullLFSasTOB[2]
edm::InputTag rphiRecHits_
CLHEP::HepVector AlgebraicVector
MonitorElement * meErrxRphiTOB[6]
MonitorElement * meResyMatchedTEC[5]
MonitorElement * meErrxRphiTID[3]
MonitorElement * meAdcSasTID[2]
MonitorElement * meResxMatchedTIB[2]
MonitorElement * meErryMatchedTIB[2]
MonitorElement * meNumRphiTEC
MonitorElement * mePosxSasTOB[2]
MonitorElement * meNstpSasTID[2]
MonitorElement * mePullLFSasTID[2]
MonitorElement * meAdcSasTEC[5]
MonitorElement * mePullLFRphiTOB[6]
MonitorElement * mePullMFSasTEC[5]
MonitorElement * meNumTotSas
MonitorElement * meNumSasTEC
float rechitrphipullMF[MAXHIT]
std::pair< LocalPoint, LocalVector > projectHit(const PSimHit &hit, const StripGeomDetUnit *stripDet, const BoundPlane &plane)
float rechitrphierrx[MAXHIT]
MonitorElement * meErryMatchedTOB[2]
MonitorElement * meChi2MatchedTEC[5]
MonitorElement * mePosxMatchedTEC[5]
MonitorElement * mePosxSasTEC[5]
virtual const GeomDetUnit * idToDetUnit(DetId) const
Return the pointer to the GeomDetUnit corresponding to a given DetId.
float rechitmatchedy[MAXHIT]
edm::InputTag stereoRecHits_
MonitorElement * mePullMFSasTOB[2]
MonitorElement * mePullMFRphiTIB[4]
MonitorElement * mePosxMatchedTID[2]
CLHEP::HepSymMatrix AlgebraicSymMatrix
MonitorElement * meResxMatchedTOB[2]
MonitorElement * meResSasTIB[4]
std::vector< PSimHit > associateHit(const TrackingRecHit &thit)
MonitorElement * mePullMFSasTIB[4]
float chi2matched[MAXHIT]
MonitorElement * meErrxMatchedTID[2]
std::pair< typename Association::data_type::first_type, double > match(Reference key, Association association, bool bestMatchByMaxValue)
Generic matching function.
float rechitrphires[MAXHIT]
MonitorElement * meNumSasTID
MonitorElement * meResyMatchedTIB[2]
MonitorElement * meAdcRphiTID[3]
MonitorElement * meNumRphiTOB
MonitorElement * meChi2SasTID[2]
MonitorElement * meNumMatchedTEC
DetId operator()(const X &x)
MonitorElement * meErrxSasTID[2]
MonitorElement * mePosxMatchedTIB[2]
const GeomDetUnit * stereoDet() const
MonitorElement * meResRphiTID[3]
MonitorElement * meNstpRphiTOB[6]
MonitorElement * mePosyMatchedTOB[2]
MonitorElement * meAdcSasTOB[2]