diff --git a/reco/L1/CbmL1.cxx b/reco/L1/CbmL1.cxx index 7f6c60d73e8491834221eb9fa1c060c3740ce8e0..6e430593537c0e1da6540e4d45312d5e9795f03f 100644 --- a/reco/L1/CbmL1.cxx +++ b/reco/L1/CbmL1.cxx @@ -188,6 +188,8 @@ InitStatus CbmL1::Init() fpAlgo->Init(fUseHitErrors, fTrackingMode, fMissingHits); fHistoDir = gROOT->mkdir("L1"); + fHistoDir->mkdir("Input"); + fHistoDir->mkdir("Fit"); // turn on reconstruction in sub-detectors @@ -215,7 +217,7 @@ InitStatus CbmL1::Init() if (L1Algo::TrackingMode::kGlobal == fTrackingMode) { - //SGtrd2D!! + //at the moment trd2d tracking only fUseMVD = 0; fUseSTS = 0; fUseMUCH = 0; @@ -1022,15 +1024,11 @@ void CbmL1::Reconstruct(CbmEvent* event) L1FieldValue b = fpAlgo->GetParameters()->GetVertexFieldValue(); if ((fabs(b.x[0]) < 0.0000001) && (fabs(b.y[0]) < 0.0000001) && (fabs(b.z[0]) < 0.0000001)) { + // no field fpAlgo->KFTrackFitter_simple(); } else { - if (L1Algo::TrackingMode::kGlobal == fTrackingMode || L1Algo::TrackingMode::kMcbm == fTrackingMode) { - fpAlgo->L1KFTrackFitterMuch(); - } - else { - fpAlgo->L1KFTrackFitter(); - } + fpAlgo->L1KFTrackFitter(); } } diff --git a/reco/L1/CbmL1Performance.cxx b/reco/L1/CbmL1Performance.cxx index 904a756bd3cc85bbc4245193998839103da719d7..559285ec3ef0d9b566a53b0a54fb129c9c05ebf1 100644 --- a/reco/L1/CbmL1Performance.cxx +++ b/reco/L1/CbmL1Performance.cxx @@ -1107,7 +1107,6 @@ void CbmL1::TrackFitPerformance() TDirectory* currentDir = gDirectory; gDirectory = fHistoDir; - gDirectory->mkdir("Fit"); gDirectory->cd("Fit"); { PRes2D = new TH2F("PRes2D", "Resolution P vs P [100%]", 100, 0., 20., 100, -.15, .15); @@ -1184,6 +1183,11 @@ void CbmL1::TrackFitPerformance() {"t", "Residual T [ns]", 100, -10., 10.}, {"pt", "Pull T [residual/estimated_error]", 100, -6., 6.}}; + if (L1Algo::kGlobal == fpAlgo->fTrackingMode) { + TableVertex[4].l = -1.; + TableVertex[4].r = 1.; + } + for (int i = 0; i < Nh_fit; i++) { char n[225], t[255]; sprintf(n, "fst_%s", Table[i].name); @@ -1826,7 +1830,6 @@ void CbmL1::InputPerformance() TDirectory* currentDir = gDirectory; gDirectory = fHistoDir; - gDirectory->mkdir("Input"); gDirectory->cd("Input"); gDirectory->mkdir("STS"); gDirectory->cd("STS"); diff --git a/reco/L1/L1Algo/L1Extrapolation.cxx b/reco/L1/L1Algo/L1Extrapolation.cxx index 73174f8d406eba33d33265b3cc43650e5cc51bec..cbb081f5697dc221dd5312da580cea9379cdecda 100644 --- a/reco/L1/L1Algo/L1Extrapolation.cxx +++ b/reco/L1/L1Algo/L1Extrapolation.cxx @@ -19,7 +19,7 @@ void L1Extrapolate // extrapolates track parameters and returns jacobian for ex (L1TrackPar& T, // input track parameters (x,y,tx,ty,Q/p) and cov.matrix fvec z_out, // extrapolate to this z position fvec qp0, // use Q/p linearisation at this value - const L1FieldRegion& F, fvec* w) + const L1FieldRegion& F, const fvec* w) { L1ExtrapolateRungeKutta(T, z_out, qp0, F, w); //L1ExtrapolateAnalytic(T, z_out, qp0, F, w); diff --git a/reco/L1/L1Algo/L1Extrapolation.h b/reco/L1/L1Algo/L1Extrapolation.h index 4887f7769fc315681ced4d096b0011ae0664bf1d..f4ec3a4b5c8d5d8c53afe178ee69f9dd2dcee3a0 100644 --- a/reco/L1/L1Algo/L1Extrapolation.h +++ b/reco/L1/L1Algo/L1Extrapolation.h @@ -13,7 +13,7 @@ void L1Extrapolate // extrapolates track parameters and returns jacobian for ex (L1TrackPar& T, // input track parameters (x,y,tx,ty,Q/p) and cov.matrix fvec z_out, // extrapolate to this z position fvec qp0, // use Q/p linearisation at this value - const L1FieldRegion& F, fvec* w = nullptr); + const L1FieldRegion& F, const fvec* w = nullptr); void L1Extrapolate0(L1TrackPar& T, // input track parameters (x,y,tx,ty,Q/p) and cov.matrix fvec z_out, // extrapolate to this z position diff --git a/reco/L1/L1Algo/L1TrackPar.h b/reco/L1/L1Algo/L1TrackPar.h index a6e838a490b09b4b7c756cf54730a8e7606c85d6..75b1d4ec2b03a4b3bb361ce166e75fde43009142 100644 --- a/reco/L1/L1Algo/L1TrackPar.h +++ b/reco/L1/L1Algo/L1TrackPar.h @@ -112,7 +112,8 @@ public: inline void L1TrackPar::Print(int i) const { - // std::cout.setf(std::ios::scientific, std::ios::floatfield); + std::ios_base::fmtflags coutFlags(std::cout.flags()); + std::cout.setf(std::ios::scientific, std::ios::floatfield); if (i == -1) { std::cout << "T = " << std::endl; std::cout << " x " << x << std::endl; @@ -148,6 +149,7 @@ inline void L1TrackPar::Print(int i) const std::cout << " c55 " << C55[i] << std::endl; } PrintCorrelations(i); + std::cout.flags( coutFlags ); } inline void L1TrackPar::PrintCorrelations(int i) const