diff --git a/Detector/DetCRD/scripts/TDR_o1_v01/tracking.py b/Detector/DetCRD/scripts/TDR_o1_v01/tracking.py index 4fc6fd50b229cb0549f9aa5fcbd974a7d3a73318..b621a182c161db2b19bc63dd6de62bbe2617f533 100644 --- a/Detector/DetCRD/scripts/TDR_o1_v01/tracking.py +++ b/Detector/DetCRD/scripts/TDR_o1_v01/tracking.py @@ -81,8 +81,8 @@ digiSIT.IsStrip = False digiSIT.SimTrackHitCollection = "SITCollection" digiSIT.TrackerHitCollection = sithitname digiSIT.TrackerHitAssociationCollection = "SITTrackerHitAssociation" -digiSIT.ResolutionU = [0.0072] -digiSIT.ResolutionV = [0.086] +digiSIT.ResolutionU = [0.0098] +digiSIT.ResolutionV = [0.0433] digiSIT.UsePlanarTag = True digiSIT.ParameterizeResolution = False digiSIT.ParametersU = [2.29655e-03, 0.965899e-03, 0.584699e-03, 17.0856, 84.566, 12.4695e-03, -0.0643059, 0.168662, 1.87998e-03, 0.514452] @@ -94,8 +94,8 @@ digiSET.IsStrip = False digiSET.SimTrackHitCollection = "SETCollection" digiSET.TrackerHitCollection = sethitname digiSET.TrackerHitAssociationCollection = "SETTrackerHitAssociation" -digiSET.ResolutionU = [0.0072] -digiSET.ResolutionV = [0.086] +digiSET.ResolutionU = [0.005] +digiSET.ResolutionV = [0.021] digiSET.UsePlanarTag = True digiSET.ParameterizeResolution = False digiSET.ParametersU = [2.29655e-03, 0.965899e-03, 0.584699e-03, 17.0856, 84.566, 12.4695e-03, -0.0643059, 0.168662, 1.87998e-03, 0.514452] @@ -162,8 +162,10 @@ tracking.NDivisionsInTheta = 10 tracking.NDivisionsInPhi = 60 tracking.NDivisionsInPhiFTD = 16 tracking.MinDistCutAttach = 50 +# for p=1GeV, theta=10degree, Chi2FitCut = 1500, HelixMaxChi2 = 1000000, Chi2WZ = 0.02 tracking.Chi2FitCut = 200 tracking.MaxChi2PerHit = 200 +tracking.HelixMaxChi2 = 50000 tracking.Chi2WZTriplet = 0.1 tracking.Chi2WZQuartet = 0.1 tracking.Chi2WZSeptet = 0.1 @@ -217,6 +219,7 @@ full.FTDHitToTrackDistance = 5. full.SITHitToTrackDistance = 3. full.SETHitToTrackDistance = 5. full.MinChi2ProbForSiliconTracks = 0 +full.MaxChi2PerHit = 500 #full.OutputLevel = DEBUG from Configurables import TPCDndxAlg diff --git a/Reconstruction/SiliconTracking/src/SiliconTrackingAlg.cpp b/Reconstruction/SiliconTracking/src/SiliconTrackingAlg.cpp index df203553f486e813a95b88c99feb094154a8cd31..9515f3f3274a9097439db791871c5b102294c145 100644 --- a/Reconstruction/SiliconTracking/src/SiliconTrackingAlg.cpp +++ b/Reconstruction/SiliconTracking/src/SiliconTrackingAlg.cpp @@ -1239,7 +1239,7 @@ TrackExtended * SiliconTrackingAlg::TestTriplet(TrackerHitExtended * outerHit, debug() << " TestTriplet: Use fastHelixFit " << endmsg ; - _fastfitter->fastHelixFit(NPT, xh, yh, rh, ph, wrh, zh, wzh,iopt, par, epar, chi2RPhi, chi2Z); + _fastfitter->fastHelixFit(NPT, xh, yh, rh, ph, wrh, zh, wzh,iopt, par, epar, chi2RPhi, chi2Z, _helix_max_chi2); par[3] = par[3]*par[0]/fabs(par[0]); // get helix parameters @@ -1606,7 +1606,7 @@ int SiliconTrackingAlg::BuildTrack(TrackerHitExtended * outerHit, //debug() << "######## number of hits to fit with _fastfitter = " << NPT << endmsg; - _fastfitter->fastHelixFit(NPT, xh, yh, rh, ph, wrh, zh, wzh,iopt, par, epar, chi2RPhi, chi2Z); + _fastfitter->fastHelixFit(NPT, xh, yh, rh, ph, wrh, zh, wzh,iopt, par, epar, chi2RPhi, chi2Z, _helix_max_chi2); par[3] = par[3]*par[0]/fabs(par[0]); @@ -1770,7 +1770,7 @@ void SiliconTrackingAlg::CreateTrack(TrackExtended * trackAR ) { float chi2Z; int ndf = 2*NPT - 5; - _fastfitter->fastHelixFit(NPT, xh, yh, rh, ph, wrh, zh, wzh,iopt, par, epar, chi2RPhi, chi2Z); + _fastfitter->fastHelixFit(NPT, xh, yh, rh, ph, wrh, zh, wzh,iopt, par, epar, chi2RPhi, chi2Z, _helix_max_chi2); par[3] = par[3]*par[0]/fabs(par[0]); float omega = par[0]; @@ -1816,7 +1816,7 @@ void SiliconTrackingAlg::CreateTrack(TrackExtended * trackAR ) { } } - _fastfitter->fastHelixFit(NPT, xh, yh, rh, ph, wrh, zh, wzh,iopt, par, epar, chi2RPhi, chi2Z); + _fastfitter->fastHelixFit(NPT, xh, yh, rh, ph, wrh, zh, wzh,iopt, par, epar, chi2RPhi, chi2Z, _helix_max_chi2); par[3] = par[3]*par[0]/fabs(par[0]); float chi2Cur = chi2RPhi*_chi2WRPhiSeptet+chi2Z*_chi2WZSeptet; @@ -2570,7 +2570,7 @@ int SiliconTrackingAlg::AttachHitToTrack(TrackExtended * trackAR, TrackerHitExte float chi2Z = 0 ; - int error = _fastfitter->fastHelixFit(NPT, xh, yh, rh, ph, wrh, zh, wzh,iopt, par, epar, chi2RPhi, chi2Z); + int error = _fastfitter->fastHelixFit(NPT, xh, yh, rh, ph, wrh, zh, wzh,iopt, par, epar, chi2RPhi, chi2Z, _helix_max_chi2); par[3] = par[3]*par[0]/fabs(par[0]); diff --git a/Reconstruction/SiliconTracking/src/SiliconTrackingAlg.h b/Reconstruction/SiliconTracking/src/SiliconTrackingAlg.h index 9579ed8ee7542c82c2f1c6de1887dfcf489cf759..2d0bbd2d2bd42c2bae0b63568ea86ee07347e374 100644 --- a/Reconstruction/SiliconTracking/src/SiliconTrackingAlg.h +++ b/Reconstruction/SiliconTracking/src/SiliconTrackingAlg.h @@ -255,6 +255,7 @@ class SiliconTrackingAlg : public GaudiAlgorithm { Gaudi::Property<bool> _ElossOn{this, "EnergyLossOn", true}; Gaudi::Property<bool> _SmoothOn{this, "SmoothOn", true}; Gaudi::Property<float> _helix_max_r{this, "HelixMaxR", 2000.}; + Gaudi::Property<float> _helix_max_chi2{this, "HelixMaxChi2", 5000.}; Gaudi::Property<bool> m_dumpTime{this, "DumpTime", false}; Gaudi::Property<bool> m_debug{this, "Debug", false};