19 #include <g4hough/SvtxTrackMap.h>
20 #include <g4hough/SvtxTrack.h>
21 #include <g4hough/SvtxTrackState.h>
28 #include <TDatabasePDG.h>
41 _trackmap_name(tracksname),
69 _pdg =
new TDatabasePDG();
109 cout <<
PHWHERE <<
"PHG4TruthInfoContainer not found on node tree" << endl;
113 cout <<
PHWHERE <<
"PHG4HitContainer not found on node tree" << endl;
117 cout <<
PHWHERE <<
"SvtxTrackMap node not found on node tree" << endl;
126 bool use_reconstructed_momentum =
false;
127 bool use_truth_momentum =
false;
128 bool use_emission_momentum =
true;
130 bool use_reconstructed_point =
false;
131 bool use_approximate_point =
true;
135 TH1F *ch_ang =
new TH1F(
"",
"",1000,0.0,1.0);
145 double momv[3] = {0.,0.,0.};
147 if (use_reconstructed_momentum) {
151 cout <<
"RICH track projection momentum NOT FOUND; next iteration" << endl;
155 if (use_truth_momentum) {
159 cout <<
"No truth momentum found for track; next iteration" << endl;
163 if (use_emission_momentum) {
167 cout <<
"No truth momentum from emission points found for track; next iteration" << endl;
172 double momv_norm = sqrt( momv[0]*momv[0] + momv[1]*momv[1] + momv[2]*momv[2] );
173 momv[0] /= momv_norm;
174 momv[1] /= momv_norm;
175 momv[2] /= momv_norm;
179 double m_emi[3] = {0.,0.,0.};
181 if (use_reconstructed_point) {
185 cout <<
"RICH track projection position NOT FOUND; next iteration" << endl;
189 if (use_approximate_point) {
190 m_emi[0] = ((
_radius)/momv[2])*momv[0];
191 m_emi[1] = ((
_radius)/momv[2])*momv[1];
192 m_emi[2] = ((
_radius)/momv[2])*momv[2];
211 for (rich_hits_iter = rich_hits_begin_end.first; rich_hits_iter != rich_hits_begin_end.second; ++rich_hits_iter)
213 PHG4Hit *hit_i = rich_hits_iter->second;
289 double mass =
_pdg->GetParticle(pid)->Mass();
292 double ptotal = sqrt( particle->
get_px() * particle->
get_px() +
297 double beta = ptotal / sqrt( mass * mass + ptotal * ptotal );
300 double theta_c = acos( 1 / ( index * beta ) );
362 _tree_rich =
new TTree(
"eval_rich",
"RICH Evaluator info");
401 _tree_rich_small =
new TTree(
"eval_rich_small",
"RICH Evaluator info condensed");