CMS 3D CMS Logo

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 {
20 public:
21  enum {
22  kAlignX = 0,
33  };
34 
35  enum {
36  kResid = 0,
43  kPz,
44  kPt,
52  };
53 
54  MuonResiduals5DOFFitter(int residualsModel, int minHits, int useResiduals, bool weightAlignment=true): MuonResidualsFitter(residualsModel, minHits, useResiduals, weightAlignment) {}
56 
57  int type() const override { return MuonResidualsFitter::k5DOF; }
58 
59  int npar() override {
61  else if (residualsModel() == kPowerLawTails) return kNPar;
62  else if (residualsModel() == kROOTVoigt) return kNPar;
63  else assert(false);
64  }
65  int ndata() override { return kNData; }
66 
67  double sumofweights() override;
68  bool fit(Alignable *ali) override;
69  double plot(std::string name, TFileDirectory *dir, Alignable *ali) override;
70 
71  void correctBField() override;
72 
73  TTree * readNtuple(std::string fname, unsigned int wheel, unsigned int station, unsigned int sector, unsigned int preselected = 1);
74 
75 protected:
76  void inform(TMinuit *tMinuit) override;
77 };
78 
79 #endif // Alignment_MuonAlignmentAlgorithms_MuonResiduals5DOFFitter_H
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)
tuple weightAlignment
Definition: align_cfg.py:30
void inform(TMinuit *tMinuit) override
string fname
main script
dbl *** dir
Definition: mlp_gen.cc:35
bool fit(Alignable *ali) override