@@ -47,7 +47,7 @@ track_seeding::track_seeding() : interface("Track Seeding Options") {
4747 m_desc.add_options ()(
4848 " seedfinder-deltaR-range" ,
4949 po::value (&m_delta_r_range)->default_value (m_delta_r_range),
50- " Distance range in radious between measurements within one seed [mm]" );
50+ " Radial distance between measurements [mm]" );
5151
5252 m_desc.add_options ()(
5353 " seedfinder-impactMax" ,
@@ -62,7 +62,7 @@ track_seeding::track_seeding() : interface("Track Seeding Options") {
6262 " seedfinder-maxPtScattering" ,
6363 po::value (&m_seedfinder.maxPtScattering )
6464 ->default_value (m_seedfinder.maxPtScattering / unit<float >::GeV),
65- " Upper pt limit for scattering calculation [GeV]" );
65+ " Upper pT limit for scattering [GeV]" );
6666
6767 m_desc.add_options ()(" seedfinder-maxSeedsPerSpM" ,
6868 po::value (&m_seedfinder.maxSeedsPerSpM )
@@ -73,6 +73,24 @@ track_seeding::track_seeding() : interface("Track Seeding Options") {
7373 po::value (&m_seedfinder.bFieldInZ )
7474 ->default_value (m_seedfinder.bFieldInZ / unit<float >::T),
7575 " B-field in Z direction [T]" );
76+ m_desc.add_options ()(
77+ " seedfinder-deltaInvHelixDiameter" ,
78+ po::value (&m_seedfilter.deltaInvHelixDiameter )
79+ ->default_value (m_seedfilter.deltaInvHelixDiameter *
80+ unit<float >::mm),
81+ " Inverted radius delta for compatible seeds [mm^-1]" );
82+ m_desc.add_options ()(" seedfinder-impactWeightFactor" ,
83+ po::value (&m_seedfilter.impactWeightFactor )
84+ ->default_value (m_seedfilter.impactWeightFactor ),
85+ " Weight factor for impact parameter [unitless]" );
86+ m_desc.add_options ()(" seedfinder-compatSeedWeight" ,
87+ po::value (&m_seedfilter.compatSeedWeight )
88+ ->default_value (m_seedfilter.compatSeedWeight ),
89+ " Weight per compatible seed [unitless]" );
90+ m_desc.add_options ()(" seedfinder-compatSeedLimit" ,
91+ po::value (&m_seedfilter.compatSeedLimit )
92+ ->default_value (m_seedfilter.compatSeedLimit ),
93+ " Maximum weighted compatible seeds [cardinal]" );
7694}
7795
7896track_seeding::operator seedfinder_config () const {
@@ -111,6 +129,8 @@ void track_seeding::read(const po::variables_map&) {
111129 m_seedfinder.maxPtScattering *= unit<float >::GeV;
112130 m_seedfinder.bFieldInZ *= unit<float >::T;
113131
132+ m_seedfilter.deltaInvHelixDiameter /= unit<float >::mm;
133+
114134 m_seedfinder.setup ();
115135}
116136
@@ -135,11 +155,15 @@ std::unique_ptr<configuration_printable> track_seeding::as_printable() const {
135155 cat->add_child (std::make_unique<configuration_kv_pair>(
136156 " Minimum track momentum" ,
137157 std::format (" {:.2f} GeV" , m_seedfinder.minPt / unit<float >::GeV)));
158+
159+ float theta = std::atan (1 .f / m_seedfinder.cotThetaMax );
160+ float eta = -std::log (std::tan (theta / 2 .f ));
161+
138162 cat->add_child (std::make_unique<configuration_kv_pair>(
139163 " Maximum cotangent of theta angle" ,
140- std::format (" {:.4f}" , m_seedfinder.cotThetaMax )));
164+ std::format (" {:.4f} (eta = {:.2f}) " , m_seedfinder.cotThetaMax , eta )));
141165 cat->add_child (std::make_unique<configuration_kv_pair>(
142- " Distance range in radious between measurements within one seed " ,
166+ " Radial distance between measurements" ,
143167 std::format (" [{:.2f} - {:.2f}] mm" ,
144168 m_seedfinder.deltaRMin / unit<float >::mm,
145169 m_seedfinder.deltaRMax / unit<float >::mm)));
@@ -150,7 +174,7 @@ std::unique_ptr<configuration_printable> track_seeding::as_printable() const {
150174 " Scattering angle sigma" ,
151175 std::format (" {:.2f}" , m_seedfinder.sigmaScattering )));
152176 cat->add_child (std::make_unique<configuration_kv_pair>(
153- " Upper pt limit for scattering calculation " ,
177+ " Upper pT limit for scattering" ,
154178 std::format (" {:.2f} GeV" ,
155179 m_seedfinder.maxPtScattering / unit<float >::GeV)));
156180 cat->add_child (std::make_unique<configuration_kv_pair>(
@@ -159,6 +183,19 @@ std::unique_ptr<configuration_printable> track_seeding::as_printable() const {
159183 cat->add_child (std::make_unique<configuration_kv_pair>(
160184 " B-field in Z direction" ,
161185 std::format (" {:.2f} T" , m_seedfinder.bFieldInZ / unit<float >::T)));
186+ cat->add_child (std::make_unique<configuration_kv_pair>(
187+ " Inverted radius delta for compatible seeds" ,
188+ std::format (" {:.5f} mm^-1" ,
189+ m_seedfilter.deltaInvHelixDiameter * unit<float >::mm)));
190+ cat->add_child (std::make_unique<configuration_kv_pair>(
191+ " Weight factor for impact parameter" ,
192+ std::format (" {:.2f}" , m_seedfilter.impactWeightFactor )));
193+ cat->add_child (std::make_unique<configuration_kv_pair>(
194+ " Weight per compatible seed" ,
195+ std::format (" {:.2f}" , m_seedfilter.compatSeedWeight )));
196+ cat->add_child (std::make_unique<configuration_kv_pair>(
197+ " Maximum weighted compatible seed" ,
198+ std::format (" {:d}" , m_seedfilter.compatSeedLimit )));
162199
163200 return cat;
164201}
0 commit comments