modified: QQQ_Calcheck.C

modified:   TrackRecon.C
	new file:   qqq_Calib.dat
	new file:   qqq_GainMatch.dat
	renamed:    slope_intercept_cathode.txt -> slope_intercept_cathode.dat
	renamed:    slope_intercept_results.txt -> slope_intercept_results.dat
	renamed:    slope_intercept_results_anode.txt -> slope_intercept_results_anode.dat
This commit is contained in:
Vignesh Sitaraman 2026-01-28 14:27:42 -05:00
parent ac035370b4
commit 67199cdb60
7 changed files with 1585 additions and 51 deletions

View File

@ -39,7 +39,7 @@ void QQQ_Calcheck::Begin(TTree * /*tree*/)
plotter = new HistPlotter("Cal_checkQQQ.root", "TFILE"); plotter = new HistPlotter("Cal_checkQQQ.root", "TFILE");
// ----------------------- Load QQQ Gains // ----------------------- Load QQQ Gains
{ {
std::string filename = "qqq_GainMatch.txt"; std::string filename = "qqq_GainMatch.dat";
std::ifstream infile(filename); std::ifstream infile(filename);
if (!infile.is_open()) if (!infile.is_open())
{ {
@ -62,7 +62,7 @@ void QQQ_Calcheck::Begin(TTree * /*tree*/)
} }
// ----------------------- Load QQQ Calibrations // ----------------------- Load QQQ Calibrations
{ {
std::string filename = "qqq_Calib.txt"; std::string filename = "qqq_Calib.dat";
std::ifstream infile(filename); std::ifstream infile(filename);
if (!infile.is_open()) if (!infile.is_open())
{ {

View File

@ -138,7 +138,7 @@ void TrackRecon::Begin(TTree * /*tree*/)
// ... (Load QQQ Gains and Calibs - same as before) ... // ... (Load QQQ Gains and Calibs - same as before) ...
{ {
std::string filename = "qqq_GainMatch.txt"; std::string filename = "qqq_GainMatch.dat";
std::ifstream infile(filename); std::ifstream infile(filename);
if (infile.is_open()) if (infile.is_open())
{ {
@ -154,7 +154,7 @@ void TrackRecon::Begin(TTree * /*tree*/)
} }
} }
{ {
std::string filename = "qqq_Calib.txt"; std::string filename = "qqq_Calib.dat";
std::ifstream infile(filename); std::ifstream infile(filename);
if (infile.is_open()) if (infile.is_open())
{ {
@ -233,12 +233,12 @@ Bool_t TrackRecon::Process(Long64_t entry)
{ {
if (pc.index[k] < 24 && pc.e[k] > 50) if (pc.index[k] < 24 && pc.e[k] > 50)
{ {
plotter->Fill2D("QQQ_Vs_PC_Energy", 400, 0, 4000, 1000, 0, 16000, qqq.e[i], pc.e[k]); plotter->Fill2D("QQQ_Vs_Anode_Energy", 400, 0, 4000, 1000, 0, 16000, qqq.e[i], pc.e[k], "hRawQQQ");
plotter->Fill2D("QQQ_Index_Vs_PC_Index", 16 * 8, 0, 16 * 8, 24, 0, 24, qqq.index[i], pc.index[k]); plotter->Fill2D("QQQ_Vs_PC_Index", 16 * 8, 0, 16 * 8, 24, 0, 24, qqq.index[i], pc.index[k], "hRawQQQ");
} }
else if (pc.index[k] >= 24 && pc.e[k] > 50) else if (pc.index[k] >= 24 && pc.e[k] > 50)
{ {
plotter->Fill2D("QQQ_Vs_PC_Energy_Cathode", 400, 0, 4000, 1000, 0, 16000, qqq.e[i], pc.e[k]); plotter->Fill2D("QQQ_Vs_Cathode_Energy", 400, 0, 4000, 1000, 0, 16000, qqq.e[i], pc.e[k], "hRawQQQ");
} }
} }
@ -278,7 +278,7 @@ Bool_t TrackRecon::Process(Long64_t entry)
else else
continue; continue;
plotter->Fill1D("Wedgetime_Vs_Ringtime", 100, -1000, 1000, tWedge - tRing, "hCalQQQ"); plotter->Fill1D("Wedgetime_Vs_Ringtime", 100, -1000, 1000, tWedge - tRing, "hTiming");
plotter->Fill2D("RingE_vs_Index", 16 * 4, 0, 16 * 4, 1000, 0, 16000, chRing + qqq.id[i] * 16, eRing, "hRawQQQ"); plotter->Fill2D("RingE_vs_Index", 16 * 4, 0, 16 * 4, 1000, 0, 16000, chRing + qqq.id[i] * 16, eRing, "hRawQQQ");
plotter->Fill2D("WedgeE_vs_Index", 16 * 4, 0, 16 * 4, 1000, 0, 16000, chWedge + qqq.id[i] * 16, eWedge, "hRawQQQ"); plotter->Fill2D("WedgeE_vs_Index", 16 * 4, 0, 16 * 4, 1000, 0, 16000, chWedge + qqq.id[i] * 16, eWedge, "hRawQQQ");
@ -315,20 +315,20 @@ Bool_t TrackRecon::Process(Long64_t entry)
// // plotter->Fill2D("QQQ_CalibW_Vs_PC_Energy_OffTime", 1000, 0, 16, 2000, 0, 30000, eWedgeMeV, pc.e[k], "hCalQQQ"); // // plotter->Fill2D("QQQ_CalibW_Vs_PC_Energy_OffTime", 1000, 0, 16, 2000, 0, 30000, eWedgeMeV, pc.e[k], "hCalQQQ");
// // plotter->Fill2D("QQQ_CalibR_Vs_PC_Energy_OffTime", 1000, 0, 16, 2000, 0, 30000, eRingMeV, pc.e[k], "hCalQQQ"); // // plotter->Fill2D("QQQ_CalibR_Vs_PC_Energy_OffTime", 1000, 0, 16, 2000, 0, 30000, eRingMeV, pc.e[k], "hCalQQQ");
// // } // // }
plotter->Fill2D("Timing_Difference_QQQ_PC", 500, -1000, 1000, 16, 0, 16, tRing - static_cast<double>(pc.t[k]), chRing, "hCalQQQ"); plotter->Fill2D("Timing_Difference_QQQ_PC", 500, -1000, 1000, 16, 0, 16, tRing - static_cast<double>(pc.t[k]), chRing, "hTiming");
plotter->Fill2D("DelT_Vs_QQQRingECal", 500, -1000, 1000, 1000, 0, 10, tRing - static_cast<double>(pc.t[k]), eRingMeV, "hCalQQQ"); plotter->Fill2D("DelT_Vs_QQQRingECal", 500, -1000, 1000, 1000, 0, 10, tRing - static_cast<double>(pc.t[k]), eRingMeV, "hTiming");
plotter->Fill2D("CalibratedQQQEvsPCE", 1000, 0, 10, 2000, 0, 30000, eRingMeV, pc.e[k], "hGMPC"); plotter->Fill2D("CalibratedQQQEvsPCE_R", 1000, 0, 10, 2000, 0, 30000, eRingMeV, pc.e[k], "hPCQQQ");
plotter->Fill2D("CalibratedQQQEvsPCE", 1000, 0, 10, 2000, 0, 30000, eWedgeMeV, pc.e[k], "hGMPC"); plotter->Fill2D("CalibratedQQQEvsPCE_W", 1000, 0, 10, 2000, 0, 30000, eWedgeMeV, pc.e[k], "hPCQQQ");
if (tRing - static_cast<double>(pc.t[k]) < -150 && tRing - static_cast<double>(pc.t[k]) > -450) // 27Al // if (tRing - static_cast<double>(pc.t[k]) < -150 && tRing - static_cast<double>(pc.t[k]) > -450) // 27Al
// if (tRing - static_cast<double>(pc.t[k]) < -70 && tRing - static_cast<double>(pc.t[k]) > -150) // 17F if (tRing - static_cast<double>(pc.t[k]) < -70 && tRing - static_cast<double>(pc.t[k]) > -150) // 17F
{ {
PCQQQTimeCut = true; PCQQQTimeCut = true;
} }
} }
if (pc.index[k] >= 24 && pc.e[k] > 50) if (pc.index[k] >= 24 && pc.e[k] > 50)
{ {
plotter->Fill2D("Timing_Difference_QQQ_PC_Cathode", 500, -1000, 1000, 16, 0, 16, tRing - static_cast<double>(pc.t[k]), chRing, "hCalQQQ"); plotter->Fill2D("Timing_Difference_QQQ_PC_Cathode", 500, -1000, 1000, 16, 0, 16, tRing - static_cast<double>(pc.t[k]), chRing, "hTiming");
} }
} }
@ -340,9 +340,9 @@ Bool_t TrackRecon::Process(Long64_t entry)
plotter->Fill2D("QQQCartesianPlot" + std::to_string(qqq.id[i]), 200, -100, 100, 200, -100, 100, rho * TMath::Cos(theta), rho * TMath::Sin(theta), "hCalQQQ"); plotter->Fill2D("QQQCartesianPlot" + std::to_string(qqq.id[i]), 200, -100, 100, 200, -100, 100, rho * TMath::Cos(theta), rho * TMath::Sin(theta), "hCalQQQ");
if (PCQQQTimeCut) if (PCQQQTimeCut)
{ {
plotter->Fill2D("PC_XY_Projection_QQQ_TimeCut" + std::to_string(qqq.id[i]), 400, -100, 100, 400, -100, 100, rho * TMath::Cos(theta), rho * TMath::Sin(theta)); plotter->Fill2D("PC_XY_Projection_QQQ_TimeCut" + std::to_string(qqq.id[i]), 400, -100, 100, 400, -100, 100, rho * TMath::Cos(theta), rho * TMath::Sin(theta), "hPCQQQ");
} }
plotter->Fill2D("PC_XY_Projection_QQQ" + std::to_string(qqq.id[i]), 400, -100, 100, 400, -100, 100, rho * TMath::Cos(theta), rho * TMath::Sin(theta)); plotter->Fill2D("PC_XY_Projection_QQQ" + std::to_string(qqq.id[i]), 400, -100, 100, 400, -100, 100, rho * TMath::Cos(theta), rho * TMath::Sin(theta), "hPCQQQ");
if (!HitNonZero) if (!HitNonZero)
{ {
@ -355,7 +355,7 @@ Bool_t TrackRecon::Process(Long64_t entry)
} }
} }
plotter->Fill1D("QQQ_Multiplicity", 10, 0, 10, qqqCount, "hCalQQQ"); plotter->Fill1D("QQQ_Multiplicity", 10, 0, 10, qqqCount, "hRawQQQ");
// PC Gain Matching and Filling // PC Gain Matching and Filling
double anodeT = -99999; double anodeT = -99999;
@ -372,7 +372,7 @@ Bool_t TrackRecon::Process(Long64_t entry)
if (pc.index[i] < 48) if (pc.index[i] < 48)
{ {
pc.e[i] = pcSlope[pc.index[i]] * pc.e[i] + pcIntercept[pc.index[i]]; pc.e[i] = pcSlope[pc.index[i]] * pc.e[i] + pcIntercept[pc.index[i]];
plotter->Fill2D("PC_Index_VS_GainMatched_Energy", 24, 0, 24, 2000, 0, 30000, pc.index[i], pc.e[i], "hGMPC"); plotter->Fill2D("PC_Index_VS_GainMatched_Energy", 48, 0, 48, 2000, 0, 30000, pc.index[i], pc.e[i], "hGMPC");
} }
if (pc.index[i] < 24) if (pc.index[i] < 24)
@ -390,19 +390,19 @@ Bool_t TrackRecon::Process(Long64_t entry)
{ {
for (int j = 0; j < qqq.multi; j++) for (int j = 0; j < qqq.multi; j++)
{ {
plotter->Fill1D("PC_Time_qqq", 200, -2000, 2000, anodeT - cathodeT, "hGMPC"); plotter->Fill1D("PC_Time_qqq", 200, -2000, 2000, anodeT - cathodeT, "hTiming");
plotter->Fill2D("PC_Time_Vs_QQQ_ch", 200, -2000, 2000, 16 * 8, 0, 16 * 8, anodeT - cathodeT, qqq.ch[j], "hGMPC"); plotter->Fill2D("PC_Time_Vs_QQQ_ch", 200, -2000, 2000, 16 * 8, 0, 16 * 8, anodeT - cathodeT, qqq.ch[j], "hTiming");
plotter->Fill2D("PC_Time_vs_AIndex", 200, -2000, 2000, 24, 0, 24, anodeT - cathodeT, anodeIndex, "hGMPC"); plotter->Fill2D("PC_Time_vs_AIndex", 200, -2000, 2000, 24, 0, 24, anodeT - cathodeT, anodeIndex, "hTiming");
plotter->Fill2D("PC_Time_vs_CIndex", 200, -2000, 2000, 24, 0, 24, anodeT - cathodeT, cathodeIndex, "hGMPC"); plotter->Fill2D("PC_Time_vs_CIndex", 200, -2000, 2000, 24, 0, 24, anodeT - cathodeT, cathodeIndex, "hTiming");
// plotter->Fill1D("PC_Time_A" + std::to_string(anodeIndex) + "_C" + std::to_string(cathodeIndex), 200, -1000, 1000, anodeT - cathodeT, "TimingPC"); // plotter->Fill1D("PC_Time_A" + std::to_string(anodeIndex) + "_C" + std::to_string(cathodeIndex), 200, -1000, 1000, anodeT - cathodeT, "TimingPC");
} }
for (int j = 0; j < sx3.multi; j++) for (int j = 0; j < sx3.multi; j++)
{ {
plotter->Fill1D("PC_Time_sx3", 200, -2000, 2000, anodeT - cathodeT, "hGMPC"); plotter->Fill1D("PC_Time_sx3", 200, -2000, 2000, anodeT - cathodeT, "hTiming");
} }
plotter->Fill1D("PC_Time", 200, -2000, 2000, anodeT - cathodeT, "hGMPC"); plotter->Fill1D("PC_Time", 200, -2000, 2000, anodeT - cathodeT, "hTiming");
} }
for (int j = i + 1; j < pc.multi; j++) for (int j = i + 1; j < pc.multi; j++)
@ -520,30 +520,30 @@ Bool_t TrackRecon::Process(Long64_t entry)
if (anodeIntersection.Z() != 0) if (anodeIntersection.Z() != 0)
{ {
plotter->Fill1D("PC_Z_Projection", 600, -300, 300, anodeIntersection.Z(), "hGMPC"); plotter->Fill1D("PC_Z_Projection", 600, -300, 300, anodeIntersection.Z(), "hPCzQQQ");
plotter->Fill2D("Z_Proj_VsDelTime", 600, -300, 300, 200, -2000, 2000, anodeIntersection.Z(), anodeT - cathodeT, "hGMPC"); plotter->Fill2D("Z_Proj_VsDelTime", 600, -300, 300, 200, -2000, 2000, anodeIntersection.Z(), anodeT - cathodeT, "hPCzQQQ");
plotter->Fill2D("IntPhi_vs_QQQphi", 100, -200, 200, 80, -200, 200, anodeIntersection.Phi() * 180. / TMath::Pi(), hitPos.Phi() * 180. / TMath::Pi()); plotter->Fill2D("IntPhi_vs_QQQphi", 100, -200, 200, 80, -200, 200, anodeIntersection.Phi() * 180. / TMath::Pi(), hitPos.Phi() * 180. / TMath::Pi(), "hPCQQQ");
plotter->Fill2D("Inttheta_vs_QQQtheta", 90, 0, 180, 20, 0, 45, anodeIntersection.Theta() * 180. / TMath::Pi(), hitPos.Theta() * 180. / TMath::Pi()); plotter->Fill2D("Inttheta_vs_QQQtheta", 90, 0, 180, 20, 0, 45, anodeIntersection.Theta() * 180. / TMath::Pi(), hitPos.Theta() * 180. / TMath::Pi(), "hPCQQQ");
plotter->Fill2D("Inttheta_vs_QQQtheta_TC" + std::to_string(PCQQQTimeCut), 90, 0, 180, 20, 0, 45, anodeIntersection.Theta() * 180. / TMath::Pi(), hitPos.Theta() * 180. / TMath::Pi()); plotter->Fill2D("Inttheta_vs_QQQtheta_TC" + std::to_string(PCQQQTimeCut), 90, 0, 180, 20, 0, 45, anodeIntersection.Theta() * 180. / TMath::Pi(), hitPos.Theta() * 180. / TMath::Pi(), "hPCQQQ");
plotter->Fill2D("IntPhi_vs_QQQphi_TC" + std::to_string(PCQQQTimeCut) + "PhiC" + std::to_string(PCQQQPhiCut), 100, -200, 200, 80, -200, 200, anodeIntersection.Phi() * 180. / TMath::Pi(), hitPos.Phi() * 180. / TMath::Pi()); plotter->Fill2D("IntPhi_vs_QQQphi_TC" + std::to_string(PCQQQTimeCut) + "PhiC" + std::to_string(PCQQQPhiCut), 100, -200, 200, 80, -200, 200, anodeIntersection.Phi() * 180. / TMath::Pi(), hitPos.Phi() * 180. / TMath::Pi(), "hPCQQQ");
} }
if (anodeIntersection.Z() != 0 && cathodeHits.size() >= 2) if (anodeIntersection.Z() != 0 && cathodeHits.size() >= 2)
plotter->Fill1D("PC_Z_Projection_TC" + std::to_string(PCQQQTimeCut) + "PhiC" + std::to_string(PCQQQPhiCut), 600, -300, 300, anodeIntersection.Z()); plotter->Fill1D("PC_Z_Projection_TC" + std::to_string(PCQQQTimeCut) + "PhiC" + std::to_string(PCQQQPhiCut), 600, -300, 300, anodeIntersection.Z(), "hPCzQQQ");
if (anodeIntersection.Z() != 0 && cathodeHits.size() == 1) if (anodeIntersection.Z() != 0 && cathodeHits.size() == 1)
{ {
plotter->Fill1D("PC_Z_proj_1C", 600, -300, 300, anodeIntersection.Z(), "hGMPC"); plotter->Fill1D("PC_Z_proj_1C", 600, -300, 300, anodeIntersection.Z(), "hPCzQQQ");
plotter->Fill2D("IntersectionPhi_vs_AnodeZ_1C", 400, -200, 200, 600, -300, 300, anodeIntersection.Phi() * 180. / TMath::Pi(), anodeIntersection.Z(), "hGMPC"); plotter->Fill2D("IntersectionPhi_vs_AnodeZ_1C", 400, -200, 200, 600, -300, 300, anodeIntersection.Phi() * 180. / TMath::Pi(), anodeIntersection.Z(), "hPCzQQQ");
} }
if (anodeIntersection.Z() != 0 && cathodeHits.size() == 2) if (anodeIntersection.Z() != 0 && cathodeHits.size() == 2)
{ {
plotter->Fill1D("PC_Z_proj_2C", 600, -300, 300, anodeIntersection.Z(), "hGMPC"); plotter->Fill1D("PC_Z_proj_2C", 600, -300, 300, anodeIntersection.Z(), "hPCzQQQ");
plotter->Fill2D("IntersectionPhi_vs_AnodeZ_2C", 400, -200, 200, 600, -300, 300, anodeIntersection.Phi() * 180. / TMath::Pi(), anodeIntersection.Z(), "hGMPC"); plotter->Fill2D("IntersectionPhi_vs_AnodeZ_2C", 400, -200, 200, 600, -300, 300, anodeIntersection.Phi() * 180. / TMath::Pi(), anodeIntersection.Z(), "hGMPC");
} }
if (anodeIntersection.Z() != 0 && cathodeHits.size() > 2) if (anodeIntersection.Z() != 0 && cathodeHits.size() > 2)
{ {
plotter->Fill1D("PC_Z_proj_nC", 600, -300, 300, anodeIntersection.Z(), "hGMPC"); plotter->Fill1D("PC_Z_proj_nC", 600, -300, 300, anodeIntersection.Z(), "hPCzQQQ");
plotter->Fill2D("IntersectionPhi_vs_AnodeZ_nC", 400, -200, 200, 600, -300, 300, anodeIntersection.Phi() * 180. / TMath::Pi(), anodeIntersection.Z(), "hGMPC"); plotter->Fill2D("IntersectionPhi_vs_AnodeZ_nC", 400, -200, 200, 600, -300, 300, anodeIntersection.Phi() * 180. / TMath::Pi(), anodeIntersection.Z(), "hGMPC");
} }
if (anodeHits.size() > 0 && cathodeHits.size() > 0) if (anodeHits.size() > 0 && cathodeHits.size() > 0)
@ -604,10 +604,13 @@ Bool_t TrackRecon::Process(Long64_t entry)
if (HitNonZero && anodeIntersection.Z() != 0) if (HitNonZero && anodeIntersection.Z() != 0)
{ {
pw_contr.CalTrack2(hitPos, anodeIntersection); pw_contr.CalTrack2(hitPos, anodeIntersection);
plotter->Fill1D("VertexRecon", 600, -300, 300, pw_contr.GetZ0(), "hGMPC"); plotter->Fill1D("VertexRecon", 600, -300, 300, pw_contr.GetZ0());
if (PCQQQPhiCut && PCQQQTimeCut) if (PCQQQPhiCut && PCQQQTimeCut)
{ {
plotter->Fill1D("VertexRecon_TC_PhiC", 600, -300, 300, pw_contr.GetZ0(), "hGMPC"); if (cathodeHits.size() == 2)
plotter->Fill1D("VertexRecon_TC_PhiC_2C", 600, -300, 300, pw_contr.GetZ0());
plotter->Fill1D("VertexRecon_TC_PhiC", 600, -300, 300, pw_contr.GetZ0());
} }
} }
@ -615,9 +618,9 @@ Bool_t TrackRecon::Process(Long64_t entry)
{ {
if (PCQQQTimeCut) if (PCQQQTimeCut)
{ {
plotter->Fill2D("PC_XY_Projection_QQQ_TimeCut" + std::to_string(qqq.id[i]), 400, -100, 100, 400, -100, 100, anodeIntersection.X(), anodeIntersection.Y()); plotter->Fill2D("PC_XY_Projection_QQQ_TimeCut" + std::to_string(qqq.id[i]), 400, -100, 100, 400, -100, 100, anodeIntersection.X(), anodeIntersection.Y(), "hPCQQQ");
} }
plotter->Fill2D("PC_XY_Projection_QQQ" + std::to_string(qqq.id[i]), 400, -100, 100, 400, -100, 100, anodeIntersection.X(), anodeIntersection.Y()); plotter->Fill2D("PC_XY_Projection_QQQ" + std::to_string(qqq.id[i]), 400, -100, 100, 400, -100, 100, anodeIntersection.X(), anodeIntersection.Y(), "hPCQQQ");
for (int j = i + 1; j < qqq.multi; j++) for (int j = i + 1; j < qqq.multi; j++)
{ {
@ -629,6 +632,7 @@ Bool_t TrackRecon::Process(Long64_t entry)
double eWedgeMeV = 0.0; double eWedgeMeV = 0.0;
double eRing = 0.0; double eRing = 0.0;
double eRingMeV = 0.0; double eRingMeV = 0.0;
double tRing = 0.0;
int qqqID = -1; int qqqID = -1;
if (qqq.ch[i] < 16 && qqq.ch[j] >= 16 && qqqGainValid[qqq.id[i]][qqq.ch[i]][qqq.ch[j] - 16]) if (qqq.ch[i] < 16 && qqq.ch[j] >= 16 && qqqGainValid[qqq.id[i]][qqq.ch[i]][qqq.ch[j] - 16])
{ {
@ -636,6 +640,7 @@ Bool_t TrackRecon::Process(Long64_t entry)
eWedge = qqq.e[i] * qqqGain[qqq.id[i]][qqq.ch[i]][qqq.ch[j] - 16]; eWedge = qqq.e[i] * qqqGain[qqq.id[i]][qqq.ch[i]][qqq.ch[j] - 16];
chRing = qqq.ch[j] - 16; chRing = qqq.ch[j] - 16;
eRing = qqq.e[j]; eRing = qqq.e[j];
tRing = static_cast<double>(qqq.t[j]);
qqqID = qqq.id[i]; qqqID = qqq.id[i];
} }
else if (qqq.ch[j] < 16 && qqq.ch[i] >= 16 && qqqGainValid[qqq.id[j]][qqq.ch[j]][qqq.ch[i] - 16]) else if (qqq.ch[j] < 16 && qqq.ch[i] >= 16 && qqqGainValid[qqq.id[j]][qqq.ch[j]][qqq.ch[i] - 16])
@ -643,6 +648,7 @@ Bool_t TrackRecon::Process(Long64_t entry)
chWedge = qqq.ch[j]; chWedge = qqq.ch[j];
eWedge = qqq.e[j] * qqqGain[qqq.id[j]][qqq.ch[j]][qqq.ch[i] - 16]; eWedge = qqq.e[j] * qqqGain[qqq.id[j]][qqq.ch[j]][qqq.ch[i] - 16];
chRing = qqq.ch[i] - 16; chRing = qqq.ch[i] - 16;
tRing = static_cast<double>(qqq.t[i]);
eRing = qqq.e[i]; eRing = qqq.e[i];
qqqID = qqq.id[i]; qqqID = qqq.id[i];
} }
@ -659,25 +665,33 @@ Bool_t TrackRecon::Process(Long64_t entry)
// if (anodeIntersection.Z() != 0) // if (anodeIntersection.Z() != 0)
{ {
plotter->Fill2D("PC_Z_vs_QQQRing", 600, -300, 300, 16, 0, 16, anodeIntersection.Z(), chRing, "hGMPC"); plotter->Fill2D("PC_Z_vs_QQQRing", 600, -300, 300, 16, 0, 16, anodeIntersection.Z(), chRing, "hPCzQQQ");
} }
if (anodeIntersection.Z() != 0 && cathodeHits.size() == 2) if (anodeIntersection.Z() != 0 && cathodeHits.size() == 2)
{ {
plotter->Fill2D("PC_Z_vs_QQQRing_2C", 600, -300, 300, 16, 0, 16, anodeIntersection.Z(), chRing, "hGMPC"); plotter->Fill2D("PC_Z_vs_QQQRing_2C", 600, -300, 300, 16, 0, 16, anodeIntersection.Z(), chRing, "hPCzQQQ");
plotter->Fill2D("PC_Z_vs_QQQRing_2C" + std::to_string(qqq.id[i]), 600, -300, 300, 16, 0, 16, anodeIntersection.Z(), chRing, "hGMPC"); plotter->Fill2D("PC_Z_vs_QQQRing_2C" + std::to_string(qqq.id[i]), 600, -300, 300, 16, 0, 16, anodeIntersection.Z(), chRing, "hPCzQQQ");
plotter->Fill2D("PC_Z_vs_QQQWedge_2C", 600, -300, 300, 16, 0, 16, anodeIntersection.Z(), chWedge, "hGMPC"); plotter->Fill2D("PC_Z_vs_QQQWedge_2C", 600, -300, 300, 16, 0, 16, anodeIntersection.Z(), chWedge, "hPCzQQQ");
} }
plotter->Fill2D("Vertex_V_QQQRing", 600, -300, 300, 16, 0, 16, pw_contr.GetZ0(), chRing, "hGMPC"); plotter->Fill2D("Vertex_V_QQQRing", 600, -300, 300, 16, 0, 16, pw_contr.GetZ0(), chRing, "hPCQQQ");
double phi = TMath::ATan2(anodeIntersection.Y(), anodeIntersection.X()) * 180. / TMath::Pi(); double phi = TMath::ATan2(anodeIntersection.Y(), anodeIntersection.X()) * 180. / TMath::Pi();
// while (phi > 180) // while (phi > 180)
// phi -= 180; // phi -= 180;
// while (phi < -180) // while (phi < -180)
// phi += 180; // phi += 180;
plotter->Fill2D("PolarAngle_Vs_QQQWedge" + std::to_string(qqqID), 360, -360, 360, 16, 0, 16, phi, chWedge); plotter->Fill2D("PolarAngle_Vs_QQQWedge" + std::to_string(qqqID), 360, -360, 360, 16, 0, 16, phi, chWedge, "hPCQQQ");
// plotter->Fill2D("EdE_PC_vs_QQQ_timegate_ls1000"+std::to_string()) // plotter->Fill2D("EdE_PC_vs_QQQ_timegate_ls1000"+std::to_string())
plotter->Fill2D("PC_Z_vs_QQQRing_Det" + std::to_string(qqqID), 600, -300, 300, 16, 0, 16, anodeIntersection.Z(), chRing, "hGMPC"); plotter->Fill2D("PC_Z_vs_QQQRing_Det" + std::to_string(qqqID), 600, -300, 300, 16, 0, 16, anodeIntersection.Z(), chRing, "hPCQQQ");
for (int k = 0; k < pc.multi; k++)
{
if(pc.index[k] >= 24)
continue;
plotter->Fill2D("CalibratedQQQE_RvsPCE_TC" + std::to_string(PCQQQTimeCut) + "PhiC" + std::to_string(PCQQQPhiCut), 1000, 0, 10, 2000, 0, 30000, eRingMeV, pc.e[k], "hPCQQQ");
plotter->Fill2D("CalibratedQQQE_WvsPCE_TC" + std::to_string(PCQQQTimeCut) + "PhiC" + std::to_string(PCQQQPhiCut), 1000, 0, 10, 2000, 0, 30000, eWedgeMeV, pc.e[k], "hPCQQQ");
plotter->Fill2D("PCQQQ_dTimevsdPhi", 200, -2000, 2000, 80, -200, 200, tRing - static_cast<double>(pc.t[k]), (hitPos.Phi()-anodeIntersection.Phi()) * 180. / TMath::Pi(), "hTiming");
}
} }
} }
} }
@ -685,12 +699,12 @@ Bool_t TrackRecon::Process(Long64_t entry)
{ {
// plotting sx3 strip hits vs anode phi // plotting sx3 strip hits vs anode phi
if (sx3.ch[i] < 8) if (sx3.ch[i] < 8)
plotter->Fill2D("AnodePhi_vs_SX3Strip", 100, -200, 200, 8 * 24, 0, 8 * 24, anodeIntersection.Phi() * 180. / TMath::Pi(), sx3.id[i] * 8 + sx3.ch[i], "hGMPC"); plotter->Fill2D("AnodePhi_vs_SX3Strip", 100, -200, 200, 8 * 24, 0, 8 * 24, anodeIntersection.Phi() * 180. / TMath::Pi(), sx3.id[i] * 8 + sx3.ch[i]);
} }
if (anodeIntersection.Z() != 0 && cathodeHits.size() == 3) if (anodeIntersection.Z() != 0 && cathodeHits.size() == 3)
{ {
plotter->Fill1D("PC_Z_proj_3C", 600, -300, 300, anodeIntersection.Z(), "hGMPC"); plotter->Fill1D("PC_Z_proj_3C", 600, -300, 300, anodeIntersection.Z(), "hPCzQQQ");
} }
plotter->Fill2D("AnodeMaxE_Vs_Cathode_Sum_Energy", 2000, 0, 30000, 2000, 0, 30000, aEMax, cESum, "hGMPC"); plotter->Fill2D("AnodeMaxE_Vs_Cathode_Sum_Energy", 2000, 0, 30000, 2000, 0, 30000, aEMax, cESum, "hGMPC");

760
qqq_Calib.dat Normal file
View File

@ -0,0 +1,760 @@
0 0 0 3.34288
0 1 0 3.29257
0 2 0 3.31126
0 3 0 3.28022
0 4 0 3.29877
0 5 0 3.29877
0 6 0 3.305
0 7 0 3.305
0 8 0 3.26797
0 9 0 3.32384
0 10 0 3.31126
0 11 0 3.32384
0 12 0 3.29877
0 13 0 3.31126
0 14 0 3.28022
0 15 0 3.27409
0 0 2 3.44828
0 1 2 3.53179
0 2 2 3.53179
0 3 2 3.44149
0 4 2 3.48259
0 5 2 3.47567
0 6 2 3.48953
0 7 2 3.45508
0 8 2 3.46878
0 9 2 3.46192
0 10 2 3.45508
0 11 2 3.46192
0 12 2 3.48259
0 13 2 3.5035
0 14 2 3.4965
0 15 2 3.46878
0 0 3 3.2022
0 1 3 3.20807
0 2 3 3.23176
0 3 3 3.23176
0 4 3 3.23774
0 5 3 3.20807
0 6 3 3.19635
0 7 3 3.21987
0 8 3 3.18471
0 9 3 3.21396
0 10 3 3.19635
0 11 3 3.20807
0 12 3 3.18471
0 13 3 3.22581
0 14 3 3.19635
0 15 3 3.19635
0 0 4 3.33016
0 1 4 3.32384
0 2 4 3.32384
0 3 4 3.37512
0 4 4 3.39476
0 5 4 3.305
0 6 4 3.33016
0 7 4 3.34928
0 8 4 3.31126
0 9 4 3.31754
0 10 4 3.33651
0 11 4 3.31126
0 12 4 3.32384
0 13 4 3.305
0 14 4 3.34928
0 15 4 3.31754
0 0 5 3.31754
0 1 5 3.33651
0 2 5 3.34928
0 3 5 3.33016
0 4 5 3.40136
0 5 5 3.41463
0 6 5 3.33651
0 7 5 3.36215
0 8 5 3.36862
0 9 5 3.34288
0 10 5 3.32384
0 11 5 3.31754
0 12 5 3.33016
0 13 5 3.36862
0 14 5 3.31754
0 15 5 3.32384
0 0 6 3.36215
0 1 6 3.37512
0 2 6 3.3557
0 3 6 3.3557
0 4 6 3.34928
0 5 6 3.40798
0 6 6 3.39476
0 7 6 3.31754
0 8 6 3.33016
0 9 6 3.34928
0 10 6 3.33651
0 11 6 3.33651
0 12 6 3.34288
0 13 6 3.3557
0 14 6 3.34288
0 15 6 3.34928
0 0 7 4.2735
0 1 7 4.24242
0 2 7 4.21179
0 3 7 4.21179
0 4 7 4.21179
0 5 7 4.19162
0 6 7 4.31566
0 7 7 4.24242
0 8 7 4.1816
0 9 7 4.21179
0 10 7 4.22195
0 11 7 4.22195
0 12 7 4.1816
0 13 7 4.21179
0 14 7 4.19162
0 15 7 4.28397
0 0 8 3.51053
0 1 8 3.52467
0 2 8 3.5035
0 3 8 3.4965
0 4 8 3.48953
0 5 8 3.53179
0 6 8 3.4965
0 7 8 3.56779
0 8 8 3.56779
0 9 8 3.48953
0 10 8 3.5035
0 11 8 3.48259
0 12 8 3.5035
0 13 8 3.47567
0 14 8 3.48953
0 15 8 3.48953
0 0 9 3.39476
0 1 9 3.41463
0 2 9 3.42131
0 3 9 3.40798
0 4 9 3.39476
0 5 9 3.42801
0 6 9 3.42131
0 7 9 3.44149
0 8 9 3.48259
0 9 9 3.44149
0 10 9 3.41463
0 11 9 3.41463
0 12 9 3.42801
0 13 9 3.39476
0 14 9 3.42131
0 15 9 3.42131
0 0 10 3.59712
0 1 10 3.56053
0 2 10 3.52467
0 3 10 3.5533
0 4 10 3.57508
0 5 10 3.53893
0 6 10 3.56053
0 7 10 3.5533
0 8 10 3.5461
0 9 10 3.56779
0 10 10 3.63448
0 11 10 3.56779
0 12 10 3.5824
0 13 10 3.5533
0 14 10 3.5824
0 15 10 3.53179
0 0 11 3.44149
0 1 11 3.41463
0 2 11 3.39476
0 3 11 3.3557
0 4 11 3.40798
0 5 11 3.40136
0 6 11 3.40136
0 7 11 3.38164
0 8 11 3.38164
0 9 11 3.40136
0 10 11 3.45508
0 11 11 3.46192
0 12 11 3.42131
0 13 11 3.40798
0 14 11 3.38819
0 15 11 3.43474
0 0 12 3.40798
0 1 12 3.42131
0 2 12 3.42801
0 3 12 3.42801
0 4 12 3.42131
0 5 12 3.44149
0 6 12 3.44149
0 7 12 3.44828
0 8 12 3.44149
0 9 12 3.42801
0 10 12 3.42801
0 11 12 3.48953
0 12 12 3.47567
0 13 12 3.44149
0 14 12 3.42801
0 15 12 3.44828
0 0 13 3.65726
0 1 13 3.62694
0 2 13 3.68034
0 3 13 3.59712
0 4 13 3.66492
0 5 13 3.65726
0 6 13 3.61197
0 7 13 3.67261
0 8 13 3.68809
0 9 13 3.63448
0 10 13 3.67261
0 11 13 3.68034
0 12 13 3.71156
0 13 13 3.72737
0 14 13 3.65726
0 15 13 3.64964
0 0 14 3.56779
0 1 14 3.56779
0 2 14 3.51759
0 3 14 3.47567
0 4 14 3.4965
0 5 14 3.51053
0 6 14 3.51759
0 7 14 3.48953
0 8 14 3.51053
0 9 14 3.53893
0 10 14 3.53893
0 11 14 3.69588
0 12 14 3.47567
0 13 14 3.7037
0 14 14 3.71156
0 15 14 3.5533
0 0 15 39.3258
0 1 15 3.42131
0 2 15 3.42131
0 3 15 3.48953
0 4 15 3.38164
0 5 15 3.43474
0 6 15 3.37512
0 7 15 3.38164
0 8 15 28
0 9 15 33.9806
0 10 15 3.37512
0 11 15 3.33016
0 12 15 3.36862
0 13 15 29.4118
0 14 15 36.8421
0 15 15 34.6535
1 0 0 3.22581
1 1 0 3.21396
1 2 0 3.17893
1 3 0 3.20807
1 7 0 3.18471
1 8 0 3.16742
1 0 1 3.29877
1 1 1 3.33016
1 2 1 3.29257
1 3 1 3.305
1 7 1 3.29877
1 8 1 3.305
1 0 2 3.25581
1 1 2 3.28022
1 2 2 3.27409
1 3 2 3.23774
1 7 2 3.21396
1 8 2 3.24374
1 0 3 3.18471
1 1 3 3.1617
1 2 3 3.20807
1 3 3 3.22581
1 7 3 3.18471
1 8 3 3.15032
1 0 4 3.21987
1 1 4 3.23176
1 2 4 3.21987
1 3 4 3.24977
1 7 4 3.22581
1 8 4 3.24977
1 0 5 3.17893
1 1 5 3.17893
1 2 5 3.17316
1 3 5 3.18471
1 7 5 3.19052
1 8 5 3.1617
1 0 6 3.29257
1 1 6 3.29257
1 2 6 3.33016
1 3 6 3.32384
1 7 6 3.31754
1 8 6 3.305
1 0 7 3.61944
1 1 7 3.61197
1 2 7 3.61197
1 3 7 3.59712
1 7 7 3.68809
1 8 7 3.64964
1 0 8 3.23774
1 1 8 3.25581
1 2 8 3.26188
1 3 8 3.26188
1 7 8 3.26797
1 8 8 3.28022
1 0 9 3.33651
1 1 9 3.33016
1 2 9 3.3557
1 3 9 3.34928
1 7 9 3.36862
1 8 9 3.37512
1 0 10 3.38819
1 1 10 3.42131
1 2 10 3.42801
1 3 10 3.42801
1 7 10 3.38164
1 8 10 3.41463
1 0 11 3.21987
1 1 11 3.24374
1 2 11 3.23774
1 3 11 3.21987
1 7 11 3.21987
1 8 11 3.23774
1 0 12 3.21987
1 1 12 3.17893
1 2 12 3.19635
1 3 12 3.23774
1 7 12 3.21396
1 8 12 3.20807
1 0 13 3.61197
1 1 13 3.62694
1 2 13 3.65726
1 3 13 3.64964
1 7 13 3.5824
1 8 13 3.62694
1 0 14 3.14465
1 1 14 3.15032
1 2 14 3.18471
1 3 14 3.14465
1 7 14 3.14465
1 8 14 3.156
1 0 15 3.51759
1 1 15 3.53893
1 2 15 3.48953
1 3 15 3.43474
1 7 15 3.52467
1 8 15 3.62694
2 0 0 2.83401
2 1 0 2.75374
2 2 0 2.76243
2 3 0 2.75374
2 4 0 2.77118
2 5 0 2.78441
2 6 0 2.7668
2 7 0 2.77557
2 8 0 2.7668
2 9 0 2.76243
2 10 0 2.7408
2 11 0 2.7668
2 12 0 2.7451
2 13 0 2.75808
2 14 0 2.74941
2 0 1 3.01464
2 1 1 3.04083
2 2 1 2.9889
2 3 1 2.97366
2 4 1 2.97366
2 5 1 2.96359
2 6 1 2.97872
2 7 1 2.93871
2 8 1 2.96862
2 9 1 2.9838
2 10 1 2.96862
2 11 1 2.97366
2 12 1 2.9889
2 13 1 2.94365
2 14 1 2.9838
2 0 2 2.83861
2 1 2 2.90456
2 2 2 2.89495
2 3 2 2.82943
2 4 2 2.83861
2 5 2 2.84322
2 6 2 2.84322
2 7 2 2.84322
2 8 2 2.83861
2 9 2 2.82943
2 10 2 2.83401
2 11 2 2.82486
2 12 2 2.81124
2 13 2 2.82486
2 14 2 2.80674
2 0 3 2.67789
2 1 3 2.68199
2 2 3 2.71528
2 3 3 2.72374
2 4 3 2.67789
2 5 3 2.6738
2 6 3 2.65756
2 7 3 2.66565
2 8 3 2.66972
2 9 3 2.69024
2 10 3 2.68199
2 11 3 2.63753
2 12 3 2.67789
2 13 3 2.68199
2 14 3 2.69024
2 0 4 2.78884
2 1 4 2.81124
2 2 4 2.81577
2 3 4 2.86182
2 4 4 2.87121
2 5 4 2.81124
2 6 4 2.77557
2 7 4 2.80674
2 8 4 2.80224
2 9 4 2.78441
2 10 4 2.77557
2 11 4 2.80224
2 12 4 2.80224
2 13 4 2.7933
2 14 4 2.80674
2 0 5 2.77118
2 1 5 2.7668
2 2 5 2.77557
2 3 5 2.77557
2 4 5 2.81124
2 5 5 2.84322
2 6 5 2.76243
2 7 5 2.78441
2 8 5 2.7408
2 9 5 2.76243
2 10 5 2.77998
2 11 5 2.77557
2 12 5 2.78441
2 13 5 2.77557
2 14 5 2.7668
2 0 6 2.91424
2 1 6 2.91424
2 2 6 2.9191
2 3 6 2.90939
2 4 6 2.89975
2 5 6 2.96862
2 6 6 2.97872
2 7 6 2.9191
2 8 6 2.89975
2 9 6 2.91424
2 10 6 2.92887
2 11 6 2.9191
2 12 6 2.89017
2 13 6 2.90939
2 14 6 2.90939
2 0 7 2.83401
2 1 7 2.81124
2 2 7 2.78441
2 3 7 2.83861
2 4 7 2.83861
2 5 7 2.82486
2 6 7 2.89495
2 7 7 2.88541
2 8 7 2.84322
2 9 7 2.81577
2 10 7 2.83401
2 11 7 2.81577
2 12 7 2.82486
2 13 7 2.82486
2 14 7 2.82486
2 0 8 2.92887
2 1 8 2.92398
2 2 8 2.90939
2 3 8 2.9191
2 4 8 2.89975
2 5 8 2.92887
2 6 8 2.91424
2 7 8 2.96862
2 8 8 2.96862
2 9 8 2.92398
2 10 8 2.90939
2 11 8 2.9191
2 12 8 2.87592
2 13 8 2.9191
2 14 8 2.91424
2 0 10 2.91424
2 1 10 2.93378
2 2 10 2.92887
2 3 10 2.94365
2 4 10 2.93871
2 5 10 2.93378
2 6 10 2.93871
2 7 10 2.92887
2 8 10 2.90939
2 9 10 2.97366
2 10 10 2.97872
2 11 10 2.92398
2 12 10 2.92398
2 13 10 2.90939
2 14 10 2.93378
2 0 11 3.01984
2 1 11 3.01464
2 2 11 3.01984
2 3 11 3.00429
2 4 11 3.00429
2 5 11 3.03556
2 6 11 3.02506
2 7 11 3.02506
2 8 11 3.0303
2 9 11 3.00946
2 10 11 3.07828
2 11 11 3.07828
2 12 11 3.00946
2 13 11 3.0303
2 14 11 2.99914
2 0 12 2.90456
2 1 12 2.92887
2 2 12 2.89495
2 3 12 2.92887
2 4 12 2.90456
2 5 12 2.91424
2 6 12 2.92887
2 7 12 2.89495
2 8 12 2.93378
2 9 12 2.90939
2 10 12 2.92398
2 11 12 2.97366
2 12 12 2.96862
2 13 12 2.90939
2 14 12 2.89495
2 0 13 2.83861
2 1 13 2.81124
2 2 13 2.80674
2 3 13 2.80674
2 4 13 2.83401
2 5 13 2.84784
2 6 13 2.83401
2 7 13 2.82031
2 8 13 2.81577
2 9 13 2.81577
2 10 13 2.81577
2 11 13 2.82943
2 12 13 2.89017
2 13 13 2.90939
2 14 13 2.82486
2 0 14 2.93871
2 1 14 2.9191
2 2 14 2.93871
2 3 14 2.9191
2 4 14 2.93378
2 5 14 2.94861
2 6 14 2.90939
2 7 14 2.92398
2 8 14 2.90456
2 9 14 2.91424
2 10 14 2.90939
2 11 14 2.90456
2 12 14 3.00946
2 13 14 3.04613
2 14 14 2.96862
3 0 0 2.80674
3 1 0 2.76243
3 2 0 2.75374
3 3 0 2.73224
3 4 0 2.7408
3 5 0 2.72374
3 7 0 2.72798
3 8 0 2.7408
3 9 0 2.73651
3 10 0 2.7195
3 11 0 2.7451
3 12 0 2.71528
3 13 0 2.72374
3 14 0 2.69854
3 15 0 2.72798
3 0 1 6.4695
3 5 1 6.37523
3 7 1 6.35209
3 15 1 6.32911
3 0 2 2.89017
3 1 2 2.95858
3 2 2 3.00429
3 3 2 2.91424
3 4 2 2.92398
3 5 2 2.89975
3 7 2 2.91424
3 8 2 2.88541
3 9 2 2.91424
3 10 2 2.91424
3 11 2 2.87592
3 12 2 2.90456
3 13 2 2.89017
3 14 2 2.9191
3 15 2 2.90939
3 0 3 2.9889
3 1 3 2.9889
3 2 3 3.01984
3 3 3 3.03556
3 4 3 2.97366
3 5 3 2.97366
3 7 3 2.9838
3 8 3 2.9838
3 9 3 2.97872
3 10 3 2.95858
3 11 3 2.95359
3 12 3 2.96862
3 13 3 2.97872
3 14 3 2.96862
3 15 3 2.96862
3 0 4 2.96862
3 1 4 2.93871
3 2 4 2.94365
3 3 4 2.99914
3 4 4 3.0303
3 5 4 2.95359
3 7 4 2.93378
3 8 4 2.92887
3 9 4 2.92398
3 10 4 2.97366
3 11 4 2.93871
3 12 4 2.95858
3 13 4 2.95858
3 14 4 2.96359
3 15 4 2.96862
3 0 5 2.88541
3 1 5 2.88541
3 2 5 2.88541
3 3 5 2.88066
3 4 5 2.96359
3 5 5 2.95858
3 7 5 2.89495
3 8 5 2.89975
3 9 5 2.90456
3 10 5 2.88066
3 11 5 2.90456
3 12 5 2.90456
3 13 5 2.90939
3 14 5 2.88541
3 15 5 2.89975
3 0 7 2.95858
3 1 7 2.9889
3 2 7 2.96359
3 3 7 2.94861
3 4 7 2.95858
3 5 7 2.9889
3 7 7 3.04083
3 8 7 2.96862
3 9 7 2.9889
3 10 7 2.9838
3 11 7 2.95359
3 12 7 2.96862
3 13 7 2.97872
3 14 7 2.96862
3 15 7 2.96862
3 0 8 3.12221
3 1 8 3.11665
3 2 8 3.14465
3 3 8 3.13901
3 4 8 3.12221
3 5 8 3.13901
3 7 8 3.16742
3 8 8 3.19052
3 9 8 3.13901
3 10 8 3.11665
3 11 8 3.13901
3 12 8 3.13901
3 13 8 3.16742
3 14 8 3.09461
3 15 8 3.14465
3 0 9 2.96359
3 1 9 2.9838
3 2 9 2.93378
3 3 9 2.9191
3 4 9 2.94365
3 5 9 2.94861
3 7 9 2.97366
3 8 9 2.99914
3 9 9 3.0303
3 10 9 2.9889
3 11 9 2.95359
3 12 9 2.97872
3 13 9 2.95858
3 14 9 2.95359
3 15 9 2.94365
3 0 10 3.34928
3 1 10 3.38164
3 2 10 3.38164
3 3 10 3.39476
3 4 10 3.37512
3 5 10 3.37512
3 7 10 3.38819
3 8 10 3.3557
3 9 10 3.42801
3 10 10 3.39476
3 11 10 3.40798
3 12 10 3.36862
3 13 10 3.38819
3 14 10 3.36862
3 15 10 3.39476
3 0 11 3.19052
3 1 11 3.19052
3 2 11 3.16742
3 3 11 3.156
3 4 11 3.19052
3 5 11 3.19635
3 7 11 3.17316
3 8 11 3.18471
3 9 11 3.19052
3 10 11 3.23176
3 11 11 3.25581
3 12 11 3.2022
3 13 11 3.19635
3 14 11 3.23774
3 15 11 3.22581
3 0 12 3.03556
3 1 12 3.08914
3 2 12 3.0303
3 3 12 3.0837
3 4 12 3.07828
3 5 12 3.06748
3 7 12 3.04083
3 8 12 3.06212
3 9 12 3.07828
3 10 12 3.04613
3 11 12 3.14465
3 12 12 3.11665
3 13 12 3.06748
3 14 12 3.15032
3 15 12 3.0837
3 0 13 3.11111
3 1 13 3.10559
3 2 13 3.10009
3 3 13 3.08914
3 4 13 3.07828
3 5 13 3.08914
3 7 13 3.10009
3 8 13 3.10559
3 9 13 3.0837
3 10 13 3.09461
3 11 13 3.10559
3 12 13 3.156
3 13 13 3.22581
3 14 13 3.16742
3 15 13 3.13339
3 0 14 2.93378
3 1 14 2.95858
3 2 14 2.97366
3 3 14 2.9191
3 4 14 2.96862
3 5 14 2.94365
3 7 14 2.96862
3 8 14 2.9889
3 9 14 2.95858
3 10 14 2.93378
3 11 14 3.01984
3 12 14 2.96359
3 13 14 3.0303
3 14 14 3.05677
3 15 14 2.9889
3 0 15 3.13339
3 1 15 3.14465
3 2 15 3.156
3 3 15 3.18471
3 4 15 3.17893
3 5 15 3.15032
3 7 15 3.1617
3 8 15 3.16742
3 9 15 3.19052
3 10 15 3.1617
3 11 15 3.156
3 12 15 3.2022
3 13 15 3.156
3 14 15 3.25581
3 15 15 3.31126

760
qqq_GainMatch.dat Normal file
View File

@ -0,0 +1,760 @@
0 0 0 1.12207 0
0 1 0 1.08493 0
0 2 0 1.10745 0
0 3 0 1.0896 0
0 4 0 1.14681 0
0 5 0 1.12957 0
0 6 0 1.05646 0
0 7 0 1.09773 0
0 8 0 1.05916 0
0 9 0 1.10486 0
0 10 0 1.13044 0
0 11 0 1.0665 0
0 12 0 1.12404 0
0 13 0 1.12471 0
0 14 0 1.11974 0
0 15 0 1.10215 0
0 0 2 1.05256 0
0 1 2 1.01731 0
0 2 2 1.04108 0
0 3 2 1.02415 0
0 4 2 1.07689 0
0 5 2 1.06084 0
0 6 2 0.989488 0
0 7 2 1.03084 0
0 8 2 0.993233 0
0 9 2 1.03774 0
0 10 2 1.06344 0
0 11 2 1.00042 0
0 12 2 1.0559 0
0 13 2 1.05577 0
0 14 2 1.05148 0
0 15 2 1.03467 0
0 0 3 1.1385 0
0 1 3 1.10223 0
0 2 3 1.12758 0
0 3 3 1.10855 0
0 4 3 1.16811 0
0 5 3 1.14951 0
0 6 3 1.07275 0
0 7 3 1.11613 0
0 8 3 1.07539 0
0 9 3 1.12459 0
0 10 3 1.15338 0
0 11 3 1.08428 0
0 12 3 1.14383 0
0 13 3 1.14369 0
0 14 3 1.14039 0
0 15 3 1.11949 0
0 0 4 1.09932 0
0 1 4 1.0625 0
0 2 4 1.08606 0
0 3 4 1.06822 0
0 4 4 1.1235 0
0 5 4 1.10999 0
0 6 4 1.03531 0
0 7 4 1.07693 0
0 8 4 1.03709 0
0 9 4 1.08531 0
0 10 4 1.11285 0
0 11 4 1.0469 0
0 12 4 1.10321 0
0 13 4 1.10394 0
0 14 4 1.10035 0
0 15 4 1.08045 0
0 0 5 1.09396 0
0 1 5 1.05866 0
0 2 5 1.08213 0
0 3 5 1.06565 0
0 4 5 1.12018 0
0 5 5 1.1064 0
0 6 5 1.03231 0
0 7 5 1.0731 0
0 8 5 1.03371 0
0 9 5 1.08144 0
0 10 5 1.10954 0
0 11 5 1.04273 0
0 12 5 1.10036 0
0 13 5 1.10079 0
0 14 5 1.09671 0
0 15 5 1.07585 0
0 0 6 1.11619 0
0 1 6 1.0771 0
0 2 6 1.10141 0
0 3 6 1.08367 0
0 4 6 1.14209 0
0 5 6 1.12639 0
0 6 6 1.05297 0
0 7 6 1.09318 0
0 8 6 1.05305 0
0 9 6 1.10065 0
0 10 6 1.12791 0
0 11 6 1.06161 0
0 12 6 1.11892 0
0 13 6 1.1185 0
0 14 6 1.11602 0
0 15 6 1.09589 0
0 0 7 0.992207 0
0 1 7 0.95617 0
0 2 7 0.97662 0
0 3 7 0.96121 0
0 4 7 1.00953 0
0 5 7 0.996397 0
0 6 7 0.931868 0
0 7 7 0.964233 0
0 8 7 0.931324 0
0 9 7 0.973485 0
0 10 7 0.999204 0
0 11 7 0.940932 0
0 12 7 0.991757 0
0 13 7 0.991016 0
0 14 7 0.989383 0
0 15 7 0.975226 0
0 0 8 1.06807 0
0 1 8 1.03455 0
0 2 8 1.05888 0
0 3 8 1.0404 0
0 4 8 1.09704 0
0 5 8 1.08007 0
0 6 8 1.00981 0
0 7 8 1.05129 0
0 8 8 1.01367 0
0 9 8 1.0595 0
0 10 8 1.08453 0
0 11 8 1.019 0
0 12 8 1.07599 0
0 13 8 1.07544 0
0 14 8 1.07126 0
0 15 8 1.05213 0
0 0 9 1.07322 0
0 1 9 1.03869 0
0 2 9 1.06165 0
0 3 9 1.0447 0
0 4 9 1.10153 0
0 5 9 1.08441 0
0 6 9 1.01286 0
0 7 9 1.05365 0
0 8 9 1.01672 0
0 9 9 1.06427 0
0 10 9 1.08927 0
0 11 9 1.02263 0
0 12 9 1.07962 0
0 13 9 1.07916 0
0 14 9 1.07558 0
0 15 9 1.05542 0
0 0 10 1.03342 0
0 1 10 0.999954 0
0 2 10 1.02158 0
0 3 10 1.00498 0
0 4 10 1.05958 0
0 5 10 1.04313 0
0 6 10 0.974025 0
0 7 10 1.01269 0
0 8 10 0.975984 0
0 9 10 1.02259 0
0 10 10 1.04922 0
0 11 10 0.985154 0
0 12 10 1.03874 0
0 13 10 1.03801 0
0 14 10 1.03509 0
0 15 10 1.0175 0
0 0 11 1.08258 0
0 1 11 1.04797 0
0 2 11 1.07057 0
0 3 11 1.05309 0
0 4 11 1.11159 0
0 5 11 1.09417 0
0 6 11 1.02086 0
0 7 11 1.06119 0
0 8 11 1.02392 0
0 9 11 1.07117 0
0 10 11 1.10077 0
0 11 11 1.03559 0
0 12 11 1.09012 0
0 13 11 1.08843 0
0 14 11 1.08571 0
0 15 11 1.06485 0
0 0 12 1.07307 0
0 1 12 1.03946 0
0 2 12 1.0614 0
0 3 12 1.04367 0
0 4 12 1.10177 0
0 5 12 1.08434 0
0 6 12 1.01155 0
0 7 12 1.05298 0
0 8 12 1.01438 0
0 9 12 1.06102 0
0 10 12 1.08926 0
0 11 12 1.02538 0
0 12 12 1.08318 0
0 13 12 1.07886 0
0 14 12 1.07625 0
0 15 12 1.05681 0
0 0 13 1.01387 0
0 1 13 0.981192 0
0 2 13 1.00272 0
0 3 13 0.986491 0
0 4 13 1.04149 0
0 5 13 1.02408 0
0 6 13 0.955257 0
0 7 13 0.995111 0
0 8 13 0.957727 0
0 9 13 1.0025 0
0 10 13 1.02863 0
0 11 13 0.967083 0
0 12 13 1.02681 0
0 13 13 1.02643 0
0 14 13 1.0182 0
0 15 13 0.997673 0
0 0 14 1.04472 0
0 1 14 1.011 0
0 2 14 1.03378 0
0 3 14 1.01487 0
0 4 14 1.07252 0
0 5 14 1.05521 0
0 6 14 0.984421 0
0 7 14 1.02534 0
0 8 14 0.988077 0
0 9 14 1.03279 0
0 10 14 1.05902 0
0 11 14 0.996786 0
0 12 14 1.05098 0
0 13 14 1.05293 0
0 14 14 1.04859 0
0 15 14 1.02731 0
0 0 15 1.09462 0
0 1 15 1.06343 0
0 2 15 1.08376 0
0 3 15 1.06709 0
0 4 15 1.12538 0
0 5 15 1.10751 0
0 6 15 1.03287 0
0 7 15 1.07668 0
0 8 15 1.03758 0
0 9 15 1.08417 0
0 10 15 1.1094 0
0 11 15 1.04588 0
0 12 15 1.09978 0
0 13 15 1.10121 0
0 14 15 1.0985 0
0 15 15 1.07597 0
1 0 0 1.00584 0
1 1 0 0.991739 0
1 2 0 1.04076 0
1 3 0 0.989385 0
1 7 0 0.957583 0
1 8 0 0.942439 0
1 0 1 0.96917 0
1 1 1 0.950773 0
1 2 1 1.00249 0
1 3 1 0.95195 0
1 7 1 0.92104 0
1 8 1 0.906307 0
1 0 2 0.985122 0
1 1 2 0.967623 0
1 2 2 1.01795 0
1 3 2 0.967184 0
1 7 2 0.935621 0
1 8 2 0.920832 0
1 0 3 1.00595 0
1 1 3 0.990189 0
1 2 3 1.04015 0
1 3 3 0.987531 0
1 7 3 0.954839 0
1 8 3 0.940718 0
1 0 4 0.990917 0
1 1 4 0.975577 0
1 2 4 1.0252 0
1 3 4 0.974288 0
1 7 4 0.941412 0
1 8 4 0.92702 0
1 0 5 1.00671 0
1 1 5 0.99208 0
1 2 5 1.04264 0
1 3 5 0.990048 0
1 7 5 0.956649 0
1 8 5 0.942892 0
1 0 6 0.96557 0
1 1 6 0.950451 0
1 2 6 0.998704 0
1 3 6 0.949055 0
1 7 6 0.917574 0
1 8 6 0.903503 0
1 0 7 0.891906 0
1 1 7 0.87781 0
1 2 7 0.922639 0
1 3 7 0.875712 0
1 7 7 0.853554 0
1 8 7 0.836195 0
1 0 8 0.989769 0
1 1 8 0.974462 0
1 2 8 1.02441 0
1 3 8 0.972957 0
1 7 8 0.942627 0
1 8 8 0.925595 0
1 0 9 0.958183 0
1 1 9 0.943537 0
1 2 9 0.99262 0
1 3 9 0.941384 0
1 7 9 0.910448 0
1 8 9 0.89467 0
1 0 10 0.94311 0
1 1 10 0.930002 0
1 2 10 0.977494 0
1 3 10 0.927837 0
1 7 10 0.89765 0
1 8 10 0.882992 0
1 0 11 0.996567 0
1 1 11 0.981705 0
1 2 11 1.03187 0
1 3 11 0.978015 0
1 7 11 0.946121 0
1 8 11 0.931507 0
1 0 12 1.00398 0
1 1 12 0.989787 0
1 2 12 1.04028 0
1 3 12 0.986024 0
1 7 12 0.954241 0
1 8 12 0.939639 0
1 0 13 0.896427 0
1 1 13 0.882492 0
1 2 13 0.927603 0
1 3 13 0.879707 0
1 7 13 0.850951 0
1 8 13 0.83792 0
1 0 14 1.02997 0
1 1 14 1.01547 0
1 2 14 1.06817 0
1 3 14 1.01254 0
1 7 14 0.98002 0
1 8 14 0.963423 0
1 0 15 0.953121 0
1 1 15 0.938522 0
1 2 15 0.986155 0
1 3 15 0.937939 0
1 7 15 0.907522 0
1 8 15 0.891172 0
2 0 0 1.06379 0
2 1 0 1.10875 0
2 2 0 1.02294 0
2 3 0 1.02842 0
2 4 0 1.06084 0
2 5 0 1.0194 0
2 6 0 1.05202 0
2 7 0 1.07026 0
2 8 0 0.991063 0
2 9 0 1.00772 0
2 10 0 1.0433 0
2 11 0 1.07869 0
2 12 0 1.04086 0
2 13 0 1.06181 0
2 14 0 1.02712 0
2 0 1 0.995685 0
2 1 1 1.03281 0
2 2 1 0.955546 0
2 3 1 0.959761 0
2 4 1 0.991299 0
2 5 1 0.951227 0
2 6 1 0.982886 0
2 7 1 1.0003 0
2 8 1 0.924545 0
2 9 1 0.939693 0
2 10 1 0.973191 0
2 11 1 1.0087 0
2 12 1 0.972144 0
2 13 1 0.993519 0
2 14 1 0.960164 0
2 0 2 1.04864 0
2 1 2 1.08857 0
2 2 2 1.00562 0
2 3 2 1.01227 0
2 4 2 1.04421 0
2 5 2 1.00279 0
2 6 2 1.0365 0
2 7 2 1.05444 0
2 8 2 0.974793 0
2 9 2 0.991239 0
2 10 2 1.02675 0
2 11 2 1.06391 0
2 12 2 1.02552 0
2 13 2 1.04714 0
2 14 2 1.01293 0
2 0 3 1.10698 0
2 1 3 1.15985 0
2 2 3 1.06676 0
2 3 3 1.07236 0
2 4 3 1.10393 0
2 5 3 1.06069 0
2 6 3 1.09578 0
2 7 3 1.11475 0
2 8 3 1.03064 0
2 9 3 1.04788 0
2 10 3 1.08533 0
2 11 3 1.1247 0
2 12 3 1.084 0
2 13 3 1.10751 0
2 14 3 1.06881 0
2 0 4 1.05695 0
2 1 4 1.10478 0
2 2 4 1.01516 0
2 3 4 1.02202 0
2 4 4 1.05319 0
2 5 4 1.0132 0
2 6 4 1.04602 0
2 7 4 1.06436 0
2 8 4 0.983777 0
2 9 4 1.00063 0
2 10 4 1.03641 0
2 11 4 1.07385 0
2 12 4 1.03511 0
2 13 4 1.05746 0
2 14 4 1.02133 0
2 0 5 1.06973 0
2 1 5 1.11893 0
2 2 5 1.02921 0
2 3 5 1.03518 0
2 4 5 1.06659 0
2 5 5 1.024 0
2 6 5 1.05907 0
2 7 5 1.07706 0
2 8 5 0.996679 0
2 9 5 1.01315 0
2 10 5 1.04979 0
2 11 5 1.08783 0
2 12 5 1.04761 0
2 13 5 1.07017 0
2 14 5 1.03459 0
2 0 6 1.01777 0
2 1 6 1.06565 0
2 2 6 0.979373 0
2 3 6 0.985911 0
2 4 6 1.01836 0
2 5 6 0.976077 0
2 6 6 1.01061 0
2 7 6 1.02541 0
2 8 6 0.948997 0
2 9 6 0.964438 0
2 10 6 0.998979 0
2 11 6 1.03578 0
2 12 6 0.997692 0
2 13 6 1.01927 0
2 14 6 0.98573 0
2 0 7 1.04993 0
2 1 7 1.09893 0
2 2 7 1.01005 0
2 3 7 1.01582 0
2 4 7 1.04851 0
2 5 7 1.00559 0
2 6 7 1.04112 0
2 7 7 1.0568 0
2 8 7 0.978975 0
2 9 7 0.993864 0
2 10 7 1.0298 0
2 11 7 1.06841 0
2 12 7 1.02848 0
2 13 7 1.05094 0
2 14 7 1.01543 0
2 0 8 1.01612 0
2 1 8 1.06305 0
2 2 8 0.977015 0
2 3 8 0.982285 0
2 4 8 1.01406 0
2 5 8 0.973506 0
2 6 8 1.00636 0
2 7 8 1.02191 0
2 8 8 0.94526 0
2 9 8 0.962214 0
2 10 8 0.996687 0
2 11 8 1.03274 0
2 12 8 0.995101 0
2 13 8 1.01635 0
2 14 8 0.983357 0
2 0 10 1.01528 0
2 1 10 1.0629 0
2 2 10 0.977071 0
2 3 10 0.982667 0
2 4 10 1.01391 0
2 5 10 0.973828 0
2 6 10 1.00659 0
2 7 10 1.02271 0
2 8 10 0.945569 0
2 9 10 0.961178 0
2 10 10 0.99506 0
2 11 10 1.03282 0
2 12 10 0.995946 0
2 13 10 1.01636 0
2 14 10 0.983149 0
2 0 11 0.98887 0
2 1 11 1.03575 0
2 2 11 0.950057 0
2 3 11 0.957045 0
2 4 11 0.98771 0
2 5 11 0.948147 0
2 6 11 0.980085 0
2 7 11 0.996872 0
2 8 11 0.921831 0
2 9 11 0.937791 0
2 10 11 0.969633 0
2 11 11 1.00569 0
2 12 11 0.968821 0
2 13 11 0.989286 0
2 14 11 0.95708 0
2 0 12 1.02614 0
2 1 12 1.07428 0
2 2 12 0.986035 0
2 3 12 0.992505 0
2 4 12 1.02473 0
2 5 12 0.982998 0
2 6 12 1.01596 0
2 7 12 1.03366 0
2 8 12 0.956237 0
2 9 12 0.971838 0
2 10 12 1.00753 0
2 11 12 1.04671 0
2 12 12 1.00818 0
2 13 12 1.02586 0
2 14 12 0.991409 0
2 0 13 1.06079 0
2 1 13 1.1109 0
2 2 13 1.02101 0
2 3 13 1.02705 0
2 4 13 1.0606 0
2 5 13 1.01806 0
2 6 13 1.05253 0
2 7 13 1.07057 0
2 8 13 0.989061 0
2 9 13 1.00561 0
2 10 13 1.04113 0
2 11 13 1.07944 0
2 12 13 1.04261 0
2 13 13 1.06189 0
2 14 13 1.02742 0
2 0 14 1.03499 0
2 1 14 1.0824 0
2 2 14 0.996601 0
2 3 14 1.00177 0
2 4 14 1.03489 0
2 5 14 0.991935 0
2 6 14 1.02592 0
2 7 14 1.04317 0
2 8 14 0.965101 0
2 9 14 0.980145 0
2 10 14 1.01669 0
2 11 14 1.05187 0
2 12 14 1.01527 0
2 13 14 1.03445 0
2 14 14 1.00218 0
3 0 0 1.02668 0
3 1 0 1.05936 0
3 2 0 1.08615 0
3 3 0 1.06914 0
3 4 0 1.0033 0
3 5 0 1.04672 0
3 7 0 1.00311 0
3 8 0 1.06115 0
3 9 0 1.0264 0
3 10 0 1.07247 0
3 11 0 1.01683 0
3 12 0 1.06141 0
3 13 0 0.98663 0
3 14 0 1.08288 0
3 15 0 1.09865 0
3 0 1 0.896415 0
3 5 1 0.886632 0
3 7 1 0.894764 0
3 15 1 0.944132 0
3 0 2 0.958758 0
3 1 2 0.991373 0
3 2 2 1.01735 0
3 3 2 1.00148 0
3 4 2 0.937938 0
3 5 2 0.980391 0
3 7 2 0.937721 0
3 8 2 0.992541 0
3 9 2 0.95922 0
3 10 2 1.00326 0
3 11 2 0.950558 0
3 12 2 0.992706 0
3 13 2 0.921237 0
3 14 2 1.0139 0
3 15 2 1.02952 0
3 0 3 0.938772 0
3 1 3 0.972454 0
3 2 3 0.99648 0
3 3 3 0.983469 0
3 4 3 0.921026 0
3 5 3 0.961268 0
3 7 3 0.919383 0
3 8 3 0.973386 0
3 9 3 0.940748 0
3 10 3 0.98233 0
3 11 3 0.931532 0
3 12 3 0.973319 0
3 13 3 0.90318 0
3 14 3 0.993651 0
3 15 3 1.00895 0
3 0 4 0.945405 0
3 1 4 0.978441 0
3 2 4 1.00276 0
3 3 4 0.987975 0
3 4 4 0.926133 0
3 5 4 0.96733 0
3 7 4 0.925474 0
3 8 4 0.980402 0
3 9 4 0.947152 0
3 10 4 0.990976 0
3 11 4 0.939097 0
3 12 4 0.980622 0
3 13 4 0.910305 0
3 14 4 1.00016 0
3 15 4 1.01719 0
3 0 5 0.96506 0
3 1 5 0.9989 0
3 2 5 1.02523 0
3 3 5 1.00911 0
3 4 5 0.947918 0
3 5 5 0.991991 0
3 7 5 0.946836 0
3 8 5 1.00176 0
3 9 5 0.968487 0
3 10 5 1.0118 0
3 11 5 0.958123 0
3 12 5 1.00164 0
3 13 5 0.930079 0
3 14 5 1.02211 0
3 15 5 1.03808 0
3 0 7 0.941011 0
3 1 7 0.974489 0
3 2 7 0.999141 0
3 3 7 0.981835 0
3 4 7 0.922634 0
3 5 7 0.962816 0
3 7 7 0.92086 0
3 8 7 0.975121 0
3 9 7 0.944277 0
3 10 7 0.987067 0
3 11 7 0.934807 0
3 12 7 0.97648 0
3 13 7 0.907341 0
3 14 7 0.997508 0
3 15 7 1.01366 0
3 0 8 0.89627 0
3 1 8 0.928294 0
3 2 8 0.952441 0
3 3 8 0.936783 0
3 4 8 0.878916 0
3 5 8 0.917206 0
3 7 8 0.88043 0
3 8 8 0.93158 0
3 9 8 0.900573 0
3 10 8 0.9408 0
3 11 8 0.890392 0
3 12 8 0.930038 0
3 13 8 0.863319 0
3 14 8 0.949375 0
3 15 8 0.963463 0
3 0 9 0.948492 0
3 1 9 0.981967 0
3 2 9 1.00739 0
3 3 9 0.990932 0
3 4 9 0.928484 0
3 5 9 0.971465 0
3 7 9 0.928916 0
3 8 9 0.983222 0
3 9 9 0.953984 0
3 10 9 0.995541 0
3 11 9 0.941864 0
3 12 9 0.983412 0
3 13 9 0.91342 0
3 14 9 1.00336 0
3 15 9 1.02097 0
3 0 10 0.838475 0
3 1 10 0.86862 0
3 2 10 0.891363 0
3 3 10 0.876602 0
3 4 10 0.823031 0
3 5 10 0.85912 0
3 7 10 0.821671 0
3 8 10 0.868138 0
3 9 10 0.845315 0
3 10 10 0.88348 0
3 11 10 0.833665 0
3 12 10 0.870701 0
3 13 10 0.808021 0
3 14 10 0.887408 0
3 15 10 0.902132 0
3 0 11 0.885101 0
3 1 11 0.916216 0
3 2 11 0.940889 0
3 3 11 0.923896 0
3 4 11 0.867684 0
3 5 11 0.9062 0
3 7 11 0.866413 0
3 8 11 0.917874 0
3 9 11 0.888327 0
3 10 11 0.932097 0
3 11 11 0.881387 0
3 12 11 0.920479 0
3 13 11 0.852823 0
3 14 11 0.936398 0
3 15 11 0.952434 0
3 0 12 0.917321 0
3 1 12 0.949356 0
3 2 12 0.974708 0
3 3 12 0.958998 0
3 4 12 0.899136 0
3 5 12 0.939278 0
3 7 12 0.898067 0
3 8 12 0.95081 0
3 9 12 0.920047 0
3 10 12 0.963872 0
3 11 12 0.909538 0
3 12 12 0.955445 0
3 13 12 0.885332 0
3 14 12 0.972018 0
3 15 12 0.986613 0
3 0 13 0.906732 0
3 1 13 0.940638 0
3 2 13 0.964936 0
3 3 13 0.949298 0
3 4 13 0.890224 0
3 5 13 0.931129 0
3 7 13 0.889726 0
3 8 13 0.942384 0
3 9 13 0.911354 0
3 10 13 0.952627 0
3 11 13 0.901228 0
3 12 13 0.94338 0
3 13 13 0.874148 0
3 14 13 0.961403 0
3 15 13 0.977713 0
3 0 14 0.95233 0
3 1 14 0.987515 0
3 2 14 1.01396 0
3 3 14 0.997041 0
3 4 14 0.935215 0
3 5 14 0.976277 0
3 7 14 0.933648 0
3 8 14 0.98953 0
3 9 14 0.957268 0
3 10 14 1.00003 0
3 11 14 0.947087 0
3 12 14 0.989929 0
3 13 14 0.91941 0
3 14 14 1.01076 0
3 15 14 1.0263 0
3 0 15 0.905797 0
3 1 15 0.935697 0
3 2 15 0.962285 0
3 3 15 0.945393 0
3 4 15 0.889273 0
3 5 15 0.926698 0
3 7 15 0.88521 0
3 8 15 0.938653 0
3 9 15 0.90796 0
3 10 15 0.949553 0
3 11 15 0.898358 0
3 12 15 0.936328 0
3 13 15 0.872314 0
3 14 15 0.959995 0
3 15 15 0.98169 0