776 TDirectory * dirSave = gDirectory;
793 TMatrixD *
empty =
new TMatrixD(0,0);
794 char *
id =
getId(wheel, station, sector);
795 if(
id ==
nullptr)
return *
empty;
796 TDirectoryFile *myDir = (TDirectoryFile *)
rootFile->Get(
id);
797 TDirectoryFile *myR = (TDirectoryFile *)myDir->Get(
"R");
798 TMatrixD *
R = (TMatrixD *)myR->Get(
"matrix");
804 TMatrixD *mat =
new TMatrixD(0,0);
805 TMatrixD qc =
giveQC(wheel, station, sector);
806 if(qc.GetNrows() == 0)
return *mat;
809 if(station == 4) maxCount = 8;
812 if(qc(
c,1) == 0 || qc(
c,3) == 0) {
813 (*mat)(
c,0) = (qc(c,0)+qc(c,2)) /2.0;
816 error = 1.0/(1.0/(qc(
c,1)*qc(
c,1))+1.0/(qc(
c,3)*qc(
c,3)));
817 (*mat)(
c, 0) = (qc(c,0)/(qc(c,1)*qc(c,1))+qc(c,2)/(qc(c,3)*qc(c,3)))*
error;
818 (*mat)(
c, 1) = TMath::Sqrt(error);
825 TMatrixD *
empty =
new TMatrixD(0,0);
826 char *
id =
getId(wheel, station, sector);
827 if(
id ==
nullptr)
return *
empty;
828 TDirectoryFile *myDir = (TDirectoryFile *)
rootFile->Get(
id);
829 TDirectoryFile *myQC = (TDirectoryFile *)myDir->Get(
"QCW");
831 if(myQC ==
nullptr) {
832 QC =
new TMatrixD(0,0);
834 QC = (TMatrixD *)myQC->Get(
"matrix");
841 TMatrixD *
empty =
new TMatrixD(0,0);
842 char *
id =
getId(wheel, station, sector);
843 if(
id ==
nullptr)
return *
empty;
844 TDirectoryFile *myDir = (TDirectoryFile *)
rootFile->Get(
id);
845 TDirectoryFile *mySur = (TDirectoryFile *)myDir->Get(
"Survey");
846 TMatrixD *Survey = (TMatrixD *)mySur->Get(
"matrix_layer");
TMatrixD giveQCCal(int, int, int)
char * getId(int, int, int)
TMatrixD giveQC(int, int, int)
ReadPGInfo(const char *name)
TMatrixD giveSurvey(int, int, int)
static std::atomic< unsigned int > counter
static int position[264][3]
static char chambers[264][20]
TMatrixD giveR(int, int, int)