diff --git a/Config.h b/Config.h index 09a2aab0..bac1312f 100644 --- a/Config.h +++ b/Config.h @@ -342,14 +342,7 @@ namespace Config // config on seed cleaning constexpr float track1GeVradius = 87.6; // = 1/(c*B) constexpr float c_etamax_brl = 0.9; - constexpr float c_dpt_brl_0 = 0.025; - constexpr float c_dpt_ec_0 = 0.0125; - constexpr float c_ptmax_0 = 2.0; - constexpr float c_dpt_1 = 0.10; - constexpr float c_ptmax_1 = 5.0; - constexpr float c_dpt_2 = 0.20; - constexpr float c_ptmax_2 = 10.0; - constexpr float c_dpt_3 = 0.25; + constexpr float c_dpt_common = 0.25; constexpr float c_dzmax_brl = 0.005; constexpr float c_drmax_brl = 0.010; constexpr float c_ptmin_hpt = 2.0; diff --git a/Event.cc b/Event.cc index 7ef350e8..5b24c8a2 100644 --- a/Event.cc +++ b/Event.cc @@ -574,14 +574,7 @@ void Event::print_tracks(const TrackVec& tracks, bool print_hits) const int Event::clean_cms_seedtracks(TrackVec *seed_ptr) { const float etamax_brl = Config::c_etamax_brl; - const float dpt_brl_0 = Config::c_dpt_brl_0; - const float dpt_ec_0 = Config::c_dpt_ec_0; - const float ptmax_0 = Config::c_ptmax_0; - const float dpt_1 = Config::c_dpt_1; - const float ptmax_1 = Config::c_ptmax_1; - const float dpt_2 = Config::c_dpt_2; - const float ptmax_2 = Config::c_ptmax_2; - const float dpt_3 = Config::c_dpt_3; + const float dpt_common = Config::c_dpt_common; const float dzmax_brl = Config::c_dzmax_brl; const float drmax_brl = Config::c_drmax_brl; const float ptmin_hpt = Config::c_ptmin_hpt; @@ -654,28 +647,9 @@ int Event::clean_cms_seedtracks(TrackVec *seed_ptr) const float thisDPt = std::abs(Pt2-Pt1); ////// Require pT consistency between seeds. If dpT is large, do not remove seed-track. - ////// Adaptive thresholds, based on pT of reference seed-track (choice is a compromise between efficiency and duplicate rate): - ////// - 2.5% if track is barrel and w/ pT<2 GeV - ////// - 1.25% if track is non-barrel and w/ pT<2 GeV - ////// - 10% if track w/ 210 GeV - if(thisDPt>dpt_brl_0*(Pt1) && Pt1 dpt_common*(Pt1) ) continue; - else if(thisDPt>dpt_ec_0*(Pt1) && Pt1etamax_brl) - continue; - - else if(thisDPt>dpt_1*(Pt1) && Pt1>ptmax_0 && Pt1dpt_2*(Pt1) && Pt1>ptmax_1 && Pt1dpt_3*(Pt1) && Pt1>ptmax_2) - continue; - - const float Eta2 = eta[tss]; const float deta2 = std::pow(Eta1-Eta2, 2); diff --git a/Geoms/CMS-2017-HitSelectionWindows.h b/Geoms/CMS-2017-HitSelectionWindows.h index edd99ea6..3d7ada50 100644 --- a/Geoms/CMS-2017-HitSelectionWindows.h +++ b/Geoms/CMS-2017-HitSelectionWindows.h @@ -12,42 +12,42 @@ struct HitSelectionWindows HitSelectionWindows(){ ////// Iteration 0 (initialStep, algo=4) - m_dp_params[0][0][0]=0.0; - m_dp_params[0][0][1]=0.0; - m_dp_params[0][0][2]=0.0; - m_dq_params[0][0][0]=0.0; - m_dq_params[0][0][1]=0.0; - m_dq_params[0][0][2]=0.0; - m_c2_params[0][0][0]=0.0; - m_c2_params[0][0][1]=0.0; - m_c2_params[0][0][2]=0.0; - m_dp_params[0][1][0]=0.0; - m_dp_params[0][1][1]=0.0; - m_dp_params[0][1][2]=0.0; - m_dq_params[0][1][0]=0.0; - m_dq_params[0][1][1]=0.0; - m_dq_params[0][1][2]=0.0; - m_c2_params[0][1][0]=0.0; - m_c2_params[0][1][1]=0.0; - m_c2_params[0][1][2]=0.0; - m_dp_params[0][2][0]=0.0; - m_dp_params[0][2][1]=0.0; - m_dp_params[0][2][2]=0.0; - m_dq_params[0][2][0]=0.0; - m_dq_params[0][2][1]=0.0; - m_dq_params[0][2][2]=0.0; - m_c2_params[0][2][0]=0.0; - m_c2_params[0][2][1]=0.0; - m_c2_params[0][2][2]=0.0; - m_dp_params[0][3][0]=0.0; - m_dp_params[0][3][1]=0.0; - m_dp_params[0][3][2]=0.0; - m_dq_params[0][3][0]=0.0; - m_dq_params[0][3][1]=0.0; - m_dq_params[0][3][2]=0.0; - m_c2_params[0][3][0]=0.0; - m_c2_params[0][3][1]=0.0; - m_c2_params[0][3][2]=0.0; + m_dp_params[0][0][0]=0.005484; + m_dp_params[0][0][1]=0.001442; + m_dp_params[0][0][2]=0.001261; + m_dq_params[0][0][0]=-0.092978; + m_dq_params[0][0][1]=2.776012; + m_dq_params[0][0][2]=-2.064965; + m_c2_params[0][0][0]=10.080961; + m_c2_params[0][0][1]=12.167006; + m_c2_params[0][0][2]=-2.279788; + m_dp_params[0][1][0]=0.012256; + m_dp_params[0][1][1]=-0.012640; + m_dp_params[0][1][2]=0.026719; + m_dq_params[0][1][0]=0.576161; + m_dq_params[0][1][1]=0.116737; + m_dq_params[0][1][2]=0.636440; + m_c2_params[0][1][0]=-4.916455; + m_c2_params[0][1][1]=9.973448; + m_c2_params[0][1][2]=10.939167; + m_dp_params[0][2][0]=0.009721; + m_dp_params[0][2][1]=-0.004611; + m_dp_params[0][2][2]=0.013633; + m_dq_params[0][2][0]=0.998673; + m_dq_params[0][2][1]=1.263769; + m_dq_params[0][2][2]=-0.603698; + m_c2_params[0][2][0]=6.640920; + m_c2_params[0][2][1]=13.788139; + m_c2_params[0][2][2]=11.769640; + m_dp_params[0][3][0]=0.000867; + m_dp_params[0][3][1]=-0.003276; + m_dp_params[0][3][2]=0.004327; + m_dq_params[0][3][0]=0.049788; + m_dq_params[0][3][1]=0.558265; + m_dq_params[0][3][2]=-0.003280; + m_c2_params[0][3][0]=-0.176274; + m_c2_params[0][3][1]=1.541509; + m_c2_params[0][3][2]=3.937543; m_dp_params[0][4][0]=0.012769; m_dp_params[0][4][1]=0.000015; m_dp_params[0][4][2]=0.002136; @@ -174,33 +174,33 @@ struct HitSelectionWindows m_c2_params[0][17][0]=69.916754; m_c2_params[0][17][1]=15.497982; m_c2_params[0][17][2]=-16.088231; - m_dp_params[0][18][0]=0.0; - m_dp_params[0][18][1]=0.0; - m_dp_params[0][18][2]=0.0; - m_dq_params[0][18][0]=0.0; - m_dq_params[0][18][1]=0.0; - m_dq_params[0][18][2]=0.0; - m_c2_params[0][18][0]=0.0; - m_c2_params[0][18][1]=0.0; - m_c2_params[0][18][2]=0.0; - m_dp_params[0][19][0]=0.005512; - m_dp_params[0][19][1]=0.0; - m_dp_params[0][19][2]=0.001183; - m_dq_params[0][19][0]=-0.044228; - m_dq_params[0][19][1]=0.0; - m_dq_params[0][19][2]=1.077780; - m_c2_params[0][19][0]=-1.556495; - m_c2_params[0][19][1]=0.0; - m_c2_params[0][19][2]=4.442912; - m_dp_params[0][20][0]=0.003085; - m_dp_params[0][20][1]=0.0; - m_dp_params[0][20][2]=0.001593; - m_dq_params[0][20][0]=-0.024490; - m_dq_params[0][20][1]=0.0; - m_dq_params[0][20][2]=0.813985; - m_c2_params[0][20][0]=-0.904091; - m_c2_params[0][20][1]=0.0; - m_c2_params[0][20][2]=5.068957; + m_dp_params[0][18][0]=0.007776; + m_dp_params[0][18][1]=0.004106; + m_dp_params[0][18][2]=0.005411; + m_dq_params[0][18][0]=0.034144; + m_dq_params[0][18][1]=-2.592422; + m_dq_params[0][18][2]=4.020638; + m_c2_params[0][18][0]=5.726168; + m_c2_params[0][18][1]=-86.420103; + m_c2_params[0][18][2]=134.653550; + m_dp_params[0][19][0]=0.007318; + m_dp_params[0][19][1]=0.004164; + m_dp_params[0][19][2]=0.005364; + m_dq_params[0][19][0]=-0.050947; + m_dq_params[0][19][1]=-2.587069; + m_dq_params[0][19][2]=4.038462; + m_c2_params[0][19][0]=15.933650; + m_c2_params[0][19][1]=-51.649203; + m_c2_params[0][19][2]=76.550802; + m_dp_params[0][20][0]=0.008253; + m_dp_params[0][20][1]=0.004155; + m_dp_params[0][20][2]=0.005442; + m_dq_params[0][20][0]=0.124955; + m_dq_params[0][20][1]=-1.342478; + m_dq_params[0][20][2]=2.194539; + m_c2_params[0][20][0]=-17.149415; + m_c2_params[0][20][1]=-182.205107; + m_c2_params[0][20][2]=272.365113; m_dp_params[0][21][0]=0.009401; m_dp_params[0][21][1]=-0.019376; m_dp_params[0][21][2]=0.027712; @@ -417,33 +417,33 @@ struct HitSelectionWindows m_c2_params[0][44][0]=8.156680; m_c2_params[0][44][1]=0.0; m_c2_params[0][44][2]=7.202176; - m_dp_params[0][45][0]=0.0; - m_dp_params[0][45][1]=0.0; - m_dp_params[0][45][2]=0.0; - m_dq_params[0][45][0]=0.0; - m_dq_params[0][45][1]=0.0; - m_dq_params[0][45][2]=0.0; - m_c2_params[0][45][0]=0.0; - m_c2_params[0][45][1]=0.0; - m_c2_params[0][45][2]=0.0; - m_dp_params[0][46][0]=0.005753; - m_dp_params[0][46][1]=0.0; - m_dp_params[0][46][2]=0.001171; - m_dq_params[0][46][0]=0.002466; - m_dq_params[0][46][1]=0.0; - m_dq_params[0][46][2]=1.045789; - m_c2_params[0][46][0]=-1.788701; - m_c2_params[0][46][1]=0.0; - m_c2_params[0][46][2]=4.792309; - m_dp_params[0][47][0]=0.002895; - m_dp_params[0][47][1]=0.0; - m_dp_params[0][47][2]=0.001465; - m_dq_params[0][47][0]=-0.024490; - m_dq_params[0][47][1]=0.0; - m_dq_params[0][47][2]=0.813985; - m_c2_params[0][47][0]=-0.684495; - m_c2_params[0][47][1]=0.0; - m_c2_params[0][47][2]=4.977045; + m_dp_params[0][45][0]=0.007058; + m_dp_params[0][45][1]=0.004202; + m_dp_params[0][45][2]=0.005517; + m_dq_params[0][45][0]=0.456046; + m_dq_params[0][45][1]=-1.384300; + m_dq_params[0][45][2]=2.155400; + m_c2_params[0][45][0]=27.837289; + m_c2_params[0][45][1]=-16.647439; + m_c2_params[0][45][2]=30.606957; + m_dp_params[0][46][0]=0.003944; + m_dp_params[0][46][1]=0.005161; + m_dp_params[0][46][2]=0.006706; + m_dq_params[0][46][0]=0.110467; + m_dq_params[0][46][1]=-1.388901; + m_dq_params[0][46][2]=2.365695; + m_c2_params[0][46][0]=18.430857; + m_c2_params[0][46][1]=-72.394234; + m_c2_params[0][46][2]=104.656829; + m_dp_params[0][47][0]=0.002502; + m_dp_params[0][47][1]=-0.023243; + m_dp_params[0][47][2]=0.047699; + m_dq_params[0][47][0]=0.089831; + m_dq_params[0][47][1]=-1.341722; + m_dq_params[0][47][2]=2.303989; + m_c2_params[0][47][0]=-2.607494; + m_c2_params[0][47][1]=-74.887235; + m_c2_params[0][47][2]=114.556133; m_dp_params[0][48][0]=0.008633; m_dp_params[0][48][1]=-0.020639; m_dp_params[0][48][2]=0.029501; @@ -671,24 +671,24 @@ struct HitSelectionWindows m_c2_params[1][0][0]=10.080961; m_c2_params[1][0][1]=12.167006; m_c2_params[1][0][2]=-2.279788; - m_dp_params[1][1][0]=0.0; - m_dp_params[1][1][1]=0.0; - m_dp_params[1][1][2]=0.0; - m_dq_params[1][1][0]=0.0; - m_dq_params[1][1][1]=0.0; - m_dq_params[1][1][2]=0.0; - m_c2_params[1][1][0]=0.0; - m_c2_params[1][1][1]=0.0; - m_c2_params[1][1][2]=0.0; - m_dp_params[1][2][0]=0.0; - m_dp_params[1][2][1]=0.0; - m_dp_params[1][2][2]=0.0; - m_dq_params[1][2][0]=0.0; - m_dq_params[1][2][1]=0.0; - m_dq_params[1][2][2]=0.0; - m_c2_params[1][2][0]=0.0; - m_c2_params[1][2][1]=0.0; - m_c2_params[1][2][2]=0.0; + m_dp_params[1][1][0]=0.012256; + m_dp_params[1][1][1]=-0.012640; + m_dp_params[1][1][2]=0.026719; + m_dq_params[1][1][0]=0.576161; + m_dq_params[1][1][1]=0.116737; + m_dq_params[1][1][2]=0.636440; + m_c2_params[1][1][0]=-4.916455; + m_c2_params[1][1][1]=9.973448; + m_c2_params[1][1][2]=10.939167; + m_dp_params[1][2][0]=0.009721; + m_dp_params[1][2][1]=-0.004611; + m_dp_params[1][2][2]=0.013633; + m_dq_params[1][2][0]=0.998673; + m_dq_params[1][2][1]=1.263769; + m_dq_params[1][2][2]=-0.603698; + m_c2_params[1][2][0]=6.640920; + m_c2_params[1][2][1]=13.788139; + m_c2_params[1][2][2]=11.769640; m_dp_params[1][3][0]=0.000867; m_dp_params[1][3][1]=-0.003276; m_dp_params[1][3][2]=0.004327; @@ -824,15 +824,15 @@ struct HitSelectionWindows m_c2_params[1][17][0]=51.503180; m_c2_params[1][17][1]=2.018805; m_c2_params[1][17][2]=-3.366079; - m_dp_params[1][18][0]=0.0; - m_dp_params[1][18][1]=0.0; - m_dp_params[1][18][2]=0.0; - m_dq_params[1][18][0]=0.0; - m_dq_params[1][18][1]=0.0; - m_dq_params[1][18][2]=0.0; - m_c2_params[1][18][0]=0.0; - m_c2_params[1][18][1]=0.0; - m_c2_params[1][18][2]=0.0; + m_dp_params[1][18][0]=0.007776; + m_dp_params[1][18][1]=0.004106; + m_dp_params[1][18][2]=0.005411; + m_dq_params[1][18][0]=0.034144; + m_dq_params[1][18][1]=-2.592422; + m_dq_params[1][18][2]=4.020638; + m_c2_params[1][18][0]=5.726168; + m_c2_params[1][18][1]=-86.420103; + m_c2_params[1][18][2]=134.653550; m_dp_params[1][19][0]=0.004692; m_dp_params[1][19][1]=0.0; m_dp_params[1][19][2]=0.001301; @@ -1067,15 +1067,15 @@ struct HitSelectionWindows m_c2_params[1][44][0]=17.062950; m_c2_params[1][44][1]=0.0; m_c2_params[1][44][2]=5.240487; - m_dp_params[1][45][0]=0.0; - m_dp_params[1][45][1]=0.0; - m_dp_params[1][45][2]=0.0; - m_dq_params[1][45][0]=0.0; - m_dq_params[1][45][1]=0.0; - m_dq_params[1][45][2]=0.0; - m_c2_params[1][45][0]=0.0; - m_c2_params[1][45][1]=0.0; - m_c2_params[1][45][2]=0.0; + m_dp_params[1][45][0]=0.007058; + m_dp_params[1][45][1]=0.004202; + m_dp_params[1][45][2]=0.005517; + m_dq_params[1][45][0]=0.456046; + m_dq_params[1][45][1]=-1.384300; + m_dq_params[1][45][2]=2.155400; + m_c2_params[1][45][0]=27.837289; + m_c2_params[1][45][1]=-16.647439; + m_c2_params[1][45][2]=30.606957; m_dp_params[1][46][0]=0.002886; m_dp_params[1][46][1]=0.0; m_dp_params[1][46][2]=0.001237; @@ -1312,42 +1312,42 @@ struct HitSelectionWindows m_c2_params[1][71][2]=4.669560; ////// Iteration 2 (lowPtQuadStep, algo=23) - m_dp_params[2][0][0]=0.0; - m_dp_params[2][0][1]=0.0; - m_dp_params[2][0][2]=0.0; - m_dq_params[2][0][0]=0.0; - m_dq_params[2][0][1]=0.0; - m_dq_params[2][0][2]=0.0; - m_c2_params[2][0][0]=0.0; - m_c2_params[2][0][1]=0.0; - m_c2_params[2][0][2]=0.0; - m_dp_params[2][1][0]=0.0; - m_dp_params[2][1][1]=0.0; - m_dp_params[2][1][2]=0.0; - m_dq_params[2][1][0]=0.0; - m_dq_params[2][1][1]=0.0; - m_dq_params[2][1][2]=0.0; - m_c2_params[2][1][0]=0.0; - m_c2_params[2][1][1]=0.0; - m_c2_params[2][1][2]=0.0; - m_dp_params[2][2][0]=0.0; - m_dp_params[2][2][1]=0.0; - m_dp_params[2][2][2]=0.0; - m_dq_params[2][2][0]=0.0; - m_dq_params[2][2][1]=0.0; - m_dq_params[2][2][2]=0.0; - m_c2_params[2][2][0]=0.0; - m_c2_params[2][2][1]=0.0; - m_c2_params[2][2][2]=0.0; - m_dp_params[2][3][0]=0.0; - m_dp_params[2][3][1]=0.0; - m_dp_params[2][3][2]=0.0; - m_dq_params[2][3][0]=0.0; - m_dq_params[2][3][1]=0.0; - m_dq_params[2][3][2]=0.0; - m_c2_params[2][3][0]=0.0; - m_c2_params[2][3][1]=0.0; - m_c2_params[2][3][2]=0.0; + m_dp_params[2][0][0]=0.005484; + m_dp_params[2][0][1]=0.001442; + m_dp_params[2][0][2]=0.001261; + m_dq_params[2][0][0]=-0.092978; + m_dq_params[2][0][1]=2.776012; + m_dq_params[2][0][2]=-2.064965; + m_c2_params[2][0][0]=10.080961; + m_c2_params[2][0][1]=12.167006; + m_c2_params[2][0][2]=-2.279788; + m_dp_params[2][1][0]=0.012256; + m_dp_params[2][1][1]=-0.012640; + m_dp_params[2][1][2]=0.026719; + m_dq_params[2][1][0]=0.576161; + m_dq_params[2][1][1]=0.116737; + m_dq_params[2][1][2]=0.636440; + m_c2_params[2][1][0]=-4.916455; + m_c2_params[2][1][1]=9.973448; + m_c2_params[2][1][2]=10.939167; + m_dp_params[2][2][0]=0.009721; + m_dp_params[2][2][1]=-0.004611; + m_dp_params[2][2][2]=0.013633; + m_dq_params[2][2][0]=0.998673; + m_dq_params[2][2][1]=1.263769; + m_dq_params[2][2][2]=-0.603698; + m_c2_params[2][2][0]=6.640920; + m_c2_params[2][2][1]=13.788139; + m_c2_params[2][2][2]=11.769640; + m_dp_params[2][3][0]=0.000867; + m_dp_params[2][3][1]=-0.003276; + m_dp_params[2][3][2]=0.004327; + m_dq_params[2][3][0]=0.049788; + m_dq_params[2][3][1]=0.558265; + m_dq_params[2][3][2]=-0.003280; + m_c2_params[2][3][0]=-0.176274; + m_c2_params[2][3][1]=1.541509; + m_c2_params[2][3][2]=3.937543; m_dp_params[2][4][0]=0.010090; m_dp_params[2][4][1]=0.000687; m_dp_params[2][4][2]=0.003450; @@ -1474,33 +1474,33 @@ struct HitSelectionWindows m_c2_params[2][17][0]=34.751994; m_c2_params[2][17][1]=-42.580781; m_c2_params[2][17][2]=18.607144; - m_dp_params[2][18][0]=0.0; - m_dp_params[2][18][1]=0.0; - m_dp_params[2][18][2]=0.0; - m_dq_params[2][18][0]=0.0; - m_dq_params[2][18][1]=0.0; - m_dq_params[2][18][2]=0.0; - m_c2_params[2][18][0]=0.0; - m_c2_params[2][18][1]=0.0; - m_c2_params[2][18][2]=0.0; - m_dp_params[2][19][0]=0.002286; - m_dp_params[2][19][1]=0.0; - m_dp_params[2][19][2]=0.009429; - m_dq_params[2][19][0]=-0.114286; - m_dq_params[2][19][1]=0.0; - m_dq_params[2][19][2]=1.328571; - m_c2_params[2][19][0]=-0.000000; - m_c2_params[2][19][1]=0.0; - m_c2_params[2][19][2]=2.000000; - m_dp_params[2][20][0]=0.004957; - m_dp_params[2][20][1]=0.0; - m_dp_params[2][20][2]=-0.001042; - m_dq_params[2][20][0]=0.034343; - m_dq_params[2][20][1]=0.0; - m_dq_params[2][20][2]=0.684570; - m_c2_params[2][20][0]=-0.305214; - m_c2_params[2][20][1]=0.0; - m_c2_params[2][20][2]=5.025858; + m_dp_params[2][18][0]=0.007776; + m_dp_params[2][18][1]=0.004106; + m_dp_params[2][18][2]=0.005411; + m_dq_params[2][18][0]=0.034144; + m_dq_params[2][18][1]=-2.592422; + m_dq_params[2][18][2]=4.020638; + m_c2_params[2][18][0]=5.726168; + m_c2_params[2][18][1]=-86.420103; + m_c2_params[2][18][2]=134.653550; + m_dp_params[2][19][0]=0.007318; + m_dp_params[2][19][1]=0.004164; + m_dp_params[2][19][2]=0.005364; + m_dq_params[2][19][0]=-0.050947; + m_dq_params[2][19][1]=-2.587069; + m_dq_params[2][19][2]=4.038462; + m_c2_params[2][19][0]=15.933650; + m_c2_params[2][19][1]=-51.649203; + m_c2_params[2][19][2]=76.550802; + m_dp_params[2][20][0]=0.008253; + m_dp_params[2][20][1]=0.004155; + m_dp_params[2][20][2]=0.005442; + m_dq_params[2][20][0]=0.124955; + m_dq_params[2][20][1]=-1.342478; + m_dq_params[2][20][2]=2.194539; + m_c2_params[2][20][0]=-17.149415; + m_c2_params[2][20][1]=-182.205107; + m_c2_params[2][20][2]=272.365113; m_dp_params[2][21][0]=0.011835; m_dp_params[2][21][1]=-0.018312; m_dp_params[2][21][2]=0.024934; @@ -1717,33 +1717,33 @@ struct HitSelectionWindows m_c2_params[2][44][0]=11.042022; m_c2_params[2][44][1]=0.0; m_c2_params[2][44][2]=4.304937; - m_dp_params[2][45][0]=0.0; - m_dp_params[2][45][1]=0.0; - m_dp_params[2][45][2]=0.0; - m_dq_params[2][45][0]=0.0; - m_dq_params[2][45][1]=0.0; - m_dq_params[2][45][2]=0.0; - m_c2_params[2][45][0]=0.0; - m_c2_params[2][45][1]=0.0; - m_c2_params[2][45][2]=0.0; - m_dp_params[2][46][0]=0.005143; - m_dp_params[2][46][1]=0.0; - m_dp_params[2][46][2]=-0.000286; - m_dq_params[2][46][0]=0.057143; - m_dq_params[2][46][1]=0.0; - m_dq_params[2][46][2]=0.785714; - m_c2_params[2][46][0]=-0.000000; - m_c2_params[2][46][1]=0.0; - m_c2_params[2][46][2]=2.000000; - m_dp_params[2][47][0]=0.004575; - m_dp_params[2][47][1]=0.0; - m_dp_params[2][47][2]=0.000378; - m_dq_params[2][47][0]=0.014483; - m_dq_params[2][47][1]=0.0; - m_dq_params[2][47][2]=0.744321; - m_c2_params[2][47][0]=-0.501530; - m_c2_params[2][47][1]=0.0; - m_c2_params[2][47][2]=4.764811; + m_dp_params[2][45][0]=0.007058; + m_dp_params[2][45][1]=0.004202; + m_dp_params[2][45][2]=0.005517; + m_dq_params[2][45][0]=0.456046; + m_dq_params[2][45][1]=-1.384300; + m_dq_params[2][45][2]=2.155400; + m_c2_params[2][45][0]=27.837289; + m_c2_params[2][45][1]=-16.647439; + m_c2_params[2][45][2]=30.606957; + m_dp_params[2][46][0]=0.003944; + m_dp_params[2][46][1]=0.005161; + m_dp_params[2][46][2]=0.006706; + m_dq_params[2][46][0]=0.110467; + m_dq_params[2][46][1]=-1.388901; + m_dq_params[2][46][2]=2.365695; + m_c2_params[2][46][0]=18.430857; + m_c2_params[2][46][1]=-72.394234; + m_c2_params[2][46][2]=104.656829; + m_dp_params[2][47][0]=0.002502; + m_dp_params[2][47][1]=-0.023243; + m_dp_params[2][47][2]=0.047699; + m_dq_params[2][47][0]=0.089831; + m_dq_params[2][47][1]=-1.341722; + m_dq_params[2][47][2]=2.303989; + m_c2_params[2][47][0]=-2.607494; + m_c2_params[2][47][1]=-74.887235; + m_c2_params[2][47][2]=114.556133; m_dp_params[2][48][0]=0.011241; m_dp_params[2][48][1]=-0.017373; m_dp_params[2][48][2]=0.024011; @@ -1962,33 +1962,33 @@ struct HitSelectionWindows m_c2_params[2][71][2]=6.831721; ////// Iteration 3 (lowPtTripletStep, algo=5) - m_dp_params[3][0][0]=0.0; - m_dp_params[3][0][1]=0.0; - m_dp_params[3][0][2]=0.0; - m_dq_params[3][0][0]=0.0; - m_dq_params[3][0][1]=0.0; - m_dq_params[3][0][2]=0.0; - m_c2_params[3][0][0]=0.0; - m_c2_params[3][0][1]=0.0; - m_c2_params[3][0][2]=0.0; - m_dp_params[3][1][0]=0.0; - m_dp_params[3][1][1]=0.0; - m_dp_params[3][1][2]=0.0; - m_dq_params[3][1][0]=0.0; - m_dq_params[3][1][1]=0.0; - m_dq_params[3][1][2]=0.0; - m_c2_params[3][1][0]=0.0; - m_c2_params[3][1][1]=0.0; - m_c2_params[3][1][2]=0.0; - m_dp_params[3][2][0]=0.0; - m_dp_params[3][2][1]=0.0; - m_dp_params[3][2][2]=0.0; - m_dq_params[3][2][0]=0.0; - m_dq_params[3][2][1]=0.0; - m_dq_params[3][2][2]=0.0; - m_c2_params[3][2][0]=0.0; - m_c2_params[3][2][1]=0.0; - m_c2_params[3][2][2]=0.0; + m_dp_params[3][0][0]=0.005484; + m_dp_params[3][0][1]=0.001442; + m_dp_params[3][0][2]=0.001261; + m_dq_params[3][0][0]=-0.092978; + m_dq_params[3][0][1]=2.776012; + m_dq_params[3][0][2]=-2.064965; + m_c2_params[3][0][0]=10.080961; + m_c2_params[3][0][1]=12.167006; + m_c2_params[3][0][2]=-2.279788; + m_dp_params[3][1][0]=0.012256; + m_dp_params[3][1][1]=-0.012640; + m_dp_params[3][1][2]=0.026719; + m_dq_params[3][1][0]=0.576161; + m_dq_params[3][1][1]=0.116737; + m_dq_params[3][1][2]=0.636440; + m_c2_params[3][1][0]=-4.916455; + m_c2_params[3][1][1]=9.973448; + m_c2_params[3][1][2]=10.939167; + m_dp_params[3][2][0]=0.009721; + m_dp_params[3][2][1]=-0.004611; + m_dp_params[3][2][2]=0.013633; + m_dq_params[3][2][0]=0.998673; + m_dq_params[3][2][1]=1.263769; + m_dq_params[3][2][2]=-0.603698; + m_c2_params[3][2][0]=6.640920; + m_c2_params[3][2][1]=13.788139; + m_c2_params[3][2][2]=11.769640; m_dp_params[3][3][0]=0.001118; m_dp_params[3][3][1]=0.006053; m_dp_params[3][3][2]=0.003734; @@ -2124,33 +2124,33 @@ struct HitSelectionWindows m_c2_params[3][17][0]=12.747930; m_c2_params[3][17][1]=-6.989719; m_c2_params[3][17][2]=7.368671; - m_dp_params[3][18][0]=0.0; - m_dp_params[3][18][1]=0.0; - m_dp_params[3][18][2]=0.0; - m_dq_params[3][18][0]=0.0; - m_dq_params[3][18][1]=0.0; - m_dq_params[3][18][2]=0.0; - m_c2_params[3][18][0]=0.0; - m_c2_params[3][18][1]=0.0; - m_c2_params[3][18][2]=0.0; - m_dp_params[3][19][0]=0.0; - m_dp_params[3][19][1]=0.0; - m_dp_params[3][19][2]=0.020000; - m_dq_params[3][19][0]=0.0; - m_dq_params[3][19][1]=0.0; - m_dq_params[3][19][2]=1.000000; - m_c2_params[3][19][0]=0.0; - m_c2_params[3][19][1]=0.0; - m_c2_params[3][19][2]=15.000000; - m_dp_params[3][20][0]=0.0; - m_dp_params[3][20][1]=0.0; - m_dp_params[3][20][2]=0.017000; - m_dq_params[3][20][0]=0.0; - m_dq_params[3][20][1]=0.0; - m_dq_params[3][20][2]=0.700000; - m_c2_params[3][20][0]=0.0; - m_c2_params[3][20][1]=0.0; - m_c2_params[3][20][2]=14.000000; + m_dp_params[3][18][0]=0.007776; + m_dp_params[3][18][1]=0.004106; + m_dp_params[3][18][2]=0.005411; + m_dq_params[3][18][0]=0.034144; + m_dq_params[3][18][1]=-2.592422; + m_dq_params[3][18][2]=4.020638; + m_c2_params[3][18][0]=5.726168; + m_c2_params[3][18][1]=-86.420103; + m_c2_params[3][18][2]=134.653550; + m_dp_params[3][19][0]=0.007318; + m_dp_params[3][19][1]=0.004164; + m_dp_params[3][19][2]=0.005364; + m_dq_params[3][19][0]=-0.050947; + m_dq_params[3][19][1]=-2.587069; + m_dq_params[3][19][2]=4.038462; + m_c2_params[3][19][0]=15.933650; + m_c2_params[3][19][1]=-51.649203; + m_c2_params[3][19][2]=76.550802; + m_dp_params[3][20][0]=0.008253; + m_dp_params[3][20][1]=0.004155; + m_dp_params[3][20][2]=0.005442; + m_dq_params[3][20][0]=0.124955; + m_dq_params[3][20][1]=-1.342478; + m_dq_params[3][20][2]=2.194539; + m_c2_params[3][20][0]=-17.149415; + m_c2_params[3][20][1]=-182.205107; + m_c2_params[3][20][2]=272.365113; m_dp_params[3][21][0]=0.011723; m_dp_params[3][21][1]=0.002464; m_dp_params[3][21][2]=0.002279; @@ -2367,33 +2367,33 @@ struct HitSelectionWindows m_c2_params[3][44][0]=0.0; m_c2_params[3][44][1]=0.0; m_c2_params[3][44][2]=0.0; - m_dp_params[3][45][0]=0.0; - m_dp_params[3][45][1]=0.0; - m_dp_params[3][45][2]=0.0; - m_dq_params[3][45][0]=0.0; - m_dq_params[3][45][1]=0.0; - m_dq_params[3][45][2]=0.0; - m_c2_params[3][45][0]=0.0; - m_c2_params[3][45][1]=0.0; - m_c2_params[3][45][2]=0.0; - m_dp_params[3][46][0]=0.0; - m_dp_params[3][46][1]=0.0; - m_dp_params[3][46][2]=0.018000; - m_dq_params[3][46][0]=0.0; - m_dq_params[3][46][1]=0.0; - m_dq_params[3][46][2]=0.900000; - m_c2_params[3][46][0]=0.0; - m_c2_params[3][46][1]=0.0; - m_c2_params[3][46][2]=18.000000; - m_dp_params[3][47][0]=0.0; - m_dp_params[3][47][1]=0.0; - m_dp_params[3][47][2]=0.020000; - m_dq_params[3][47][0]=0.0; - m_dq_params[3][47][1]=0.0; - m_dq_params[3][47][2]=0.700000; - m_c2_params[3][47][0]=0.0; - m_c2_params[3][47][1]=0.0; - m_c2_params[3][47][2]=13.000000; + m_dp_params[3][45][0]=0.007058; + m_dp_params[3][45][1]=0.004202; + m_dp_params[3][45][2]=0.005517; + m_dq_params[3][45][0]=0.456046; + m_dq_params[3][45][1]=-1.384300; + m_dq_params[3][45][2]=2.155400; + m_c2_params[3][45][0]=27.837289; + m_c2_params[3][45][1]=-16.647439; + m_c2_params[3][45][2]=30.606957; + m_dp_params[3][46][0]=0.003944; + m_dp_params[3][46][1]=0.005161; + m_dp_params[3][46][2]=0.006706; + m_dq_params[3][46][0]=0.110467; + m_dq_params[3][46][1]=-1.388901; + m_dq_params[3][46][2]=2.365695; + m_c2_params[3][46][0]=18.430857; + m_c2_params[3][46][1]=-72.394234; + m_c2_params[3][46][2]=104.656829; + m_dp_params[3][47][0]=0.002502; + m_dp_params[3][47][1]=-0.023243; + m_dp_params[3][47][2]=0.047699; + m_dq_params[3][47][0]=0.089831; + m_dq_params[3][47][1]=-1.341722; + m_dq_params[3][47][2]=2.303989; + m_c2_params[3][47][0]=-2.607494; + m_c2_params[3][47][1]=-74.887235; + m_c2_params[3][47][2]=114.556133; m_dp_params[3][48][0]=0.012937; m_dp_params[3][48][1]=-0.013368; m_dp_params[3][48][2]=0.017819; @@ -2612,42 +2612,42 @@ struct HitSelectionWindows m_c2_params[3][71][2]=0.0; ////// Iteration 4 (detachedQuadStep, algo=24) - m_dp_params[4][0][0]=0.0; - m_dp_params[4][0][1]=0.0; - m_dp_params[4][0][2]=0.0; - m_dq_params[4][0][0]=0.0; - m_dq_params[4][0][1]=0.0; - m_dq_params[4][0][2]=0.0; - m_c2_params[4][0][0]=0.0; - m_c2_params[4][0][1]=0.0; - m_c2_params[4][0][2]=0.0; - m_dp_params[4][1][0]=0.0; - m_dp_params[4][1][1]=0.0; - m_dp_params[4][1][2]=0.0; - m_dq_params[4][1][0]=0.0; - m_dq_params[4][1][1]=0.0; - m_dq_params[4][1][2]=0.0; - m_c2_params[4][1][0]=0.0; - m_c2_params[4][1][1]=0.0; - m_c2_params[4][1][2]=0.0; - m_dp_params[4][2][0]=0.0; - m_dp_params[4][2][1]=0.0; - m_dp_params[4][2][2]=0.0; - m_dq_params[4][2][0]=0.0; - m_dq_params[4][2][1]=0.0; - m_dq_params[4][2][2]=0.0; - m_c2_params[4][2][0]=0.0; - m_c2_params[4][2][1]=0.0; - m_c2_params[4][2][2]=0.0; - m_dp_params[4][3][0]=0.0; - m_dp_params[4][3][1]=0.0; - m_dp_params[4][3][2]=0.0; - m_dq_params[4][3][0]=0.0; - m_dq_params[4][3][1]=0.0; - m_dq_params[4][3][2]=0.0; - m_c2_params[4][3][0]=0.0; - m_c2_params[4][3][1]=0.0; - m_c2_params[4][3][2]=0.0; + m_dp_params[4][0][0]=0.005484; + m_dp_params[4][0][1]=0.001442; + m_dp_params[4][0][2]=0.001261; + m_dq_params[4][0][0]=-0.092978; + m_dq_params[4][0][1]=2.776012; + m_dq_params[4][0][2]=-2.064965; + m_c2_params[4][0][0]=10.080961; + m_c2_params[4][0][1]=12.167006; + m_c2_params[4][0][2]=-2.279788; + m_dp_params[4][1][0]=0.012256; + m_dp_params[4][1][1]=-0.012640; + m_dp_params[4][1][2]=0.026719; + m_dq_params[4][1][0]=0.576161; + m_dq_params[4][1][1]=0.116737; + m_dq_params[4][1][2]=0.636440; + m_c2_params[4][1][0]=-4.916455; + m_c2_params[4][1][1]=9.973448; + m_c2_params[4][1][2]=10.939167; + m_dp_params[4][2][0]=0.009721; + m_dp_params[4][2][1]=-0.004611; + m_dp_params[4][2][2]=0.013633; + m_dq_params[4][2][0]=0.998673; + m_dq_params[4][2][1]=1.263769; + m_dq_params[4][2][2]=-0.603698; + m_c2_params[4][2][0]=6.640920; + m_c2_params[4][2][1]=13.788139; + m_c2_params[4][2][2]=11.769640; + m_dp_params[4][3][0]=0.000867; + m_dp_params[4][3][1]=-0.003276; + m_dp_params[4][3][2]=0.004327; + m_dq_params[4][3][0]=0.049788; + m_dq_params[4][3][1]=0.558265; + m_dq_params[4][3][2]=-0.003280; + m_c2_params[4][3][0]=-0.176274; + m_c2_params[4][3][1]=1.541509; + m_c2_params[4][3][2]=3.937543; m_dp_params[4][4][0]=0.0; m_dp_params[4][4][1]=-0.010019; m_dp_params[4][4][2]=0.030182; @@ -2774,33 +2774,33 @@ struct HitSelectionWindows m_c2_params[4][17][0]=0.0; m_c2_params[4][17][1]=10.019007; m_c2_params[4][17][2]=2.818167; - m_dp_params[4][18][0]=0.0; - m_dp_params[4][18][1]=0.0; - m_dp_params[4][18][2]=0.0; - m_dq_params[4][18][0]=0.0; - m_dq_params[4][18][1]=0.0; - m_dq_params[4][18][2]=0.0; - m_c2_params[4][18][0]=0.0; - m_c2_params[4][18][1]=0.0; - m_c2_params[4][18][2]=0.0; - m_dp_params[4][19][0]=0.0; - m_dp_params[4][19][1]=0.0; - m_dp_params[4][19][2]=0.0; - m_dq_params[4][19][0]=0.0; - m_dq_params[4][19][1]=0.0; - m_dq_params[4][19][2]=0.0; - m_c2_params[4][19][0]=0.0; - m_c2_params[4][19][1]=0.0; - m_c2_params[4][19][2]=0.0; - m_dp_params[4][20][0]=0.0; - m_dp_params[4][20][1]=0.0; - m_dp_params[4][20][2]=0.0; - m_dq_params[4][20][0]=0.0; - m_dq_params[4][20][1]=0.0; - m_dq_params[4][20][2]=0.0; - m_c2_params[4][20][0]=0.0; - m_c2_params[4][20][1]=0.0; - m_c2_params[4][20][2]=0.0; + m_dp_params[4][18][0]=0.007776; + m_dp_params[4][18][1]=0.004106; + m_dp_params[4][18][2]=0.005411; + m_dq_params[4][18][0]=0.034144; + m_dq_params[4][18][1]=-2.592422; + m_dq_params[4][18][2]=4.020638; + m_c2_params[4][18][0]=5.726168; + m_c2_params[4][18][1]=-86.420103; + m_c2_params[4][18][2]=134.653550; + m_dp_params[4][19][0]=0.007318; + m_dp_params[4][19][1]=0.004164; + m_dp_params[4][19][2]=0.005364; + m_dq_params[4][19][0]=-0.050947; + m_dq_params[4][19][1]=-2.587069; + m_dq_params[4][19][2]=4.038462; + m_c2_params[4][19][0]=15.933650; + m_c2_params[4][19][1]=-51.649203; + m_c2_params[4][19][2]=76.550802; + m_dp_params[4][20][0]=0.008253; + m_dp_params[4][20][1]=0.004155; + m_dp_params[4][20][2]=0.005442; + m_dq_params[4][20][0]=0.124955; + m_dq_params[4][20][1]=-1.342478; + m_dq_params[4][20][2]=2.194539; + m_c2_params[4][20][0]=-17.149415; + m_c2_params[4][20][1]=-182.205107; + m_c2_params[4][20][2]=272.365113; m_dp_params[4][21][0]=0.0; m_dp_params[4][21][1]=0.0; m_dp_params[4][21][2]=0.0; @@ -3017,33 +3017,33 @@ struct HitSelectionWindows m_c2_params[4][44][0]=0.0; m_c2_params[4][44][1]=0.0; m_c2_params[4][44][2]=0.0; - m_dp_params[4][45][0]=0.0; - m_dp_params[4][45][1]=0.0; - m_dp_params[4][45][2]=0.0; - m_dq_params[4][45][0]=0.0; - m_dq_params[4][45][1]=0.0; - m_dq_params[4][45][2]=0.0; - m_c2_params[4][45][0]=0.0; - m_c2_params[4][45][1]=0.0; - m_c2_params[4][45][2]=0.0; - m_dp_params[4][46][0]=0.0; - m_dp_params[4][46][1]=0.0; - m_dp_params[4][46][2]=0.0; - m_dq_params[4][46][0]=0.0; - m_dq_params[4][46][1]=0.0; - m_dq_params[4][46][2]=0.0; - m_c2_params[4][46][0]=0.0; - m_c2_params[4][46][1]=0.0; - m_c2_params[4][46][2]=0.0; - m_dp_params[4][47][0]=0.0; - m_dp_params[4][47][1]=0.0; - m_dp_params[4][47][2]=0.0; - m_dq_params[4][47][0]=0.0; - m_dq_params[4][47][1]=0.0; - m_dq_params[4][47][2]=0.0; - m_c2_params[4][47][0]=0.0; - m_c2_params[4][47][1]=0.0; - m_c2_params[4][47][2]=0.0; + m_dp_params[4][45][0]=0.007058; + m_dp_params[4][45][1]=0.004202; + m_dp_params[4][45][2]=0.005517; + m_dq_params[4][45][0]=0.456046; + m_dq_params[4][45][1]=-1.384300; + m_dq_params[4][45][2]=2.155400; + m_c2_params[4][45][0]=27.837289; + m_c2_params[4][45][1]=-16.647439; + m_c2_params[4][45][2]=30.606957; + m_dp_params[4][46][0]=0.003944; + m_dp_params[4][46][1]=0.005161; + m_dp_params[4][46][2]=0.006706; + m_dq_params[4][46][0]=0.110467; + m_dq_params[4][46][1]=-1.388901; + m_dq_params[4][46][2]=2.365695; + m_c2_params[4][46][0]=18.430857; + m_c2_params[4][46][1]=-72.394234; + m_c2_params[4][46][2]=104.656829; + m_dp_params[4][47][0]=0.002502; + m_dp_params[4][47][1]=-0.023243; + m_dp_params[4][47][2]=0.047699; + m_dq_params[4][47][0]=0.089831; + m_dq_params[4][47][1]=-1.341722; + m_dq_params[4][47][2]=2.303989; + m_c2_params[4][47][0]=-2.607494; + m_c2_params[4][47][1]=-74.887235; + m_c2_params[4][47][2]=114.556133; m_dp_params[4][48][0]=0.0; m_dp_params[4][48][1]=0.0; m_dp_params[4][48][2]=0.0; @@ -3271,24 +3271,24 @@ struct HitSelectionWindows m_c2_params[5][0][0]=2.720665; m_c2_params[5][0][1]=6.302686; m_c2_params[5][0][2]=-5.762410; - m_dp_params[5][1][0]=0.0; - m_dp_params[5][1][1]=0.0; - m_dp_params[5][1][2]=0.0; - m_dq_params[5][1][0]=0.0; - m_dq_params[5][1][1]=0.0; - m_dq_params[5][1][2]=0.0; - m_c2_params[5][1][0]=0.0; - m_c2_params[5][1][1]=0.0; - m_c2_params[5][1][2]=0.0; - m_dp_params[5][2][0]=0.0; - m_dp_params[5][2][1]=0.0; - m_dp_params[5][2][2]=0.0; - m_dq_params[5][2][0]=0.0; - m_dq_params[5][2][1]=0.0; - m_dq_params[5][2][2]=0.0; - m_c2_params[5][2][0]=0.0; - m_c2_params[5][2][1]=0.0; - m_c2_params[5][2][2]=0.0; + m_dp_params[5][1][0]=0.012256; + m_dp_params[5][1][1]=-0.012640; + m_dp_params[5][1][2]=0.026719; + m_dq_params[5][1][0]=0.576161; + m_dq_params[5][1][1]=0.116737; + m_dq_params[5][1][2]=0.636440; + m_c2_params[5][1][0]=-4.916455; + m_c2_params[5][1][1]=9.973448; + m_c2_params[5][1][2]=10.939167; + m_dp_params[5][2][0]=0.009721; + m_dp_params[5][2][1]=-0.004611; + m_dp_params[5][2][2]=0.013633; + m_dq_params[5][2][0]=0.998673; + m_dq_params[5][2][1]=1.263769; + m_dq_params[5][2][2]=-0.603698; + m_c2_params[5][2][0]=6.640920; + m_c2_params[5][2][1]=13.788139; + m_c2_params[5][2][2]=11.769640; m_dp_params[5][3][0]=0.001189; m_dp_params[5][3][1]=0.010028; m_dp_params[5][3][2]=0.001809; @@ -3424,24 +3424,24 @@ struct HitSelectionWindows m_c2_params[5][17][0]=21.818615; m_c2_params[5][17][1]=-119.188758; m_c2_params[5][17][2]=72.609592; - m_dp_params[5][18][0]=0.0; - m_dp_params[5][18][1]=0.0; - m_dp_params[5][18][2]=0.0; - m_dq_params[5][18][0]=0.0; - m_dq_params[5][18][1]=0.0; - m_dq_params[5][18][2]=0.0; - m_c2_params[5][18][0]=0.0; - m_c2_params[5][18][1]=0.0; - m_c2_params[5][18][2]=0.0; - m_dp_params[5][19][0]=0.0; - m_dp_params[5][19][1]=0.0; - m_dp_params[5][19][2]=0.018000; - m_dq_params[5][19][0]=0.0; - m_dq_params[5][19][1]=0.0; - m_dq_params[5][19][2]=0.800000; - m_c2_params[5][19][0]=0.0; - m_c2_params[5][19][1]=0.0; - m_c2_params[5][19][2]=6.000000; + m_dp_params[5][18][0]=0.007776; + m_dp_params[5][18][1]=0.004106; + m_dp_params[5][18][2]=0.005411; + m_dq_params[5][18][0]=0.034144; + m_dq_params[5][18][1]=-2.592422; + m_dq_params[5][18][2]=4.020638; + m_c2_params[5][18][0]=5.726168; + m_c2_params[5][18][1]=-86.420103; + m_c2_params[5][18][2]=134.653550; + m_dp_params[5][19][0]=0.007318; + m_dp_params[5][19][1]=0.004164; + m_dp_params[5][19][2]=0.005364; + m_dq_params[5][19][0]=-0.050947; + m_dq_params[5][19][1]=-2.587069; + m_dq_params[5][19][2]=4.038462; + m_c2_params[5][19][0]=15.933650; + m_c2_params[5][19][1]=-51.649203; + m_c2_params[5][19][2]=76.550802; m_dp_params[5][20][0]=0.006286; m_dp_params[5][20][1]=0.0; m_dp_params[5][20][2]=-0.003571; @@ -3667,33 +3667,33 @@ struct HitSelectionWindows m_c2_params[5][44][0]=12.151710; m_c2_params[5][44][1]=0.0; m_c2_params[5][44][2]=2.285596; - m_dp_params[5][45][0]=0.0; - m_dp_params[5][45][1]=0.0; - m_dp_params[5][45][2]=0.0; - m_dq_params[5][45][0]=0.0; - m_dq_params[5][45][1]=0.0; - m_dq_params[5][45][2]=0.0; - m_c2_params[5][45][0]=0.0; - m_c2_params[5][45][1]=0.0; - m_c2_params[5][45][2]=0.0; - m_dp_params[5][46][0]=0.0; - m_dp_params[5][46][1]=0.0; - m_dp_params[5][46][2]=0.021000; - m_dq_params[5][46][0]=0.0; - m_dq_params[5][46][1]=0.0; - m_dq_params[5][46][2]=0.900000; - m_c2_params[5][46][0]=0.0; - m_c2_params[5][46][1]=0.0; - m_c2_params[5][46][2]=7.000000; - m_dp_params[5][47][0]=0.0; - m_dp_params[5][47][1]=0.0; - m_dp_params[5][47][2]=0.022000; - m_dq_params[5][47][0]=0.0; - m_dq_params[5][47][1]=0.0; - m_dq_params[5][47][2]=0.800000; - m_c2_params[5][47][0]=0.0; - m_c2_params[5][47][1]=0.0; - m_c2_params[5][47][2]=4.000000; + m_dp_params[5][45][0]=0.007058; + m_dp_params[5][45][1]=0.004202; + m_dp_params[5][45][2]=0.005517; + m_dq_params[5][45][0]=0.456046; + m_dq_params[5][45][1]=-1.384300; + m_dq_params[5][45][2]=2.155400; + m_c2_params[5][45][0]=27.837289; + m_c2_params[5][45][1]=-16.647439; + m_c2_params[5][45][2]=30.606957; + m_dp_params[5][46][0]=0.003944; + m_dp_params[5][46][1]=0.005161; + m_dp_params[5][46][2]=0.006706; + m_dq_params[5][46][0]=0.110467; + m_dq_params[5][46][1]=-1.388901; + m_dq_params[5][46][2]=2.365695; + m_c2_params[5][46][0]=18.430857; + m_c2_params[5][46][1]=-72.394234; + m_c2_params[5][46][2]=104.656829; + m_dp_params[5][47][0]=0.002502; + m_dp_params[5][47][1]=-0.023243; + m_dp_params[5][47][2]=0.047699; + m_dq_params[5][47][0]=0.089831; + m_dq_params[5][47][1]=-1.341722; + m_dq_params[5][47][2]=2.303989; + m_c2_params[5][47][0]=-2.607494; + m_c2_params[5][47][1]=-74.887235; + m_c2_params[5][47][2]=114.556133; m_dp_params[5][48][0]=0.013333; m_dp_params[5][48][1]=-0.010892; m_dp_params[5][48][2]=0.017160; @@ -3912,42 +3912,42 @@ struct HitSelectionWindows m_c2_params[5][71][2]=-16.117647; ////// Iteration 6 (mixedTripletStep, algo=8) - m_dp_params[6][0][0]=0.0; - m_dp_params[6][0][1]=0.0; - m_dp_params[6][0][2]=0.0; - m_dq_params[6][0][0]=0.0; - m_dq_params[6][0][1]=0.0; - m_dq_params[6][0][2]=0.0; - m_c2_params[6][0][0]=0.0; - m_c2_params[6][0][1]=0.0; - m_c2_params[6][0][2]=0.0; - m_dp_params[6][1][0]=0.0; - m_dp_params[6][1][1]=0.0; - m_dp_params[6][1][2]=0.0; - m_dq_params[6][1][0]=0.0; - m_dq_params[6][1][1]=0.0; - m_dq_params[6][1][2]=0.0; - m_c2_params[6][1][0]=0.0; - m_c2_params[6][1][1]=0.0; - m_c2_params[6][1][2]=0.0; - m_dp_params[6][2][0]=0.0; - m_dp_params[6][2][1]=0.0; - m_dp_params[6][2][2]=0.0; - m_dq_params[6][2][0]=0.0; - m_dq_params[6][2][1]=0.0; - m_dq_params[6][2][2]=0.0; - m_c2_params[6][2][0]=0.0; - m_c2_params[6][2][1]=0.0; - m_c2_params[6][2][2]=0.0; - m_dp_params[6][3][0]=0.0; - m_dp_params[6][3][1]=0.0; - m_dp_params[6][3][2]=0.0; - m_dq_params[6][3][0]=0.0; - m_dq_params[6][3][1]=0.0; - m_dq_params[6][3][2]=0.0; - m_c2_params[6][3][0]=0.0; - m_c2_params[6][3][1]=0.0; - m_c2_params[6][3][2]=0.0; + m_dp_params[6][0][0]=0.005484; + m_dp_params[6][0][1]=0.001442; + m_dp_params[6][0][2]=0.001261; + m_dq_params[6][0][0]=-0.092978; + m_dq_params[6][0][1]=2.776012; + m_dq_params[6][0][2]=-2.064965; + m_c2_params[6][0][0]=10.080961; + m_c2_params[6][0][1]=12.167006; + m_c2_params[6][0][2]=-2.279788; + m_dp_params[6][1][0]=0.012256; + m_dp_params[6][1][1]=-0.012640; + m_dp_params[6][1][2]=0.026719; + m_dq_params[6][1][0]=0.576161; + m_dq_params[6][1][1]=0.116737; + m_dq_params[6][1][2]=0.636440; + m_c2_params[6][1][0]=-4.916455; + m_c2_params[6][1][1]=9.973448; + m_c2_params[6][1][2]=10.939167; + m_dp_params[6][2][0]=0.009721; + m_dp_params[6][2][1]=-0.004611; + m_dp_params[6][2][2]=0.013633; + m_dq_params[6][2][0]=0.998673; + m_dq_params[6][2][1]=1.263769; + m_dq_params[6][2][2]=-0.603698; + m_c2_params[6][2][0]=6.640920; + m_c2_params[6][2][1]=13.788139; + m_c2_params[6][2][2]=11.769640; + m_dp_params[6][3][0]=0.001118; + m_dp_params[6][3][1]=0.006053; + m_dp_params[6][3][2]=0.003734; + m_dq_params[6][3][0]=-0.078497; + m_dq_params[6][3][1]=0.795505; + m_dq_params[6][3][2]=0.183757; + m_c2_params[6][3][0]=1.631766; + m_c2_params[6][3][1]=-1.366478; + m_c2_params[6][3][2]=0.034045; m_dp_params[6][4][0]=0.0; m_dp_params[6][4][1]=0.0; m_dp_params[6][4][2]=0.0; @@ -4074,33 +4074,33 @@ struct HitSelectionWindows m_c2_params[6][17][0]=-3.389831; m_c2_params[6][17][1]=2.504752; m_c2_params[6][17][2]=4.971491; - m_dp_params[6][18][0]=0.0; - m_dp_params[6][18][1]=0.0; - m_dp_params[6][18][2]=0.0; - m_dq_params[6][18][0]=0.0; - m_dq_params[6][18][1]=0.0; - m_dq_params[6][18][2]=0.0; - m_c2_params[6][18][0]=0.0; - m_c2_params[6][18][1]=0.0; - m_c2_params[6][18][2]=0.0; - m_dp_params[6][19][0]=0.0; - m_dp_params[6][19][1]=0.0; - m_dp_params[6][19][2]=0.0; - m_dq_params[6][19][0]=0.0; - m_dq_params[6][19][1]=0.0; - m_dq_params[6][19][2]=0.0; - m_c2_params[6][19][0]=0.0; - m_c2_params[6][19][1]=0.0; - m_c2_params[6][19][2]=0.0; - m_dp_params[6][20][0]=0.0; - m_dp_params[6][20][1]=0.0; - m_dp_params[6][20][2]=0.0; - m_dq_params[6][20][0]=0.0; - m_dq_params[6][20][1]=0.0; - m_dq_params[6][20][2]=0.0; - m_c2_params[6][20][0]=0.0; - m_c2_params[6][20][1]=0.0; - m_c2_params[6][20][2]=0.0; + m_dp_params[6][18][0]=0.007776; + m_dp_params[6][18][1]=0.004106; + m_dp_params[6][18][2]=0.005411; + m_dq_params[6][18][0]=0.034144; + m_dq_params[6][18][1]=-2.592422; + m_dq_params[6][18][2]=4.020638; + m_c2_params[6][18][0]=5.726168; + m_c2_params[6][18][1]=-86.420103; + m_c2_params[6][18][2]=134.653550; + m_dp_params[6][19][0]=0.007318; + m_dp_params[6][19][1]=0.004164; + m_dp_params[6][19][2]=0.005364; + m_dq_params[6][19][0]=-0.050947; + m_dq_params[6][19][1]=-2.587069; + m_dq_params[6][19][2]=4.038462; + m_c2_params[6][19][0]=15.933650; + m_c2_params[6][19][1]=-51.649203; + m_c2_params[6][19][2]=76.550802; + m_dp_params[6][20][0]=0.008253; + m_dp_params[6][20][1]=0.004155; + m_dp_params[6][20][2]=0.005442; + m_dq_params[6][20][0]=0.124955; + m_dq_params[6][20][1]=-1.342478; + m_dq_params[6][20][2]=2.194539; + m_c2_params[6][20][0]=-17.149415; + m_c2_params[6][20][1]=-182.205107; + m_c2_params[6][20][2]=272.365113; m_dp_params[6][21][0]=0.0; m_dp_params[6][21][1]=0.0; m_dp_params[6][21][2]=0.0; @@ -4317,33 +4317,33 @@ struct HitSelectionWindows m_c2_params[6][44][0]=0.0; m_c2_params[6][44][1]=0.0; m_c2_params[6][44][2]=0.0; - m_dp_params[6][45][0]=0.0; - m_dp_params[6][45][1]=0.0; - m_dp_params[6][45][2]=0.0; - m_dq_params[6][45][0]=0.0; - m_dq_params[6][45][1]=0.0; - m_dq_params[6][45][2]=0.0; - m_c2_params[6][45][0]=0.0; - m_c2_params[6][45][1]=0.0; - m_c2_params[6][45][2]=0.0; - m_dp_params[6][46][0]=0.0; - m_dp_params[6][46][1]=0.0; - m_dp_params[6][46][2]=0.0; - m_dq_params[6][46][0]=0.0; - m_dq_params[6][46][1]=0.0; - m_dq_params[6][46][2]=0.0; - m_c2_params[6][46][0]=0.0; - m_c2_params[6][46][1]=0.0; - m_c2_params[6][46][2]=0.0; - m_dp_params[6][47][0]=0.0; - m_dp_params[6][47][1]=0.0; - m_dp_params[6][47][2]=0.0; - m_dq_params[6][47][0]=0.0; - m_dq_params[6][47][1]=0.0; - m_dq_params[6][47][2]=0.0; - m_c2_params[6][47][0]=0.0; - m_c2_params[6][47][1]=0.0; - m_c2_params[6][47][2]=0.0; + m_dp_params[6][45][0]=0.007058; + m_dp_params[6][45][1]=0.004202; + m_dp_params[6][45][2]=0.005517; + m_dq_params[6][45][0]=0.456046; + m_dq_params[6][45][1]=-1.384300; + m_dq_params[6][45][2]=2.155400; + m_c2_params[6][45][0]=27.837289; + m_c2_params[6][45][1]=-16.647439; + m_c2_params[6][45][2]=30.606957; + m_dp_params[6][46][0]=0.003944; + m_dp_params[6][46][1]=0.005161; + m_dp_params[6][46][2]=0.006706; + m_dq_params[6][46][0]=0.110467; + m_dq_params[6][46][1]=-1.388901; + m_dq_params[6][46][2]=2.365695; + m_c2_params[6][46][0]=18.430857; + m_c2_params[6][46][1]=-72.394234; + m_c2_params[6][46][2]=104.656829; + m_dp_params[6][47][0]=0.002502; + m_dp_params[6][47][1]=-0.023243; + m_dp_params[6][47][2]=0.047699; + m_dq_params[6][47][0]=0.089831; + m_dq_params[6][47][1]=-1.341722; + m_dq_params[6][47][2]=2.303989; + m_c2_params[6][47][0]=-2.607494; + m_c2_params[6][47][1]=-74.887235; + m_c2_params[6][47][2]=114.556133; m_dp_params[6][48][0]=0.0; m_dp_params[6][48][1]=0.0; m_dp_params[6][48][2]=0.0; @@ -5862,33 +5862,33 @@ struct HitSelectionWindows m_c2_params[8][71][2]=0.0; //////// Iteration 9 (pixelPair, algo=6) - m_dp_params[9][0][0]=0.0; - m_dp_params[9][0][1]=0.0; - m_dp_params[9][0][2]=0.004000; - m_dq_params[9][0][0]=0.0; - m_dq_params[9][0][1]=0.0; - m_dq_params[9][0][2]=0.600000; - m_c2_params[9][0][0]=0.0; - m_c2_params[9][0][1]=0.0; - m_c2_params[9][0][2]=22.000000; - m_dp_params[9][1][0]=0.0; - m_dp_params[9][1][1]=0.0; - m_dp_params[9][1][2]=0.0; - m_dq_params[9][1][0]=0.0; - m_dq_params[9][1][1]=0.0; - m_dq_params[9][1][2]=0.0; - m_c2_params[9][1][0]=0.0; - m_c2_params[9][1][1]=0.0; - m_c2_params[9][1][2]=0.0; - m_dp_params[9][2][0]=0.0; - m_dp_params[9][2][1]=0.0; - m_dp_params[9][2][2]=0.0; - m_dq_params[9][2][0]=0.0; - m_dq_params[9][2][1]=0.0; - m_dq_params[9][2][2]=0.0; - m_c2_params[9][2][0]=0.0; - m_c2_params[9][2][1]=0.0; - m_c2_params[9][2][2]=0.0; + m_dp_params[9][0][0]=0.005484; + m_dp_params[9][0][1]=0.001442; + m_dp_params[9][0][2]=0.001261; + m_dq_params[9][0][0]=-0.092978; + m_dq_params[9][0][1]=2.776012; + m_dq_params[9][0][2]=-2.064965; + m_c2_params[9][0][0]=10.080961; + m_c2_params[9][0][1]=12.167006; + m_c2_params[9][0][2]=-2.279788; + m_dp_params[9][1][0]=0.012256; + m_dp_params[9][1][1]=-0.012640; + m_dp_params[9][1][2]=0.026719; + m_dq_params[9][1][0]=0.576161; + m_dq_params[9][1][1]=0.116737; + m_dq_params[9][1][2]=0.636440; + m_c2_params[9][1][0]=-4.916455; + m_c2_params[9][1][1]=9.973448; + m_c2_params[9][1][2]=10.939167; + m_dp_params[9][2][0]=0.009721; + m_dp_params[9][2][1]=-0.004611; + m_dp_params[9][2][2]=0.013633; + m_dq_params[9][2][0]=0.998673; + m_dq_params[9][2][1]=1.263769; + m_dq_params[9][2][2]=-0.603698; + m_c2_params[9][2][0]=6.640920; + m_c2_params[9][2][1]=13.788139; + m_c2_params[9][2][2]=11.769640; m_dp_params[9][3][0]=-0.005714; m_dp_params[9][3][1]=0.0; m_dp_params[9][3][2]=0.016429; @@ -6024,15 +6024,15 @@ struct HitSelectionWindows m_c2_params[9][17][0]=59.083799; m_c2_params[9][17][1]=-130.085078; m_c2_params[9][17][2]=50.900748; - m_dp_params[9][18][0]=0.0; - m_dp_params[9][18][1]=0.0; - m_dp_params[9][18][2]=0.0; - m_dq_params[9][18][0]=0.0; - m_dq_params[9][18][1]=0.0; - m_dq_params[9][18][2]=0.0; - m_c2_params[9][18][0]=0.0; - m_c2_params[9][18][1]=0.0; - m_c2_params[9][18][2]=0.0; + m_dp_params[9][18][0]=0.007776; + m_dp_params[9][18][1]=0.004106; + m_dp_params[9][18][2]=0.005411; + m_dq_params[9][18][0]=0.034144; + m_dq_params[9][18][1]=-2.592422; + m_dq_params[9][18][2]=4.020638; + m_c2_params[9][18][0]=5.726168; + m_c2_params[9][18][1]=-86.420103; + m_c2_params[9][18][2]=134.653550; m_dp_params[9][19][0]=0.000961; m_dp_params[9][19][1]=0.0; m_dp_params[9][19][2]=0.002525; @@ -6267,15 +6267,15 @@ struct HitSelectionWindows m_c2_params[9][44][0]=0.0; m_c2_params[9][44][1]=0.0; m_c2_params[9][44][2]=0.0; - m_dp_params[9][45][0]=0.0; - m_dp_params[9][45][1]=0.0; - m_dp_params[9][45][2]=0.0; - m_dq_params[9][45][0]=0.0; - m_dq_params[9][45][1]=0.0; - m_dq_params[9][45][2]=0.0; - m_c2_params[9][45][0]=0.0; - m_c2_params[9][45][1]=0.0; - m_c2_params[9][45][2]=0.0; + m_dp_params[9][45][0]=0.007058; + m_dp_params[9][45][1]=0.004202; + m_dp_params[9][45][2]=0.005517; + m_dq_params[9][45][0]=0.456046; + m_dq_params[9][45][1]=-1.384300; + m_dq_params[9][45][2]=2.155400; + m_c2_params[9][45][0]=27.837289; + m_c2_params[9][45][1]=-16.647439; + m_c2_params[9][45][2]=30.606957; m_dp_params[9][46][0]=0.101490; m_dp_params[9][46][1]=-0.000795; m_dp_params[9][46][2]=-0.000438; diff --git a/Geoms/CMS-2017.cc b/Geoms/CMS-2017.cc index 5ca6a209..5e7a8ab9 100644 --- a/Geoms/CMS-2017.cc +++ b/Geoms/CMS-2017.cc @@ -18,7 +18,73 @@ namespace { #include "CMS-2017.acc" - void SetupCoreSteeringParams_Iter0(IterationConfig& ic) + void SetupCoreSteeringParams_PixelQuad(IterationConfig& ic) + { + ic.m_region_order[0] = TrackerInfo::Reg_Transition_Pos; + ic.m_region_order[1] = TrackerInfo::Reg_Transition_Neg; + ic.m_region_order[2] = TrackerInfo::Reg_Endcap_Pos; + ic.m_region_order[3] = TrackerInfo::Reg_Endcap_Neg; + ic.m_region_order[4] = TrackerInfo::Reg_Barrel; + + { + SteeringParams &sp = ic.m_steering_params[TrackerInfo::Reg_Endcap_Neg]; + sp.reserve_plan(3 + 3 + 6 + 18); // BPix + FPix- + TID- + TEC-; BPix4 is out of acceptance + sp.append_plan(1); + sp.append_plan(0); + sp.append_plan(2); + sp.fill_plan(45, 47); + sp.fill_plan(48, 53); // TID, 6 disks (3 mono + 3 stereo) + sp.fill_plan(54, 71); // TEC, 18 disks (9 mono + 9 stereo) + sp.set_iterator_limits(2, 0); + } + { + SteeringParams &sp = ic.m_steering_params[TrackerInfo::Reg_Transition_Neg]; + sp.reserve_plan(4 + 3 + 6 + 6 + 8 + 18); // BPix + FPix- + TIB + TID- + TOB + TEC- + sp.append_plan(1); + sp.append_plan(0); + sp.fill_plan(2,3); + sp.fill_plan(45, 47); + sp.fill_plan( 4, 9); // TIB, 6 layers (4 mono + 2 stereo) + sp.fill_plan(48, 53); // TID, 6 disks (3 mono + 3 stereo) + sp.fill_plan(10, 17); // TOB, 8 layers (6 mono + 2 stereo) + sp.fill_plan(54, 71); // TEC, 18 disks (9 mono + 9 stereo) + sp.set_iterator_limits(2, 0); + } + { + SteeringParams &sp = ic.m_steering_params[TrackerInfo::Reg_Barrel]; + sp.reserve_plan(4 + 6 + 8); // BPix + TIB + TOB + sp.fill_plan( 0, 3); // [ 0, 3] + sp.fill_plan( 4, 9); // TIB, 6 layers (4 mono + 2 stereo) [ 4, 9] + sp.fill_plan(10, 17); // TOB, 8 layers (6 mono + 2 stereo) [10, 17] + sp.set_iterator_limits(2, 0); + } + { + SteeringParams &sp = ic.m_steering_params[TrackerInfo::Reg_Transition_Pos]; + sp.reserve_plan(4 + 3 + 6 + 6 + 8 + 18); // BPix + FPix+ + TIB + TID+ + TOB + TEC+ + sp.append_plan(1); + sp.append_plan(0); + sp.fill_plan(2,3); + sp.fill_plan(18, 20); // [ 4, 6] + sp.fill_plan( 4, 9); // TIB, 6 layers (4 mono + 2 stereo) [ 7, 12] + sp.fill_plan(21, 26); // TID, 6 disks (3 mono + 3 stereo) [13, 18] + sp.fill_plan(10, 17); // TOB, 8 layers (6 mono + 2 stereo) [19, 26] + sp.fill_plan(27, 44); // TEC, 18 disks (9 mono + 9 stereo) [27, 44] + sp.set_iterator_limits(2, 0); + } + { + SteeringParams &sp = ic.m_steering_params[TrackerInfo::Reg_Endcap_Pos]; + sp.reserve_plan(3 + 3 + 6 + 18); // BPix + FPix+ + TID+ + TEC+; BPix4 is out of acceptance + sp.append_plan(1); + sp.append_plan(0); + sp.append_plan(2); + sp.fill_plan(18, 20); // [ 3, 5] + sp.fill_plan(21, 26); // TID, 6 disks (3 mono + 3 stereo) [ 6, 11] + sp.fill_plan(27, 44); // TEC, 18 disks (9 mono + 9 stereo) [12, 29] + sp.set_iterator_limits(2, 0); + } + } + + void SetupCoreSteeringParams_Common(IterationConfig& ic) { ic.m_region_order[0] = TrackerInfo::Reg_Transition_Pos; ic.m_region_order[1] = TrackerInfo::Reg_Transition_Neg; @@ -32,12 +98,12 @@ namespace sp.fill_plan( 0, 2); sp.fill_plan(45, 47); sp.fill_plan(48, 53); // TID, 6 disks (3 mono + 3 stereo) - sp.fill_plan(54, 71); // TEC, 18 disks (3 mono + 3 stereo) + sp.fill_plan(54, 71); // TEC, 18 disks (9 mono + 9 stereo) sp.set_iterator_limits(2, 0); } { SteeringParams &sp = ic.m_steering_params[TrackerInfo::Reg_Transition_Neg]; - sp.reserve_plan(3 + 4 + 6 + 6 + 8 + 18); // BPix + FPix- + TIB + TID- + TOB + TEC- + sp.reserve_plan(4 + 3 + 6 + 6 + 8 + 18); // BPix + FPix- + TIB + TID- + TOB + TEC- sp.fill_plan (0, 3); sp.fill_plan(45, 47); sp.fill_plan( 4, 9); // TIB, 6 layers (4 mono + 2 stereo) @@ -56,7 +122,7 @@ namespace } { SteeringParams &sp = ic.m_steering_params[TrackerInfo::Reg_Transition_Pos]; - sp.reserve_plan(3 + 4 + 6 + 6 + 8 + 18); // BPix + FPix+ + TIB + TID+ + TOB + TEC+ + sp.reserve_plan(4 + 3 + 6 + 6 + 8 + 18); // BPix + FPix+ + TIB + TID+ + TOB + TEC+ sp.fill_plan( 0, 3); // [ 0, 3] sp.fill_plan(18, 20); // [ 4, 6] sp.fill_plan( 4, 9); // TIB, 6 layers (4 mono + 2 stereo) [ 7, 12] @@ -673,65 +739,74 @@ namespace Create_CMS_2017_AutoGen(ti, ii); ii[0].m_partition_seeds = partitionSeeds1; - SetupCoreSteeringParams_Iter0(ii[0]); + SetupCoreSteeringParams_PixelQuad(ii[0]); // At this point copy out layer/steering stuff for reuse in later iterations. - IterationConfig def_itconf; - def_itconf.CloneLayerSteerCore(ii[0]); + IterationConfig def_itconf_pixelquad; + def_itconf_pixelquad.CloneLayerSteerCore(ii[0]); SetupIterationParams(ii[0].m_params, 0); ii[0].set_dupclean_flag(); ii[0].set_dupl_params(0.24, 0.002,0.004,0.008); fill_hit_selection_windows_params(ii[0]); - ii[0].m_backward_params = ii[0].m_params; + SetupBackwardSearch_PixelCommon(ii[0]); + + ii[1].set_num_regions_layers(5, 72); + ii[1].m_layer_configs = ii[0].m_layer_configs; + ii[1].m_partition_seeds = partitionSeeds1; + + SetupCoreSteeringParams_Common(ii[1]); + + // At this point copy out layer/steering stuff for reuse in later iterations. + IterationConfig def_itconf_common; + def_itconf_common.CloneLayerSteerCore(ii[1]); - ii[1].CloneLayerSteerCore(def_itconf); SetupIterationParams(ii[1].m_params, 1); ii[1].set_iteration_index_and_track_algorithm(1, (int) TrackBase::TrackAlgorithm::highPtTripletStep); - ii[1].set_seed_cleaning_params(2.0, 0.018, 0.018, 0.018, 0.018, 0.018, 0.05, 0.018, 0.05); + ii[1].set_seed_cleaning_params(2.0, 0.018, 0.018, 0.018, 0.018, 0.036, 0.10, 0.036, 0.10); ii[1].set_dupclean_flag(); ii[1].set_dupl_params(0.24, 0.03,0.05,0.08); fill_hit_selection_windows_params(ii[1]); SetupBackwardSearch_PixelCommon(ii[1]); - ii[2].CloneLayerSteerCore(def_itconf); + ii[2].CloneLayerSteerCore(def_itconf_pixelquad); SetupIterationParams(ii[2].m_params, 2); ii[2].set_iteration_index_and_track_algorithm(2, (int) TrackBase::TrackAlgorithm::lowPtQuadStep); - ii[2].set_seed_cleaning_params(0.5, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05); + ii[2].set_seed_cleaning_params(0.5, 0.05, 0.05, 0.05, 0.05, 0.10, 0.10, 0.10, 0.10); ii[2].set_dupclean_flag(); ii[2].set_dupl_params(0.5, 0.01,0.03,0.05); fill_hit_selection_windows_params(ii[2]); - ii[2].m_backward_params = ii[2].m_params; + SetupBackwardSearch_PixelCommon(ii[2]); - ii[3].CloneLayerSteerCore(def_itconf); + ii[3].CloneLayerSteerCore(def_itconf_common); SetupIterationParams(ii[3].m_params, 3); ii[3].set_iteration_index_and_track_algorithm(3, (int) TrackBase::TrackAlgorithm::lowPtTripletStep); - ii[3].set_seed_cleaning_params(0.5, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05); + ii[3].set_seed_cleaning_params(0.5, 0.05, 0.05, 0.05, 0.05, 0.10, 0.10, 0.10, 0.10); ii[3].set_dupclean_flag(); ii[3].set_dupl_params(0.33, 0.018,0.05,0.018); fill_hit_selection_windows_params(ii[3]); SetupBackwardSearch_PixelCommon(ii[3]); - ii[4].CloneLayerSteerCore(def_itconf); + ii[4].CloneLayerSteerCore(def_itconf_pixelquad); SetupIterationParams(ii[4].m_params, 4); ii[4].set_iteration_index_and_track_algorithm(4, (int) TrackBase::TrackAlgorithm::detachedQuadStep); - ii[4].set_seed_cleaning_params(2.0, 0.018, 0.018, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05); + ii[4].set_seed_cleaning_params(2.0, 0.018, 0.018, 0.05, 0.05, 0.10, 0.10, 0.10, 0.10); ii[4].set_dupclean_flag(); ii[4].set_dupl_params(0.24, 0.018,0.05,0.05); fill_hit_selection_windows_params(ii[4]); - ii[4].m_backward_params = ii[4].m_params; + SetupBackwardSearch_PixelCommon(ii[4]); - ii[5].CloneLayerSteerCore(def_itconf); + ii[5].CloneLayerSteerCore(def_itconf_common); SetupIterationParams(ii[5].m_params, 5); ii[5].set_iteration_index_and_track_algorithm(5, (int) TrackBase::TrackAlgorithm::detachedTripletStep); - ii[5].set_seed_cleaning_params(2.0, 0.018, 0.018, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05); + ii[5].set_seed_cleaning_params(2.0, 0.018, 0.018, 0.05, 0.05, 0.10, 0.10, 0.10, 0.10); ii[5].set_dupclean_flag(); ii[5].set_dupl_params(0.24, 0.01,0.01,0.1); ii[5].m_requires_quality_filter = true; fill_hit_selection_windows_params(ii[5]); SetupBackwardSearch_PixelCommon(ii[5]); - ii[6].CloneLayerSteerCore(def_itconf); + ii[6].CloneLayerSteerCore(def_itconf_common); SetupIterationParams(ii[6].m_params, 6); ii[6].set_iteration_index_and_track_algorithm(6, (int) TrackBase::TrackAlgorithm::mixedTripletStep); ii[6].set_seed_cleaning_params(2.0, 0.05, 0.05, 0.135, 0.135, 0.05, 0.05, 0.135, 0.135); @@ -740,7 +815,7 @@ namespace fill_hit_selection_windows_params(ii[6]); SetupBackwardSearch_PixelCommon(ii[6]); - ii[7].CloneLayerSteerCore(def_itconf); + ii[7].CloneLayerSteerCore(def_itconf_common); SetupIterationParams(ii[7].m_params, 7); ii[7].set_iteration_index_and_track_algorithm(7, (int) TrackBase::TrackAlgorithm::pixelLessStep); ii[7].set_seed_cleaning_params(2.0, 0.135, 0.135, 0.135, 0.135, 0.135, 0.135, 0.135, 0.135); @@ -749,7 +824,7 @@ namespace fill_hit_selection_windows_params(ii[7]); SetupBackwardSearch_Iter7(ii[7]); - ii[8].CloneLayerSteerCore(def_itconf); + ii[8].CloneLayerSteerCore(def_itconf_common); SetupIterationParams(ii[8].m_params, 8); ii[8].set_iteration_index_and_track_algorithm(8, (int) TrackBase::TrackAlgorithm::tobTecStep); ii[8].set_seed_cleaning_params(2.0, 0.135, 0.135, 0.135, 0.135, 0.135, 0.135, 0.135, 0.135); @@ -758,7 +833,7 @@ namespace fill_hit_selection_windows_params(ii[8]); SetupBackwardSearch_Iter8(ii[8]); - ii[9].CloneLayerSteerCore(def_itconf); + ii[9].CloneLayerSteerCore(def_itconf_common); SetupIterationParams(ii[9].m_params, 9); ii[9].set_iteration_index_and_track_algorithm(9, (int) TrackBase::TrackAlgorithm::pixelPairStep); ii[9].set_seed_cleaning_params(2.0, 0.135, 0.135, 0.135, 0.135, 0.135, 0.135, 0.135, 0.135); diff --git a/Track.h b/Track.h index 6321d45d..ecd96547 100644 --- a/Track.h +++ b/Track.h @@ -247,13 +247,13 @@ class TrackBase int n_overlaps : 8; // Number of seed hits at import time - unsigned int n_seed_hits : 3; + unsigned int n_seed_hits : 4; // mkFit tracking region TrackerInfo::EtaRegion, determined by seed partition function unsigned int eta_region : 3; // The remaining bits. - unsigned int _free_bits_ : 5; + unsigned int _free_bits_ : 4; }; unsigned int _raw_; diff --git a/mkFit/HitStructures.cc b/mkFit/HitStructures.cc index 03b95375..1414df24 100644 --- a/mkFit/HitStructures.cc +++ b/mkFit/HitStructures.cc @@ -593,7 +593,7 @@ void CombCandidate::CompactifyHitStorageForBestCand(bool remove_seed_hits, int b // as this is rather involved, just call addHitIdx() repeatedly so counts // of holes get updated correctly. // Though one should not care super much ... it's only relevant for relative scores - // and here we are trimmmin everything down to a single candidate. + // and here we are trimming everything down to a single candidate. int n_hits_to_pick = std::max(tc.nFoundHits() - tc.getNSeedHits(), backward_fit_min_hits); while (n_hits_to_pick > 0) diff --git a/mkFit/IterationConfig.h b/mkFit/IterationConfig.h index 9046858b..05bfca00 100644 --- a/mkFit/IterationConfig.h +++ b/mkFit/IterationConfig.h @@ -108,12 +108,12 @@ class IterationParams //initial float c_drmax_bh = 0.010; float c_dzmax_bh = 0.005; - float c_drmax_eh = 0.010; - float c_dzmax_eh = 0.010; + float c_drmax_eh = 0.020; + float c_dzmax_eh = 0.020; float c_drmax_bl = 0.010; float c_dzmax_bl = 0.005; - float c_drmax_el = 0.015; - float c_dzmax_el = 0.015; + float c_drmax_el = 0.030; + float c_dzmax_el = 0.030; int minHitsQF = 4; float fracSharedHits = 0.19; @@ -230,7 +230,7 @@ class IterationConfig } void set_seed_cleaning_params(float pt_thr, - float dzmax_bh, float drmax_bh, + float dzmax_bh, float drmax_bh, float dzmax_bl, float drmax_bl, float dzmax_eh, float drmax_eh, float dzmax_el, float drmax_el) diff --git a/mkFit/MkFinder.cc b/mkFit/MkFinder.cc index e1d13d77..886b9ffe 100644 --- a/mkFit/MkFinder.cc +++ b/mkFit/MkFinder.cc @@ -1021,6 +1021,24 @@ void MkFinder::FindCandidates(const LayerOfHits &layer_of_hits } if (isCompatible) { + + bool hitExists = false; + int maxHits = NFoundHits(itrack,0,0); + if(layer_of_hits.is_pix_lyr()) + { + for(int i=0; i<=maxHits; ++i) + { + if(i>2) break; + if(HoTArrs[itrack][i].layer==layer_of_hits.layer_id()) + { + hitExists = true; + break; + } + } + } + if (hitExists) + continue; + nHitsAdded[itrack]++; dprint("chi2 cut passed, creating new candidate"); // Create a new candidate and fill the tmp_candidates output vector. @@ -1174,13 +1192,30 @@ void MkFinder::FindCandidatesCloneEngine(const LayerOfHits &layer_of_hits, CandC if (isCompatible) { + CombCandidate &ccand = cloner.mp_event_of_comb_candidates->m_candidates[ SeedIdx(itrack, 0, 0) ]; + bool hitExists = false; + int maxHits = NFoundHits(itrack,0,0); + if(layer_of_hits.is_pix_lyr()) + { + for(int i=0; i<=maxHits; ++i) + { + if(i>2) break; + if(ccand.m_hots[i].m_hot.layer==layer_of_hits.layer_id()) + { + hitExists = true; + break; + } + } + } + if (hitExists) + continue; + nHitsAdded[itrack]++; const int hit_idx = XHitArr.At(itrack, hit_cnt, 0); // Register hit for overlap consideration, here we apply chi2 cut if (chi2 < m_iteration_params->chi2CutOverlap) { - CombCandidate &ccand = cloner.mp_event_of_comb_candidates->m_candidates[ SeedIdx(itrack, 0, 0) ]; ccand[CandIdx(itrack, 0, 0)].considerHitForOverlap(hit_idx, layer_of_hits.GetHit(hit_idx).detIDinLayer(), chi2); } diff --git a/mkFit/MkStdSeqs.cc b/mkFit/MkStdSeqs.cc index 2b6a6d5d..b8ad7336 100644 --- a/mkFit/MkStdSeqs.cc +++ b/mkFit/MkStdSeqs.cc @@ -113,14 +113,7 @@ void Cmssw_ReMap_TrackHitIndices(const EventOfHits &eoh, TrackVec &out_tracks) int clean_cms_seedtracks_iter(TrackVec *seed_ptr, const IterationConfig& itrcfg, const BeamSpot &bspot) { const float etamax_brl = Config::c_etamax_brl; - const float dpt_brl_0 = Config::c_dpt_brl_0; - const float dpt_ec_0 = Config::c_dpt_ec_0; - const float ptmax_0 = Config::c_ptmax_0; - const float dpt_1 = Config::c_dpt_1; - const float ptmax_1 = Config::c_ptmax_1; - const float dpt_2 = Config::c_dpt_2; - const float ptmax_2 = Config::c_ptmax_2; - const float dpt_3 = Config::c_dpt_3; + const float dpt_common = Config::c_dpt_common; const float dzmax_bh = itrcfg.m_params.c_dzmax_bh; const float drmax_bh = itrcfg.m_params.c_drmax_bh; @@ -216,28 +209,9 @@ int clean_cms_seedtracks_iter(TrackVec *seed_ptr, const IterationConfig& itrcfg, const float thisDPt = std::abs(Pt2-Pt1); ////// Require pT consistency between seeds. If dpT is large, do not remove seed-track. - ////// Adaptive thresholds, based on pT of reference seed-track (choice is a compromise between efficiency and duplicate rate): - ////// - 2.5% if track is barrel and w/ pT<2 GeV - ////// - 1.25% if track is non-barrel and w/ pT<2 GeV - ////// - 10% if track w/ 210 GeV - if(thisDPt>dpt_brl_0*(Pt1) && Pt1 dpt_common*(Pt1) ) continue; - else if(thisDPt>dpt_ec_0*(Pt1) && Pt1etamax_brl) - continue; - - else if(thisDPt>dpt_1*(Pt1) && Pt1>ptmax_0 && Pt1dpt_2*(Pt1) && Pt1>ptmax_1 && Pt1dpt_3*(Pt1) && Pt1>ptmax_2) - continue; - - const float Eta2 = eta[tss]; const float deta2 = std::pow(Eta1-Eta2, 2); @@ -287,7 +261,7 @@ int clean_cms_seedtracks_iter(TrackVec *seed_ptr, const IterationConfig& itrcfg, // NOTE: We only have 3 bits in Track::Status for number of seed hits. // There is a check at entry and after adding of a new hit. Track &tk = seeds[i1]; - if (merge_hits && tk.nTotalHits() < 7) + if (merge_hits && tk.nTotalHits() < 15) { const Track &tk2 = seeds[i2]; //We are not actually fitting to the extra hits; use chi2 of 0 @@ -310,7 +284,7 @@ int clean_cms_seedtracks_iter(TrackVec *seed_ptr, const IterationConfig& itrcfg, if (unique) { tk.addHitIdx(tk2.getHitIdx(j), tk2.getHitLyr(j), fakeChi2); ++n_ovlp_hits_added; - if (tk.nTotalHits() >= 7) + if (tk.nTotalHits() >= 15) break; } }