|
|
Go to the documentation of this file.
21 numPhiSectors_(settings->numPhiSectors()),
22 numPhiNonants_(settings->numPhiNonants()),
24 phiSectorWidth_(2. *
M_PI /
float(numPhiSectors_)),
25 phiNonantWidth_(2. *
M_PI /
float(numPhiNonants_)),
27 chosenRofPhi_(settings->chosenRofPhi()),
30 nbinsPt_((
int)settings->houghNbinsPt()),
31 invPtToDPhi_(settings->invPtToDphi()),
34 fitterName_(fitterName),
35 nHelixParams_(fitTrk->nHelixParam()),
37 nlayers_(fitTrk->numLayers()),
38 iPhiSec_(fitTrk->iPhiSec()),
39 iEtaReg_(fitTrk->iEtaReg()),
40 mBin_(
int(fitTrk->cellLocationHT().
first) - floor(settings_->houghNbinsPt() / 2)),
41 cBin_(
int(fitTrk->cellLocationHT().
second) - floor(settings_->houghNbinsPhi() / 2)),
42 mBinhelix_(
int(fitTrk->cellLocationFit().
first) - floor(settings_->houghNbinsPt() / 2)),
43 cBinhelix_(
int(fitTrk->cellLocationFit().
second) - floor(settings_->houghNbinsPhi() / 2)),
44 hitPattern_(fitTrk->hitPattern()),
45 consistent_(fitTrk->consistentHTcell()),
46 consistentSect_(fitTrk->consistentSector()),
49 qOverPt_orig_(fitTrk->qOverPt()),
50 oneOver2r_orig_(fitTrk->qOverPt() * invPtToDPhi_),
51 d0_orig_(fitTrk->
d0()),
52 phi0_orig_(fitTrk->phi0()),
53 tanLambda_orig_(fitTrk->tanLambda()),
54 z0_orig_(fitTrk->
z0()),
55 chisquaredRphi_orig_(fitTrk->chi2rphi()),
56 chisquaredRz_orig_(fitTrk->chi2rz()),
59 qOverPt_bcon_orig_(fitTrk->qOverPt_bcon()),
60 oneOver2r_bcon_orig_(fitTrk->qOverPt_bcon() * invPtToDPhi_),
61 phi0_bcon_orig_(fitTrk->phi0_bcon()),
62 chisquaredRphi_bcon_orig_(fitTrk->chi2rphi_bcon()) {
80 bool tpOK = (
tp !=
nullptr);
100 if (fitterName ==
"SimpleLR4") {
118 if (fitterName ==
"KF4ParamsComb" || fitterName ==
"KF5ParamsComb" || fitterName ==
"KF4ParamsCombHLS") {
251 <<
"DigitalTrack: Track oneOver2r is out of assumed digitization range."
256 throw cms::Exception(
"BadConfig") <<
"DigitalTrack: Track phi0rel is out of assumed digitization range."
261 throw cms::Exception(
"BadConfig") <<
"DigitalTrack: Track z0 is out of assumed digitization range."
265 throw cms::Exception(
"BadConfig") <<
"DigitalTrack: Track d0 is out of assumed digitization range."
270 <<
"DigitalTrack: Track tanLambda is out of assumed digitization range."
276 <<
"DigitalTrack: Track chisquaredRphi is out of assumed digitization range."
281 <<
"DigitalTrack: Track chisquaredRz is out of assumed digitization range."
301 constexpr
float smallTA = 0.01, smallTB = 0.001, smallTC = 0.05, smallTD = 0.002, smallTE = 0.05, smallTF = 0.5,
306 <<
"WARNING: DigitalTrack lost precision: " <<
fitterName_ <<
" accepted=" <<
accepted_ <<
" " << TA <<
" "
307 << TB <<
" " << TC <<
" " << TD <<
" " << TE <<
" " << TF <<
" " << TG;
const TP * matchedTP() const override
double slr_phi0Range() const
double kf_oneOver2rRange() const
unsigned int chisquaredBits_
unsigned int kf_d0Bits() const
constexpr double deltaPhi(double phi1, double phi2)
unsigned int kf_z0Bits() const
unsigned int slr_z0Bits() const
U second(std::pair< T, U > const &p)
unsigned int numPhiSectors_
float chisquaredRphi_bcon_
unsigned int slr_d0Bits() const
unsigned int kf_phi0Bits() const
void loadDigiCfg(const std::string &fitterName)
unsigned int numPhiNonants_
double slr_oneOver2rRange() const
double kf_z0Range() const
unsigned int slr_tanlambdaBits() const
unsigned int nHelixParams_
float chisquaredRphi_orig_
bool accepted(std::vector< std::regex > const &, std::string_view)
unsigned int kf_chisquaredBits() const
double slr_chisquaredRange() const
float phi0() const override
unsigned int oneOver2rBits_
unsigned int slr_chisquaredBits() const
unsigned int iDigi_chisquaredRphi_
void checkAccuracy() const
const Settings * settings_
bool slr_skipTrackDigi() const
unsigned int tanLambdaBits_
bool other_skipTrackDigi() const
float oneOver2r_bcon_orig_
double slr_d0Range() const
unsigned int kf_tanlambdaBits() const
unsigned int kf_oneOver2rBits() const
double slr_z0Range() const
double kf_phi0Range() const
double kf_chisquaredRange() const
void checkInRange() const
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e< void, edm::EventID const &, edm::Timestamp const & > We also list in braces which AR_WATCH_USING_METHOD_ is used for those or
unsigned int slr_phi0Bits() const
unsigned int iDigi_chisquaredRz_
Power< A, B >::type pow(const A &a, const B &b)
float chisquaredRphi_bcon_orig_
int iDigi_oneOver2r_bcon_
unsigned int iDigi_chisquaredRphi_bcon_
double kf_d0Range() const
Abs< T >::type abs(const T &t)
unsigned int slr_oneOver2rBits() const
static constexpr float d0
=== This is the base class for the linearised chi-squared track fit algorithms.
bool kf_skipTrackDigi() const
double slr_tanlambdaRange() const
double kf_tanlambdaRange() const