Go to the documentation of this file.00001 #ifndef Alignment_MuonAlignmentAlgorithms_DTMuonMillepede_H
00002 #define Alignment_MuonAlignmentAlgorithms_DTMuonMillepede_H
00003
00010 #include "Alignment/MuonAlignmentAlgorithms/interface/DTMuonLocalAlignment.h"
00011 #include "Alignment/MuonAlignmentAlgorithms/interface/ReadPGInfo.h"
00012 #include "TMatrixD.h"
00013 #include "TFile.h"
00014 #include "TTree.h"
00015 #include <string>
00016 #include "TChain.h"
00017 #include "math.h"
00018
00019
00020 class DTMuonMillepede : public DTMuonLocalAlignment {
00021
00022 public:
00023
00024 DTMuonMillepede(std::string, int, float, float, int, int, int, int);
00025
00026 ~DTMuonMillepede();
00027
00028 void calculationMillepede(int);
00029
00030 TMatrixD getCcsMatrix(int, int, int);
00031
00032 TMatrixD getbcsMatrix(int, int, int);
00033
00034 TMatrixD getMatrixFromFile(TString Code, int , int, int, int);
00035
00036 TMatrixD getCqcMatrix(int, int, int);
00037
00038 TMatrixD getbqcMatrix(int, int, int);
00039
00040 TMatrixD getCsurveyMatrix(int, int, int);
00041
00042 TMatrixD getbsurveyMatrix(int, int, int);
00043
00044 TMatrixD getLagMatrix(int, int, int);
00045
00046 TMatrixD prepareForLagrange(TMatrixD );
00047
00048 void setBranchTree();
00049
00050 private:
00051
00052 ReadPGInfo *myPG;
00053
00054 TFile *f;
00055 TTree *ttreeOutput;
00056
00057 float ptMax, ptMin;
00058
00059 int nPhiHits, nThetaHits;
00060
00061
00062
00063 int whC, stC, srC;
00064 int slC[12], laC[12];
00065 float dx[12], dy[12], dz[12], phix[12], phiy[12], phiz[12];
00066 float cov[60][60];
00067
00068
00069 };
00070
00071 #endif