CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
MuonResiduals5DOFFitter.h
Go to the documentation of this file.
1 #ifndef Alignment_MuonAlignmentAlgorithms_MuonResiduals5DOFFitter_H
2 #define Alignment_MuonAlignmentAlgorithms_MuonResiduals5DOFFitter_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,
32  };
33 
34  enum {
35  kResid = 0,
42  kPz,
43  kPt,
51  };
52 
54  : MuonResidualsFitter(residualsModel, minHits, useResiduals, weightAlignment) {}
56 
57  int type() const override { return MuonResidualsFitter::k5DOF; }
58 
59  int npar() override {
62  return kNPar - 2;
63  else if (residualsModel() == kPowerLawTails)
64  return kNPar;
65  else if (residualsModel() == kROOTVoigt)
66  return kNPar;
67  else
68  assert(false);
69  }
70  int ndata() override { return kNData; }
71 
72  double sumofweights() override;
73  bool fit(Alignable *ali) override;
74  double plot(std::string name, TFileDirectory *dir, Alignable *ali) override;
75 
76  void correctBField() override;
77 
78  TTree *readNtuple(
79  std::string fname, unsigned int wheel, unsigned int station, unsigned int sector, unsigned int preselected = 1);
80 
81 protected:
82  void inform(TMinuit *tMinuit) override;
83 };
84 
85 #endif // Alignment_MuonAlignmentAlgorithms_MuonResiduals5DOFFitter_H
tuple weightAlignment
Definition: align_cfg.py:30
double plot(std::string name, TFileDirectory *dir, Alignable *ali) override
MuonResiduals5DOFFitter(int residualsModel, int minHits, int useResiduals, bool weightAlignment=true)
TTree * readNtuple(std::string fname, unsigned int wheel, unsigned int station, unsigned int sector, unsigned int preselected=1)
assert(be >=bs)
list useResiduals
Definition: align_cfg.py:36
void inform(TMinuit *tMinuit) override
string fname
main script
bool fit(Alignable *ali) override