File indexing completed on 2024-04-06 11:56:42
0001 #ifndef Alignment_MuonAlignmentAlgorithms_DTMuonMillepede_H
0002 #define Alignment_MuonAlignmentAlgorithms_DTMuonMillepede_H
0003
0004
0005
0006
0007
0008
0009
0010 #include "Alignment/MuonAlignmentAlgorithms/interface/DTMuonLocalAlignment.h"
0011 #include "Alignment/MuonAlignmentAlgorithms/interface/ReadPGInfo.h"
0012 #include "TMatrixD.h"
0013 #include "TFile.h"
0014 #include "TTree.h"
0015 #include <string>
0016 #include "TChain.h"
0017 #include <cmath>
0018
0019 class DTMuonMillepede : public DTMuonLocalAlignment {
0020 public:
0021 DTMuonMillepede(std::string, int, float, float, int, int, int, int);
0022
0023 ~DTMuonMillepede();
0024
0025 void calculationMillepede(int);
0026
0027 TMatrixD getCcsMatrix(int, int, int);
0028
0029 TMatrixD getbcsMatrix(int, int, int);
0030
0031 TMatrixD getMatrixFromFile(const TString &Code, int, int, int, int);
0032
0033 TMatrixD getCqcMatrix(int, int, int);
0034
0035 TMatrixD getbqcMatrix(int, int, int);
0036
0037 TMatrixD getCsurveyMatrix(int, int, int);
0038
0039 TMatrixD getbsurveyMatrix(int, int, int);
0040
0041 TMatrixD getLagMatrix(int, int, int);
0042
0043 TMatrixD prepareForLagrange(const TMatrixD &);
0044
0045 void setBranchTree();
0046
0047 private:
0048 ReadPGInfo *myPG;
0049
0050 TFile *f;
0051 TTree *ttreeOutput;
0052
0053 float ptMax, ptMin;
0054
0055 int nPhiHits, nThetaHits;
0056
0057
0058
0059 int whC, stC, srC;
0060 int slC[12], laC[12];
0061 float dx[12], dy[12], dz[12], phix[12], phiy[12], phiz[12];
0062 float cov[60][60];
0063
0064 };
0065
0066 #endif