12 #include "../TrackParametersHelper.h"
13 #include "../OfflineObjectDecorHelper.h"
21 const std::string& anaTag,
const std::string& trackType,
22 bool plotErrors,
bool recomputeIP ) :
24 m_trackType( trackType ),
25 m_plotErrors( plotErrors ), m_recomputeIP( recomputeIP ) { }
34 if(
sc.isFailure() ) {
42 ATH_MSG_DEBUG(
"Booking track parameters plots in " << getDirectory() );
44 ATH_CHECK( retrieveAndBook( m_pt, m_trackType+
"_pt" ) );
45 ATH_CHECK( retrieveAndBook( m_eta, m_trackType+
"_eta" ) );
46 ATH_CHECK( retrieveAndBook( m_phi, m_trackType+
"_phi" ) );
47 ATH_CHECK( retrieveAndBook( m_d0, m_trackType+
"_d0" ) );
48 ATH_CHECK( retrieveAndBook( m_z0, m_trackType+
"_z0" ) );
49 ATH_CHECK( retrieveAndBook( m_z0sin, m_trackType+
"_z0sin" ) );
50 ATH_CHECK( retrieveAndBook( m_theta, m_trackType+
"_theta" ) );
51 ATH_CHECK( retrieveAndBook( m_qoverp, m_trackType+
"_qoverp" ) );
52 if( m_trackType ==
"truth" ) {
53 ATH_CHECK( retrieveAndBook( m_prodR, m_trackType+
"_prodR" ) );
54 ATH_CHECK( retrieveAndBook( m_prodZ, m_trackType+
"_prodZ" ) );
55 ATH_CHECK( retrieveAndBook( m_nSiHits, m_trackType+
"_nSiHits" ) );
56 ATH_CHECK( retrieveAndBook( m_nSiHits_vs_eta, m_trackType+
"_nSiHits_vs_eta" ) );
58 ATH_CHECK( retrieveAndBook( m_chi2, m_trackType+
"_chi2" ) );
59 ATH_CHECK( retrieveAndBook( m_ndof, m_trackType+
"_ndof" ) );
60 ATH_CHECK( retrieveAndBook( m_chi2OverNdof, m_trackType+
"_chi2OverNdof" ) );
61 ATH_CHECK( retrieveAndBook( m_author, m_trackType+
"_author" ) );
62 ATH_CHECK( retrieveAndBook( m_time, m_trackType+
"_time" ) );
63 ATH_CHECK( retrieveAndBook( m_hasValidTime_eff_vs_eta, m_trackType+
"_hasValidTime_eff_vs_eta" ) );
65 ATH_CHECK( retrieveAndBook( m_eta_vs_pt, m_trackType+
"_eta_vs_pt" ) );
66 ATH_CHECK( retrieveAndBook( m_eta_vs_phi, m_trackType+
"_eta_vs_phi" ) );
67 ATH_CHECK( retrieveAndBook( m_z0_vs_d0, m_trackType+
"_z0_vs_d0" ) );
68 ATH_CHECK( retrieveAndBook( m_z0sin_vs_d0, m_trackType+
"_z0sin_vs_d0" ) );
72 ATH_CHECK( retrieveAndBook( m_sigma_pt,
"sigma_"+m_trackType+
"_pt" ) );
73 ATH_CHECK( retrieveAndBook( m_sigma_eta,
"sigma_"+m_trackType+
"_eta" ) );
74 ATH_CHECK( retrieveAndBook( m_sigma_phi,
"sigma_"+m_trackType+
"_phi" ) );
75 ATH_CHECK( retrieveAndBook( m_sigma_d0,
"sigma_"+m_trackType+
"_d0" ) );
76 ATH_CHECK( retrieveAndBook( m_sigma_z0,
"sigma_"+m_trackType+
"_z0" ) );
77 ATH_CHECK( retrieveAndBook( m_sigma_z0sin,
"sigma_"+m_trackType+
"_z0sin" ) );
78 ATH_CHECK( retrieveAndBook( m_sigma_theta,
"sigma_"+m_trackType+
"_theta" ) );
81 ATH_CHECK( retrieveAndBook( m_significance_pt,
"significance_"+m_trackType+
"_pt" ) );
82 ATH_CHECK( retrieveAndBook( m_significance_eta,
"significance_"+m_trackType+
"_eta" ) );
83 ATH_CHECK( retrieveAndBook( m_significance_phi,
"significance_"+m_trackType+
"_phi" ) );
84 ATH_CHECK( retrieveAndBook( m_significance_d0,
"significance_"+m_trackType+
"_d0" ) );
85 ATH_CHECK( retrieveAndBook( m_significance_z0,
"significance_"+m_trackType+
"_z0" ) );
86 ATH_CHECK( retrieveAndBook( m_significance_z0sin,
"significance_"+m_trackType+
"_z0sin" ) );
87 ATH_CHECK( retrieveAndBook( m_significance_theta,
"significance_"+m_trackType+
"_theta" ) );
90 return StatusCode::SUCCESS;
97 template<
typename PARTICLE >
116 float pchi2OverNdof = ( pndof > 0 ) ? pchi2 / pndof : 0.;
128 if( m_trackType ==
"truth" ) {
137 for(
unsigned int i=0;
i<pauthor.size();
i++ ) {
172 float ppt_sig = ppt_err > 0. ? ppt / ppt_err : -9999.;
173 float peta_sig = peta_err > 0. ? peta / peta_err : -9999.;
174 float pphi_sig = pphi_err > 0. ? pphi / pphi_err : -9999.;
175 float pd0_sig = pd0_err > 0. ? pd0 / pd0_err : -9999.;
176 float pz0_sig = pz0_err > 0. ? pz0 / pz0_err : -9999.;
177 float pz0sin_sig = pz0sin_err > 0. ? pz0sin / pz0sin_err : -9999.;
178 float ptheta_sig = ptheta_err > 0. ? ptheta / ptheta_err : -9999.;
189 return StatusCode::SUCCESS;