File indexing completed on 2025-08-05 08:19:43
0001
0002 #include <mbd/MbdCalib.h>
0003 #include <mbd/MbdGeomV1.h>
0004 #include <mbd/MbdDefs.h>
0005
0006
0007 #if defined(__CLING__)
0008 R__LOAD_LIBRARY(libmbd.so)
0009 #endif
0010
0011
0012 const int NPOINTS = 16000;
0013 const int MINADC = 0;
0014 const int MAXADC = 15999;
0015
0016 void addslew(const char *calfile1 = "results/0/mbd_slewcorr_pass1.calib",
0017 const char *calfile2 = "results/0/mbd_slewcorr_pass2.calib")
0018 {
0019 MbdGeom *mbdgeom = new MbdGeomV1();
0020
0021 MbdCalib *mcal1 = new MbdCalib();
0022 mcal1->Download_SlewCorr( calfile1 );
0023
0024 MbdCalib *mcal2 = new MbdCalib();
0025 mcal2->Download_SlewCorr( calfile2 );
0026
0027
0028
0029
0030
0031 TString scorr_fname = "add_mbd_slewcorr.calib";
0032 cout << scorr_fname << endl;
0033 ofstream scorr_file( scorr_fname );
0034 for (int ifeech=0; ifeech<MbdDefs::MBD_N_FEECH; ifeech++)
0035 {
0036 if ( mbdgeom->get_type(ifeech) == 1 ) continue;
0037 int pmtch = mbdgeom->get_pmt(ifeech);
0038
0039 scorr_file << ifeech << "\t" << NPOINTS << "\t" << MINADC << "\t" << MAXADC << endl;
0040 int step = (MAXADC-MINADC)/(NPOINTS-1);
0041
0042 for (int iadc=MINADC; iadc<=MAXADC; iadc+=step)
0043 {
0044 float dt1 = mcal1->get_scorr(ifeech,iadc);
0045 float dt2 = mcal2->get_scorr(ifeech,iadc);
0046 float slewcorr = dt1 + dt2;
0047 scorr_file << slewcorr << " ";
0048 if ( iadc%10 == 9 ) scorr_file << endl;
0049 }
0050 }
0051 scorr_file.close();
0052
0053 }
0054