Skip to content
Snippets Groups Projects
Commit aeafcd87 authored by Stewart Martin-Haugh's avatar Stewart Martin-Haugh Committed by Graeme Stewart
Browse files

'Fix CMakeLists.txt, clean-up requirements file' (FTK_RecTools-00-00-09)

	* Fix CMakeLists.txt, clean-up requirements file
	* FTK_RecTools-00-00-09
parent b023e304
No related branches found
No related tags found
No related merge requests found
...@@ -14,7 +14,9 @@ atlas_depends_on_subdirs( PUBLIC ...@@ -14,7 +14,9 @@ atlas_depends_on_subdirs( PUBLIC
Tracking/TrkEvent/VxVertex Tracking/TrkEvent/VxVertex
Trigger/TrigFTK/FTK_DataProviderInterfaces Trigger/TrigFTK/FTK_DataProviderInterfaces
Trigger/TrigFTK/FTK_RecToolInterfaces Trigger/TrigFTK/FTK_RecToolInterfaces
Trigger/TrigFTK/TrigFTK_RawData ) Trigger/TrigFTK/TrigFTK_RawData
Event/xAOD/xAODTracking
Tracking/TrkVertexFitter/TrkVxEdmCnv )
# External dependencies: # External dependencies:
find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread ) find_package( ROOT COMPONENTS Core Tree MathCore Hist RIO pthread )
...@@ -24,10 +26,10 @@ atlas_add_library( FTK_RecToolsLib ...@@ -24,10 +26,10 @@ atlas_add_library( FTK_RecToolsLib
src/*.cxx src/*.cxx
PUBLIC_HEADERS FTK_RecTools PUBLIC_HEADERS FTK_RecTools
INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
LINK_LIBRARIES ${ROOT_LIBRARIES} AthenaBaseComps GaudiKernel TrkTrack VxVertex FTK_DataProviderInterfaces TrigFTK_RawData ) LINK_LIBRARIES ${ROOT_LIBRARIES} AthenaBaseComps GaudiKernel TrkTrack VxVertex FTK_DataProviderInterfaces TrigFTK_RawData xAODTracking TrkVxEdmCnvLib)
atlas_add_component( FTK_RecTools atlas_add_component( FTK_RecTools
src/components/*.cxx src/components/*.cxx
INCLUDE_DIRS ${ROOT_INCLUDE_DIRS} INCLUDE_DIRS ${ROOT_INCLUDE_DIRS}
LINK_LIBRARIES ${ROOT_LIBRARIES} AthenaBaseComps GaudiKernel TrkTrack VxVertex FTK_DataProviderInterfaces TrigFTK_RawData FTK_RecToolsLib ) LINK_LIBRARIES ${ROOT_LIBRARIES} AthenaBaseComps GaudiKernel TrkTrack VxVertex FTK_DataProviderInterfaces TrigFTK_RawData xAODTracking TrkVxEdmCnvLib FTK_RecToolsLib )
...@@ -27,13 +27,27 @@ ...@@ -27,13 +27,27 @@
#include "FTK_RecToolInterfaces/IFTK_VertexFinderTool.h" #include "FTK_RecToolInterfaces/IFTK_VertexFinderTool.h"
#include "FTK_DataProviderInterfaces/IFTK_UncertaintyTool.h" #include "FTK_DataProviderInterfaces/IFTK_UncertaintyTool.h"
#include "TrkVxEdmCnv/IVxCandidateXAODVertex.h"
#include "TrigFTK_RawData/FTK_RawTrack.h" #include "TrigFTK_RawData/FTK_RawTrack.h"
#include "TrigFTK_RawData/FTK_RawTrackContainer.h" #include "TrigFTK_RawData/FTK_RawTrackContainer.h"
#include "TrkTrack/TrackCollection.h" #include "TrkTrack/TrackCollection.h"
#include "VxVertex/VxContainer.h" #include "VxVertex/VxContainer.h"
//#include "xAODTracking/Vertex.h"
//#include "xAODTracking/TrackParticle.h"
//#include "xAODTracking/VertexContainer.h"
//#include "xAODTracking/TrackParticleContainer.h"
#include "xAODTracking/VertexFwd.h"
//#include "xAODTracking/TrackParticleFwd.h"
#include "xAODTracking/VertexContainerFwd.h"
//#include "xAODTracking/TrackParticleContainerFwd.h"
//#include "Tracking/TrkVertexFitter/TrkVxEdmCnv/TrkVxEdmCnv/IVxCandidateXAODVertex.h"
class VxContainer; class VxContainer;
using std::vector; using std::vector;
namespace Trk {
class Track;
// class Trk::IVxCandidateXAODVertex;
}
class FTK_VertexFinderTool : public AthAlgTool, virtual public IFTK_VertexFinderTool class FTK_VertexFinderTool : public AthAlgTool, virtual public IFTK_VertexFinderTool
{ {
//struct to hold track parameters //struct to hold track parameters
...@@ -84,9 +98,10 @@ class FTK_VertexFinderTool : public AthAlgTool, virtual public IFTK_VertexFinder ...@@ -84,9 +98,10 @@ class FTK_VertexFinderTool : public AthAlgTool, virtual public IFTK_VertexFinder
// //
// Get the element of the covariance matrix for id0th and id1th track parameter // Get the element of the covariance matrix for id0th and id1th track parameter
// //
VxContainer* findVertex(const FTK_RawTrackContainer* trks); // VxContainer* findVertex(const FTK_RawTrackContainer* trks);
VxContainer* findVertex(const TrackCollection* trks); // VxContainer* findVertex(const TrackCollection* trks);
xAOD::VertexContainer* findVertex(const FTK_RawTrackContainer* trks);
xAOD::VertexContainer* findVertex(const TrackCollection* trks);
private: private:
bool m_barrelOnly; bool m_barrelOnly;
...@@ -95,15 +110,17 @@ class FTK_VertexFinderTool : public AthAlgTool, virtual public IFTK_VertexFinder ...@@ -95,15 +110,17 @@ class FTK_VertexFinderTool : public AthAlgTool, virtual public IFTK_VertexFinder
double m_chi2cut; double m_chi2cut;
double m_constTrkPt; double m_constTrkPt;
double m_constTrkEta; double m_constTrkEta;
double m_z0errfactor;
// //
// Helper functions with the uncerianties // Helper functions with the uncerianties
// //
VxContainer* findVertex(vector<MyTrack> trks); xAOD::VertexContainer* findVertex(vector<MyTrack> trks);
double ctheta2eta(double cot); double ctheta2eta(double cot);
vector<MyTrack> getTracks(const FTK_RawTrackContainer* trks); vector<MyTrack> getTracks(const FTK_RawTrackContainer* trks);
vector<MyTrack> getTracks(const TrackCollection* trks); vector<MyTrack> getTracks(const TrackCollection* trks);
//tool handel //tool handel
ToolHandle<IFTK_UncertaintyTool> m_uncertaintyTool; ToolHandle<IFTK_UncertaintyTool> m_uncertaintyTool;
ToolHandle<Trk::IVxCandidateXAODVertex> m_VertexEdmFactory;
}; };
......
...@@ -10,20 +10,21 @@ use AtlasROOT AtlasROOT-* External ...@@ -10,20 +10,21 @@ use AtlasROOT AtlasROOT-* External
use AthenaBaseComps AthenaBaseComps-* Control use AthenaBaseComps AthenaBaseComps-* Control
use PyJobTransforms PyJobTransforms-* Tools use PyJobTransforms PyJobTransforms-* Tools
use FTK_RecToolInterfaces FTK_RecToolInterfaces-* Trigger/TrigFTK use FTK_RecToolInterfaces FTK_RecToolInterfaces-* Trigger/TrigFTK
use AtlasReconstructionRunTime AtlasReconstructionRunTime-* #use AtlasReconstructionRunTime AtlasReconstructionRunTime-*
use AtlasPolicy AtlasPolicy-* #use AtlasPolicy AtlasPolicy-*
use GaudiInterface GaudiInterface-* External use GaudiInterface GaudiInterface-* External
use TrigFTK_RawData TrigFTK_RawData-* Trigger/TrigFTK use TrigFTK_RawData TrigFTK_RawData-* Trigger/TrigFTK
use FTK_DataProviderInterfaces FTK_DataProviderInterfaces-* Trigger/TrigFTK use FTK_DataProviderInterfaces FTK_DataProviderInterfaces-* Trigger/TrigFTK
########use FTK_DataProviderSvc FTK_DataProviderSvc-* Trigger/TrigFTK ########use FTK_DataProviderSvc FTK_DataProviderSvc-* Trigger/TrigFTK
#TrkTrack and VxVertec need to be public for Collection typedef #TrkTrack and VxVertec need to be public for Collection typedef
use TrkTrack TrkTrack-* Tracking/TrkEvent use TrkTrack TrkTrack-* Tracking/TrkEvent
use VxVertex VxVertex-* Tracking/TrkEvent use VxVertex VxVertex-* Tracking/TrkEvent
use xAODTracking xAODTracking-* Event/xAOD
use TrkVxEdmCnv TrkVxEdmCnv-* Tracking/TrkVertexFitter
private private
# Add transform # Add transform
apply_pattern declare_job_transforms tfs='*_tf.py' jo='skeleton.*.py' apply_pattern declare_job_transforms tfs='*_tf.py' jo='skeleton.*.py'
#end_private #end_private
......
...@@ -33,15 +33,12 @@ ...@@ -33,15 +33,12 @@
#include "VxVertex/VxTrackAtVertex.h" #include "VxVertex/VxTrackAtVertex.h"
#include "TrigFTK_RawData/FTK_RawTrackContainer.h" #include "TrigFTK_RawData/FTK_RawTrackContainer.h"
//#include "CLHEP/Matrix/SymMatrix.h" #include "xAODTracking/TrackParticleAuxContainer.h"
//#include "CLHEP/Matrix/Vector.h" #include "xAODTracking/TrackParticleContainer.h"
//#include "TrkTrack/Track.h" #include "xAODTracking/VertexContainer.h"
//#include "TrkEventPrimitives/FitQuality.h" #include "xAODTracking/VertexAuxContainer.h"
//#include "TrkTrackSummary/TrackSummary.h"
//#include "TrkParameters/TrackParameters.h"
//#include "TrkParticleBase/TrackParticleBase.h"
//#include "TrkEventPrimitives/ParamDefs.h"
#include "VxVertex/VxCandidate.h" #include "VxVertex/VxCandidate.h"
#include "TrkVxEdmCnv/IVxCandidateXAODVertex.h"
#include <map> #include <map>
#include <vector> #include <vector>
#include <utility> #include <utility>
...@@ -52,7 +49,6 @@ using std::cout; using std::endl; ...@@ -52,7 +49,6 @@ using std::cout; using std::endl;
using std::vector; using std::iterator; using std::vector; using std::iterator;
using Trk::RecVertex;using Trk::VxTrackAtVertex; using Trk::RecVertex;using Trk::VxTrackAtVertex;
FTK_VertexFinderTool::FTK_VertexFinderTool(const std::string& t, FTK_VertexFinderTool::FTK_VertexFinderTool(const std::string& t,
const std::string& n, const std::string& n,
const IInterface* p ): const IInterface* p ):
...@@ -63,7 +59,9 @@ FTK_VertexFinderTool::FTK_VertexFinderTool(const std::string& t, ...@@ -63,7 +59,9 @@ FTK_VertexFinderTool::FTK_VertexFinderTool(const std::string& t,
m_chi2cut(5.), m_chi2cut(5.),
m_constTrkPt(1.), m_constTrkPt(1.),
m_constTrkEta(1.1), m_constTrkEta(1.1),
m_uncertaintyTool("FTK_UncertaintyTool",this) m_z0errfactor(1.0),
m_uncertaintyTool("FTK_UncertaintyTool",this),
m_VertexEdmFactory("VertexInternalEdmFactory",this)
{ {
declareInterface< IFTK_VertexFinderTool >( this ); declareInterface< IFTK_VertexFinderTool >( this );
declareProperty( "HasIBL", m_hasIBL); declareProperty( "HasIBL", m_hasIBL);
...@@ -73,6 +71,8 @@ FTK_VertexFinderTool::FTK_VertexFinderTool(const std::string& t, ...@@ -73,6 +71,8 @@ FTK_VertexFinderTool::FTK_VertexFinderTool(const std::string& t,
declareProperty( "ConstTrkPt", m_constTrkPt); declareProperty( "ConstTrkPt", m_constTrkPt);
declareProperty( "ConstTrkEta", m_constTrkEta); declareProperty( "ConstTrkEta", m_constTrkEta);
declareProperty("UncertaintyTool",m_uncertaintyTool); declareProperty("UncertaintyTool",m_uncertaintyTool);
declareProperty("VertexInternalEdmFactory",m_VertexEdmFactory);
declareProperty( "z0ErrFactor", m_z0errfactor);
} }
StatusCode FTK_VertexFinderTool::initialize() { StatusCode FTK_VertexFinderTool::initialize() {
...@@ -80,6 +80,11 @@ StatusCode FTK_VertexFinderTool::initialize() { ...@@ -80,6 +80,11 @@ StatusCode FTK_VertexFinderTool::initialize() {
StatusCode sc = AlgTool::initialize(); StatusCode sc = AlgTool::initialize();
MsgStream athenaLog(msgSvc(), name()); MsgStream athenaLog(msgSvc(), name());
if ( m_VertexEdmFactory.retrieve().isFailure() ) {
ATH_MSG_ERROR("Failed to retrievel tool " << m_VertexEdmFactory);
return StatusCode::FAILURE;
}
athenaLog << MSG::DEBUG << "FTK_VertexFinderTool initialized "<< endreq; athenaLog << MSG::DEBUG << "FTK_VertexFinderTool initialized "<< endreq;
return sc; return sc;
} }
...@@ -89,14 +94,14 @@ StatusCode FTK_VertexFinderTool::finalize() { ...@@ -89,14 +94,14 @@ StatusCode FTK_VertexFinderTool::finalize() {
return sc; return sc;
} }
VxContainer* FTK_VertexFinderTool::findVertex(const FTK_RawTrackContainer* trks) xAOD::VertexContainer* FTK_VertexFinderTool::findVertex(const FTK_RawTrackContainer* trks)
{ {
vector<MyTrack> mytrk; vector<MyTrack> mytrk;
mytrk=getTracks(trks); mytrk=getTracks(trks);
return findVertex(mytrk); return findVertex(mytrk);
} }
VxContainer* FTK_VertexFinderTool::findVertex(const TrackCollection* trks) xAOD::VertexContainer* FTK_VertexFinderTool::findVertex(const TrackCollection* trks)
{ {
vector<MyTrack> mytrk; vector<MyTrack> mytrk;
mytrk=getTracks(trks); mytrk=getTracks(trks);
...@@ -105,7 +110,7 @@ VxContainer* FTK_VertexFinderTool::findVertex(const TrackCollection* trks) ...@@ -105,7 +110,7 @@ VxContainer* FTK_VertexFinderTool::findVertex(const TrackCollection* trks)
// //
// Covariance Matrix if there is a BLayer Hit // Covariance Matrix if there is a BLayer Hit
// //
VxContainer* FTK_VertexFinderTool::findVertex(vector<MyTrack> mytrk) xAOD::VertexContainer* FTK_VertexFinderTool::findVertex(vector<MyTrack> mytrk)
{ {
MsgStream athenaLog(msgSvc(), name()); MsgStream athenaLog(msgSvc(), name());
...@@ -170,7 +175,7 @@ VxContainer* FTK_VertexFinderTool::findVertex(vector<MyTrack> mytrk) ...@@ -170,7 +175,7 @@ VxContainer* FTK_VertexFinderTool::findVertex(vector<MyTrack> mytrk)
athenaLog << MSG::DEBUG << "FTK_VertexFinderTool:: fit VTX, using "<<vxtrk.size()<<" trks."<< endreq; athenaLog << MSG::DEBUG << "FTK_VertexFinderTool:: fit VTX, using "<<vxtrk.size()<<" trks."<< endreq;
for( vector<MyTrack>::iterator i=trkbegin ; i<trkend ;){ for( vector<MyTrack>::iterator i=trkbegin ; i<trkend ;){
trknumber++; trknumber++;
double tmpchi2 = chi2;
athenaLog << MSG::VERBOSE << "getTracks: "<<trknumber<<", pt "<<(*i).m_pt<<", eta "<<(*i).m_theta<<", phi "<<(*i).m_phi<<", d0 "<<(*i).m_d0<<", z0 "<<(*i).m_z0<<", pt err "<<(*i).m_pterr<<", theta err "<<(*i).m_thetaerr<<", phi err "<< (*i).m_phierr<<", d0 err"<< (*i).m_d0err<<", z0 err "<<(*i).m_z0err<< endreq; athenaLog << MSG::VERBOSE << "getTracks: "<<trknumber<<", pt "<<(*i).m_pt<<", eta "<<(*i).m_theta<<", phi "<<(*i).m_phi<<", d0 "<<(*i).m_d0<<", z0 "<<(*i).m_z0<<", pt err "<<(*i).m_pterr<<", theta err "<<(*i).m_thetaerr<<", phi err "<< (*i).m_phierr<<", d0 err"<< (*i).m_d0err<<", z0 err "<<(*i).m_z0err<< endreq;
//track parameter reading //track parameter reading
double xv,yv,zv,P0,phi0,theta0; double xv,yv,zv,P0,phi0,theta0;
...@@ -186,7 +191,7 @@ VxContainer* FTK_VertexFinderTool::findVertex(vector<MyTrack> mytrk) ...@@ -186,7 +191,7 @@ VxContainer* FTK_VertexFinderTool::findVertex(vector<MyTrack> mytrk)
double cosPhi0,sinPhi0,sinPsi,cosPsi; double cosPhi0,sinPhi0,sinPsi,cosPsi;
double psi,ctt,sint; double psi,ctt,sint;
double alpha=0.02997*20.84/1000.0; double alpha=0.02997*20.84;///1000.0;
cosPhi0=cos(phi0);sinPhi0=sin(phi0); cosPhi0=cos(phi0);sinPhi0=sin(phi0);
sinPsi=-alpha*(xv*cosPhi0+yv*sinPhi0)/P0; sinPsi=-alpha*(xv*cosPhi0+yv*sinPhi0)/P0;
...@@ -264,6 +269,7 @@ VxContainer* FTK_VertexFinderTool::findVertex(vector<MyTrack> mytrk) ...@@ -264,6 +269,7 @@ VxContainer* FTK_VertexFinderTool::findVertex(vector<MyTrack> mytrk)
chi2=m_V[0][0]*m_resid[0]*m_resid[0]+m_V[1][1]*m_resid[1]*m_resid[1]+2.0*m_V[0][1]*m_resid[1]*m_resid[0]; chi2=m_V[0][0]*m_resid[0]*m_resid[0]+m_V[1][1]*m_resid[1]*m_resid[1]+2.0*m_V[0][1]*m_resid[1]*m_resid[0];
if(chi2>m_chi2cut || chi2<0){ if(chi2>m_chi2cut || chi2<0){
i=vxtrk.erase(i); i=vxtrk.erase(i);
chi2 = tmpchi2;
} }
else{ else{
trkatvtx.push_back(*i); trkatvtx.push_back(*i);
...@@ -333,7 +339,13 @@ VxContainer* FTK_VertexFinderTool::findVertex(vector<MyTrack> mytrk) ...@@ -333,7 +339,13 @@ VxContainer* FTK_VertexFinderTool::findVertex(vector<MyTrack> mytrk)
delete tracksAtVertex; delete tracksAtVertex;
}while(mytrk.size()>0);//vertex loop end }while(mytrk.size()>0);//vertex loop end
athenaLog << MSG::VERBOSE << "debug line _326_ "<< myVtx->size()<< endreq; athenaLog << MSG::VERBOSE << "debug line _326_ "<< myVtx->size()<< endreq;
return myVtx; xAOD::VertexContainer *xAODContainer(0);
xAOD::VertexAuxContainer *xAODAuxContainer(0);
if (m_VertexEdmFactory->createXAODVertexContainer(*myVtx, xAODContainer, xAODAuxContainer) != StatusCode::SUCCESS) {
ATH_MSG_WARNING("Cannot convert output vertex container to xAOD. Returning null pointer.");
}
delete myVtx;
return xAODContainer;
} }
...@@ -351,7 +363,7 @@ vector<FTK_VertexFinderTool::MyTrack> FTK_VertexFinderTool::getTracks(const FTK_ ...@@ -351,7 +363,7 @@ vector<FTK_VertexFinderTool::MyTrack> FTK_VertexFinderTool::getTracks(const FTK_
float trk_phi = ftk_track->getPhi(); float trk_phi = ftk_track->getPhi();
float trk_d0 = ftk_track->getD0(); float trk_d0 = ftk_track->getD0();
float trk_z0 = ftk_track->getZ0(); float trk_z0 = ftk_track->getZ0();
float trk_pt = fabs(1/invpt/1000); float trk_pt = 1/invpt;
/* double trk_phierr=sqrt(3.446e-7+29.24*invpt*invpt); /* double trk_phierr=sqrt(3.446e-7+29.24*invpt*invpt);
double trk_thetaerr=sqrt(7.093e-6+38.4*invpt*invpt); double trk_thetaerr=sqrt(7.093e-6+38.4*invpt*invpt);
double trk_pterr=1; double trk_pterr=1;
...@@ -359,7 +371,7 @@ vector<FTK_VertexFinderTool::MyTrack> FTK_VertexFinderTool::getTracks(const FTK_ ...@@ -359,7 +371,7 @@ vector<FTK_VertexFinderTool::MyTrack> FTK_VertexFinderTool::getTracks(const FTK_
double trk_z0err=sqrt(6.472e-2+1.587e5*invpt*invpt); double trk_z0err=sqrt(6.472e-2+1.587e5*invpt*invpt);
*/ */
double trk_d0err= sqrt(m_uncertaintyTool->getParamCovMtx(*ftk_track, m_hasIBL, FTKTrackParam::d0, FTKTrackParam::d0)); double trk_d0err= sqrt(m_uncertaintyTool->getParamCovMtx(*ftk_track, m_hasIBL, FTKTrackParam::d0, FTKTrackParam::d0));
double trk_z0err= sqrt(m_uncertaintyTool->getParamCovMtx(*ftk_track, m_hasIBL, FTKTrackParam::z0, FTKTrackParam::z0)); double trk_z0err= sqrt(m_uncertaintyTool->getParamCovMtx(*ftk_track, m_hasIBL, FTKTrackParam::z0, FTKTrackParam::z0))*m_z0errfactor;
double trk_phierr= sqrt(m_uncertaintyTool->getParamCovMtx(*ftk_track, m_hasIBL, FTKTrackParam::phi, FTKTrackParam::phi)); double trk_phierr= sqrt(m_uncertaintyTool->getParamCovMtx(*ftk_track, m_hasIBL, FTKTrackParam::phi, FTKTrackParam::phi));
double trk_thetaerr= sqrt(m_uncertaintyTool->getParamCovMtx(*ftk_track, m_hasIBL, FTKTrackParam::theta, FTKTrackParam::theta)); double trk_thetaerr= sqrt(m_uncertaintyTool->getParamCovMtx(*ftk_track, m_hasIBL, FTKTrackParam::theta, FTKTrackParam::theta));
double trk_pterr= sqrt(m_uncertaintyTool->getParamCovMtx(*ftk_track, m_hasIBL, FTKTrackParam::pt, FTKTrackParam::pt)); double trk_pterr= sqrt(m_uncertaintyTool->getParamCovMtx(*ftk_track, m_hasIBL, FTKTrackParam::pt, FTKTrackParam::pt));
...@@ -388,12 +400,12 @@ vector<FTK_VertexFinderTool::MyTrack> FTK_VertexFinderTool::getTracks(const Trac ...@@ -388,12 +400,12 @@ vector<FTK_VertexFinderTool::MyTrack> FTK_VertexFinderTool::getTracks(const Trac
float trk_d0 = (*track_it)->perigeeParameters()->parameters()[Trk::d0]; float trk_d0 = (*track_it)->perigeeParameters()->parameters()[Trk::d0];
float trk_z0 = (*track_it)->perigeeParameters()->parameters()[Trk::z0]; float trk_z0 = (*track_it)->perigeeParameters()->parameters()[Trk::z0];
float trk_pt = fabs(1/qOverp/1000/sin(trk_theta)); float trk_pt = fabs(1/qOverp/1000/sin(trk_theta));
float invpt = 1/2/(trk_pt*1000); float invpt = 1/(trk_pt*1000);
double trk_phierr=sqrt(3.446e-7+29.24*invpt*invpt); double trk_phierr=sqrt(3.446e-7+29.24*invpt*invpt);
double trk_thetaerr=sqrt(7.093e-6+38.4*invpt*invpt); double trk_thetaerr=sqrt(7.093e-6+38.4*invpt*invpt);
double trk_pterr=1; double trk_pterr=1;
double trk_d0err=sqrt(1.662e-3+6.947e4*invpt*invpt); double trk_d0err=sqrt(1.662e-3+6.947e4*invpt*invpt);
double trk_z0err=sqrt(6.472e-2+1.587e5*invpt*invpt); double trk_z0err=sqrt(6.472e-2+1.587e5*invpt*invpt)*m_z0errfactor;
/* double trk_d0err=(*track_it)->measuredPerigee()->localErrorMatrix().error(Trk::d0); /* double trk_d0err=(*track_it)->measuredPerigee()->localErrorMatrix().error(Trk::d0);
double trk_z0err=(*track_it)->measuredPerigee()->localErrorMatrix().error(Trk::z0); double trk_z0err=(*track_it)->measuredPerigee()->localErrorMatrix().error(Trk::z0);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment