CMS 3D CMS Logo

MuonResidualsFitter.h
Go to the documentation of this file.
1 #ifndef Alignment_MuonAlignmentAlgorithms_MuonResidualsFitter_H
2 #define Alignment_MuonAlignmentAlgorithms_MuonResidualsFitter_H
3 
12 #ifndef STANDALONE_FITTER
16 #endif
17 
18 #include "TMinuit.h"
19 #include "TH1F.h"
20 #include "TProfile.h"
21 #include "TF1.h"
22 #include "TMath.h"
23 #include "TRandom3.h"
24 #include "TMatrixDSym.h"
25 
26 #include <cstdio>
27 #include <iostream>
28 #include <string>
29 #include <sstream>
30 #include <map>
31 
32 // some mock classes for the case if we want to compile fitters with pure root outside of CMSSW
33 #ifdef STANDALONE_FITTER
34 
35 #include <cassert>
36 
37 class Alignable {
38 public:
39  struct Surface {
40  double width() { return 300.; }
41  double length() { return 300.; }
42  };
43  Surface s;
44  Surface &surface() { return s; }
45 };
46 
47 class TFileDirectory {
48 public:
49  template <typename T, typename A1, typename A2, typename A3, typename A4, typename A5>
50  T *make(const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4, const A5 &a5) const {
51  T *t = new T(a1, a2, a3, a4, a5);
52  return t;
53  }
54  template <typename T, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7>
55  T *make(const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4, const A5 &a5, const A6 &a6, const A7 &a7) const {
56  T *t = new T(a1, a2, a3, a4, a5, a6, a7);
57  return t;
58  }
59  template <typename T, typename A1, typename A2, typename A3, typename A4, typename A5, typename A6, typename A7, typename A8>
60  T *make(const A1 &a1, const A2 &a2, const A3 &a3, const A4 &a4, const A5 &a5, const A6 &a6, const A7 &a7, const A8 &a8)
61  const {
62  T *t = new T(a1, a2, a3, a4, a5, a6, a7, a8);
63  return t;
64  }
65 };
66 
67 #include <exception>
68 namespace cms {
69  class Exception : public std::exception {
70  public:
71  Exception(const std::string &s) : name(s) {}
72  ~Exception() throw() {}
74  template <class T>
75  Exception &operator<<(const T &what) {
76  std::cout << name << " exception: " << what << std::endl;
77  return *this;
78  }
79  };
80 } // namespace cms
81 
82 #endif // STANDALONE_FITTER
83 
85 public:
87 
89 
91 
93  Bool_t is_plus; // for +- endcap
94  Bool_t is_dt; // DT or CSC
95  UChar_t station; // 8bit uint
96  Char_t ring_wheel;
97  UChar_t sector;
98  Float_t res_x;
99  Float_t res_y;
100  Float_t res_slope_x;
101  Float_t res_slope_y;
102  Float_t pos_x;
103  Float_t pos_y;
104  Float_t angle_x;
105  Float_t angle_y;
106  Float_t pz;
107  Float_t pt;
108  Char_t q;
109  Bool_t select;
110  };
111 
113  virtual ~MuonResidualsFitter();
114 
115  virtual int type() const = 0;
116  virtual int npar() = 0;
117  virtual int ndata() = 0;
118 
119  int useRes(int pattern = -1) {
120  if (pattern >= 0)
122  return m_useResiduals;
123  }
124  int residualsModel() const { return m_residualsModel; }
125  long numResiduals() const { return m_residuals.size(); }
126 
127  void fix(int parNum, bool dofix = true);
128  bool fixed(int parNum);
129 
130  int nfixed() { return std::count(m_fixed.begin(), m_fixed.end(), true); }
131 
132  void setPrintLevel(int printLevel) { m_printLevel = printLevel; }
133  void setStrategy(int strategy) { m_strategy = strategy; }
134 
135  void setInitialValue(int parNum, double value) { m_parNum2InitValue[parNum] = value; }
136 
137  // an array of the actual residual and associated baggage (qoverpt, trackangle, trackposition)
138  // arrays passed to fill() are "owned" by MuonResidualsFitter: MuonResidualsFitter will delete them, don't do it yourself!
139  void fill(double *residual);
140 
141  // this block of results is only valid if fit() returns true
142  // also gamma is only valid if the model is kPowerLawTails or kROOTVoigt
143  virtual bool fit(Alignable *ali) = 0;
144 
145  double value(int parNum) {
146  assert(0 <= parNum && parNum < npar());
147  return m_value[parNum];
148  }
149  double errorerror(int parNum) {
150  assert(0 <= parNum && parNum < npar());
151  return m_error[parNum];
152  }
153 
154  // parNum corresponds to the parameter number defined by enums in specific fitters
155  // parIdx is a continuous index in a set of parameters
156  int parNum2parIdx(int parNum) { return m_parNum2parIdx[parNum]; }
157 
158  TMatrixDSym covarianceMatrix() { return m_cov; }
159  double covarianceElement(int parNum1, int parNum2);
160  TMatrixDSym correlationMatrix();
161 
162  double loglikelihood() { return m_loglikelihood; }
163 
164  long numsegments();
165 
166  virtual double sumofweights() = 0;
167 
168  // demonstration plots; return reduced chi**2
169  virtual double plot(std::string name, TFileDirectory *dir, Alignable *ali) = 0;
170 
171  void plotsimple(std::string name, TFileDirectory *dir, int which, double multiplier);
172  void plotweighted(std::string name, TFileDirectory *dir, int which, int whichredchi2, double multiplier);
173 
174 #ifdef STANDALONE_FITTER
175  Alignable m_ali;
176  TFileDirectory m_dir;
177  bool fit() { return fit(&m_ali); }
178  virtual double plot(std::string &name) { return plot(name, &m_dir, &m_ali); }
179  void plotsimple(std::string &name, int which, double multiplier) { plotsimple(name, &m_dir, which, multiplier); }
180  void plotweighted(std::string &name, int which, int whichredchi2, double multiplier) {
181  plotweighted(name, &m_dir, which, whichredchi2, multiplier);
182  }
183 #endif
184 
185  // I/O of temporary files for collect mode
186  void write(FILE *file, int which = 0);
187  void read(FILE *file, int which = 0);
188 
189  // these are for the FCN to access what it needs to
190  std::vector<double *>::const_iterator residuals_begin() const { return m_residuals.begin(); }
191  std::vector<double *>::const_iterator residuals_end() const { return m_residuals.end(); }
192 
193  void computeHistogramRangeAndBinning(int which, int &nbins, double &a, double &b);
194  void histogramChi2GaussianFit(int which, double &fit_mean, double &fit_sigma);
195  void selectPeakResiduals_simple(double nsigma, int nvar, int *vars);
196  void selectPeakResiduals(double nsigma, int nvar, int *vars);
197 
198  // void fiducialCuts(double xMin = -1000, double xMax = 1000, double yMin = -1000, double yMax = 1000, bool fidcut1=true); // "No fiducial cut"
199  // void fiducialCuts(double xMin = -80.0, double xMax = 80.0, double yMin = -80.0, double yMax = 80.0, bool fidcut1=true); // "old" fiducial cut
200  void fiducialCuts(double xMin = -80.0,
201  double xMax = 80.0,
202  double yMin = -80.0,
203  double yMax = 80.0,
204  bool fidcut1 = false); // "new" fiducial cut
205 
206  virtual void correctBField() = 0;
207  virtual void correctBField(int idx_momentum, int idx_q);
208 
209  std::vector<bool> &selectedResidualsFlags() { return m_residuals_ok; }
210 
212 
213 protected:
214  void initialize_table();
215  bool dofit(void (*fcn)(int &, double *, double &, double *, int),
216  std::vector<int> &parNum,
217  std::vector<std::string> &parName,
218  std::vector<double> &start,
219  std::vector<double> &step,
220  std::vector<double> &low,
221  std::vector<double> &high);
222  virtual void inform(TMinuit *tMinuit) = 0;
223 
228  std::vector<bool> m_fixed;
229  std::map<int, double> m_parNum2InitValue;
231 
232  std::vector<double *> m_residuals;
233  std::vector<bool> m_residuals_ok;
234 
235  std::vector<double> m_value;
236  std::vector<double> m_error;
237  TMatrixDSym m_cov;
239 
240  std::map<int, int> m_parNum2parIdx;
241 
242  // center and radii of ellipsoid for peak selection
243  // NOTE: 10 is a hardcoded maximum of ellipsoid variables!!!
244  // but I can't imagine it ever becoming larger
245  double m_center[20];
246  double m_radii[20];
247 };
248 
249 // A ROOT-sponsored hack to get information into the fit function
250 class MuonResidualsFitterFitInfo : public TObject {
251 public:
254 
255 private:
257 #ifdef STANDALONE_FITTER
258  ClassDef(MuonResidualsFitterFitInfo, 1);
259 #endif
260 };
261 #ifdef STANDALONE_FITTER
263 #endif
264 
265 // fit functions (these can't be put in the class; "MuonResidualsFitter_" prefix avoids namespace clashes)
266 double MuonResidualsFitter_integrate_pureGaussian(double low, double high, double center, double sigma);
267 double MuonResidualsFitter_logPureGaussian(double residual, double center, double sigma);
268 Double_t MuonResidualsFitter_pureGaussian_TF1(Double_t *xvec, Double_t *par);
269 double MuonResidualsFitter_logPureGaussian2D(double x, double y, double x0, double y0, double sx, double sy, double r);
271  double toversigma, double gammaoversigma, double max = 1000., double step = 0.001, double power = 4.);
272 double MuonResidualsFitter_logPowerLawTails(double residual, double center, double sigma, double gamma);
273 Double_t MuonResidualsFitter_powerLawTails_TF1(Double_t *xvec, Double_t *par);
274 double MuonResidualsFitter_logROOTVoigt(double residual, double center, double sigma, double gamma);
275 Double_t MuonResidualsFitter_ROOTVoigt_TF1(Double_t *xvec, Double_t *par);
276 double MuonResidualsFitter_logGaussPowerTails(double residual, double center, double sigma);
277 Double_t MuonResidualsFitter_GaussPowerTails_TF1(Double_t *xvec, Double_t *par);
278 void MuonResidualsPositionFitter_FCN(int &npar, double *gin, double &fval, double *par, int iflag);
279 void MuonResidualsAngleFitter_FCN(int &npar, double *gin, double &fval, double *par, int iflag);
280 
281 #endif // Alignment_MuonAlignmentAlgorithms_MuonResidualsFitter_H
MuonResidualsFitter::fiducialCuts
void fiducialCuts(double xMin=-80.0, double xMax=80.0, double yMin=-80.0, double yMax=80.0, bool fidcut1=false)
Definition: MuonResidualsFitter.cc:719
MuonResidualsFitter
Definition: MuonResidualsFitter.h:84
MuonResidualsFitter::correctBField
virtual void correctBField()=0
ApeEstimator_cff.width
width
Definition: ApeEstimator_cff.py:24
MuonResidualsPositionFitter_FCN
void MuonResidualsPositionFitter_FCN(int &npar, double *gin, double &fval, double *par, int iflag)
Definition: MuonResidualsPositionFitter.cc:7
MuonResidualsFitter_pureGaussian_TF1
Double_t MuonResidualsFitter_pureGaussian_TF1(Double_t *xvec, Double_t *par)
Definition: MuonResidualsFitter.cc:38
start
Definition: start.py:1
MessageLogger.h
MuonResidualsFitter::MuonResidualsFitter
MuonResidualsFitter(int residualsModel, int minHits, int useResiduals, bool weightAlignment=true)
Definition: MuonResidualsFitter.cc:151
MuonResidualsFitter::loglikelihood
double loglikelihood()
Definition: MuonResidualsFitter.h:162
MuonResidualsFitter::MuonAlignmentTreeRow::ring_wheel
Char_t ring_wheel
Definition: MuonResidualsFitter.h:96
MuonResidualsFitter::setStrategy
void setStrategy(int strategy)
Definition: MuonResidualsFitter.h:133
MuonResidualsFitter::value
double value(int parNum)
Definition: MuonResidualsFitter.h:145
MuonResidualsFitter::npar
virtual int npar()=0
align_cfg.useResiduals
useResiduals
Definition: align_cfg.py:36
MuonResidualsFitter::k6DOFrphi
Definition: MuonResidualsFitter.h:88
MuonResidualsFitter::m_residuals_ok
std::vector< bool > m_residuals_ok
Definition: MuonResidualsFitter.h:233
step
step
Definition: StallMonitor.cc:94
MuonResidualsFitter::m_useResiduals
int m_useResiduals
Definition: MuonResidualsFitter.h:226
MuonResidualsFitter::errorerror
double errorerror(int parNum)
Definition: MuonResidualsFitter.h:149
MuonResidualsFitter_logROOTVoigt
double MuonResidualsFitter_logROOTVoigt(double residual, double center, double sigma, double gamma)
Definition: MuonResidualsFitter.cc:120
TFileDirectory::make
T * make(const Args &... args) const
make new ROOT object
Definition: TFileDirectory.h:53
MuonResidualsFitter::dofit
bool dofit(void(*fcn)(int &, double *, double &, double *, int), std::vector< int > &parNum, std::vector< std::string > &parName, std::vector< double > &start, std::vector< double > &step, std::vector< double > &low, std::vector< double > &high)
Definition: MuonResidualsFitter.cc:272
Alignable
Definition: Alignable.h:27
gather_cfg.cout
cout
Definition: gather_cfg.py:144
MuonResidualsFitter_integrate_pureGaussian
double MuonResidualsFitter_integrate_pureGaussian(double low, double high, double center, double sigma)
Definition: MuonResidualsFitter.cc:146
MuonResidualsFitter::k1100
Definition: MuonResidualsFitter.h:90
MuonResidualsFitter::m_fixed
std::vector< bool > m_fixed
Definition: MuonResidualsFitter.h:228
MuonResidualsFitter::~MuonResidualsFitter
virtual ~MuonResidualsFitter()
Definition: MuonResidualsFitter.cc:165
MuonResidualsFitter::MuonAlignmentTreeRow::angle_x
Float_t angle_x
Definition: MuonResidualsFitter.h:104
MuonResidualsFitter::covarianceMatrix
TMatrixDSym covarianceMatrix()
Definition: MuonResidualsFitter.h:158
MuonResidualsFitterFitInfo::m_fitter
MuonResidualsFitter * m_fitter
Definition: MuonResidualsFitter.h:256
MuonResidualsFitter::numResiduals
long numResiduals() const
Definition: MuonResidualsFitter.h:125
cms::cuda::assert
assert(be >=bs)
CustomPhysics_cfi.gamma
gamma
Definition: CustomPhysics_cfi.py:17
MuonResidualsFitter::sumofweights
virtual double sumofweights()=0
MuonResidualsFitter::m_printLevel
int m_printLevel
Definition: MuonResidualsFitter.h:230
Surface
Definition: Surface.h:36
MuonResidualsFitter::eraseNotSelectedResiduals
void eraseNotSelectedResiduals()
Definition: MuonResidualsFitter.cc:891
MuonResidualsFitter::kGaussPowerTails
Definition: MuonResidualsFitter.h:86
MuonResidualsFitter::MuonAlignmentTreeRow::q
Char_t q
Definition: MuonResidualsFitter.h:108
MuonResidualsFitter::parNum2parIdx
int parNum2parIdx(int parNum)
Definition: MuonResidualsFitter.h:156
photonAnalyzer_cfi.yMin
yMin
Definition: photonAnalyzer_cfi.py:86
TFileDirectory
Definition: TFileDirectory.h:24
MuonResidualsFitter::MuonAlignmentTreeRow::is_plus
Bool_t is_plus
Definition: MuonResidualsFitter.h:93
fcn
void fcn(int &, double *, double &, double *, int)
Definition: LASBarrelAlgorithm.cc:388
cms::Exception::what
char const * what() const noexcept override
Definition: Exception.cc:103
MuonResidualsFitter::type
virtual int type() const =0
testProducerWithPsetDescEmpty_cfi.a2
a2
Definition: testProducerWithPsetDescEmpty_cfi.py:35
photonAnalyzer_cfi.xMin
xMin
Definition: photonAnalyzer_cfi.py:82
MuonResidualsFitter::MuonAlignmentTreeRow
Definition: MuonResidualsFitter.h:92
MuonResidualsFitter::k1111
Definition: MuonResidualsFitter.h:90
MuonResidualsFitter::plotweighted
void plotweighted(std::string name, TFileDirectory *dir, int which, int whichredchi2, double multiplier)
Definition: MuonResidualsFitter.cc:490
alignCSCRings.s
s
Definition: alignCSCRings.py:92
MuonResidualsFitter::setPrintLevel
void setPrintLevel(int printLevel)
Definition: MuonResidualsFitter.h:132
MuonResidualsFitter::kAngleBfieldFitter
Definition: MuonResidualsFitter.h:88
ClassImp
ClassImp(AliDaqEventHeader)
vars
vars
Definition: DeepTauId.cc:163
MuonResidualsFitterFitInfo
Definition: MuonResidualsFitter.h:250
MuonResidualsFitter::kPowerLawTails
Definition: MuonResidualsFitter.h:86
MuonResidualsFitter_powerLawTails_TF1
Double_t MuonResidualsFitter_powerLawTails_TF1(Double_t *xvec, Double_t *par)
Definition: MuonResidualsFitter.cc:116
MuonResidualsFitter::k0100
Definition: MuonResidualsFitter.h:90
cms::Exception::Exception
Exception(std::string const &aCategory)
Definition: Exception.cc:6
MuonResidualsFitter::selectPeakResiduals_simple
void selectPeakResiduals_simple(double nsigma, int nvar, int *vars)
Definition: MuonResidualsFitter.cc:620
LaserClient_cfi.nbins
nbins
Definition: LaserClient_cfi.py:51
MuonResidualsFitter::MuonAlignmentTreeRow::pt
Float_t pt
Definition: MuonResidualsFitter.h:107
submitPVResolutionJobs.count
count
Definition: submitPVResolutionJobs.py:352
MuonResidualsFitterFitInfo::MuonResidualsFitterFitInfo
MuonResidualsFitterFitInfo(MuonResidualsFitter *fitter)
Definition: MuonResidualsFitter.h:252
MuonResidualsFitter::m_residualsModel
int m_residualsModel
Definition: MuonResidualsFitter.h:224
Alignable::surface
const AlignableSurface & surface() const
Return the Surface (global position and orientation) of the object.
Definition: Alignable.h:132
MuonResidualsFitter::useRes
int useRes(int pattern=-1)
Definition: MuonResidualsFitter.h:119
multiplicitycorr_cfi.yMax
yMax
Definition: multiplicitycorr_cfi.py:6
b
double b
Definition: hdecay.h:118
MuonResidualsFitter::ndata
virtual int ndata()=0
MuonResidualsFitter::write
void write(FILE *file, int which=0)
Definition: MuonResidualsFitter.cc:383
MuonResidualsFitter::MuonAlignmentTreeRow::res_slope_y
Float_t res_slope_y
Definition: MuonResidualsFitter.h:101
MuonResidualsFitter::plot
virtual double plot(std::string name, TFileDirectory *dir, Alignable *ali)=0
MuonResidualsFitter::MuonAlignmentTreeRow::res_x
Float_t res_x
Definition: MuonResidualsFitter.h:98
MuonResidualsFitter::k1010
Definition: MuonResidualsFitter.h:90
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
MuonResidualsFitter::covarianceElement
double covarianceElement(int parNum1, int parNum2)
Definition: MuonResidualsFitter.cc:191
TFileService.h
MuonResidualsFitter::k1DOF
Definition: MuonResidualsFitter.h:88
MuonResidualsFitter::selectedResidualsFlags
std::vector< bool > & selectedResidualsFlags()
Definition: MuonResidualsFitter.h:209
cppFunctionSkipper.exception
exception
Definition: cppFunctionSkipper.py:10
MuonResidualsFitter::k6DOF
Definition: MuonResidualsFitter.h:88
MuonResidualsFitter::m_parNum2InitValue
std::map< int, double > m_parNum2InitValue
Definition: MuonResidualsFitter.h:229
MuonResidualsAngleFitter_FCN
void MuonResidualsAngleFitter_FCN(int &npar, double *gin, double &fval, double *par, int iflag)
Definition: MuonResidualsAngleFitter.cc:7
MuonResidualsFitter_ROOTVoigt_TF1
Double_t MuonResidualsFitter_ROOTVoigt_TF1(Double_t *xvec, Double_t *par)
Definition: MuonResidualsFitter.cc:124
MuonResidualsFitter::kPureGaussian
Definition: MuonResidualsFitter.h:86
a
double a
Definition: hdecay.h:119
MuonResidualsFitter::plotsimple
void plotsimple(std::string name, TFileDirectory *dir, int which, double multiplier)
Definition: MuonResidualsFitter.cc:474
MuonResidualsFitter::k1110
Definition: MuonResidualsFitter.h:90
MuonResidualsFitter::k1000
Definition: MuonResidualsFitter.h:90
SiStripPI::max
Definition: SiStripPayloadInspectorHelper.h:169
MuonResidualsFitter::m_residuals
std::vector< double * > m_residuals
Definition: MuonResidualsFitter.h:232
Exception
MuonResidualsFitter::residuals_end
std::vector< double * >::const_iterator residuals_end() const
Definition: MuonResidualsFitter.h:191
MuonResidualsFitter::MuonAlignmentTreeRow::pos_y
Float_t pos_y
Definition: MuonResidualsFitter.h:103
MuonResidualsFitter::kPositionFitter
Definition: MuonResidualsFitter.h:88
MuonResidualsFitter::m_error
std::vector< double > m_error
Definition: MuonResidualsFitter.h:236
FrontierConditions_GlobalTag_cff.file
file
Definition: FrontierConditions_GlobalTag_cff.py:13
MuonResidualsFitter::MuonAlignmentTreeRow::pos_x
Float_t pos_x
Definition: MuonResidualsFitter.h:102
value
Definition: value.py:1
fftjetcommon_cfi.sy
sy
Definition: fftjetcommon_cfi.py:203
topSingleLeptonDQM_PU_cfi.pattern
pattern
Definition: topSingleLeptonDQM_PU_cfi.py:39
MuonResidualsFitter::computeHistogramRangeAndBinning
void computeHistogramRangeAndBinning(int which, int &nbins, double &a, double &b)
Definition: MuonResidualsFitter.cc:510
MuonResidualsFitter::m_minHits
int m_minHits
Definition: MuonResidualsFitter.h:225
MuonResidualsFitter_logPowerLawTails
double MuonResidualsFitter_logPowerLawTails(double residual, double center, double sigma, double gamma)
Definition: MuonResidualsFitter.cc:85
MuonResidualsFitter::MuonAlignmentTreeRow::pz
Float_t pz
Definition: MuonResidualsFitter.h:106
MuonResidualsFitter::m_strategy
int m_strategy
Definition: MuonResidualsFitter.h:230
MuonResidualsFitter::MuonAlignmentTreeRow::station
UChar_t station
Definition: MuonResidualsFitter.h:95
MuonResidualsFitter::m_parNum2parIdx
std::map< int, int > m_parNum2parIdx
Definition: MuonResidualsFitter.h:240
MuonResidualsFitter::fill
void fill(double *residual)
Definition: MuonResidualsFitter.cc:186
MuonResidualsFitter::setInitialValue
void setInitialValue(int parNum, double value)
Definition: MuonResidualsFitter.h:135
MuonResidualsFitter::histogramChi2GaussianFit
void histogramChi2GaussianFit(int which, double &fit_mean, double &fit_sigma)
Definition: MuonResidualsFitter.cc:546
MuonResidualsFitter_logPureGaussian2D
double MuonResidualsFitter_logPureGaussian2D(double x, double y, double x0, double y0, double sx, double sy, double r)
Definition: MuonResidualsFitter.cc:43
MuonResidualsFitter::kROOTVoigt
Definition: MuonResidualsFitter.h:86
MuonResidualsFitter::k5DOF
Definition: MuonResidualsFitter.h:88
MuonResidualsFitter::MuonAlignmentTreeRow::sector
UChar_t sector
Definition: MuonResidualsFitter.h:97
MuonResidualsFitter::MuonAlignmentTreeRow::angle_y
Float_t angle_y
Definition: MuonResidualsFitter.h:105
cms::Exception::operator<<
friend detail::Desired< E, detail::is_derived_or_same< Exception, std::remove_reference_t< E > >::value >::type & operator<<(E &&e, T const &stuff)
Definition: Exception.h:202
alignCSCRings.r
r
Definition: alignCSCRings.py:93
MuonResidualsFitter::m_loglikelihood
double m_loglikelihood
Definition: MuonResidualsFitter.h:238
MuonResidualsFitter::MuonAlignmentTreeRow::res_y
Float_t res_y
Definition: MuonResidualsFitter.h:99
MuonResidualsFitter::correlationMatrix
TMatrixDSym correlationMatrix()
MuonResidualsFitter::m_value
std::vector< double > m_value
Definition: MuonResidualsFitter.h:235
MuonResidualsFitter::MuonAlignmentTreeRow::res_slope_x
Float_t res_slope_x
Definition: MuonResidualsFitter.h:100
MuonResidualsFitter::m_weightAlignment
bool m_weightAlignment
Definition: MuonResidualsFitter.h:227
MuonResidualsFitter::MuonAlignmentTreeRow::select
Bool_t select
Definition: MuonResidualsFitter.h:109
LaserClient_cfi.high
high
Definition: LaserClient_cfi.py:50
MuonResidualsFitter::nfixed
int nfixed()
Definition: MuonResidualsFitter.h:130
MuonResidualsFitterFitInfo::fitter
MuonResidualsFitter * fitter()
Definition: MuonResidualsFitter.h:253
T
long double T
Definition: Basic3DVectorLD.h:48
MuonResidualsFitter::k0010
Definition: MuonResidualsFitter.h:90
align_cfg.weightAlignment
tuple weightAlignment
Definition: align_cfg.py:30
genVertex_cff.x
x
Definition: genVertex_cff.py:12
detailsBasic3DVector::y
float float y
Definition: extBasic3DVector.h:14
Alignable.h
MuonResidualsFitter::fix
void fix(int parNum, bool dofix=true)
Definition: MuonResidualsFitter.cc:171
MuonResidualsFitter::selectPeakResiduals
void selectPeakResiduals(double nsigma, int nvar, int *vars)
Definition: MuonResidualsFitter.cc:579
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
multiplicitycorr_cfi.xMax
xMax
Definition: multiplicitycorr_cfi.py:5
MuonResidualsFitter::read
void read(FILE *file, int which=0)
Definition: MuonResidualsFitter.cc:418
MuonResidualsFitter::fit
virtual bool fit(Alignable *ali)=0
MuonResidualsFitter_logGaussPowerTails
double MuonResidualsFitter_logGaussPowerTails(double residual, double center, double sigma)
Definition: MuonResidualsFitter.cc:128
MuonResidualsFitter::initialize_table
void initialize_table()
Definition: MuonResidualsFitter.cc:205
MuonResidualsFitter::m_center
double m_center[20]
Definition: MuonResidualsFitter.h:245
MuonResidualsFitter_GaussPowerTails_TF1
Double_t MuonResidualsFitter_GaussPowerTails_TF1(Double_t *xvec, Double_t *par)
Definition: MuonResidualsFitter.cc:142
ALCARECOPromptCalibProdSiPixelAli0T_cff.throw
throw
Definition: ALCARECOPromptCalibProdSiPixelAli0T_cff.py:9
cms::Exception::~Exception
~Exception() noexcept override
Definition: Exception.cc:86
MuonResidualsFitter::kPureGaussian2D
Definition: MuonResidualsFitter.h:86
MuonResidualsFitter::m_cov
TMatrixDSym m_cov
Definition: MuonResidualsFitter.h:237
MuonResidualsFitter::MuonAlignmentTreeRow::is_dt
Bool_t is_dt
Definition: MuonResidualsFitter.h:94
MuonResidualsFitter::residualsModel
int residualsModel() const
Definition: MuonResidualsFitter.h:124
MuonResidualsFitter::m_radii
double m_radii[20]
Definition: MuonResidualsFitter.h:246
MuonResidualsFitter::fixed
bool fixed(int parNum)
Definition: MuonResidualsFitter.cc:178
submitPVValidationJobs.t
string t
Definition: submitPVValidationJobs.py:644
MuonResidualsFitter::numsegments
long numsegments()
Definition: MuonResidualsFitter.cc:198
eostools.which
def which(cmd)
Definition: eostools.py:336
MuonResidualsFitter::residuals_begin
std::vector< double * >::const_iterator residuals_begin() const
Definition: MuonResidualsFitter.h:190
LaserClient_cfi.low
low
Definition: LaserClient_cfi.py:52
reco_skim_cfg_mod.minHits
minHits
Definition: reco_skim_cfg_mod.py:177
MuonResidualsFitter_compute_log_convolution
double MuonResidualsFitter_compute_log_convolution(double toversigma, double gammaoversigma, double max=1000., double step=0.001, double power=4.)
Definition: MuonResidualsFitter.cc:54
MuonResidualsFitter::kAngleFitter
Definition: MuonResidualsFitter.h:88
DeadROC_duringRun.dir
dir
Definition: DeadROC_duringRun.py:23
cms
Namespace of DDCMS conversion namespace.
Definition: ProducerAnalyzer.cc:21
MuonResidualsFitter_logPureGaussian
double MuonResidualsFitter_logPureGaussian(double residual, double center, double sigma)
Definition: MuonResidualsFitter.cc:31
MuonResidualsFitter::inform
virtual void inform(TMinuit *tMinuit)=0
fftjetcommon_cfi.sx
sx
Definition: fftjetcommon_cfi.py:202