CMS 3D CMS Logo

CSCCondSegFit.h
Go to the documentation of this file.
1 #ifndef CSCSegment_CSCCondSegFit_h
2 #define CSCSegment_CSCCondSegFit_h
3 
4 // CSCCondSegFit.h -- segment fit factored out of CSCSegAlgoST - Tim Cox
5 // Last mod: 29.01.2015
6 
7 /* This class extends basic CSCSegFit with the complexities built into
8  * the original entangled CSCSegAlgoST extension of the CSCSegAlgoSK fit.
9  * i.e. the uncertainties on the rechit positions can be adjusted
10  * according to external conditions in various complex ways, according to
11  * the requirements of the CSC segment-building algorithm CSCSegAlgoST.
12  */
13 
15 
17 
18 class CSCCondSegFit : public CSCSegFit {
19 public:
21  : CSCSegFit(csc, hits),
22  worstHit_(0),
23  chi2Norm_(ps.getParameter<double>("NormChi2Cut2D")),
24  condSeed1_(ps.getParameter<double>("SeedSmall")),
25  condSeed2_(ps.getParameter<double>("SeedBig")),
26  covToAnyNumber_(ps.getParameter<bool>("ForceCovariance")),
27  covToAnyNumberAll_(ps.getParameter<bool>("ForceCovarianceAll")),
28  covAnyNumber_(ps.getParameter<double>("Covariance")) {}
29 
30  ~CSCCondSegFit() override {}
31 
32  // The fit - override base class version with this version
33  // which passes in bool flags for up to two extra conditioning passes
34  void fit(bool condpass1 = false, bool condpass2 = false); // fill uslope_, vslope_, intercept_
35 
36  int worstHit(void) { return worstHit_; }
37 
38 private:
39  // Rest can all be private since we don't plan on more derived classes
40 
41  // PRIVATE MEMBER FUNCTIONS
42 
43  // Calculate chi2 - override base class version with this version
44  // which passes in bool flags for up to two extra conditioning passes
45  void setChi2(bool condpass1, bool condpass2); // fill chi2_ & ndof_
47  void correctTheCovX(void);
48 
49  // EXTRA MEMBER VARIABLES
50 
51  int worstHit_; //@@ FKA maxContrIndex
52 
53  // Parameters related to adjustment for numerical robustness
54  std::vector<double> lex_; //@@ FKA e_Cxx; LOCAL ERROR x COMPONENT FOR EACH HIT
55  double chi2Norm_; //@@ FKA chi2Norm_2D_
56 
57  // PSet values that might reasonably be accessed directly
58  // since used ONLY in correctTheCovMatrix:
59  //@@ the comments on following parameters don't help me understand them
63  double covAnyNumber_;
64 };
65 
66 #endif
void fit(void)
Definition: CSCSegFit.cc:13
void correctTheCovX(void)
CSCSetOfHits hits(void) const
Definition: CSCSegFit.h:79
void correctTheCovMatrix(CSCSegFit::SMatrixSym2 &IC)
int worstHit(void)
Definition: CSCCondSegFit.h:36
std::vector< double > lex_
Definition: CSCCondSegFit.h:54
ROOT::Math::SMatrix< double, 2, 2, ROOT::Math::MatRepSym< double, 2 > > SMatrixSym2
Definition: CSCSegFit.h:47
bool covToAnyNumber_
The correction parameters.
Definition: CSCCondSegFit.h:61
~CSCCondSegFit() override
Definition: CSCCondSegFit.h:30
double covAnyNumber_
Allow to use any number for covariance for all RecHits.
Definition: CSCCondSegFit.h:63
bool covToAnyNumberAll_
Allow to use any number for covariance (by hand)
Definition: CSCCondSegFit.h:62
double chi2Norm_
Definition: CSCCondSegFit.h:55
double condSeed2_
Definition: CSCCondSegFit.h:60
Definition: L1Track.h:19
std::vector< const CSCRecHit2D * > CSCSetOfHits
Definition: CSCSegFit.h:34
double condSeed1_
Definition: CSCCondSegFit.h:60
CSCCondSegFit(const edm::ParameterSet &ps, const CSCChamber *csc, const CSCSetOfHits &hits)
Definition: CSCCondSegFit.h:20
void setChi2(void)
Definition: CSCSegFit.cc:236