11 #include <TDirectory.h>
24 LogTrace(
"TestSmoothHits") << iConfig << std::endl;
44 file =
new TFile(
"testSmoothHits.root",
"recreate");
45 for (
int i = 0;
i != 6;
i++)
46 for (
int j = 0;
j != 9;
j++) {
60 title <<
"PullGP_X_" <<
i + 1 <<
"-" <<
j + 1 <<
"_ts";
63 title <<
"PullGP_Y_" <<
i + 1 <<
"-" <<
j + 1 <<
"_ts";
66 title <<
"PullGP_Z_" <<
i + 1 <<
"-" <<
j + 1 <<
"_ts";
69 title <<
"Chi2Increment_" <<
i + 1 <<
"-" <<
j + 1;
73 title <<
"PullGM_X_" <<
i + 1 <<
"-" <<
j + 1 <<
"_ts";
76 title <<
"PullGM_Y_" <<
i + 1 <<
"-" <<
j + 1 <<
"_ts";
79 title <<
"PullGM_Z_" <<
i + 1 <<
"-" <<
j + 1 <<
"_ts";
83 title <<
"PullGP_X_" <<
i + 1 <<
"-" <<
j + 1 <<
"_tr";
86 title <<
"PullGP_Y_" <<
i + 1 <<
"-" <<
j + 1 <<
"_tr";
89 title <<
"PullGP_Z_" <<
i + 1 <<
"-" <<
j + 1 <<
"_tr";
93 title <<
"PullGP_X_" <<
i + 1 <<
"-" <<
j + 1 <<
"_rs";
96 title <<
"PullGP_Y_" <<
i + 1 <<
"-" <<
j + 1 <<
"_rs";
99 title <<
"PullGP_Z_" <<
i + 1 <<
"-" <<
j + 1 <<
"_rs";
102 if (((
i == 2 ||
i == 4) && (
j == 0 ||
j == 1)) || (
i == 3 ||
i == 5)) {
105 title <<
"PullGP_X_" <<
i + 1 <<
"-" <<
j + 1 <<
"_ts_mono";
108 title <<
"PullGP_Y_" <<
i + 1 <<
"-" <<
j + 1 <<
"_ts_mono";
111 title <<
"PullGP_Z_" <<
i + 1 <<
"-" <<
j + 1 <<
"_ts_mono";
115 title <<
"PullGM_X_" <<
i + 1 <<
"-" <<
j + 1 <<
"_ts_mono";
118 title <<
"PullGM_Y_" <<
i + 1 <<
"-" <<
j + 1 <<
"_ts_mono";
121 title <<
"PullGM_Z_" <<
i + 1 <<
"-" <<
j + 1 <<
"_ts_mono";
125 title <<
"PullGP_X_" <<
i + 1 <<
"-" <<
j + 1 <<
"_tr_mono";
128 title <<
"PullGP_Y_" <<
i + 1 <<
"-" <<
j + 1 <<
"_tr_mono";
131 title <<
"PullGP_Z_" <<
i + 1 <<
"-" <<
j + 1 <<
"_tr_mono";
135 title <<
"PullGP_X_" <<
i + 1 <<
"-" <<
j + 1 <<
"_rs_mono";
138 title <<
"PullGP_Y_" <<
i + 1 <<
"-" <<
j + 1 <<
"_rs_mono";
141 title <<
"PullGP_Z_" <<
i + 1 <<
"-" <<
j + 1 <<
"_rs_mono";
146 title <<
"PullGP_X_" <<
i + 1 <<
"-" <<
j + 1 <<
"_ts_stereo";
149 title <<
"PullGP_Y_" <<
i + 1 <<
"-" <<
j + 1 <<
"_ts_stereo";
152 title <<
"PullGP_Z_" <<
i + 1 <<
"-" <<
j + 1 <<
"_ts_stereo";
156 title <<
"PullGM_X_" <<
i + 1 <<
"-" <<
j + 1 <<
"_ts_stereo";
159 title <<
"PullGM_Y_" <<
i + 1 <<
"-" <<
j + 1 <<
"_ts_stereo";
162 title <<
"PullGM_Z_" <<
i + 1 <<
"-" <<
j + 1 <<
"_ts_stereo";
166 title <<
"PullGP_X_" <<
i + 1 <<
"-" <<
j + 1 <<
"_tr_stereo";
169 title <<
"PullGP_Y_" <<
i + 1 <<
"-" <<
j + 1 <<
"_tr_stereo";
172 title <<
"PullGP_Z_" <<
i + 1 <<
"-" <<
j + 1 <<
"_tr_stereo";
176 title <<
"PullGP_X_" <<
i + 1 <<
"-" <<
j + 1 <<
"_rs_stereo";
179 title <<
"PullGP_Y_" <<
i + 1 <<
"-" <<
j + 1 <<
"_rs_stereo";
182 title <<
"PullGP_Z_" <<
i + 1 <<
"-" <<
j + 1 <<
"_rs_stereo";
186 hTotChi2Increment =
new TH1F(
"TotChi2Increment",
"TotChi2Increment", 1000, 0, 100);
187 hChi2_vs_Process =
new TH2F(
"Chi2_vs_Process",
"Chi2_vs_Process", 1000, 0, 100, 17, -0.5, 16.5);
188 hChi2_vs_clsize =
new TH2F(
"Chi2_vs_clsize",
"Chi2_vs_clsize", 1000, 0, 100, 17, -0.5, 16.5);
196 LogTrace(
"TestSmoothHits") <<
"new event" << std::endl;
204 LogTrace(
"TestSmoothHits") <<
"new candidate" << std::endl;
216 if (theTSOS.globalMomentum().eta() >
maxeta || theTSOS.globalMomentum().eta() <
mineta)
227 std::vector<Trajectory> fitted =
fit->fit(theTC->
seed(),
hits, theTSOS);
229 std::vector<Trajectory>
result;
230 for (std::vector<Trajectory>::iterator it = fitted.begin(); it != fitted.end(); it++) {
232 result.insert(
result.end(), smoothed.begin(), smoothed.end());
236 std::vector<TrajectoryMeasurement> vtm =
result[0].measurements();
238 TSOS lastState = theTSOS;
239 for (std::vector<TrajectoryMeasurement>::iterator tm = vtm.begin(); tm != vtm.end(); tm++) {
241 if ((rhit)->isValid() == 0 && rhit->det() !=
nullptr)
243 LogTrace(
"TestSmoothHits") <<
"new hit";
245 int subdetId = rhit->det()->geographicalId().subdetId();
246 DetId id = rhit->
det()->geographicalId();
247 int layerId = tTopo->
layer(
id);
248 LogTrace(
"TestSmoothHits") <<
"subdetId=" << subdetId <<
" layerId=" << layerId;
250 double delta = 99999;
253 std::vector<PSimHit> assSimHits =
hitAssociator.associateHit(*(rhit->hit()));
254 if (assSimHits.empty())
257 for (std::vector<PSimHit>::const_iterator
m = assSimHits.begin();
m < assSimHits.end();
m++) {
258 if ((
m->localPosition() - rhitLPv).
mag() <
delta) {
260 delta = (
m->localPosition() - rhitLPv).
mag();
264 TSOS currentState =
combiner(tm->backwardPredictedState(), tm->forwardPredictedState());
268 double chi2increment = tm->estimate();
269 LogTrace(
"TestSmoothHits") <<
"tm->estimate()=" << tm->estimate();
271 title <<
"Chi2Increment_" << subdetId <<
"-" << layerId;
275 if (dynamic_cast<const SiPixelRecHit*>(rhit->hit()))
277 if (dynamic_cast<const SiStripRecHit2D*>(rhit->hit()))
281 const Surface* surf = &((rhit)->det()->surface());
284 if (dynamic_cast<const SiStripMatchedRecHit2D*>(rhit->hit())) {
285 double rechitmatchedx = rhit->localPosition().
x();
286 double rechitmatchedy = rhit->localPosition().y();
287 double mindist = 999999;
289 std::pair<LocalPoint, LocalVector> closestPair;
291 const BoundPlane& plane = (rhit)->det()->surface();
292 for (std::vector<PSimHit>::const_iterator
m = assSimHits.begin();
m < assSimHits.end();
m++) {
294 std::pair<LocalPoint, LocalVector> hitPair =
projectHit((*
m), stripDet, plane);
295 distx = fabs(rechitmatchedx - hitPair.first.x());
296 disty = fabs(rechitmatchedy - hitPair.first.y());
297 double dist = distx * distx + disty * disty;
298 if (
sqrt(dist) < mindist) {
300 closestPair = hitPair;
303 shitLPos = closestPair.first;
304 shitLMom = closestPair.second;
358 GlobalError rhitGPEr = (rhit)->globalPositionError();
360 double pullGPX_rs = (rhitGPos.
x() - shitGPos.
x()) /
sqrt(rhitGPEr.
cxx());
361 double pullGPY_rs = (rhitGPos.
y() - shitGPos.
y()) /
sqrt(rhitGPEr.
cyy());
362 double pullGPZ_rs = (rhitGPos.
z() - shitGPos.
z()) /
sqrt(rhitGPEr.
czz());
367 LogTrace(
"TestSmoothHits") <<
"rs" << std::endl;
370 title <<
"PullGP_X_" << subdetId <<
"-" << layerId <<
"_rs";
373 title <<
"PullGP_Y_" << subdetId <<
"-" << layerId <<
"_rs";
376 title <<
"PullGP_Z_" << subdetId <<
"-" << layerId <<
"_rs";
379 double pullGPX_tr = (tsosGPos.
x() - rhitGPos.
x()) /
sqrt(tsosGPEr.
cxx() + rhitGPEr.
cxx());
380 double pullGPY_tr = (tsosGPos.
y() - rhitGPos.
y()) /
sqrt(tsosGPEr.
cyy() + rhitGPEr.
cyy());
381 double pullGPZ_tr = (tsosGPos.
z() - rhitGPos.
z()) /
sqrt(tsosGPEr.
czz() + rhitGPEr.
czz());
386 LogTrace(
"TestSmoothHits") <<
"tr" << std::endl;
389 title <<
"PullGP_X_" << subdetId <<
"-" << layerId <<
"_tr";
392 title <<
"PullGP_Y_" << subdetId <<
"-" << layerId <<
"_tr";
395 title <<
"PullGP_Z_" << subdetId <<
"-" << layerId <<
"_tr";
398 double pullGPX_ts = (tsosGPos.
x() - shitGPos.
x()) /
sqrt(tsosGPEr.
cxx());
399 double pullGPY_ts = (tsosGPos.
y() - shitGPos.
y()) /
sqrt(tsosGPEr.
cyy());
400 double pullGPZ_ts = (tsosGPos.
z() - shitGPos.
z()) /
sqrt(tsosGPEr.
czz());
405 LogTrace(
"TestSmoothHits") <<
"ts1" << std::endl;
408 title <<
"PullGP_X_" << subdetId <<
"-" << layerId <<
"_ts";
411 title <<
"PullGP_Y_" << subdetId <<
"-" << layerId <<
"_ts";
414 title <<
"PullGP_Z_" << subdetId <<
"-" << layerId <<
"_ts";
417 double pullGMX_ts = (tsosGMom.
x() - shitGMom.
x()) /
sqrt(tsosGMEr.
cxx());
418 double pullGMY_ts = (tsosGMom.
y() - shitGMom.
y()) /
sqrt(tsosGMEr.
cyy());
419 double pullGMZ_ts = (tsosGMom.
z() - shitGMom.
z()) /
sqrt(tsosGMEr.
czz());
424 LogTrace(
"TestSmoothHits") <<
"ts2" << std::endl;
427 title <<
"PullGM_X_" << subdetId <<
"-" << layerId <<
"_ts";
430 title <<
"PullGM_Y_" << subdetId <<
"-" << layerId <<
"_ts";
433 title <<
"PullGM_Z_" << subdetId <<
"-" << layerId <<
"_ts";
436 if (dynamic_cast<const SiStripMatchedRecHit2D*>((rhit)->
hit())) {
438 LogTrace(
"TestSmoothHits") <<
"MONO HIT" << std::endl;
439 auto m = dynamic_cast<const SiStripMatchedRecHit2D*>((rhit)->
hit())->monoHit();
441 if (tMonoHit ==
nullptr)
443 vector<PSimHit> assMonoSimHits =
hitAssociator.associateHit(*tMonoHit->hit());
444 if (assMonoSimHits.empty())
446 const PSimHit sMonoHit = *(assSimHits.begin());
447 const Surface* monoSurf = &(tMonoHit->det()->surface());
448 if (monoSurf ==
nullptr)
464 GlobalPoint monoRhitGPos = tMonoHit->globalPosition();
465 GlobalError monoRhitGPEr = tMonoHit->globalPositionError();
467 double pullGPX_rs_mono = (monoRhitGPos.
x() - monoShitGPos.
x()) /
sqrt(monoRhitGPEr.
cxx());
468 double pullGPY_rs_mono = (monoRhitGPos.
y() - monoShitGPos.
y()) /
sqrt(monoRhitGPEr.
cyy());
469 double pullGPZ_rs_mono = (monoRhitGPos.
z() - monoShitGPos.
z()) /
sqrt(monoRhitGPEr.
czz());
475 title <<
"PullGP_X_" << subdetId <<
"-" << layerId <<
"_rs_mono";
478 title <<
"PullGP_Y_" << subdetId <<
"-" << layerId <<
"_rs_mono";
481 title <<
"PullGP_Z_" << subdetId <<
"-" << layerId <<
"_rs_mono";
484 double pullGPX_tr_mono = (monoTsosGPos.
x() - monoRhitGPos.
x()) /
sqrt(monoTsosGPEr.
cxx() + monoRhitGPEr.
cxx());
485 double pullGPY_tr_mono = (monoTsosGPos.
y() - monoRhitGPos.
y()) /
sqrt(monoTsosGPEr.
cyy() + monoRhitGPEr.
cyy());
486 double pullGPZ_tr_mono = (monoTsosGPos.
z() - monoRhitGPos.
z()) /
sqrt(monoTsosGPEr.
czz() + monoRhitGPEr.
czz());
492 title <<
"PullGP_X_" << subdetId <<
"-" << layerId <<
"_tr_mono";
495 title <<
"PullGP_Y_" << subdetId <<
"-" << layerId <<
"_tr_mono";
498 title <<
"PullGP_Z_" << subdetId <<
"-" << layerId <<
"_tr_mono";
501 double pullGPX_ts_mono = (monoTsosGPos.
x() - monoShitGPos.
x()) /
sqrt(monoTsosGPEr.
cxx());
502 double pullGPY_ts_mono = (monoTsosGPos.
y() - monoShitGPos.
y()) /
sqrt(monoTsosGPEr.
cyy());
503 double pullGPZ_ts_mono = (monoTsosGPos.
z() - monoShitGPos.
z()) /
sqrt(monoTsosGPEr.
czz());
509 title <<
"PullGP_X_" << subdetId <<
"-" << layerId <<
"_ts_mono";
512 title <<
"PullGP_Y_" << subdetId <<
"-" << layerId <<
"_ts_mono";
515 title <<
"PullGP_Z_" << subdetId <<
"-" << layerId <<
"_ts_mono";
518 double pullGMX_ts_mono = (monoTsosGMom.
x() - monoShitGMom.
x()) /
sqrt(monoTsosGMEr.
cxx());
519 double pullGMY_ts_mono = (monoTsosGMom.
y() - monoShitGMom.
y()) /
sqrt(monoTsosGMEr.
cyy());
520 double pullGMZ_ts_mono = (monoTsosGMom.
z() - monoShitGMom.
z()) /
sqrt(monoTsosGMEr.
czz());
526 title <<
"PullGM_X_" << subdetId <<
"-" << layerId <<
"_ts_mono";
529 title <<
"PullGM_Y_" << subdetId <<
"-" << layerId <<
"_ts_mono";
532 title <<
"PullGM_Z_" << subdetId <<
"-" << layerId <<
"_ts_mono";
536 LogTrace(
"TestSmoothHits") <<
"STEREO HIT" << std::endl;
537 auto s = dynamic_cast<const SiStripMatchedRecHit2D*>((rhit)->
hit())->stereoHit();
539 if (tStereoHit ==
nullptr)
541 vector<PSimHit> assStereoSimHits =
hitAssociator.associateHit(*tStereoHit->hit());
542 if (assStereoSimHits.empty())
544 const PSimHit sStereoHit = *(assSimHits.begin());
545 const Surface* stereoSurf = &(tStereoHit->det()->surface());
546 if (stereoSurf ==
nullptr)
549 if (stereoState.
isValid() == 0)
562 GlobalPoint stereoRhitGPos = tStereoHit->globalPosition();
563 GlobalError stereoRhitGPEr = tStereoHit->globalPositionError();
565 double pullGPX_rs_stereo = (stereoRhitGPos.
x() - stereoShitGPos.
x()) /
sqrt(stereoRhitGPEr.
cxx());
566 double pullGPY_rs_stereo = (stereoRhitGPos.
y() - stereoShitGPos.
y()) /
sqrt(stereoRhitGPEr.
cyy());
567 double pullGPZ_rs_stereo = (stereoRhitGPos.
z() - stereoShitGPos.
z()) /
sqrt(stereoRhitGPEr.
czz());
573 title <<
"PullGP_X_" << subdetId <<
"-" << layerId <<
"_rs_stereo";
576 title <<
"PullGP_Y_" << subdetId <<
"-" << layerId <<
"_rs_stereo";
579 title <<
"PullGP_Z_" << subdetId <<
"-" << layerId <<
"_rs_stereo";
582 double pullGPX_tr_stereo =
583 (stereoTsosGPos.
x() - stereoRhitGPos.
x()) /
sqrt(stereoTsosGPEr.
cxx() + stereoRhitGPEr.
cxx());
584 double pullGPY_tr_stereo =
585 (stereoTsosGPos.
y() - stereoRhitGPos.
y()) /
sqrt(stereoTsosGPEr.
cyy() + stereoRhitGPEr.
cyy());
586 double pullGPZ_tr_stereo =
587 (stereoTsosGPos.
z() - stereoRhitGPos.
z()) /
sqrt(stereoTsosGPEr.
czz() + stereoRhitGPEr.
czz());
593 title <<
"PullGP_X_" << subdetId <<
"-" << layerId <<
"_tr_stereo";
596 title <<
"PullGP_Y_" << subdetId <<
"-" << layerId <<
"_tr_stereo";
599 title <<
"PullGP_Z_" << subdetId <<
"-" << layerId <<
"_tr_stereo";
602 double pullGPX_ts_stereo = (stereoTsosGPos.
x() - stereoShitGPos.
x()) /
sqrt(stereoTsosGPEr.
cxx());
603 double pullGPY_ts_stereo = (stereoTsosGPos.
y() - stereoShitGPos.
y()) /
sqrt(stereoTsosGPEr.
cyy());
604 double pullGPZ_ts_stereo = (stereoTsosGPos.
z() - stereoShitGPos.
z()) /
sqrt(stereoTsosGPEr.
czz());
610 title <<
"PullGP_X_" << subdetId <<
"-" << layerId <<
"_ts_stereo";
613 title <<
"PullGP_Y_" << subdetId <<
"-" << layerId <<
"_ts_stereo";
616 title <<
"PullGP_Z_" << subdetId <<
"-" << layerId <<
"_ts_stereo";
619 double pullGMX_ts_stereo = (stereoTsosGMom.
x() - stereoShitGMom.
x()) /
sqrt(stereoTsosGMEr.
cxx());
620 double pullGMY_ts_stereo = (stereoTsosGMom.
y() - stereoShitGMom.
y()) /
sqrt(stereoTsosGMEr.
cyy());
621 double pullGMZ_ts_stereo = (stereoTsosGMom.
z() - stereoShitGMom.
z()) /
sqrt(stereoTsosGMEr.
czz());
627 title <<
"PullGM_X_" << subdetId <<
"-" << layerId <<
"_ts_stereo";
630 title <<
"PullGM_Y_" << subdetId <<
"-" << layerId <<
"_ts_stereo";
633 title <<
"PullGM_Z_" << subdetId <<
"-" << layerId <<
"_ts_stereo";
640 LogTrace(
"TestSmoothHits") <<
"end of event" << std::endl;
645 TDirectory* chi2i =
file->mkdir(
"Chi2_Increment");
647 TDirectory* gp_ts =
file->mkdir(
"GP_TSOS-SimHit");
648 TDirectory* gm_ts =
file->mkdir(
"GM_TSOS-SimHit");
649 TDirectory* gp_tr =
file->mkdir(
"GP_TSOS-RecHit");
650 TDirectory* gp_rs =
file->mkdir(
"GP_RecHit-SimHit");
652 TDirectory* gp_tsx = gp_ts->mkdir(
"X");
653 TDirectory* gp_tsy = gp_ts->mkdir(
"Y");
654 TDirectory* gp_tsz = gp_ts->mkdir(
"Z");
655 TDirectory* gm_tsx = gm_ts->mkdir(
"X");
656 TDirectory* gm_tsy = gm_ts->mkdir(
"Y");
657 TDirectory* gm_tsz = gm_ts->mkdir(
"Z");
658 TDirectory* gp_trx = gp_tr->mkdir(
"X");
659 TDirectory* gp_try = gp_tr->mkdir(
"Y");
660 TDirectory* gp_trz = gp_tr->mkdir(
"Z");
661 TDirectory* gp_rsx = gp_rs->mkdir(
"X");
662 TDirectory* gp_rsy = gp_rs->mkdir(
"Y");
663 TDirectory* gp_rsz = gp_rs->mkdir(
"Z");
665 TDirectory* gp_tsx_mono = gp_ts->mkdir(
"MONOX");
666 TDirectory* gp_tsy_mono = gp_ts->mkdir(
"MONOY");
667 TDirectory* gp_tsz_mono = gp_ts->mkdir(
"MONOZ");
668 TDirectory* gm_tsx_mono = gm_ts->mkdir(
"MONOX");
669 TDirectory* gm_tsy_mono = gm_ts->mkdir(
"MONOY");
670 TDirectory* gm_tsz_mono = gm_ts->mkdir(
"MONOZ");
671 TDirectory* gp_trx_mono = gp_tr->mkdir(
"MONOX");
672 TDirectory* gp_try_mono = gp_tr->mkdir(
"MONOY");
673 TDirectory* gp_trz_mono = gp_tr->mkdir(
"MONOZ");
674 TDirectory* gp_rsx_mono = gp_rs->mkdir(
"MONOX");
675 TDirectory* gp_rsy_mono = gp_rs->mkdir(
"MONOY");
676 TDirectory* gp_rsz_mono = gp_rs->mkdir(
"MONOZ");
678 TDirectory* gp_tsx_stereo = gp_ts->mkdir(
"STEREOX");
679 TDirectory* gp_tsy_stereo = gp_ts->mkdir(
"STEREOY");
680 TDirectory* gp_tsz_stereo = gp_ts->mkdir(
"STEREOZ");
681 TDirectory* gm_tsx_stereo = gm_ts->mkdir(
"STEREOX");
682 TDirectory* gm_tsy_stereo = gm_ts->mkdir(
"STEREOY");
683 TDirectory* gm_tsz_stereo = gm_ts->mkdir(
"STEREOZ");
684 TDirectory* gp_trx_stereo = gp_tr->mkdir(
"STEREOX");
685 TDirectory* gp_try_stereo = gp_tr->mkdir(
"STEREOY");
686 TDirectory* gp_trz_stereo = gp_tr->mkdir(
"STEREOZ");
687 TDirectory* gp_rsx_stereo = gp_rs->mkdir(
"STEREOX");
688 TDirectory* gp_rsy_stereo = gp_rs->mkdir(
"STEREOY");
689 TDirectory* gp_rsz_stereo = gp_rs->mkdir(
"STEREOZ");
695 for (
int i = 0;
i != 6;
i++)
696 for (
int j = 0;
j != 9;
j++) {
711 title <<
"Chi2Increment_" <<
i + 1 <<
"-" <<
j + 1;
717 title <<
"PullGP_X_" <<
i + 1 <<
"-" <<
j + 1 <<
"_ts";
721 title <<
"PullGP_Y_" <<
i + 1 <<
"-" <<
j + 1 <<
"_ts";
725 title <<
"PullGP_Z_" <<
i + 1 <<
"-" <<
j + 1 <<
"_ts";
731 title <<
"PullGM_X_" <<
i + 1 <<
"-" <<
j + 1 <<
"_ts";
735 title <<
"PullGM_Y_" <<
i + 1 <<
"-" <<
j + 1 <<
"_ts";
739 title <<
"PullGM_Z_" <<
i + 1 <<
"-" <<
j + 1 <<
"_ts";
745 title <<
"PullGP_X_" <<
i + 1 <<
"-" <<
j + 1 <<
"_tr";
749 title <<
"PullGP_Y_" <<
i + 1 <<
"-" <<
j + 1 <<
"_tr";
753 title <<
"PullGP_Z_" <<
i + 1 <<
"-" <<
j + 1 <<
"_tr";
759 title <<
"PullGP_X_" <<
i + 1 <<
"-" <<
j + 1 <<
"_rs";
763 title <<
"PullGP_Y_" <<
i + 1 <<
"-" <<
j + 1 <<
"_rs";
767 title <<
"PullGP_Z_" <<
i + 1 <<
"-" <<
j + 1 <<
"_rs";
770 if (((
i == 2 ||
i == 4) && (
j == 0 ||
j == 1)) || (
i == 3 ||
i == 5)) {
775 title <<
"PullGP_X_" <<
i + 1 <<
"-" <<
j + 1 <<
"_ts_mono";
779 title <<
"PullGP_Y_" <<
i + 1 <<
"-" <<
j + 1 <<
"_ts_mono";
783 title <<
"PullGP_Z_" <<
i + 1 <<
"-" <<
j + 1 <<
"_ts_mono";
789 title <<
"PullGM_X_" <<
i + 1 <<
"-" <<
j + 1 <<
"_ts_mono";
793 title <<
"PullGM_Y_" <<
i + 1 <<
"-" <<
j + 1 <<
"_ts_mono";
797 title <<
"PullGM_Z_" <<
i + 1 <<
"-" <<
j + 1 <<
"_ts_mono";
803 title <<
"PullGP_X_" <<
i + 1 <<
"-" <<
j + 1 <<
"_tr_mono";
807 title <<
"PullGP_Y_" <<
i + 1 <<
"-" <<
j + 1 <<
"_tr_mono";
811 title <<
"PullGP_Z_" <<
i + 1 <<
"-" <<
j + 1 <<
"_tr_mono";
817 title <<
"PullGP_X_" <<
i + 1 <<
"-" <<
j + 1 <<
"_rs_mono";
821 title <<
"PullGP_Y_" <<
i + 1 <<
"-" <<
j + 1 <<
"_rs_mono";
825 title <<
"PullGP_Z_" <<
i + 1 <<
"-" <<
j + 1 <<
"_rs_mono";
832 title <<
"PullGP_X_" <<
i + 1 <<
"-" <<
j + 1 <<
"_ts_stereo";
836 title <<
"PullGP_Y_" <<
i + 1 <<
"-" <<
j + 1 <<
"_ts_stereo";
840 title <<
"PullGP_Z_" <<
i + 1 <<
"-" <<
j + 1 <<
"_ts_stereo";
846 title <<
"PullGM_X_" <<
i + 1 <<
"-" <<
j + 1 <<
"_ts_stereo";
850 title <<
"PullGM_Y_" <<
i + 1 <<
"-" <<
j + 1 <<
"_ts_stereo";
854 title <<
"PullGM_Z_" <<
i + 1 <<
"-" <<
j + 1 <<
"_ts_stereo";
860 title <<
"PullGP_X_" <<
i + 1 <<
"-" <<
j + 1 <<
"_tr_stereo";
864 title <<
"PullGP_Y_" <<
i + 1 <<
"-" <<
j + 1 <<
"_tr_stereo";
868 title <<
"PullGP_Z_" <<
i + 1 <<
"-" <<
j + 1 <<
"_tr_stereo";
874 title <<
"PullGP_X_" <<
i + 1 <<
"-" <<
j + 1 <<
"_rs_stereo";
878 title <<
"PullGP_Y_" <<
i + 1 <<
"-" <<
j + 1 <<
"_rs_stereo";
882 title <<
"PullGP_Z_" <<
i + 1 <<
"-" <<
j + 1 <<
"_rs_stereo";
897 LocalPoint localHit = plane.toLocal(globalpos);
914 return std::pair<LocalPoint, LocalVector>(projectedPos, localStripDir);