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 
20 public:
21 
23  CSCSegFit( csc, hits ),
24  worstHit_( 0 ),
25  chi2Norm_ ( ps.getParameter<double>("NormChi2Cut2D") ),
26  condSeed1_ ( ps.getParameter<double>("SeedSmall") ),
27  condSeed2_ ( ps.getParameter<double>("SeedBig") ),
28  covToAnyNumber_ ( ps.getParameter<bool>("ForceCovariance") ),
29  covToAnyNumberAll_ ( ps.getParameter<bool>("ForceCovarianceAll") ),
30  covAnyNumber_ ( ps.getParameter<double>("Covariance") ) {}
31 
32  ~CSCCondSegFit() override {}
33 
34  // The fit - override base class version with this version
35  // which passes in bool flags for up to two extra conditioning passes
36  void fit( bool condpass1 = false, bool condpass2 = false ); // fill uslope_, vslope_, intercept_
37 
38  int worstHit( void ) { return worstHit_; }
39 
40  private:
41 
42  // Rest can all be private since we don't plan on more derived classes
43 
44  // PRIVATE MEMBER FUNCTIONS
45 
46  // Calculate chi2 - override base class version with this version
47  // which passes in bool flags for up to two extra conditioning passes
48  void setChi2( bool condpass1, bool condpass2 ); // fill chi2_ & ndof_
50  void correctTheCovX(void);
51 
52 
53  // EXTRA MEMBER VARIABLES
54 
55  int worstHit_; //@@ FKA maxContrIndex
56 
57  // Parameters related to adjustment for numerical robustness
58  std::vector<double> lex_; //@@ FKA e_Cxx; LOCAL ERROR x COMPONENT FOR EACH HIT
59  double chi2Norm_; //@@ FKA chi2Norm_2D_
60 
61  // PSet values that might reasonably be accessed directly
62  // since used ONLY in correctTheCovMatrix:
63  //@@ the comments on following parameters don't help me understand them
67  double covAnyNumber_;
68 
69 };
70 
71 #endif
72 
void fit(void)
Definition: CSCSegFit.cc:14
void correctTheCovX(void)
CSCSetOfHits hits(void) const
Definition: CSCSegFit.h:82
void correctTheCovMatrix(CSCSegFit::SMatrixSym2 &IC)
int worstHit(void)
Definition: CSCCondSegFit.h:38
std::vector< double > lex_
Definition: CSCCondSegFit.h:58
bool covToAnyNumber_
The correction parameters.
Definition: CSCCondSegFit.h:65
~CSCCondSegFit() override
Definition: CSCCondSegFit.h:32
double covAnyNumber_
Allow to use any number for covariance for all RecHits.
Definition: CSCCondSegFit.h:67
bool covToAnyNumberAll_
Allow to use any number for covariance (by hand)
Definition: CSCCondSegFit.h:66
double chi2Norm_
Definition: CSCCondSegFit.h:59
double condSeed2_
Definition: CSCCondSegFit.h:64
Definition: L1Track.h:19
std::vector< const CSCRecHit2D * > CSCSetOfHits
Definition: CSCSegFit.h:36
double condSeed1_
Definition: CSCCondSegFit.h:64
ROOT::Math::SMatrix< double, 2, 2, ROOT::Math::MatRepSym< double, 2 > > SMatrixSym2
Definition: CSCSegFit.h:49
CSCCondSegFit(const edm::ParameterSet &ps, const CSCChamber *csc, const CSCSetOfHits &hits)
Definition: CSCCondSegFit.h:22
void setChi2(void)
Definition: CSCSegFit.cc:246