70 #include "TObjString.h"
74 #include "CLHEP/Geometry/Point3D.h"
146 return StatusCode::SUCCESS;
170 if (
sc.isFailure()) {
171 LogStream << MSG::WARNING <<
"ALFA digi, Truth_info failed" <<
endmsg;
172 return StatusCode::SUCCESS;
181 if (
sc.isFailure()) {
182 msg(MSG::ERROR) <<
"Could not create the empty LocRecEv collection in StoreGate" <<
endmsg;
191 if(
sc.isFailure() || !pLocRecCorrCol)
204 for(; mcColBeg!=mcColEnd; ++mcColBeg) {
205 HepGeom::Point3D<double> PointInAtlasCS;
220 hits.ApplyPathPattern(l_pathpattern.Data());
222 for(
int i = 0 ;
i <
hits.GetNpaths() ;
i++){
253 return StatusCode::SUCCESS;
273 if(
sc.isFailure() || !mcTru){
275 return StatusCode::FAILURE;
286 for(;mcTruBeg!=mcTruEnd;++mcTruBeg){
292 if(((std::abs(begGen->pdg_id())==2212)||(std::abs(begGen->pdg_id())==211))){
295 px = begGen->momentum().px();
296 py = begGen->momentum().py();
297 pz = begGen->momentum().pz();
299 x = l_prodvert->position().x();
300 y = l_prodvert->position().y();
301 z = l_prodvert->position().z();
310 }
else if(
z < -236000.){
331 return StatusCode::SUCCESS;
392 double x_g, y_g, z_g, px_g, py_g, pz_g;
408 ATH_MSG_ERROR(
"ALFA_GloRec::FillTrackCandHistos : Track candidate neither left nor right !!!");
420 double px_norm = px_g / pz_g;
421 double py_norm = py_g / pz_g;
436 double genxextrtonearpot = x_g + px_norm * (nearhitz - z_g);
437 double genyextrtonearpot = y_g + py_norm * (nearhitz - z_g);
449 double genxextrtofarpot = x_g + px_norm * (farhitz - z_g);
450 double genyextrtofarpot = y_g + py_norm * (farhitz - z_g);
507 fw_glorecanalysis.Write();
508 fw_glorecanalysis.Close();