35 for (
int i=1 ;
i<=
h->GetNbinsX() ;
i++ ) {
37 double del =
h->GetBinLowEdge(
i+1)-
h->GetBinLowEdge(
i);
39 h->SetBinContent(
i,
h->GetBinContent(
i)/del );
40 h->SetBinError(
i,
h->GetBinError(
i)/del );
61 std::cout <<
"ConfAnalysis::initialise() " << std::endl;
87 double tmp_absResPt = 0.5;
95 double tmp_maxEta = 5.;
96 double tmp_absResEta = 0.04;
99 double tmp_maxPhi = 3.142;
100 double tmp_absResPhi = 0.02;
114 const double zMax = binConfig.
z0Max;
116 const int zresBins = 100;
117 const double zresMax = 10;
120 const double d0Max = binConfig.
d0Max;
122 const int d0resBins = 100;
123 const double d0resMax = 5;
127 const double a0Max = binConfig.
a0Max;
129 const int a0resBins = 100;
130 const double a0resMax = 5;
155 const int ptnbins = Npt;
156 std::vector<double> ptbinlimsv(ptnbins+1);
157 double* ptbinlims = &ptbinlimsv[0];
160 for (
int i=0 ;
i<=ptnbins ;
i++ ) ptbinlims[
i] =
std::pow(10, pt_a*
i/ptnbins+pt_b)/1000;
165 const int ptnbins2 = (2*ptnbins);
167 std::vector<double> ptbinlims2v(ptnbins2 + 1);
168 double* ptbinlims2 = &ptbinlims2v[0];
170 int ptnbin_counter = 0;
171 for (
int i=ptnbins;
i>0 ;
i-- ) {
172 ptbinlims2[ptnbin_counter] =
std::pow(10, pt_a*
i/ptnbins+pt_b)/(-2000);
177 for (
int i=0 ;
i<ptnbins+1 ;
i++ ) {
178 ptbinlims2[ptnbin_counter] =
std::pow(10, pt_a*
i/ptnbins+pt_b)/2000;
184 const int iptnbins = 20;
185 const double minmaxipt=0.5;
186 std::vector<double> iptbinlimsv(iptnbins+1);
187 double* iptbinlims = &iptbinlimsv[0];
188 for (
int i=0 ;
i<=iptnbins ;
i++ ) {
189 iptbinlims[
i] = -minmaxipt+
i*minmaxipt*2./iptnbins;
205 if (
name() !=
gDirectory->GetName() ) std::cerr <<
"ConfAnalysis::initialize() Directory: problem with directory " <<
gDirectory->GetName() <<
" " <<
name() << std::endl;
275 double d0bins[40] = { -5.0, -4.0, -3.0, -2.5,
276 -2.0, -1.8, -1.6, -1.4, -1.2,
277 -1.05, -0.95, -0.85, -0.75, -0.65, -0.55, -0.45, -0.35, -0.25, -0.15, -0.05,
278 0.05, 0.15, 0.25, 0.35, 0.45, 0.55, 0.65, 0.75, 0.85, 0.95, 1.05,
279 1.2, 1.4, 1.6, 1.8, 2.0,
280 2.5, 3.0, 4.0, 5.0 };
341 m_invmass =
new TH1F(
"invmass",
"invariant mass;mass [GeV]", 320, 0, 200 );
342 m_invmassObj =
new TH1F(
"invmassObj",
"invariant mass;mass [GeV]", 320, 0, 200 );
348 TH2F* heta_vs_pt =
new TH2F(
"eta_vs_pt",
"p_{T} [GeV],#eta", ptnbins, ptbinlims, 10, -3, 3 );
349 TH2F* hd0_vs_pt =
new TH2F(
"d0_vs_pt",
"p_{T} [GeV],d_{0} [mm]", ptnbins, ptbinlims, 30, -300, 300 );
362 m_eff_pt->
Hist()->GetYaxis()->SetTitle(
"Efficiency [%]");
374 m_eff_z0->
Hist()->GetYaxis()->SetTitle(
"Efficiency [%]");
378 m_eff_d0->
Hist()->GetYaxis()->SetTitle(
"Efficiency [%]");
382 m_eff_a0->
Hist()->GetYaxis()->SetTitle(
"Efficiency [%]");
385 m_eff_ptm->
Hist()->GetXaxis()->SetTitle(
"Negative P_{T} [GeV]");
389 m_eff_ptp->
Hist()->GetXaxis()->SetTitle(
"Positive P_{T} [GeV]");
417 addHistogram(
new TH1F(
"phi_rec",
"phi_rec", phiBins, -tmp_maxPhi, tmp_maxPhi ) );
422 addHistogram2D(
new TH2F(
"eta_phi_rec",
"eta_phi_rec", (tmp_maxEta+1)*30 , -tmp_maxEta-1, tmp_maxEta+1, (tmp_maxPhi+1)*30, -tmp_maxPhi-1, tmp_maxPhi+1 ) );
423 addHistogram2D(
new TH2F(
"phi_d0_rec",
"phi_d0_rec", (2*tmp_maxPhi+2)*15, -tmp_maxPhi-1, tmp_maxPhi+1 ,d0Bins+20, -d0Max+7, d0Max-7 ));
445 addHistogram(
new TH1F(
"eta_pull_simple",
"eta_pull_simple", 100, -10, 10) );
446 addHistogram(
new TH1F(
"phi_pull_simple",
"phi_pull_simple", 100, -10, 10) );
453 TH1F* pT_res =
new TH1F(
"pT_res",
"pT_res", 4*pTResBins, -0.1, 0.1 );
454 pT_res->GetXaxis()->SetTitle(
"#Delta P_{T} [GeV]");
455 pT_res->GetYaxis()->SetTitle(
"Entries");
459 TH1F* spT_res =
new TH1F(
"spT_res",
"spT_res", 4*pTResBins, -0.1, 0.1 );
460 spT_res->GetXaxis()->SetTitle(
"#Delta sP_{T} [GeV]");
461 spT_res->GetYaxis()->SetTitle(
"Entries");
465 TH1F* ipT_res =
new TH1F(
"ipT_res",
"ipT_res", 4*pTResBins, -0.4, 0.4 );
466 ipT_res->GetXaxis()->SetTitle(
"#Delta 1/P_{T} [GeV^{-1}]");
467 ipT_res->GetYaxis()->SetTitle(
"Entries");
470 TH1F* eta_res =
new TH1F(
"eta_res",
"eta_res", etaResBins, -2*tmp_absResEta, 2*tmp_absResEta );
471 eta_res->GetXaxis()->SetTitle(
"#Delta #eta");
472 eta_res->GetYaxis()->SetTitle(
"Entries");
481 addHistogram(
new TH1F(
"phi_res",
"phi_res;#Delta #phi;Entries", 2*phiResBins, -2*tmp_absResPhi, 2*tmp_absResPhi ) );
482 addHistogram(
new TH1F(
"z0_res",
"z0_res;#Deltaz_{0};Entries", 16*zresBins, -8*zresMax, 8*zresMax ) );
483 addHistogram(
new TH1F(
"d0_res",
"d0_res;#Deltad_{0};Entries", 4*d0resBins, -0.2*d0resMax, 0.2*d0resMax ) );
484 addHistogram(
new TH1F(
"a0_res",
"a0_res;#Deltaa_{0};Entries", 4*a0resBins, -0.2*a0resMax, 0.2*a0resMax ) );
487 addHistogram(
new TH1F(
"dphi_res",
"dphi_res;#Delta #phi;Entries", 2*phiResBins, -0.2*tmp_absResPhi, 0.2*tmp_absResPhi ) );
488 addHistogram(
new TH1F(
"dz0_res",
"dz0_res;#Deltaz_{0};Entries", 8*zresBins, -0.8*zresMax, 0.8*zresMax ) );
489 addHistogram(
new TH1F(
"dd0_res",
"dd0_res;#Deltad_{0};Entries", 4*d0resBins, -0.05*d0resMax, 0.05*d0resMax ) );
490 addHistogram(
new TH1F(
"da0_res",
"da0_res;#Deltaa_{0};Entries", 4*a0resBins, -0.05*a0resMax, 0.05*a0resMax ) );
501 m_rDd0res.push_back(
new Resplot(
"rDd0_vs_pt", ptnbins, ptbinlims, 1200, -0.1, 0.1 ) );
504 m_rDd0res.push_back(
new Resplot(
"rDd0_vs_d0", 20, -1.5, 1.5, 1200, -0.1, 0.1 ) );
509 m_rDa0res.push_back(
new Resplot(
"rDa0_vs_pt", ptnbins, ptbinlims, 100, -0.1, 0.1 ) );
512 m_rDa0res.push_back(
new Resplot(
"rDa0_vs_da0", 20, -1.5, 1.5, 100, -0.1, 0.1 ) );
523 m_rDz0res.push_back(
new Resplot(
"rDz0_vs_pt", ptnbins, ptbinlims, 501, -1, 1 ) );
532 m_retares.push_back(
new Resplot(
"reta_vs_ipt", iptnbins, iptbinlims, 2*etaResBins, -wfactor*tmp_absResEta, wfactor*tmp_absResEta ) );
533 m_rphires.push_back(
new Resplot(
"rphi_vs_ipt", iptnbins, iptbinlims, 8*phiResBins, -wfactor*tmp_absResPhi, wfactor*tmp_absResPhi ) );
534 m_rzedres.push_back(
new Resplot(
"rzed_vs_ipt", iptnbins, iptbinlims, 8*zfactor*zresBins, -2*zfactor*zresMax, 2*zfactor*zresMax ) );
535 m_rzedthetares.push_back(
new Resplot(
"rzedtheta_vs_ipt", iptnbins, iptbinlims, 24*zfactor*zresBins, -2*zfactor*zresMax, 2*zfactor*zresMax ) );
536 m_riptres.push_back(
new Resplot(
"ript_vs_ipt", iptnbins, iptbinlims, 16*pTResBins, -wfactor*tmp_absResPt, wfactor*tmp_absResPt ) );
537 m_rptres.push_back(
new Resplot(
"rpt_vs_ipt", iptnbins, iptbinlims, 8*pTResBins, -wfactor*tmp_absResPt, wfactor*tmp_absResPt ) );
538 m_rd0res.push_back(
new Resplot(
"rd0_vs_ipt", iptnbins, iptbinlims, factor*8*a0resBins, -wfactor*a0resMax, wfactor*a0resMax ) );
541 m_retares.push_back(
new Resplot(
"reta_vs_pt", ptnbins, ptbinlims, 8*etaResBins, -wfactor*tmp_absResEta, wfactor*tmp_absResEta ) );
542 m_rphires.push_back(
new Resplot(
"rphi_vs_pt", ptnbins, ptbinlims, 8*phiResBins, -wfactor*tmp_absResPhi, wfactor*tmp_absResPhi ) );
543 m_rzedres.push_back(
new Resplot(
"rzed_vs_pt", ptnbins, ptbinlims, 24*zfactor*zresBins, -2*zfactor*zresMax, 2*zfactor*zresMax ) );
544 m_rzedthetares.push_back(
new Resplot(
"rzedtheta_vs_pt", ptnbins, ptbinlims, 24*zfactor*zresBins, -2*zfactor*zresMax, 2*zfactor*zresMax ) );
545 m_riptres.push_back(
new Resplot(
"ript_vs_pt", ptnbins, ptbinlims, 16*pTResBins, -wfactor*tmp_absResPt, wfactor*tmp_absResPt ) );
546 m_rptres.push_back(
new Resplot(
"rpt_vs_pt", ptnbins, ptbinlims, 8*pTResBins, -wfactor*tmp_absResPt, wfactor*tmp_absResPt ) );
547 m_rd0res.push_back(
new Resplot(
"rd0_vs_pt", ptnbins, ptbinlims, factor*24*a0resBins, -wfactor*a0resMax, wfactor*a0resMax ) );
549 m_retares.push_back(
new Resplot(
"reta_vs_ET", ptnbins, ptbinlims, 8*etaResBins, -wfactor*tmp_absResEta, wfactor*tmp_absResEta ) );
550 m_rphires.push_back(
new Resplot(
"rphi_vs_ET", ptnbins, ptbinlims, 8*phiResBins, -wfactor*tmp_absResPhi, wfactor*tmp_absResPhi ) );
551 m_rzedres.push_back(
new Resplot(
"rzed_vs_ET", ptnbins, ptbinlims, 24*zfactor*zresBins, -2*zfactor*zresMax, 2*zfactor*zresMax ) );
552 m_rzedthetares.push_back(
new Resplot(
"rzedtheta_vs_ET", ptnbins, ptbinlims, 24*zfactor*zresBins, -2*zfactor*zresMax, 2*zfactor*zresMax ) );
553 m_riptres.push_back(
new Resplot(
"ript_vs_ET", ptnbins, ptbinlims, 16*pTResBins, -wfactor*tmp_absResPt, wfactor*tmp_absResPt ) );
554 m_rptres.push_back(
new Resplot(
"rpt_vs_ET", ptnbins, ptbinlims, 8*pTResBins, -wfactor*tmp_absResPt, wfactor*tmp_absResPt ) );
555 m_rd0res.push_back(
new Resplot(
"rd0_vs_ET", ptnbins, ptbinlims, factor*24*a0resBins, -wfactor*a0resMax, wfactor*a0resMax ) );
559 m_retares.push_back(
new Resplot(
"reta_vs_eta",
etaBins, -tmp_maxEta, tmp_maxEta, 4*etaResBins, -wfactor*tmp_absResEta, wfactor*tmp_absResEta ) );
560 m_rphires.push_back(
new Resplot(
"rphi_vs_eta",
etaBins, -tmp_maxEta, tmp_maxEta, 8*phiResBins, -wfactor*tmp_absResPhi, wfactor*tmp_absResPhi ) );
561 m_rzedres.push_back(
new Resplot(
"rzed_vs_eta",
etaBins, -tmp_maxEta, tmp_maxEta, 12*zfactor*zresBins, -2*zfactor*zresMax, 2*zfactor*zresMax ) );
563 m_rzedthetares.push_back(
new Resplot(
"rzedtheta_vs_eta",
etaBins, -tmp_maxEta, tmp_maxEta, 24*zfactor*zresBins, -zfactor*zresMax, zfactor*zresMax ) );
565 m_riptres.push_back(
new Resplot(
"ript_vs_eta",
etaBins, -tmp_maxEta, tmp_maxEta, 16*pTResBins, -tmp_absResPt, tmp_absResPt ) );
566 m_rptres.push_back(
new Resplot(
"rpt_vs_eta",
etaBins, -tmp_maxEta, tmp_maxEta, 8*pTResBins, -tmp_absResPt, tmp_absResPt ) );
567 m_rd0res.push_back(
new Resplot(
"rd0_vs_eta",
etaBins, -tmp_maxEta, tmp_maxEta, factor*24*a0resBins, -wfactor*a0resMax, wfactor*a0resMax ) );
580 for (
unsigned ih=0 ; ih<3 ; ih++ ) {
585 m_retares.push_back(
new Resplot(
"reta_vs_zed", 0.2*
zBins, -zMax, zMax, 2*etaResBins, -tmp_absResEta, tmp_absResEta ) );
586 m_rphires.push_back(
new Resplot(
"rphi_vs_zed", 0.2*
zBins, -zMax, zMax, 8*phiResBins, -wfactor*tmp_absResPhi, wfactor*tmp_absResPhi ) );
587 m_rzedres.push_back(
new Resplot(
"rzed_vs_zed", 0.2*
zBins, -zMax, zMax, 8*zfactor*zresBins, -2*zfactor*zresMax, 2*zfactor*zresMax ) );
588 m_rzedthetares.push_back(
new Resplot(
"rzedtheta_vs_zed", 0.2*
zBins, -zMax, zMax, 24*zfactor*zresBins, -2*zfactor*zresMax, 2*zfactor*zresMax ) );
591 m_riptres.push_back(
new Resplot(
"ript_vs_zed", 0.2*
zBins, -zMax, zMax, 2*pTResBins, -2*tmp_absResPt, 2*tmp_absResPt ) );
592 m_rptres.push_back(
new Resplot(
"rpt_vs_zed", 0.2*
zBins, -zMax, zMax, 8*pTResBins, -tmp_absResPt, tmp_absResPt ) );
593 m_rd0res.push_back(
new Resplot(
"rd0_vs_zed", 0.2*
zBins, -zMax, zMax, factor*8*a0resBins, -wfactor*a0resMax, wfactor*a0resMax ) );
596 m_retares.push_back(
new Resplot(
"reta_vs_nvtx", 24, 0, 72, 4*etaResBins, -tmp_absResEta, tmp_absResEta ) );
597 m_rphires.push_back(
new Resplot(
"rphi_vs_nvtx", 24, 0, 72, 8*phiResBins, -wfactor*tmp_absResPhi, wfactor*tmp_absResPhi ) );
598 m_rzedres.push_back(
new Resplot(
"rzed_vs_nvtx", 24, 0, 72, 4*zfactor*zresBins, -zfactor*zresMax, zfactor*zresMax ) );
599 m_rzedthetares.push_back(
new Resplot(
"rzedtheta_vs_nvtx", 24, 0, 72, 24*zfactor*zresBins, -zfactor*zresMax, zfactor*zresMax ) );
600 m_riptres.push_back(
new Resplot(
"ript_vs_nvtx", 24, 0, 72, 4*pTResBins, -tmp_absResPt, tmp_absResPt ) );
601 m_rptres.push_back(
new Resplot(
"rpt_vs_nvtx", 24, 0, 72, 8*pTResBins, -tmp_absResPt, tmp_absResPt ) );
602 m_rd0res.push_back(
new Resplot(
"rd0_vs_nvtx", 24, 0, 72, factor*8*a0resBins, -wfactor*a0resMax, wfactor*a0resMax ) );
605 m_retares.push_back(
new Resplot(
"reta_vs_ntracks", 60, 0, 600, 4*etaResBins, -tmp_absResEta, tmp_absResEta ) );
606 m_rphires.push_back(
new Resplot(
"rphi_vs_ntracks", 60, 0, 600, 8*phiResBins, -wfactor*tmp_absResPhi, wfactor*tmp_absResPhi ) );
607 m_rzedres.push_back(
new Resplot(
"rzed_vs_ntracks", 60, 0, 600, 4*zfactor*zresBins, -zfactor*zresMax, zfactor*zresMax ) );
608 m_rzedthetares.push_back(
new Resplot(
"rzedtheta_vs_ntracks", 60, 0, 600, 24*zfactor*zresBins, -zfactor*zresMax, zfactor*zresMax ) );
610 m_riptres.push_back(
new Resplot(
"ript_vs_ntracks", 60, 0, 600, 4*pTResBins, -tmp_absResPt, tmp_absResPt ) );
611 m_rptres.push_back(
new Resplot(
"rpt_vs_ntracks", 60, 0, 600, 8*pTResBins, -tmp_absResPt, tmp_absResPt ) );
612 m_rd0res.push_back(
new Resplot(
"rd0_vs_ntracks", 60, 0, 600, factor*8*a0resBins, -wfactor*a0resMax, wfactor*a0resMax ) );
615 m_retares.push_back(
new Resplot(
"reta_vs_phi", 128, -
M_PI,
M_PI, 2*etaResBins, -wfactor*tmp_absResEta, wfactor*tmp_absResEta ) );
616 m_rphires.push_back(
new Resplot(
"rphi_vs_phi", 128, -
M_PI,
M_PI, 8*phiResBins, -wfactor*tmp_absResPhi, wfactor*tmp_absResPhi ) );
617 m_rzedres.push_back(
new Resplot(
"rzed_vs_phi", 128, -
M_PI,
M_PI, 8*zfactor*zresBins, -2*zfactor*zresMax, 2*zfactor*zresMax ) );
619 m_riptres.push_back(
new Resplot(
"ript_vs_phi", 128, -
M_PI,
M_PI, 16*pTResBins, -wfactor*tmp_absResPt, wfactor*tmp_absResPt ) );
620 m_rptres.push_back(
new Resplot(
"rpt_vs_phi", 128, -
M_PI,
M_PI, 8*pTResBins, -wfactor*tmp_absResPt, wfactor*tmp_absResPt ) );
621 m_rd0res.push_back(
new Resplot(
"rd0_vs_phi", 128, -
M_PI,
M_PI, factor*8*a0resBins, -wfactor*a0resMax, wfactor*a0resMax ) );
625 m_retares.push_back(
new Resplot(
"reta_vs_mu", 24, 0, 72, 4*etaResBins, -tmp_absResEta, tmp_absResEta ) );
626 m_rphires.push_back(
new Resplot(
"rphi_vs_mu", 24, 0, 72, 8*phiResBins, -wfactor*tmp_absResPhi, wfactor*tmp_absResPhi ) );
627 m_rzedres.push_back(
new Resplot(
"rzed_vs_mu", 24, 0, 72, 4*zfactor*zresBins, -zfactor*zresMax, zfactor*zresMax ) );
628 m_rzedthetares.push_back(
new Resplot(
"rzedtheta_vs_mu", 24, 0, 72, 24*zfactor*zresBins, -zfactor*zresMax, zfactor*zresMax ) );
629 m_riptres.push_back(
new Resplot(
"ript_vs_mu", 24, 0, 72, 4*pTResBins, -tmp_absResPt, tmp_absResPt ) );
630 m_rptres.push_back(
new Resplot(
"rpt_vs_mu", 24, 0, 72, 8*pTResBins, -tmp_absResPt, tmp_absResPt ) );
631 m_rd0res.push_back(
new Resplot(
"rd0_vs_mu", 24, 0, 72, factor*8*a0resBins, -wfactor*a0resMax, wfactor*a0resMax ) );
636 m_rzedres.push_back(
new Resplot(
"rzed_vs_signed_pt", ptnbins2, ptbinlims2, 4*zfactor*zresBins, -zfactor*zresMax, zfactor*zresMax ) );
637 m_rzedres.push_back(
new Resplot(
"rzed_vs_ABS_pt", ptnbins, ptbinlims, 4*zfactor*zresBins, -2*zfactor*zresMax, 2*zfactor*zresMax ) );
638 m_rzedthetares.push_back(
new Resplot(
"rzedtheta_vs_signed_pt", ptnbins2, ptbinlims2, 24*zfactor*zresBins, -zfactor*zresMax, zfactor*zresMax ) );
639 m_rzedthetares.push_back(
new Resplot(
"rzedtheta_vs_ABS_pt", ptnbins, ptbinlims, 24*zfactor*zresBins, -2*zfactor*zresMax, 2*zfactor*zresMax ) );
642 m_rd0res.push_back(
new Resplot(
"rd0_vs_signed_pt", ptnbins2, ptbinlims2, factor*8*a0resBins, -wfactor*a0resMax, wfactor*a0resMax ) );
643 m_rd0res.push_back(
new Resplot(
"rd0_vs_ABS_pt", ptnbins, ptbinlims, factor*8*a0resBins, -wfactor*a0resMax, wfactor*a0resMax ) );
649 m_retaresPull.push_back(
new Resplot(
"retaPull_vs_ipt", iptnbins, iptbinlims, 2*etaResBins, -5,5));
650 m_rphiresPull.push_back(
new Resplot(
"rphiPull_vs_ipt", iptnbins, iptbinlims, 8*phiResBins, -5,5));
651 m_rzedresPull.push_back(
new Resplot(
"rzedPull_vs_ipt", iptnbins, iptbinlims, 4*zfactor*zresBins, -5,5));
653 m_rptresPull.push_back(
new Resplot(
"rptPull_vs_ipt", iptnbins, iptbinlims, 8*pTResBins, -5,5));
654 m_rd0resPull.push_back(
new Resplot(
"rd0Pull_vs_ipt", iptnbins, iptbinlims, factor*8*a0resBins, -5,5));
656 m_retaresPull.push_back(
new Resplot(
"retaPull_vs_pt", ptnbins, ptbinlims, 2*etaResBins, -5,5));
657 m_rphiresPull.push_back(
new Resplot(
"rphiPull_vs_pt", ptnbins, ptbinlims, 8*phiResBins, -5,5));
658 m_rzedresPull.push_back(
new Resplot(
"rzedPull_vs_pt", ptnbins, ptbinlims, 4*zfactor*zresBins, -5,5));
661 m_rptresPull.push_back(
new Resplot(
"rptPull_vs_pt", ptnbins, ptbinlims, 8*pTResBins, -5,5));
662 m_rd0resPull.push_back(
new Resplot(
"rd0Pull_vs_pt", ptnbins, ptbinlims, factor*8*a0resBins, -5,5));
687 m_rd0resPull.push_back(
new Resplot(
"rd0Pull_vs_nvtx", 12, 0, 36, factor*8*a0resBins, -5,5));
691 m_rzedresPull.push_back(
new Resplot(
"rzedPull_vs_ntracks", 60, 0, 600, 4*zfactor*zresBins, -5,5));
695 m_rd0resPull.push_back(
new Resplot(
"rd0Pull_vs_ntracks", 60, 0, 600, factor*8*a0resBins, -5,5));
697 m_rzedresPull.push_back(
new Resplot(
"rzedPull_vs_signed_pt", ptnbins2, ptbinlims2, 4*zfactor*zresBins, -5,5));
698 m_rzedresPull.push_back(
new Resplot(
"rzedPull_vs_ABS_pt", ptnbins, ptbinlims, 4*zfactor*zresBins, -5,5));
701 m_rd0resPull.push_back(
new Resplot(
"rd0Pull_vs_signed_pt", ptnbins2, ptbinlims2, factor*8*a0resBins, -5,5));
702 m_rd0resPull.push_back(
new Resplot(
"rd0Pull_vs_ABS_pt", ptnbins, ptbinlims, factor*8*a0resBins, -5,5));
704 m_rzedreslb =
new Resplot(
"rzed_vs_lb", 301, -0.5, 3009.5, 8*zfactor*zresBins, -2*zfactor*zresMax, 2*zfactor*zresMax );
706 m_rzedlb =
new Resplot(
"zed_vs_lb", 301, -0.5, 3009.5, 100, -300, 300 );
729 addHistogram(
new TH1F(
"nsct_rec",
"nsct_rec", NHits, -0.5,
float(NHits-0.5) ) );
732 addHistogram(
new TH1F(
"npix_rec",
"npix_rec", NHits, -0.5,
float(NHits-0.5) ) );
735 addHistogram(
new TH1F(
"nsi_rec",
"nsi_rec", NHits, -0.5,
float(NHits-0.5) ) );
736 addHistogram(
new TH1F(
"nsi_matched",
"nsi_matched", NHits, -0.5,
float(NHits-0.5) ) );
740 addHistogram(
new TH1F(
"ntrt_rec",
"ntrt_rec", NHits, -0.5,
float(NHits-0.5) ) );
742 addHistogram(
new TH1F(
"nstraw",
"nstraw", NHits*4, -0.5,
float(4*NHits-0.5) ) );
743 addHistogram(
new TH1F(
"nstraw_rec",
"nstraw_rec", NHits*4, -0.5,
float(4*NHits-0.5) ) );
745 addHistogram(
new TH1F(
"ntracks",
"ntracks", Ntracks+1, -0.5,
float(Ntracks+0.5) ) );
746 addHistogram(
new TH1F(
"ntracks_rec",
"ntracks_rec", Ntracks+1, -0.5,
float(Ntracks+0.5) ) );
750 m_h2 =
new Resplot(
"d0vphi", phiBins, -3.142, 3.142, d0Bins, -d0Max, d0Max );
751 m_h2r =
new Resplot(
"d0vphi_rec", phiBins, -3.142, 3.142, d0Bins, -d0Max, d0Max );
752 m_h2m =
new Resplot(
"d0vphi_match", phiBins, -3.142, 3.142, d0Bins, -d0Max, d0Max );
754 m_h2a0 =
new Resplot(
"a0vphi", phiBins, -3.142, 3.142, d0Bins, -d0Max, d0Max );
755 m_h2a0r =
new Resplot(
"a0vphi_rec", phiBins, -3.142, 3.142, d0Bins, -d0Max, d0Max );
760 TH1F heffvlb(
"eff vs lb",
"eff vs lb", 301, -0.5, 3009.5 );
795 TH1F* eff_vs_mult =
new TH1F(
"eff_vs_mult",
"eff_vs_mult", 25, 0, 25 );
815 double nbins[23] = { 0, 29.5, 39.5, 48.5, 56.5, 63.5, 70.5, 77.5,
816 83.5, 91.5, 97.5, 106.5, 114.5, 121.5, 129.5, 140.5,
817 151.5, 164.5, 200.5, 250.5, 300.5, 400.5, 600 };
819 TH1F* n_vtx_tracks2 =
new TH1F(
"nvtxtracks2",
"nvtxtracks2", 22,
nbins);
821 delete n_vtx_tracks2;
823 m_n_vtx =
new TH1F(
"nvtx",
"nvtx", 81, -0.5, 80.5);
826 m_mu =
new TH1F(
"mu",
"mu", 90, 0, 90);
832 double etovpt_bins[39] = {
833 0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9,
834 1, 1.08571, 1.17877, 1.2798, 1.3895, 1.50859, 1.63789, 1.77828, 1.9307, 2.09618,
835 2.27585, 2.47091, 2.6827, 2.91263, 3.16228, 3.43332, 3.72759, 4.04709, 4.39397, 4.77058,
836 5.17947, 5.62341, 6.1054, 6.6287, 7.19686, 7.81371, 8.48343, 9.21055, 10
841 m_etovpt =
new TH1F(
"etovpt",
"ET / pT", 38, etovpt_bins );
845 m_et =
new TH1F(
"ET",
"ET; E_{T} [GeV]", ptnbins, ptbinlims );
877 TF1*
f1 =
new TF1(
"gausr",
"[0]*exp(-(x-[1])*(x-[1])/([2]*[2]))");
882 f1->SetParameter(0,
s->GetBinContent(
s->GetMaximumBin()) );
883 f1->SetParameter(1,
s->GetBinCenter(
s->GetMaximumBin()));
885 f1->SetParameter(2,1.5);
886 f1->FixParameter(2,1.5);
888 f1->SetParName(0,
"Norm");
889 f1->SetParName(1,
"Mean");
890 f1->SetParName(2,
"Sigma");
893 for (
int j=1 ; j<=
s->GetNbinsX() ; j++)
if (
s->GetBinContent(j))
nbins++;
896 if (
a==-999 ||
b==-999 )
s->Fit(
f1,
"Q");
897 else s->Fit(
f1,
"Q",
"",
a,
b);
899 else for (
int j=0 ; j<3 ; j++ )
f1->SetParameter(j, 0);
912 TF1* fsin =
new TF1(
"sinp",
"sqrt([0]*[0])*sin([1]-x)+[2]" );
914 fsin->SetParameter(0,1);
915 fsin->SetParameter(1,0);
916 fsin->SetParameter(2,0);
918 fsin->SetLineWidth(1);
922 std::cout << __FUNCTION__ <<
" " <<
h->GetName() << std::endl;
925 double radius = fsin->GetParameter(0);
926 double phi = fsin->GetParameter(1);
931 std::cout <<
parent <<
"\t" <<
h->GetTitle() <<
"\tx = " <<
x <<
"\ty = " <<
y << std::endl;
947 std::cout <<
"ConfAnalysis::finalise() " <<
name();
949 if (
name().
size()<19 ) std::cout <<
"\t";
950 if (
name().
size()<30 ) std::cout <<
"\t";
951 if (
name().
size()<41 ) std::cout <<
"\t";
952 if (
name().
size()<52 ) std::cout <<
"\t";
955 std::cout <<
"\tNreco " <<
m_Nreco
962 std::cout << std::endl;
973 for ( ; hitr!=hend ; ++hitr ) hitr->second->Write();
978 const unsigned Neff = 11;
991 for (
unsigned i=0 ;
i<Neff ;
i++ ) {
993 heff[
i]->
Bayes()->Write( ( heff[
i]->
name()+
"_tg" ).c_str() );
1016 const unsigned Npurity = 6;
1025 for (
unsigned i = 0 ;
i<Npurity ;
i++ ) hpurity[
i]->
finalise();
1036 std::string spstr[5] = {
"npix",
"nsct",
"nsi",
"ntrt",
"nbl" };
1037 for (
int i=
m_res.size() ;
i-- ; ) {
1040 m_res[
i]->Finalise( resfit );
1067 for (
unsigned ih=0 ; ih<2 ; ih++ ) {
1072 for (
unsigned ih=0 ; ih<3 ; ih++ ) {
1208 if ( vtxanal ) vtxanal->
finalise();
1229 const std::vector<TIDA::Track*>& testtracks,
1239 std::cout <<
"ConfAnalysis::execute() \t " <<
name()
1240 <<
"\tref " << reftracks.size()
1241 <<
"\ttest " << testtracks.size();
1242 if (
groi ) std::cout <<
"\tgroi " <<
groi <<
" " << *
groi;
1243 std::cout << std::endl;
1249 static std::string
varName[16] = {
"pT",
"eta",
"phi",
"z0",
"d0",
"a0",
1250 "nsct",
"npix",
"nsi",
"ntrt",
"nstraw",
1251 "dd0",
"da0",
"dz0",
"deta",
"dphi" };
1254 if ( hmitr!=
m_histos.end() ) hmitr->second->Fill( reftracks.size() );
1256 hmitr =
m_histos.find(
"ntracks_rec");
1257 if ( hmitr!=
m_histos.end() ) hmitr->second->Fill( testtracks.size() );
1262 m_Nref += reftracks.size();
1277 for (
int i=reftracks.size() ;
i-- ; ) {
1284 double deta = reftracks[
i]->eta() -
groi->
eta();
1286 double dzed = reftracks[
i]->z0() -
groi->
zed();
1294 double ipTt = 1./(reftracks[
i]->pT()/1000.);
1295 double pTt = reftracks[
i]->pT()/1000;
1297 double etat = reftracks[
i]->eta();
1298 double phit = reftracks[
i]->phi();
1309 double z0t = reftracks[
i]->z0();
1311 double a0t = reftracks[
i]->a0();
1317 d0t = reftracks[
i]->a0();
1344 double dpTt = reftracks[
i]->dpT()/1000;
1345 double detat = reftracks[
i]->deta();
1346 double dphit = reftracks[
i]->dphi();
1349 float droi_detat =
groi->
eta() - reftracks[
i]->eta();
1350 float droi_dphit =
groi->
phi() - reftracks[
i]->phi();
1351 if ( droi_dphit<-
M_PI ) droi_dphit +=2*
M_PI;
1352 if ( droi_dphit>
M_PI ) droi_dphit -=2*
M_PI;
1353 float droi_dRt = std::sqrt(droi_dphit*droi_dphit + droi_detat*droi_detat);
1358 double dz0t = reftracks[
i]->dz0();
1363 double da0t = reftracks[
i]->da0();
1366 std::cout <<
"etat = " << etat <<
" +/- " << detat << std::endl;
1367 std::cout <<
"phit = " << phit <<
" +/- " << dphit << std::endl;
1368 std::cout <<
"z0t = " << z0t <<
" +/- " << dz0t << std::endl;
1369 std::cout <<
"d0t = " << d0t <<
" +/- " << dd0t << std::endl;
1370 std::cout <<
"a0t = " << a0t <<
" +/- " << da0t << std::endl;
1371 std::cout <<
"pTt = " << pTt <<
" +/- " << dpTt << std::endl;
1374 if ( std::fabs(a0t)>
a0 )
continue;
1379 double nsctt = reftracks[
i]->sctHits();
1380 double npixt = reftracks[
i]->pixelHits()*0.5;
1381 double nsit = reftracks[
i]->pixelHits()*0.5 + reftracks[
i]->sctHits();
1383 double nsctht = reftracks[
i]->sctHoles();
1384 double npixht = reftracks[
i]->pixelHoles();
1385 double nsiht = reftracks[
i]->pixelHoles() + reftracks[
i]->sctHoles();
1387 double nbl = reftracks[
i]->bLayerHits();
1388 double nblh = ( ( reftracks[
i]->expectBL() && reftracks[
i]->bLayerHits()<1 ) ? 1 : 0 );
1391 double nstrawt = reftracks[
i]->strawHits();
1404 m_mu->Fill( mu_val );
1412 double vpart[16] = { std::fabs(pTt), etat, phit, z0t, d0t, a0t, nsctt, npixt, nsctt, nsit, nstrawt, dd0t, da0t, dz0t, detat, dphit };
1416 for (
int it=0 ;
it<11 ;
it++ ) {
1422 else std::cerr <<
"hmmm histo " <<
varName[
it] <<
" not found" << std::endl;
1469 double etovpt_val = 0;
1475 tobj =
objects->object( reftracks[
i]->
id() );
1479 etovpt_val = std::fabs( tobj->
pt()/reftracks[
i]->pT() );
1482 m_et->Fill( tobj->
pt()*0.001 );
1483 ET = std::fabs(tobj->
pt()*0.001);
1488 if ( matchedreco ) {
1530 double pTr = matchedreco->
pT()/1000;
1531 double etar = matchedreco->
eta();
1532 double phir = matchedreco->
phi();
1556 a0r = matchedreco->
a0();
1557 z0r = matchedreco->
z0();
1560 d0r = matchedreco->
a0();
1579 double nsctr = matchedreco->
sctHits();
1580 double npixr = matchedreco->
pixelHits()*0.5;
1583 double nscthr = matchedreco->
sctHoles();
1592 double nstrawr = matchedreco->
strawHits();
1596 double dpTr = matchedreco->
dpT()/1000;
1597 double detar = matchedreco->
deta();
1598 double dphir = matchedreco->
dphi();
1604 double dz0r = matchedreco->
dz0();
1606 double da0r = matchedreco->
da0();
1609 std::cout <<
"etar = " << etar <<
" +/- " << detar << std::endl;
1610 std::cout <<
"phir = " << phir <<
" +/- " << dphir << std::endl;
1611 std::cout <<
"pTr = " << pTr <<
" +/- " << dpTr << std::endl;
1612 std::cout <<
"a0r = " << a0r <<
" +/- " << da0r << std::endl;
1613 std::cout <<
"d0r = " << d0r <<
" +/- " << dd0r << std::endl;
1614 std::cout <<
"z0r = " << z0r <<
" +/- " << dz0r << std::endl;
1625 double Delta_ipt = 1.0/pTr - 1.0/pTt;
1626 double Delta_pt = pTr - pTt;
1633 for (
int irfill=0 ; irfill<9 ; irfill++ ) {
1634 m_retares[irfill]->Fill( resfiller[irfill], etar-etat );
1635 m_rphires[irfill]->Fill( resfiller[irfill], phir-phit );
1636 m_rzedres[irfill]->Fill( resfiller[irfill], z0r-z0t );
1638 m_riptres[irfill]->Fill( resfiller[irfill], Delta_ipt );
1639 m_rptres[irfill]->Fill( resfiller[irfill], Delta_pt );
1640 m_rd0res[irfill]->Fill( resfiller[irfill], a0r-a0t );
1649 for (
int irfill=0 ; irfill<6 ; irfill++ ) {
1650 m_rphiresPull[irfill]->Fill( resfiller[irfill], (phir - phit) / sqrt( (dphit*dphit) + (dphir*dphir) ) );
1651 m_retaresPull[irfill]->Fill( resfiller[irfill], (etar - etat) / sqrt( (detat*detat) + (detar*detar) ) );
1652 m_rptresPull[irfill]->Fill( resfiller[irfill], Delta_pt / sqrt( (dpTt*dpTt) + (dpTr*dpTr) ) );
1653 m_rzedresPull[irfill]->Fill( resfiller[irfill], (z0r - z0t) / sqrt( (dz0t*dz0t) + (dz0r*dz0r) ) );
1654 m_rd0resPull[irfill]->Fill( resfiller[irfill], (a0r - a0t) / sqrt( (da0t*da0t) + (da0r*da0r) ) );
1657 m_rDz0res[0]->Fill( std::fabs(pTt), dz0r-dz0t );
1663 std::ostream& dumpstream =
dumpfile;
1664 if ( dz0t>0 && std::fabs( dz0r-dz0t )>0.04 ) {
1666 dumpstream <<
"POOR sigma(z0) agreement \n\trefrack: " << *reftracks[
i] <<
"\n\ttestrack: " << *matchedreco << std::endl;
1672 m_rDd0res[0]->Fill( std::fabs(pTt), dd0r-dd0t );
1678 m_rDa0res[0]->Fill( std::fabs(pTt), da0r-da0t );
1683 const double Deltaphi = 2*
M_PI/
NMod;
1685 double phistart = 11.0819;
1686 if (
NMod==22 ) phistart = 7.05803;
1688 double phit_wrap = phit - phistart*
M_PI/180;
1690 if ( phit_wrap<-
M_PI ) phit_wrap += 2*
M_PI;
1692 double iphi = phit_wrap - (Deltaphi*
int((phit_wrap+
M_PI)/Deltaphi) -
M_PI);
1716 m_rzedresPull[
m_rphires.size()-3]->Fill( resfiller[1], (z0r - z0t) / std::sqrt( (dz0t*dz0t) + (dz0r*dz0r) ) );
1717 m_rzedresPull[
m_rphires.size()-2]->Fill( fabs(resfiller[1]), (z0r - z0t) / std::sqrt( (dz0t*dz0t) + (dz0r*dz0r) ) );
1718 m_rd0resPull[
m_rphires.size()-3]->Fill( resfiller[1], (a0r - a0t) / std::sqrt( (da0t*da0t) + (da0r*da0r) ) );
1719 m_rd0resPull[
m_rphires.size()-2]->Fill( fabs(resfiller[1]), (a0r - a0t) / std::sqrt( (da0t*da0t) + (da0r*da0r) ) );
1752 double vres[6] = { Delta_ipt, etar-etat, phir-phit, z0r-z0t, d0r-d0t, a0r-a0t };
1753 for (
int it=0 ;
it<6 ;
it++ ) {
1755 find(
"ipT_res")->Fill( vres[0] );
1756 find(
"spT_res")->Fill( 1.0/pTr-1.0/pTt );
1759 else std::cerr <<
"hmmm histo " <<
varName[
it]+
"_res" <<
" not found" << std::endl;
1763 hptr->Fill( etar,phir );
1764 hptr->GetXaxis()->SetTitle(
"#eta");
1765 hptr->GetYaxis()->SetTitle(
"#phi");
1769 hptr->Fill( phir,d0r );
1770 hptr->GetXaxis()->SetTitle(
"#phi");
1771 hptr->GetYaxis()->SetTitle(
"d_{0} [mm]");
1776 if (
TH1F* hptr =
find(
"dpT_rec") ) hptr->Fill(dpTr);
1777 if (
TH1F* hptr =
find(
"deta_rec")) hptr->Fill(detar);
1778 if (
TH1F* hptr =
find(
"dphi_rec")) hptr->Fill(dphir);
1779 if (
TH1F* hptr =
find(
"dz0_rec")) hptr->Fill(dz0r);
1780 if (
TH1F* hptr =
find(
"dd0_rec")) hptr->Fill(dd0r);
1781 if (
TH1F* hptr =
find(
"da0_rec")) hptr->Fill(da0r);
1784 if (
TH1F* hptr =
find(
"dpT") ) hptr->Fill(dpTt);
1785 if (
TH1F* hptr =
find(
"deta")) hptr->Fill(detat);
1786 if (
TH1F* hptr =
find(
"dphi")) hptr->Fill(dphit);
1787 if (
TH1F* hptr =
find(
"dz0")) hptr->Fill(dz0t);
1788 if (
TH1F* hptr =
find(
"dd0")) hptr->Fill(dd0t);
1789 if (
TH1F* hptr =
find(
"da0")) hptr->Fill(da0t);
1792 if (
TH1F* hptr =
find(
"dd0_res")) hptr->Fill(dd0r-dd0t);
1793 if (
TH1F* hptr =
find(
"da0_res")) hptr->Fill(da0r-da0t);
1794 if (
TH1F* hptr =
find(
"dz0_res")) hptr->Fill(dz0r-dz0t);
1796 double Dd0 = dd0r-dd0t;
1797 double Da0 = da0r-da0t;
1799 double Ddphi = dphir - dphit;
1809 if ( matchedreco->
bLayerHits()<=3 ) std::cout <<
"\nov2\t" << Dd0 <<
" " << *matchedreco << std::endl;
1810 else std::cout <<
"\nov4\t" << Dd0 <<
" " << *matchedreco << std::endl;
1813 if ( std::fabs(Dd0)<0.01 ) {
1817 std::cout <<
"close residual " << Dd0 <<
" " << Ddphi
1818 <<
" "<< reftracks[
i]->bLayerHits()-matchedreco->
bLayerHits()
1819 <<
" "<< reftracks[
i]->pixelHits()-matchedreco->
pixelHits();
1820 std::cout <<
"\nccr\t" << Dd0 <<
" " << Ddphi <<
" " << *reftracks[
i];
1821 std::cout <<
"\ncct\t" << Dd0 <<
" " << Ddphi <<
" " << *matchedreco << std::endl;
1827 std::cout <<
"far residual " << Dd0 <<
" " << Ddphi
1828 <<
" "<< reftracks[
i]->bLayerHits()-matchedreco->
bLayerHits()
1829 <<
" "<< reftracks[
i]->pixelHits()-matchedreco->
pixelHits();
1830 std::cout <<
"\nffr\t" << Dd0 <<
" " << Ddphi <<
" " << *reftracks[
i];
1831 std::cout <<
"\nfft\t" << Dd0 <<
" " << Ddphi <<
" " << *matchedreco << std::endl;
1842 double pull_pt = Delta_pt / std::sqrt( (dpTt*dpTt) + (dpTr*dpTr) );
1843 double pull_eta = (etar - etat) / std::sqrt( (detat*detat) + (detar*detar) );
1844 double pull_phi = (phir - phit) / std::sqrt( (dphit*dphit) + (dphir*dphir) );
1845 double pull_z0 = (z0r - z0t) / std::sqrt( (dz0t*dz0t) + (dz0r*dz0r) );
1846 double pull_d0 = (d0r - d0t) / std::sqrt( (dd0t*dd0t) + (dd0r*dd0r) );
1847 double pull_a0 = (a0r - a0t) / std::sqrt( (da0t*da0t) + (da0r*da0r) );
1849 if (
TH1F* hptr =
find(
"pT_pull") ) hptr->Fill(pull_pt);
1850 if (
TH1F* hptr =
find(
"eta_pull")) hptr->Fill(pull_eta);
1851 if (
TH1F* hptr =
find(
"phi_pull")) hptr->Fill(pull_phi);
1852 if (
TH1F* hptr =
find(
"z0_pull")) hptr->Fill(pull_z0);
1853 if (
TH1F* hptr =
find(
"d0_pull")) hptr->Fill(pull_d0);
1854 if (
TH1F* hptr =
find(
"a0_pull")) hptr->Fill(pull_a0);
1857 double pull_pt_simp = Delta_pt / sqrt( dpTr*dpTr );
1858 double pull_eta_simp = (etar - etat) / sqrt( detar*detar );
1859 double pull_phi_simp = (phir - phit) / sqrt( dphir*dphir );
1860 double pull_z0_simp = (z0r - z0t) / sqrt( dz0r*dz0r );
1861 double pull_d0_simp = (d0r - d0t) / sqrt( dd0r*dd0r );
1862 double pull_a0_simp = (a0r - a0t) / sqrt( da0r*da0r );
1864 if (
TH1F* hptr =
find(
"pT_pull_simple") ) hptr->Fill(pull_pt_simp);
1865 if (
TH1F* hptr =
find(
"eta_pull_simple")) hptr->Fill(pull_eta_simp);
1866 if (
TH1F* hptr =
find(
"phi_pull_simple")) hptr->Fill(pull_phi_simp);
1867 if (
TH1F* hptr =
find(
"z0_pull_simple")) hptr->Fill(pull_z0_simp);
1868 if (
TH1F* hptr =
find(
"d0_pull_simple")) hptr->Fill(pull_d0_simp);
1869 if (
TH1F* hptr =
find(
"a0_pull_simple")) hptr->Fill(pull_a0_simp);
1872 if (
TH1F* hptr =
find(
"etai_res") ) hptr->Fill( etat-etar );
1875 double Delphi = phit-phir;
1876 double Deleta = etat-etar;
1878 if ( Delphi<-
M_PI ) Delphi+=2*
M_PI;
1879 if ( Delphi>
M_PI ) Delphi -=2*
M_PI;
1881 double DeltaR = std::sqrt(Delphi*Delphi+Deleta*Deleta);
1893 if (
TH1F* hptr =
find(
"nsi_matched")) hptr->Fill(nsir);
1903 matchedreco->
chi2()/matchedreco->
dof() );
1906 (matchedreco->
chi2()/matchedreco->
dof())-(reftracks[
i]->chi2()/reftracks[
i]->dof()) );
1964 std::ostream& dumpstream =
dumpfile;
1966 if ( std::fabs(pTt)>1 ) {
1970 dumpstream <<
m_name <<
"\tMISSING TRACK run " <<
r <<
"\tevent " <<
ev
1971 <<
"\tlb " <<
lb <<
"\tN vertices " <<
NvtxCount << std::endl;
1972 dumpstream <<
m_name <<
"\tMISSING TRACK RoI " << *
groi << std::endl;
1973 dumpstream <<
m_name <<
"\tMISSING TRACK Track " << *reftracks[
i];
1974 if ( std::fabs(pTt)>=30 ) dumpstream <<
"\tvery high pt";
1975 if ( std::fabs(pTt)>4 &&
1976 std::fabs(pTt)<30 ) dumpstream <<
"\t high pt";
1977 dumpstream << std::endl;
1979 if ( std::fabs(pTt)>=20 ){
1980 dumpstream <<
"Test tracks " << std::endl;
1981 for (
unsigned int ii=0; ii<testtracks.size(); ii++){
1982 dumpstream << *testtracks[ii] << std::endl;
2002 static int icount = 0;
2006 if (
m_print ) std::cout <<
"ConfAnalysis::execute() \t " <<
name() <<
"\t " << icount <<
" events\t " << testtracks.size() <<
" tracks (" <<
m_Nreco <<
")" <<
"\n---------------" << std::endl;
2010 for (
int i=testtracks.size() ;
i-- ; ) {
2015 double pTr = testtracks[
i]->pT()/1000;
2016 double etar = testtracks[
i]->eta();
2017 double phir = testtracks[
i]->phi();
2020 double z0r = testtracks[
i]->z0();
2022 double a0r = testtracks[
i]->a0();
2026 d0r = testtracks[
i]->a0();
2034 double nsctr = testtracks[
i]->sctHits();
2035 double npixr = testtracks[
i]->pixelHits()*0.5;
2036 double nsir = testtracks[
i]->pixelHits()*0.5 + testtracks[
i]->sctHits();
2038 double ntrtr = testtracks[
i]->trHits();
2039 double nstrawr = testtracks[
i]->strawHits();
2046 double dpTr_b = testtracks[
i]->dpT()/1000;
2047 double detar_b = testtracks[
i]->deta();
2048 double dphir_b = testtracks[
i]->dphi();
2049 double dz0r_b = testtracks[
i]->dz0();
2051 double da0r_b = testtracks[
i]->da0();
2054 std::cout <<
"pTr_b = " << pTr <<
" +/- " << dpTr_b << std::endl;
2055 std::cout <<
"phir_b = " << phir <<
" +/- " << dphir_b << std::endl;
2056 std::cout <<
"z0r_b = " << z0r <<
" +/- " << dz0r_b << std::endl;
2057 std::cout <<
"d0r_b = " << d0r <<
" +/- " << dd0r_b << std::endl;
2058 std::cout <<
"a0r_b = " << a0r <<
" +/- " << da0r_b << std::endl;
2059 std::cout <<
"etar_b = " << etar <<
" +/- " << detar_b << std::endl;
2080 double vpart[11] = { std::fabs(pTr), etar, phir, z0r, d0r, a0r, nsctr, npixr, nsir, ntrtr, nstrawr };
2081 for (
int it=0 ;
it<11 ;
it++ ) {
2088 else std::cerr <<
"hmmm histo " <<
varName[
it]+
"_rec" <<
" not found" << std::endl;
2092 hptr->Fill( etar,phir );
2093 hptr->GetXaxis()->SetTitle(
"#eta");
2094 hptr->GetYaxis()->SetTitle(
"#phi");
2098 hptr->Fill( phir,d0r );
2099 hptr->GetXaxis()->SetTitle(
"#phi");
2100 hptr->GetYaxis()->SetTitle(
"d_{0} [mm]");
2135 std::cout <<
"ConfAnalysis::execute() missed a high pT track - dumping tracks" << std::endl;
2137 for (
int i=reftracks.size() ;
i-- ; ) {
2139 if ( std::fabs( reftracks[
i]->
pT() ) > 1000 ) {
2140 std::cout <<
"\t dump " << *reftracks[
i];
2142 if ( matchedreco ) std::cout <<
" <--> " << *matchedreco << std::endl;
2143 else std::cout << std::endl;
2148 for (
int i=testtracks.size() ;
i-- ; ) {
2150 if ( matchedref==0 ) std::cout <<
"\t\t\t\t\t " << *testtracks[
i] << std::endl;
2155 if (
m_print ) std::cout <<
"ConfAnalysis::execute() exiting" << std::endl;