CMS 3D CMS Logo

MuonResiduals1DOFFitter.h
Go to the documentation of this file.
1 #ifndef Alignment_MuonAlignmentAlgorithms_MuonResiduals1DOFFitter_H
2 #define Alignment_MuonAlignmentAlgorithms_MuonResiduals1DOFFitter_H
3 
11 
13 public:
14  enum { kAlign = 0, kSigma, kGamma, kNPar };
15 
16  enum { kResid = 0, kRedChi2, kNData };
17 
19  : MuonResidualsFitter(residualsModel, minHits, useResiduals, weightAlignment) {}
20 
21  int type() const override { return MuonResidualsFitter::k1DOF; }
22 
23  int npar() override {
25  return kNPar - 1;
26  else if (residualsModel() == kPowerLawTails)
27  return kNPar;
28  else if (residualsModel() == kROOTVoigt)
29  return kNPar;
30  else
31  assert(false);
32  }
33  int ndata() override { return kNData; }
34 
35  double sumofweights() override;
36  bool fit(Alignable *ali) override;
37  double plot(std::string name, TFileDirectory *dir, Alignable *ali) override;
38 
39 protected:
40  void inform(TMinuit *tMinuit) override;
41 };
42 
43 #endif // Alignment_MuonAlignmentAlgorithms_MuonResiduals1DOFFitter_H
bool fit(Alignable *ali) override
tuple weightAlignment
Definition: align_cfg.py:30
double plot(std::string name, TFileDirectory *dir, Alignable *ali) override
MuonResiduals1DOFFitter(int residualsModel, int minHits, int useResiduals, bool weightAlignment=true)
void inform(TMinuit *tMinuit) override