CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
MuonResiduals6DOFrphiFitter.h
Go to the documentation of this file.
1 #ifndef Alignment_MuonAlignmentAlgorithms_MuonResiduals6DOFrphiFitter_H
2 #define Alignment_MuonAlignmentAlgorithms_MuonResiduals6DOFrphiFitter_H
3 
10 #ifdef STANDALONE_FITTER
11 #include "MuonResidualsFitter.h"
12 #else
15 #endif
16 
17 class TTree;
18 
20 public:
21  enum {
22  kAlignX = 0,
34  };
35 
37 
39  : MuonResidualsFitter(residualsModel, minHits, useResiduals, weightAlignment) {}
40 
41 #ifndef STANDALONE_FITTER
43  int residualsModel, int minHits, int useResiduals, const CSCGeometry *cscGeometry, bool weightAlignment = true)
44  : MuonResidualsFitter(residualsModel, minHits, useResiduals, weightAlignment) {}
45 #endif
46 
48 
49  int type() const override { return MuonResidualsFitter::k6DOFrphi; }
50 
51  int npar() override {
54  return kNPar - 2;
55  else if (residualsModel() == kPowerLawTails)
56  return kNPar;
57  else if (residualsModel() == kROOTVoigt)
58  return kNPar;
59  else
60  assert(false);
61  }
62  int ndata() override { return kNData; }
63 
64  double sumofweights() override;
65  bool fit(Alignable *ali) override;
66  double plot(std::string name, TFileDirectory *dir, Alignable *ali) override;
67 
68  void correctBField() override;
69 
71  unsigned int endcap,
72  unsigned int station,
73  unsigned int ring,
74  unsigned int chamber,
75  unsigned int preselected = 1);
76 
77 protected:
78  void inform(TMinuit *tMinuit) override;
79 
80 private:
81  //const CSCGeometry *m_cscGeometry;
82 };
83 
84 #endif // Alignment_MuonAlignmentAlgorithms_MuonResiduals6DOFrphiFitter_H
tuple weightAlignment
Definition: align_cfg.py:30
MuonResiduals6DOFrphiFitter(int residualsModel, int minHits, int useResiduals, bool weightAlignment=true)
TTree * readNtuple(std::string fname, unsigned int endcap, unsigned int station, unsigned int ring, unsigned int chamber, unsigned int preselected=1)
assert(be >=bs)
void inform(TMinuit *tMinuit) override
double plot(std::string name, TFileDirectory *dir, Alignable *ali) override
bool fit(Alignable *ali) override
list useResiduals
Definition: align_cfg.py:36
MuonResiduals6DOFrphiFitter(int residualsModel, int minHits, int useResiduals, const CSCGeometry *cscGeometry, bool weightAlignment=true)
string fname
main script