CMS 3D CMS Logo

MuonResiduals6DOFFitter.h
Go to the documentation of this file.
1 #ifndef Alignment_MuonAlignmentAlgorithms_MuonResiduals6DOFFitter_H
2 #define Alignment_MuonAlignmentAlgorithms_MuonResiduals6DOFFitter_H
3 
10 #ifdef STANDALONE_FITTER
11 #include "MuonResidualsFitter.h"
12 #else
14 #endif
15 
16 class TTree;
17 
19 public:
20  enum {
21  kAlignX = 0,
38  };
39 
40  enum {
41  kResidX = 0,
50  kPz,
51  kPt,
59  };
60 
62  : MuonResidualsFitter(residualsModel, minHits, useResiduals, weightAlignment) {}
64 
65  int type() const override { return MuonResidualsFitter::k6DOF; }
66 
67  int npar() override {
70  return kNPar - 4;
71  else if (residualsModel() == kPowerLawTails)
72  return kNPar;
73  else if (residualsModel() == kROOTVoigt)
74  return kNPar;
75  else
76  assert(false);
77  }
78  int ndata() override { return kNData; }
79 
80  double sumofweights() override;
81  bool fit(Alignable *ali) override;
82  double plot(std::string name, TFileDirectory *dir, Alignable *ali) override;
83 
84  void correctBField() override;
85 
86  TTree *readNtuple(
87  std::string fname, unsigned int wheel, unsigned int station, unsigned int sector, unsigned int preselected = 1);
88 
89 protected:
90  void inform(TMinuit *tMinuit) override;
91 };
92 
93 #endif // Alignment_MuonAlignmentAlgorithms_MuonResiduals6DOFFitter_H
bool fit(Alignable *ali) override
void inform(TMinuit *tMinuit) override
MuonResiduals6DOFFitter(int residualsModel, int minHits, int useResiduals, bool weightAlignment=true)
double plot(std::string name, TFileDirectory *dir, Alignable *ali) override
tuple weightAlignment
Definition: align_cfg.py:30
TTree * readNtuple(std::string fname, unsigned int wheel, unsigned int station, unsigned int sector, unsigned int preselected=1)
string fname
main script