![]() |
|
|||
File indexing completed on 2023-03-17 11:19:07
0001 #ifndef CSCSegment_CSCCondSegFit_h 0002 #define CSCSegment_CSCCondSegFit_h 0003 0004 // CSCCondSegFit.h -- segment fit factored out of CSCSegAlgoST - Tim Cox 0005 // Last mod: 29.01.2015 0006 0007 /* This class extends basic CSCSegFit with the complexities built into 0008 * the original entangled CSCSegAlgoST extension of the CSCSegAlgoSK fit. 0009 * i.e. the uncertainties on the rechit positions can be adjusted 0010 * according to external conditions in various complex ways, according to 0011 * the requirements of the CSC segment-building algorithm CSCSegAlgoST. 0012 */ 0013 0014 #include <RecoLocalMuon/CSCSegment/src/CSCSegFit.h> 0015 0016 #include <FWCore/ParameterSet/interface/ParameterSet.h> 0017 0018 class CSCCondSegFit : public CSCSegFit { 0019 public: 0020 CSCCondSegFit(const edm::ParameterSet& ps, const CSCChamber* csc, const CSCSetOfHits& hits) 0021 : CSCSegFit(csc, hits), 0022 worstHit_(0), 0023 chi2Norm_(ps.getParameter<double>("NormChi2Cut2D")), 0024 condSeed1_(ps.getParameter<double>("SeedSmall")), 0025 condSeed2_(ps.getParameter<double>("SeedBig")), 0026 covToAnyNumber_(ps.getParameter<bool>("ForceCovariance")), 0027 covToAnyNumberAll_(ps.getParameter<bool>("ForceCovarianceAll")), 0028 covAnyNumber_(ps.getParameter<double>("Covariance")) {} 0029 0030 ~CSCCondSegFit() override {} 0031 0032 // The fit - override base class version with this version 0033 // which passes in bool flags for up to two extra conditioning passes 0034 void fit(bool condpass1 = false, bool condpass2 = false); // fill uslope_, vslope_, intercept_ 0035 0036 int worstHit(void) { return worstHit_; } 0037 0038 private: 0039 // Rest can all be private since we don't plan on more derived classes 0040 0041 // PRIVATE MEMBER FUNCTIONS 0042 0043 // Calculate chi2 - override base class version with this version 0044 // which passes in bool flags for up to two extra conditioning passes 0045 void setChi2(bool condpass1, bool condpass2); // fill chi2_ & ndof_ 0046 void correctTheCovMatrix(CSCSegFit::SMatrixSym2& IC); 0047 void correctTheCovX(void); 0048 0049 // EXTRA MEMBER VARIABLES 0050 0051 int worstHit_; //@@ FKA maxContrIndex 0052 0053 // Parameters related to adjustment for numerical robustness 0054 std::vector<double> lex_; //@@ FKA e_Cxx; LOCAL ERROR x COMPONENT FOR EACH HIT 0055 double chi2Norm_; //@@ FKA chi2Norm_2D_ 0056 0057 // PSet values that might reasonably be accessed directly 0058 // since used ONLY in correctTheCovMatrix: 0059 //@@ the comments on following parameters don't help me understand them 0060 double condSeed1_, condSeed2_; /// The correction parameters 0061 bool covToAnyNumber_; /// Allow to use any number for covariance (by hand) 0062 bool covToAnyNumberAll_; /// Allow to use any number for covariance for all RecHits 0063 double covAnyNumber_; /// The number to force the Covariance 0064 }; 0065 0066 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.2.1 LXR engine. The LXR team |
![]() ![]() |