From cd208e0113c180531543e28b824b23ebdf470e9a Mon Sep 17 00:00:00 2001 From: redford_s Date: Mon, 12 Mar 2018 17:43:36 +0100 Subject: [PATCH] Removing fluo fit, since it is now together with the histogram maker. --- .gitignore | 1 - JFMC_CuFluoPeakFit.cpp | 551 ---------------------------------- run_JFModuleCalib_CuFBDCS.txt | 55 ---- 3 files changed, 607 deletions(-) delete mode 100644 JFMC_CuFluoPeakFit.cpp diff --git a/.gitignore b/.gitignore index 3088a1a..4aa2bbd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,6 @@ JFMC_CalibWriter JFMC_CuFluoPeak -JFMC_CuFluoPeakFit JFMC_CurrentSourceScan JFMC_DirectBeamScan BP_DB_Comp diff --git a/JFMC_CuFluoPeakFit.cpp b/JFMC_CuFluoPeakFit.cpp deleted file mode 100644 index 775b516..0000000 --- a/JFMC_CuFluoPeakFit.cpp +++ /dev/null @@ -1,551 +0,0 @@ -// file to fit fluo spectrum per pixel -// and save peak position and uncertainty - -#include "/afs/psi.ch/project/mythen/sophie/sls_detector_calibration/jungfrauCommonHeader.h" -#include "/afs/psi.ch/project/mythen/sophie/sls_detector_calibration/jungfrauCommonFunctions.h" - -#include "/afs/psi.ch/project/mythen/sophie/sls_detector_calibration/jungfrauFile.C" -#include "/afs/psi.ch/project/mythen/sophie/sls_detector_calibration/jungfrauPixelMask.C" -#include "/afs/psi.ch/project/mythen/sophie/sls_detector_calibration/jungfrauPedestal.C" - -#include "/afs/psi.ch/project/mythen/sophie/sls_detector_calibration/energyCalibration.h" -#include "/afs/psi.ch/project/mythen/sophie/sls_detector_calibration/energyCalibration.cpp" - -#include "TGraph.h" -#include "TGraphErrors.h" -#include "TF1.h" -#include "TFile.h" -#include "TPaveStats.h" -#include "TLegend.h" -#include "TPaveText.h" - -int main(int argc, char* argv[]) { - jungfrauStyle(); - gStyle->SetOptFit(11); - - if (argc != 3) { - cout << "Correct usage:" << endl; - cout << "arg 1: specify module number" << endl; - cout << "arg 2: specify HG0 or G0" << endl; - cout << "eg: ./JFMC_FluoCalibFit 006 HG0" << endl; - cout << " " << endl; - exit(1); - } - - string module_str = argv[1]; - string gain_str = argv[2]; - - char histoname[128]; - char savename[128]; - TCanvas* c1 = new TCanvas("c1",""); - - sprintf(savename,"/mnt/pcmoench_jungfrau_data/jungfrau_ana_sophie/M%s_CalibAna/CuFluo_%s_comb.root", module_str.c_str(), gain_str.c_str()); - TFile* comb_file = new TFile((const char *)(savename),"READ"); - - jungfrauPixelMask *pixelMaskObject = new jungfrauPixelMask(); - static int pixel_mask [NCH]; - pixelMaskObject->initialisePixelMask(pixel_mask); - - int low_ADU_peak = 0; - int high_ADU_peak = 0; - if (gain_str == "HG0") { - low_ADU_peak = 700; - high_ADU_peak = 900; - } else if (gain_str == "G0") { - low_ADU_peak = 250; - high_ADU_peak = 400; - } - - TH1F* fit_par3 = new TH1F("fit_par3","",100,0,50); - TH1F* fit_par4 = new TH1F("fit_par4","",100,0,500); - TH1F* fit_par5 = new TH1F("fit_par5","",100,0,0.5); - TH1F* fit_par6 = new TH1F("fit_par6","",100,1.05,1.25); - TH1F* fit_par7 = new TH1F("fit_par7","",100,0,0.4); - - TH2F* fit_par3_2d = new TH2F("fit_par3_2d","",NC,-0.5,NC-0.5,NR,-0.5,NR-0.5); - TH2F* fit_par4_2d = new TH2F("fit_par4_2d","",NC,-0.5,NC-0.5,NR,-0.5,NR-0.5); - TH2F* fit_par5_2d = new TH2F("fit_par5_2d","",NC,-0.5,NC-0.5,NR,-0.5,NR-0.5); - TH2F* fit_par6_2d = new TH2F("fit_par6_2d","",NC,-0.5,NC-0.5,NR,-0.5,NR-0.5); - TH2F* fit_par7_2d = new TH2F("fit_par7_2d","",NC,-0.5,NC-0.5,NR,-0.5,NR-0.5); - - TH1F* peak_fit_pos = new TH1F("peak_fit_pos","",100,low_ADU_peak,high_ADU_peak); - TH1F* peak_fit_poserr = new TH1F("peak_fit_poserr","",100,0,2); - TH2F* peak_fit_pos_2d = new TH2F("peak_fit_pos_2d","",NC,-0.5,NC-0.5,NR,-0.5,NR-0.5); - TH2F* peak_fit_poserr_2d = new TH2F("peak_fit_poserr_2d","",NC,-0.5,NC-0.5,NR,-0.5,NR-0.5); - - TH1F* noise_fit_pos = new TH1F("noise_fit_pos","",100,-30,30); - TH1F* noise_fit_poserr = new TH1F("noise_fit_poserr","",100,0,0.1); - TH2F* noise_fit_pos_2d = new TH2F("noise_fit_pos_2d","",NC,-0.5,NC-0.5,NR,-0.5,NR-0.5); - TH2F* noise_fit_poserr_2d = new TH2F("noise_fit_poserr_2d","",NC,-0.5,NC-0.5,NR,-0.5,NR-0.5); - - TH1F* gain_fit = new TH1F("gain_fit","",100,low_ADU_peak,high_ADU_peak); - TH1F* gain_fiterr = new TH1F("gain_fiterr","",100,0,2); - TH2F* gain_fit_2d = new TH2F("gain_fit_2d","",NC,-0.5,NC-0.5,NR,-0.5,NR-0.5); - TH2F* gain_fiterr_2d = new TH2F("gain_fiterr_2d","",NC,-0.5,NC-0.5,NR,-0.5,NR-0.5); - - TH1F* gain_fit_isEdge = new TH1F("gain_fit_isEdge","",100,low_ADU_peak,high_ADU_peak); - TH1F* gain_fit_isInnerEdge = new TH1F("gain_fit_isInnerEdge","",100,low_ADU_peak,high_ADU_peak); - TH1F* gain_fit_isDouble = new TH1F("gain_fit_isDouble","",100,low_ADU_peak,high_ADU_peak); - TH1F* gain_fit_isNextToDouble = new TH1F("gain_fit_isNextToDouble","",100,low_ADU_peak,high_ADU_peak); - TH1F* gain_fit_isQuad = new TH1F("gain_fit_isQuad","",100,low_ADU_peak,high_ADU_peak); - TH1F* gain_fit_isBulk = new TH1F("gain_fit_isBulk","",100,low_ADU_peak,high_ADU_peak); - - TH2F* gain_ADUper1keV_2d = new TH2F("gain_ADUper1keV_2d","",NC,-0.5,NC-0.5,NR,-0.5,NR-0.5); - TH2F* gainerr_ADUper1keV_2d = new TH2F("gainerr_ADUper1keV_2d","",NC,-0.5,NC-0.5,NR,-0.5,NR-0.5); - - int low_bin_noise = 101; - int high_bin_noise = 301; - int low_bin_peak = 0; - int high_bin_peak = 0; - if (gain_str == "HG0") { - low_bin_peak = 701; - high_bin_peak = 1200; - } else if (gain_str == "G0") { - low_bin_peak = 301; - high_bin_peak = 651; - } - - for (int j=1; j<9; j++) { - cout << "slice " << j << endl; - sprintf(histoname,"adc2d_%i",j); - TH2I* adc2d_j = (TH2I*)(comb_file->Get((const char *)(histoname))); - cout << adc2d_j->GetEntries() << endl; - adc2d_j->Draw("colz"); - c1->Update(); - - for (int i=(65536*(j-1)); i<(65536*(j)); i++) { - if (i%10000==0){cout << "another 10k" << endl;} - - TH1D* proj = adc2d_j->ProjectionX("bin1",i-(65536*(j-1))+1,i-(65536*(j-1))+1); - - if (proj->Integral(low_bin_noise,high_bin_noise)!=0 && proj->Integral(low_bin_peak,high_bin_peak)!=0) { - - // noise - TH1D *proj_noise = dynamic_cast(proj->Rebin(4,"proj_noise")); - proj_noise->SetStats(kTRUE); - proj_noise->GetXaxis()->SetRangeUser(proj->GetBinLowEdge(low_bin_noise),proj->GetBinLowEdge(high_bin_noise+1)); - proj_noise->Fit("gaus","Q"); - TF1 *fit = proj_noise->GetFunction("gaus"); - - noise_fit_pos->Fill(fit->GetParameter(1)); - noise_fit_pos_2d->Fill(i%NC,i/NC,fit->GetParameter(1)); - noise_fit_poserr->Fill(fit->GetParError(1)); - noise_fit_poserr_2d->Fill(i%NC,i/NC,fit->GetParError(1)); - - // peak - TH1D *proj_peak = dynamic_cast(proj->Rebin(4,"proj_peak")); - proj_peak->SetStats(kTRUE); - proj_peak->GetXaxis()->SetRangeUser(proj->GetBinLowEdge(low_bin_peak),proj->GetBinLowEdge(high_bin_peak+1)); - - Double_t mypar[8]; - mypar[0] = 0.0; - mypar[1] = 0.0; - mypar[2] = proj_peak->GetBinCenter(proj_peak->GetMaximumBin()); - if (gain_str == "G0") { - mypar[3] = 16.; - } else if (gain_str == "HG0") { - mypar[3] = 29.; - } - mypar[4] = proj_peak->GetBinContent(proj_peak->GetMaximumBin()); - if (gain_str == "G0") { - mypar[5] = 0.17; - } else if (gain_str == "HG0") { - mypar[5] = 0.14; - } - mypar[6] = 1.12; - if (gain_str == "G0") { - mypar[7] = 0.12; - } else if (gain_str == "HG0") { - mypar[7] = 0.14; - } - - Double_t emypar[8]; - energyCalibration *thiscalibration = new energyCalibration(); - thiscalibration->setScanSign(1); - thiscalibration->setStartParametersKb(mypar); - thiscalibration->fixParameter(0,0.); // no background - thiscalibration->fixParameter(1,0.); - TF1* fittedfun = thiscalibration->fitSpectrumKb(proj_peak,mypar,emypar); - - fit_par3->Fill(mypar[3]); - fit_par4->Fill(mypar[4]); - fit_par5->Fill(mypar[5]); - fit_par6->Fill(mypar[6]); - fit_par7->Fill(mypar[7]); - - fit_par3_2d->Fill(i%NC,i/NC,mypar[3]); - fit_par4_2d->Fill(i%NC,i/NC,mypar[4]); - fit_par5_2d->Fill(i%NC,i/NC,mypar[5]); - fit_par6_2d->Fill(i%NC,i/NC,mypar[6]); - fit_par7_2d->Fill(i%NC,i/NC,mypar[7]); - - peak_fit_pos->Fill(mypar[2]); - peak_fit_poserr->Fill(emypar[2]); - peak_fit_pos_2d->Fill(i%NC,i/NC,mypar[2]); - peak_fit_poserr_2d->Fill(i%NC,i/NC,emypar[2]); - - if ((i >= 58000 && i < 58000+10) || // bulk - (i >= 10 && i < 10+10) || // edge - (i >= 1024+10 && i < 1024+10+10) || // inner edge - (i >= (256*1024)+10 && i < (256*1024)+10+10) || // double - (i >= (257*1024)+10 && i < (257*1024)+10+10) || // next to double - (i == (255*1024)+255) // quad - ) { - - string pixel_type = "x"; - if (i >= 58000 && i < 58000+10) { - pixel_type = "b"; - } else if (i >= 10 && i < 10+10) { - pixel_type = "e"; - } else if (i >= 1024+10 && i < 1024+10+10) { - pixel_type = "ie"; - } else if (i >= (256*1024)+10 && i < (256*1024)+10+10) { - pixel_type = "d"; - } else if (i >= (257*1024)+10 && i < (257*1024)+10+10) { - pixel_type = "ntd"; - } else if (i == (255*1024)+255) { - pixel_type = "q"; - } - - proj_noise->Draw(); - c1->Update(); - proj_noise->GetXaxis()->SetTitle("Pedestal corrected ADC [ADU]"); - proj_noise->GetXaxis()->SetRangeUser(-100,150); - fit->SetParNames("N_{#gamma}", "Peak pos", "Noise RMS"); - TPaveStats *st0 = (TPaveStats*)proj_noise->FindObject("stats"); - st0->SetX1NDC(0.53); - st0->SetX2NDC(0.94); - st0->SetY1NDC(0.75); - st0->SetY2NDC(0.94); - st0->SetBorderSize(0); - st0->SetTextSize(0.04); - sprintf(savename,"plots/M%s/CuFluo/%s/noise_%s_%d_%s_M%s.png", module_str.c_str(), gain_str.c_str(), pixel_type.c_str(), i, gain_str.c_str(), module_str.c_str()); - c1->SaveAs((const char *)(savename)); - - TF1 *gaus_Ka = new TF1("gaus_Ka","gaus",proj->GetBinLowEdge(low_bin_peak),proj->GetBinLowEdge(high_bin_peak+1)); - gaus_Ka->SetParameters(mypar[4],mypar[2],mypar[3]); - gaus_Ka->SetLineColor(kBlue); - - TF1 *erfc_Ka = new TF1("erfc_Ka","[0]/2.*(TMath::Erfc(([1]*(x-[2])/[3])/(TMath::Sqrt(2.))))",proj->GetBinLowEdge(low_bin_peak),proj->GetBinLowEdge(high_bin_peak+1)); - erfc_Ka->SetParameters(mypar[4]*mypar[5], 1, mypar[2], mypar[3]); - erfc_Ka->SetLineColor(kOrange); - - TF1 *gaus_Kb = new TF1("gaus_Kb","gaus",proj->GetBinLowEdge(low_bin_peak),proj->GetBinLowEdge(high_bin_peak+1)); - gaus_Kb->SetParameters(mypar[4]*mypar[7],mypar[6]*mypar[2],mypar[3]); - gaus_Kb->SetLineColor(kGreen+2); - - TF1 *erfc_Kb = new TF1("erfc_Kb","[0]/2.*(TMath::Erfc(([1]*(x-[2])/[3])/(TMath::Sqrt(2.))))",proj->GetBinLowEdge(low_bin_peak),proj->GetBinLowEdge(high_bin_peak+1)); - erfc_Kb->SetParameters(mypar[4]*mypar[7]*mypar[5], 1, mypar[6]*mypar[2], mypar[3]); - erfc_Kb->SetLineColor(kOrange+7); - - proj_peak->Draw(); - erfc_Kb->Draw("same"); - erfc_Ka->Draw("same"); - gaus_Kb->Draw("same"); - gaus_Ka->Draw("same"); - fittedfun->Draw("same"); - c1->Update(); - proj_peak->GetXaxis()->SetTitle("Pedestal corrected ADC [ADU]"); - fittedfun->SetParNames("Bkg height", "Bkg grad", "K_{#alpha} pos", "Noise RMS", "K_{#alpha} height", "CS", "K_{#beta}/K_{#alpha} pos", "K_{#beta} frac"); - TPaveStats *st = (TPaveStats*)proj_peak->FindObject("stats"); - st->SetX1NDC(0.22); - st->SetX2NDC(0.62); - st->SetY1NDC(0.7); - st->SetY2NDC(0.94); - st->SetBorderSize(0); - st->SetTextSize(0.04); - sprintf(savename,"plots/M%s/CuFluo/%s/peak_%s_%d_%s_M%s.png", module_str.c_str(), gain_str.c_str(), pixel_type.c_str(), i, gain_str.c_str(), module_str.c_str()); - c1->SaveAs((const char *)(savename)); - } - - // gain - gain_fit->Fill(mypar[2] - fit->GetParameter(1)); - gain_fiterr->Fill(sqrt(pow(emypar[2],2) + pow(fit->GetParError(1),2))); - gain_fit_2d->Fill(i%NC,i/NC,mypar[2] - fit->GetParameter(1)); - gain_fiterr_2d->Fill(i%NC,i/NC,sqrt(pow(emypar[2],2) + pow(fit->GetParError(1),2))); - gain_ADUper1keV_2d->Fill(i%NC,i/NC,(mypar[2] - fit->GetParameter(1)) / 8.0); - gainerr_ADUper1keV_2d->Fill(i%NC,i/NC,sqrt(pow(emypar[2],2) + pow(fit->GetParError(1),2)) / 8.0); - - if (isEdge(i)) { - gain_fit_isEdge->Fill(mypar[2] - fit->GetParameter(1)); - } - if (isInnerEdge(i)) { - gain_fit_isInnerEdge->Fill(mypar[2] - fit->GetParameter(1)); - } - if (isDouble(i)) { - gain_fit_isDouble->Fill(mypar[2] - fit->GetParameter(1)); - } - if (isNextToDouble(i)) { - gain_fit_isNextToDouble->Fill(mypar[2] - fit->GetParameter(1)); - } - if (isQuad(i)) { - gain_fit_isQuad->Fill(mypar[2] - fit->GetParameter(1)); - } - if (isBulk(i)) { - gain_fit_isBulk->Fill(mypar[2] - fit->GetParameter(1)); - } - - delete thiscalibration; - delete proj_noise; - delete proj_peak; - delete proj; - - } else { - pixel_mask[i] = 0; - } - } - } - - sprintf(savename,"plots/M%s/CuFluo/%s/pixelmask_afterfit_%s_M%s.png", module_str.c_str(), gain_str.c_str(), gain_str.c_str(), module_str.c_str()); - pixelMaskObject->plotPixelMask(pixel_mask,savename); - - TCanvas *mapcanvas = new TCanvas("mapcanvas","",150,10,800,400); - mapcanvas->SetLeftMargin(0.1); - mapcanvas->SetRightMargin(0.13); - mapcanvas->SetTopMargin(0.08); - mapcanvas->SetBottomMargin(0.15); - - TPaveText *pave = new TPaveText(0.86,0.95,0.91,0.98,"blNDC"); - pave->SetBorderSize(0); - pave->SetFillStyle(0); - pave->SetTextSize(0.06); - pave->SetTextAlign(32); - - fit_par3_2d->GetXaxis()->SetTitle("Column"); - fit_par3_2d->GetYaxis()->SetTitle("Row"); - fit_par3_2d->GetYaxis()->SetTitleOffset(0.7); - fit_par3_2d->Draw("colz"); - fit_par3_2d->GetZaxis()->SetRangeUser(0,50); - sprintf(savename,"plots/M%s/CuFluo/%s/fit_par3_2d_%s_M%s.png",module_str.c_str(), gain_str.c_str(), gain_str.c_str(), module_str.c_str()); - mapcanvas->SaveAs((const char *)(savename)); - - fit_par4_2d->GetXaxis()->SetTitle("Column"); - fit_par4_2d->GetYaxis()->SetTitle("Row"); - fit_par4_2d->GetYaxis()->SetTitleOffset(0.7); - fit_par4_2d->Draw("colz"); - fit_par4_2d->GetZaxis()->SetRangeUser(0,500); - sprintf(savename,"plots/M%s/CuFluo/%s/fit_par4_2d_%s_M%s.png",module_str.c_str(), gain_str.c_str(), gain_str.c_str(), module_str.c_str()); - mapcanvas->SaveAs((const char *)(savename)); - - fit_par5_2d->GetXaxis()->SetTitle("Column"); - fit_par5_2d->GetYaxis()->SetTitle("Row"); - fit_par5_2d->GetYaxis()->SetTitleOffset(0.7); - fit_par5_2d->Draw("colz"); - fit_par5_2d->GetZaxis()->SetRangeUser(0,0.5); - sprintf(savename,"plots/M%s/CuFluo/%s/fit_par5_2d_%s_M%s.png",module_str.c_str(), gain_str.c_str(), gain_str.c_str(), module_str.c_str()); - mapcanvas->SaveAs((const char *)(savename)); - - fit_par6_2d->GetXaxis()->SetTitle("Column"); - fit_par6_2d->GetYaxis()->SetTitle("Row"); - fit_par6_2d->GetYaxis()->SetTitleOffset(0.7); - fit_par6_2d->Draw("colz"); - fit_par6_2d->GetZaxis()->SetRangeUser(1.0,1.25); - sprintf(savename,"plots/M%s/CuFluo/%s/fit_par6_2d_%s_M%s.png",module_str.c_str(), gain_str.c_str(), gain_str.c_str(), module_str.c_str()); - mapcanvas->SaveAs((const char *)(savename)); - - fit_par7_2d->GetXaxis()->SetTitle("Column"); - fit_par7_2d->GetYaxis()->SetTitle("Row"); - fit_par7_2d->GetYaxis()->SetTitleOffset(0.7); - fit_par7_2d->Draw("colz"); - fit_par7_2d->GetZaxis()->SetRangeUser(0.,0.4); - sprintf(savename,"plots/M%s/CuFluo/%s/fit_par7_2d_%s_M%s.png",module_str.c_str(), gain_str.c_str(), gain_str.c_str(), module_str.c_str()); - mapcanvas->SaveAs((const char *)(savename)); - - peak_fit_pos_2d->GetXaxis()->SetTitle("Column"); - peak_fit_pos_2d->GetYaxis()->SetTitle("Row"); - peak_fit_pos_2d->GetYaxis()->SetTitleOffset(0.7); - peak_fit_pos_2d->Draw("colz"); - peak_fit_pos_2d->GetZaxis()->SetRangeUser(low_ADU_peak,high_ADU_peak); - sprintf(savename,"plots/M%s/CuFluo/%s/peak_fit_pos_2d_%s_M%s.png",module_str.c_str(), gain_str.c_str(), gain_str.c_str(), module_str.c_str()); - mapcanvas->SaveAs((const char *)(savename)); - - peak_fit_poserr_2d->GetXaxis()->SetTitle("Column"); - peak_fit_poserr_2d->GetYaxis()->SetTitle("Row"); - peak_fit_poserr_2d->GetYaxis()->SetTitleOffset(0.7); - peak_fit_poserr_2d->Draw("colz"); - peak_fit_poserr_2d->GetZaxis()->SetRangeUser(0,2); - sprintf(savename,"plots/M%s/CuFluo/%s/peak_fit_poserr_2d_%s_M%s.png",module_str.c_str(), gain_str.c_str(), gain_str.c_str(), module_str.c_str()); - mapcanvas->SaveAs((const char *)(savename)); - - noise_fit_pos_2d->GetXaxis()->SetTitle("Column"); - noise_fit_pos_2d->GetYaxis()->SetTitle("Row"); - noise_fit_pos_2d->GetYaxis()->SetTitleOffset(0.7); - noise_fit_pos_2d->Draw("colz"); - noise_fit_pos_2d->GetZaxis()->SetRangeUser(-30,30); - sprintf(savename,"plots/M%s/CuFluo/%s/noise_fit_pos_2d_%s_M%s.png",module_str.c_str(), gain_str.c_str(), gain_str.c_str(), module_str.c_str()); - mapcanvas->SaveAs((const char *)(savename)); - - noise_fit_poserr_2d->GetXaxis()->SetTitle("Column"); - noise_fit_poserr_2d->GetYaxis()->SetTitle("Row"); - noise_fit_poserr_2d->GetYaxis()->SetTitleOffset(0.7); - noise_fit_poserr_2d->Draw("colz"); - if (gain_str == "HG0") { - noise_fit_poserr_2d->GetZaxis()->SetRangeUser(0,0.1); - } else if (gain_str == "G0") { - noise_fit_poserr_2d->GetZaxis()->SetRangeUser(0,0.05); - } - sprintf(savename,"plots/M%s/CuFluo/%s/noise_fit_poserr_2d_%s_M%s.png",module_str.c_str(), gain_str.c_str(), gain_str.c_str(), module_str.c_str()); - mapcanvas->SaveAs((const char *)(savename)); - - gain_fit_2d->GetXaxis()->SetTitle("Column"); - gain_fit_2d->GetYaxis()->SetTitle("Row"); - gain_fit_2d->GetYaxis()->SetTitleOffset(0.7); - gain_fit_2d->Draw("colz"); - sprintf(savename,"%s [ADU/8 keV]", gain_str.c_str()); - pave->AddText((const char *)(savename)); - pave->Draw(); - gain_fit_2d->GetZaxis()->SetRangeUser(low_ADU_peak,high_ADU_peak); - sprintf(savename,"plots/M%s/CuFluo/%s/gain_fit_2d_%s_M%s.png",module_str.c_str(), gain_str.c_str(), gain_str.c_str(), module_str.c_str()); - mapcanvas->SaveAs((const char *)(savename)); - - gain_fiterr_2d->GetXaxis()->SetTitle("Column"); - gain_fiterr_2d->GetYaxis()->SetTitle("Row"); - gain_fiterr_2d->GetYaxis()->SetTitleOffset(0.7); - gain_fiterr_2d->Draw("colz"); - gain_fiterr_2d->GetZaxis()->SetRangeUser(0,2); - sprintf(savename,"plots/M%s/CuFluo/%s/gain_fiterr_2d_%s_M%s.png",module_str.c_str(), gain_str.c_str(), gain_str.c_str(), module_str.c_str()); - mapcanvas->SaveAs((const char *)(savename)); - - gain_ADUper1keV_2d->GetXaxis()->SetTitle("Column"); - gain_ADUper1keV_2d->GetYaxis()->SetTitle("Row"); - gain_ADUper1keV_2d->GetYaxis()->SetTitleOffset(0.7); - gain_ADUper1keV_2d->Draw("colz"); - if (gain_str == "HG0") { - gain_ADUper1keV_2d->GetZaxis()->SetRangeUser(80,120); - } else if (gain_str == "G0") { - gain_ADUper1keV_2d->GetZaxis()->SetRangeUser(35,50); - } - sprintf(savename,"plots/M%s/CuFluo/%s/gain_ADUper1keV_2d_%s_M%s.png",module_str.c_str(), gain_str.c_str(), gain_str.c_str(), module_str.c_str()); - mapcanvas->SaveAs((const char *)(savename)); - - gainerr_ADUper1keV_2d->GetXaxis()->SetTitle("Column"); - gainerr_ADUper1keV_2d->GetYaxis()->SetTitle("Row"); - gainerr_ADUper1keV_2d->GetYaxis()->SetTitleOffset(0.7); - gainerr_ADUper1keV_2d->Draw("colz"); - if (gain_str == "HG0") { - gainerr_ADUper1keV_2d->GetZaxis()->SetRangeUser(0,0.5); - } else if (gain_str == "G0") { - gainerr_ADUper1keV_2d->GetZaxis()->SetRangeUser(0,0.25); - } - sprintf(savename,"plots/M%s/CuFluo/%s/gainerr_ADUper1keV_2d_%s_M%s.png",module_str.c_str(), gain_str.c_str(), gain_str.c_str(), module_str.c_str()); - mapcanvas->SaveAs((const char *)(savename)); - - c1->cd(); - - fit_par3->GetXaxis()->SetTitle("Fit par 3"); - fit_par3->Draw(); - sprintf(savename,"plots/M%s/CuFluo/%s/fit_par3_%s_M%s.png",module_str.c_str(), gain_str.c_str(), gain_str.c_str(), module_str.c_str()); - c1->SaveAs((const char *)(savename)); - - fit_par4->GetXaxis()->SetTitle("Fit par 4"); - fit_par4->Draw(); - sprintf(savename,"plots/M%s/CuFluo/%s/fit_par4_%s_M%s.png",module_str.c_str(), gain_str.c_str(), gain_str.c_str(), module_str.c_str()); - c1->SaveAs((const char *)(savename)); - - fit_par5->GetXaxis()->SetTitle("Fit par 5"); - fit_par5->Draw(); - sprintf(savename,"plots/M%s/CuFluo/%s/fit_par5_%s_M%s.png",module_str.c_str(), gain_str.c_str(), gain_str.c_str(), module_str.c_str()); - c1->SaveAs((const char *)(savename)); - - fit_par6->GetXaxis()->SetTitle("Fit par 6"); - fit_par6->Draw(); - sprintf(savename,"plots/M%s/CuFluo/%s/fit_par6_%s_M%s.png",module_str.c_str(), gain_str.c_str(), gain_str.c_str(), module_str.c_str()); - c1->SaveAs((const char *)(savename)); - - fit_par7->GetXaxis()->SetTitle("Fit par 7"); - fit_par7->Draw(); - sprintf(savename,"plots/M%s/CuFluo/%s/fit_par7_%s_M%s.png",module_str.c_str(), gain_str.c_str(), gain_str.c_str(), module_str.c_str()); - c1->SaveAs((const char *)(savename)); - - peak_fit_pos->GetXaxis()->SetTitle("Peak position [ADU]"); - peak_fit_pos->Draw(); - sprintf(savename,"plots/M%s/CuFluo/%s/peak_fit_pos_%s_M%s.png",module_str.c_str(), gain_str.c_str(), gain_str.c_str(), module_str.c_str()); - c1->SaveAs((const char *)(savename)); - - peak_fit_poserr->GetXaxis()->SetTitle("Peak position uncert [ADU]"); - peak_fit_poserr->Draw(); - sprintf(savename,"plots/M%s/CuFluo/%s/peak_fit_poserr_%s_M%s.png",module_str.c_str(), gain_str.c_str(), gain_str.c_str(), module_str.c_str()); - c1->SaveAs((const char *)(savename)); - - noise_fit_pos->GetXaxis()->SetTitle("Noise position [ADU]"); - noise_fit_pos->Draw(); - sprintf(savename,"plots/M%s/CuFluo/%s/noise_fit_pos_%s_M%s.png",module_str.c_str(), gain_str.c_str(), gain_str.c_str(), module_str.c_str()); - c1->SaveAs((const char *)(savename)); - - noise_fit_poserr->GetXaxis()->SetTitle("Noise position uncert [ADU]"); - noise_fit_poserr->Draw(); - sprintf(savename,"plots/M%s/CuFluo/%s/noise_fit_poserr_%s_M%s.png",module_str.c_str(), gain_str.c_str(), gain_str.c_str(), module_str.c_str()); - c1->SaveAs((const char *)(savename)); - - sprintf(savename,"Gain %s [ADU / 8 keV]", gain_str.c_str()); - gain_fit->GetXaxis()->SetTitle((const char *)(savename)); - gain_fit->Draw(); - sprintf(savename,"plots/M%s/CuFluo/%s/gain_fit_%s_M%s.png",module_str.c_str(), gain_str.c_str(), gain_str.c_str(), module_str.c_str()); - c1->SaveAs((const char *)(savename)); - - gain_fit->GetXaxis()->SetRangeUser(low_ADU_peak+30, high_ADU_peak); - gain_fit->Fit("gaus"); - gain_fit->Draw(); - c1->Update(); - TPaveText *pave2 = new TPaveText(0.6,0.8,0.94,0.94,"blNDC"); - pave2->SetBorderSize(0); - pave2->SetFillStyle(0); - pave2->SetTextSize(0.04); - pave2->SetTextAlign(32); - TF1* gain_fit_gaus = gain_fit->GetFunction("gaus"); - sprintf(savename,"Mean %0.2f #pm %0.2f", gain_fit_gaus->GetParameter(1), gain_fit_gaus->GetParError(1)); - pave2->AddText((const char *)(savename)); - sprintf(savename,"Sigma %0.2f #pm %0.2f", gain_fit_gaus->GetParameter(2), gain_fit_gaus->GetParError(2)); - pave2->AddText((const char *)(savename)); - pave2->Draw(); - gain_fit->SetStats(kFALSE); - sprintf(savename,"plots/M%s/CuFluo/%s/gain_fit_fit_%s_M%s.png",module_str.c_str(), gain_str.c_str(), gain_str.c_str(), module_str.c_str()); - c1->SaveAs((const char *)(savename)); - - gain_fiterr->GetXaxis()->SetTitle("Gain uncert [ADU / 8 keV]"); - gain_fiterr->Draw(); - sprintf(savename,"plots/M%s/CuFluo/%s/gain_fiterr_%s_M%s.png",module_str.c_str(), gain_str.c_str(), gain_str.c_str(), module_str.c_str()); - c1->SaveAs((const char *)(savename)); - - gain_fit_isEdge->SetLineColor(kBlue); - gain_fit_isInnerEdge->SetLineColor(kCyan); - gain_fit_isDouble->SetLineColor(kGreen+2); - gain_fit_isNextToDouble->SetLineColor(kRed); - gain_fit_isQuad->SetLineColor(kOrange); - - gain_fit_isEdge->Scale(1./gain_fit_isEdge->GetEntries()); - gain_fit_isInnerEdge->Scale(1./gain_fit_isInnerEdge->GetEntries()); - gain_fit_isDouble->Scale(1./gain_fit_isDouble->GetEntries()); - gain_fit_isNextToDouble->Scale(1./gain_fit_isNextToDouble->GetEntries()); - gain_fit_isQuad->Scale(1./gain_fit_isQuad->GetEntries()); - gain_fit_isBulk->Scale(1./gain_fit_isBulk->GetEntries()); - - TLegend *leg = new TLegend(0.62,0.6,0.93,0.93); - leg->AddEntry(gain_fit_isBulk, "Normal", "l"); - leg->AddEntry(gain_fit_isDouble, "Double", "l"); - leg->AddEntry(gain_fit_isNextToDouble, "Next to D", "l"); - leg->AddEntry(gain_fit_isEdge, "Edge", "l"); - leg->AddEntry(gain_fit_isInnerEdge, "Inner E", "l"); - - sprintf(savename,"Gain %s [ADU / 8 keV]", gain_str.c_str()); - gain_fit_isDouble->GetXaxis()->SetTitle((const char *)(savename)); - gain_fit_isDouble->GetYaxis()->SetTitle("Normalised"); - gain_fit_isDouble->GetYaxis()->SetTitleOffset(1.3); - gain_fit_isDouble->SetMinimum(0.0); - gain_fit_isDouble->SetMaximum(0.16); - gain_fit_isDouble->Draw(); - gain_fit_isEdge->Draw("same"); - gain_fit_isInnerEdge->Draw("same"); - gain_fit_isNextToDouble->Draw("same"); - gain_fit_isBulk->Draw("same"); - leg->Draw("same"); - sprintf(savename,"plots/M%s/CuFluo/%s/gain_fit_perType_%s_M%s.png", module_str.c_str(), gain_str.c_str(), gain_str.c_str(), module_str.c_str()); - c1->SaveAs((const char *)(savename)); - - sprintf(savename,"data/M%s/CuFluo_gain_%s_M%s.root", module_str.c_str(), gain_str.c_str(), module_str.c_str()); - TFile* saved_file = new TFile((const char *)(savename),"RECREATE"); - gain_ADUper1keV_2d->Write(); - gainerr_ADUper1keV_2d->Write(); - saved_file->Close(); - -} diff --git a/run_JFModuleCalib_CuFBDCS.txt b/run_JFModuleCalib_CuFBDCS.txt index 694540d..247087b 100644 --- a/run_JFModuleCalib_CuFBDCS.txt +++ b/run_JFModuleCalib_CuFBDCS.txt @@ -4,12 +4,10 @@ CuFDBCS = copper fluorescence, direct beam, current source Module 004 ./JFMC_CuFluoPeak 004 HG0 /mnt/pcmoench_jungfrau_data/test_PH_Cu_01022016 pede_10us_phase65_HG0 Cu_10us_phase65_HG0 -./JFMC_CuFluoPeakFit 004 HG0 Module 006 ./JFMC_CuFluoPeak 006 G0 /mnt/pcmoench_jungfrau_data/Module_006_161116 10us_500Hz_QS_allgain_pede 10us_500Hz_QS_G0_Cu -./JFMC_CuFluoPeakFit 006 G0 ./JFMC_DirectBeamScan 006 /mnt/pcmoench_jungfrau_data/Module_006_161116 100us_500Hz_QS_allgain_pede_1055 100us_500Hz_QS_beam_scan_a ./BP_DB_Comp 006 ./JFMC_CurrentSourceScan 006 /mnt/pcmoench_jungfrau_data/Module_006_2017-08-21_CSBaselineTest CurrentSource_scan12 @@ -18,7 +16,6 @@ Module 006 Module 008 ./JFMC_CuFluoPeak 008 G0 /mnt/pcmoench_jungfrau_data/Module_008_181116 10us_500Hz_QS_allgain_pede_1558 10us_500Hz_QS_G0_Cu_2 -./JFMC_CuFluoPeakFit 008 G0 ./JFMC_DirectBeamScan 008 /mnt/pcmoench_jungfrau_data/Module_008_181116 150us_500Hz_QS_allgain_pede_1332 150us_500Hz_QS_beam_scan_b ./JFMC_CurrentSourceScan 008 /mnt/pcmoench_jungfrau_data/Module_008_181116 Current_source_scan_a ./JFMC_CalibWriter 008 @@ -27,9 +24,7 @@ Module 008 Module 021 ./JFMC_CuFluoPeak 021 G0 /mnt/pcmoench_jungfrau_data/1M_021_022_150916 10us_200Hz_QS_allgain_pede__B 10us_200Hz_QS_G0_Cu__B ./JFMC_CuFluoPeak 021 G0 /mnt/pcmoench_jungfrau_data/Module_021_2017-11-24_Calib pedeG0_1145 CuFluo_G0_ -./JFMC_CuFluoPeakFit 021 G0 ./JFMC_CuFluoPeak 021 HG0 /mnt/pcmoench_jungfrau_data/Module_021_2017-11-24_Calib pedeHG0_1205 CuFluo_HG0 -./JFMC_CuFluoPeakFit 021 HG0 ./JFMC_DirectBeamScan 021 /mnt/pcmoench_jungfrau_data/1M_021_022_150916 200us_200Hz_QS_allgain_pede_scan_d_B 200us_200Hz_QS_beam_scan_d_B ./BP_DB_Comp 021 ./JFMC_CurrentSourceScan 021 /mnt/pcmoench_jungfrau_data/1M_021_022_150916 Current_source_scan_a_B @@ -38,7 +33,6 @@ Module 021 Module 022 ./JFMC_CuFluoPeak 022 G0 /mnt/pcmoench_jungfrau_data/1M_021_022_150916 10us_200Hz_QS_allgain_pede__A 10us_200Hz_QS_G0_Cu__A -./JFMC_CuFluoPeakFit 022 G0 ./JFMC_DirectBeamScan 022 /mnt/pcmoench_jungfrau_data/1M_021_022_150916 200us_200Hz_QS_allgain_pede_scan_d_A 200us_200Hz_QS_beam_scan_d_A ./BP_DB_Comp 022 ./JFMC_CurrentSourceScan 022 /mnt/pcmoench_jungfrau_data/Module_022_Calib CS_HS_NF_200Hz_scan1 @@ -47,9 +41,7 @@ Module 022 Module 027 ./JFMC_CuFluoPeak 027 G0 /mnt/pcmoench_jungfrau_data/Module_027_Calib FCu_40kvp_60mA_10us_500Hz_QS_pede FCu_40kvp_60mA_10us_500Hz_QS_beam ./JFMC_CuFluoPeak 027 G0 /mnt/pcmoench_jungfrau_data/Module_027_Calib pedeG0_2017-11-24_1425 CuFluo_G0_2017-11-24 -./JFMC_CuFluoPeakFit 027 G0 ./JFMC_CuFluoPeak 027 HG0 /mnt/pcmoench_jungfrau_data/Module_027_Calib pedeHG0_2017-11-24_1435 CuFluo_HG0_2017-11-24 -./JFMC_CuFluoPeakFit 027 HG0 Module 028 @@ -62,13 +54,11 @@ Module 032 Module 040 ./JFMC_CuFluoPeak 040 G0 /mnt/pcmoench_jungfrau_data/Module_040_Calib Cu_FLuo_240317_500Hz_10us_QS_pede Cu_FLuo_240317_500Hz_10us_QS_beam -./JFMC_CuFluoPeakFit 040 G0 ./JFMC_CurrentSourceScan 040 /mnt/pcmoench_jungfrau_data/Module_040_Calib CS_240322_scan Module 044 ./JFMC_CuFluoPeak 044 G0 /mnt/pcmoench_jungfrau_data/Module044 allpede_10us_500Hz_QS_G0_1500 CuFluo_10us_500Hz_QS_G0 -./JFMC_CuFluoPeakFit 044 G0 ./JFMC_DirectBeamScan 044 /mnt/pcmoench_jungfrau_data/Module044 allpede_150us_500Hz_QS_1620 DB_170221_scan1 ./BP_DB_Comp 044 ./JFMC_CurrentSourceScan 044 /mnt/pcmoench_jungfrau_data/Module044 CS_170221_scan2 @@ -77,67 +67,53 @@ Module 044 Module 045 ./JFMC_CuFluoPeak 045 G0 /mnt/pcmoench_jungfrau_data/Module_045_Calib pede_G0_1649_HS_NF_500Hz Cu_HS_NF_500Hz ./JFMC_CuFluoPeak 045 G0 /mnt/pcmoench_jungfrau_data/Module_045_Calib pedeG0_2017-11-23_1016 CuFluo_G0_2017-11-23 -./JFMC_CuFluoPeakFit 045 G0 ./JFMC_CuFluoPeak 045 HG0 /mnt/pcmoench_jungfrau_data/Module_045_Calib pedeHG0_2017-11-23_1030 CuFluo_HG0_2017-11-23 -./JFMC_CuFluoPeakFit 045 HG0 ./JFMC_CurrentSourceScan 045 /mnt/pcmoench_jungfrau_data/Module_045_Calib CS_HS_NF_200Hz_scan10 ./JFMC_CurrentSourceScan 045 /mnt/pcmoench_jungfrau_data/Module_045_Calib CS_2017-11-22_scan1 Module 048 ./JFMC_CuFluoPeak 048 G0 /mnt/pcmoench_jungfrau_data/Module_048_2017-11-21_Calib pedeG0_1437 CuFluo_G0 -./JFMC_CuFluoPeakFit 048 G0 ./JFMC_CuFluoPeak 048 HG0 /mnt/pcmoench_jungfrau_data/Module_048_2017-11-21_Calib pedeHG0_1450 CuFluo_HG0 -./JFMC_CuFluoPeakFit 048 HG0 ./JFMC_CurrentSourceScan 048 /mnt/pcmoench_jungfrau_data/Module_048_2017-11-21_Calib CS_scan3 Module 050 ./JFMC_CuFluoPeak 050 G0 /mnt/pcmoench_jungfrau_data/Module_050_2017-11-22_Calib pedeG0_2017-11-24_1525 CuFluo_G0_2017-11-24 -./JFMC_CuFluoPeakFit 050 G0 ./JFMC_CuFluoPeak 050 HG0 /mnt/pcmoench_jungfrau_data/Module_050_2017-11-22_Calib pedeHG0_2017-11-24_1535 CuFluo_HG0_2017-11-24 -./JFMC_CuFluoPeakFit 050 HG0 ./JFMC_CurrentSourceScan 050 /mnt/pcmoench_jungfrau_data/Module_050_2017-11-22_Calib CS_scan1 Module 055 ./JFMC_CuFluoPeak 055 G0 /mnt/pcmoench_jungfrau_data/Module_055_2017-09-21_Calib pedeG0_1140 CuFluo_10us_500Hz -./JFMC_CuFluoPeakFit 055 G0 ./JFMC_CurrentSourceScan 055 /mnt/pcmoench_jungfrau_data/Module_055_2017-09-21_Calib CurrentSource_scan1 Module 057 ./JFMC_CuFluoPeak 057 G0 /mnt/pcmoench_jungfrau_data/Module_057_2017-11-22_Calib pedeG0_1538 CuFluo_G0 -./JFMC_CuFluoPeakFit 057 G0 ./JFMC_CuFluoPeak 057 HG0 /mnt/pcmoench_jungfrau_data/Module_057_2017-11-22_Calib pedeHG0_1547 CuFluo_HG0 -./JFMC_CuFluoPeakFit 057 HG0 ./JFMC_CurrentSourceScan 057 /mnt/pcmoench_jungfrau_data/Module_057_2017-11-22_Calib CS_scan1 Module 059 ./JFMC_CuFluoPeak 059 G0 /mnt/pcmoench_jungfrau_data/Module_059_2017-10-09_Calib pedeG0_1710 CuFluo_10us_500Hz -./JFMC_CuFluoPeakFit 059 G0 ./JFMC_CurrentSourceScan 059 /mnt/pcmoench_jungfrau_data/Module_059_2017-10-09_Calib CurrentSource_scan2 Module 062 ./JFMC_CuFluoPeak 062 G0 /mnt/pcmoench_jungfrau_data/Module_062_Calib pedeG0_M062_2018-02-27 CuFluo_G0_M062_2018-02-27 -./JFMC_CuFluoPeakFit 062 G0 ./JFMC_CuFluoPeak 062 HG0 /mnt/pcmoench_jungfrau_data/Module_062_Calib pedeHG0_M062_2018-02-27 CuFluo_HG0_M062_2018-02-27 -./JFMC_CuFluoPeakFit 062 HG0 ./JFMC_CurrentSourceScan 062 /mnt/pcmoench_jungfrau_data/Module_062_Calib CS_M062_2018-02-20_scan1 Module 065 ./JFMC_CuFluoPeak 065 G0 /mnt/pcmoench_jungfrau_data/Module_065_2017-08-29_Calib AllPede_1621 CuFluo_10us_500Hz -./JFMC_CuFluoPeakFit 065 G0 ./JFMC_CurrentSourceScan 065 /mnt/pcmoench_jungfrau_data/Module_065_2017-08-29_Calib CurrentSource_scan1 ./CS_BaselineTest 065 /mnt/pcmoench_jungfrau_data/Module_065_2017-08-29_Calib CurrentSource_scan1 BaselineG1_scan1 BaselineG2_scan1 Module 066 ./JFMC_CuFluoPeak 066 G0 /mnt/pcmoench_jungfrau_data/Module_066_2017-10-24_Calib pedeG0_1021 CuFluo_10us_500Hz -./JFMC_CuFluoPeakFit 066 G0 ./JFMC_DirectBeamScan 066 /mnt/pcmoench_jungfrau_data/Module_066_2017-10-24_Calib DB_OriginalScan_200Hz_200us_pede DB_DoubleGranularity_500Hz_200us ./BP_DB_Comp 066 ./JFMC_CurrentSourceScan 066 /mnt/pcmoench_jungfrau_data/Module_066_2017-10-24_Calib CS_scan1 @@ -145,47 +121,38 @@ Module 066 Module 068 ./JFMC_CuFluoPeak 068 G0 /mnt/pcmoench_jungfrau_data/Module_068_2017-09-19_Calib pedeG0_1750 CuFluo_10us_500Hz -./JFMC_CuFluoPeakFit 068 G0 ./JFMC_CurrentSourceScan 068 /mnt/pcmoench_jungfrau_data/Module_068_2017-09-19_Calib CurrentSource_scan1 Module 069 ./JFMC_CuFluoPeak 069 G0 /mnt/pcmoench_jungfrau_data/Module_069_2017-09-18_Calib pedeG0_1630 CuFluo_10us_500Hz -./JFMC_CuFluoPeakFit 069 G0 ./JFMC_CurrentSourceScan 069 /mnt/pcmoench_jungfrau_data/Module_069_2017-09-18_Calib currentsource_scan1 Module 079 ./JFMC_CuFluoPeak 079 G0 /mnt/pcmoench_jungfrau_data/Module_079_2017-09-18_Calib pedeG0_1655 CuFluo_10us_500Hz -./JFMC_CuFluoPeakFit 079 G0 ./JFMC_CurrentSourceScan 079 /mnt/pcmoench_jungfrau_data/Module_079_2017-09-18_Calib currentsource_scan1 Module 080 ./JFMC_CuFluoPeak 080 G0 /mnt/pcmoench_jungfrau_data/Module_080_2017-11-21_Calib pedeG0_1617 CuFluo_G0 -./JFMC_CuFluoPeakFit 080 G0 ./JFMC_CuFluoPeak 080 HG0 /mnt/pcmoench_jungfrau_data/Module_080_2017-11-21_Calib pedeHG0_1627 CuFluo_HG0 -./JFMC_CuFluoPeakFit 080 HG0 ./JFMC_CurrentSourceScan 080 /mnt/pcmoench_jungfrau_data/Module_080_2017-11-21_Calib CS_scan2 Module 086 ./JFMC_CuFluoPeak 086 G0 /mnt/pcmoench_jungfrau_data/Module_086_Calib pedeG0_M086_2018-02-27 CuFluo_G0_M086_2018-02-27 -./JFMC_CuFluoPeakFit 086 G0 ./JFMC_CuFluoPeak 086 HG0 /mnt/pcmoench_jungfrau_data/Module_086_Calib pedeHG0_M086_2018-02-27 CuFluo_HG0_M086_2018-02-27 -./JFMC_CuFluoPeakFit 086 HG0 ./JFMC_CurrentSourceScan 086 /mnt/pcmoench_jungfrau_data/Module_086_Calib CS_M086_2018-02-20_scan1 Module 088 ./JFMC_CuFluoPeak 088 G0 /mnt/pcmoench_jungfrau_data/Module_088_2017-09-19_Calib pedeG0_1805 CuFluo_10us_500Hz -./JFMC_CuFluoPeakFit 088 G0 ./JFMC_CurrentSourceScan 088 /mnt/pcmoench_jungfrau_data/Module_088_2017-09-19_Calib CurrentSource_scan1 Module 094 ./JFMC_CuFluoPeak 094 G0 /mnt/pcmoench_jungfrau_data/Module_094_2017-10-24_Calib pedeG0_1041 CuFluo_10us_500Hz -./JFMC_CuFluoPeakFit 094 G0 ./JFMC_DirectBeamScan 094 /mnt/pcmoench_jungfrau_data/Module_094_2017-10-24_Calib DB_DoubleGranularity_500Hz_200us_pede DB_DoubleGranularity_500Hz_200us ./BP_DB_Comp 094 ./JFMC_CurrentSourceScan 094 /mnt/pcmoench_jungfrau_data/Module_094_2017-10-24_Calib CS_scan2 @@ -193,49 +160,37 @@ Module 094 Module 100 ./JFMC_CuFluoPeak 100 G0 /mnt/pcmoench_jungfrau_data/Module_100_Calib pedeG0_M100_2018-02-27 CuFluo_G0_M100_2018-02-27 -./JFMC_CuFluoPeakFit 100 G0 ./JFMC_CuFluoPeak 100 HG0 /mnt/pcmoench_jungfrau_data/Module_100_Calib pedeHG0_M100_2018-02-27 CuFluo_HG0_M100_2018-02-27 -./JFMC_CuFluoPeakFit 100 HG0 ./JFMC_CurrentSourceScan 100 /mnt/pcmoench_jungfrau_data/Module_100_Calib CS_M100_2018-02-20_scan1 Module 102 ./JFMC_CuFluoPeak 102 G0 /mnt/pcmoench_jungfrau_data/Module_102_2017-11-22_Calib pedeG0_1655 CuFluo_G0 -./JFMC_CuFluoPeakFit 102 G0 ./JFMC_CuFluoPeak 102 HG0 /mnt/pcmoench_jungfrau_data/Module_102_2017-11-22_Calib pedeHG0_1705 CuFluo_HG0 -./JFMC_CuFluoPeakFit 102 HG0 ./JFMC_CurrentSourceScan 102 /mnt/pcmoench_jungfrau_data/Module_102_2017-11-22_Calib CS_scan1 Module 103 ./JFMC_CuFluoPeak 103 G0 /mnt/pcmoench_jungfrau_data/Module_103_Calib pedeG0_M103_2018-02-27 CuFluo_G0_M103_2018-02-27 -./JFMC_CuFluoPeakFit 103 G0 ./JFMC_CuFluoPeak 103 HG0 /mnt/pcmoench_jungfrau_data/Module_103_Calib pedeHG0_M103_2018-02-27 CuFluo_HG0_M103_2018-02-27 -./JFMC_CuFluoPeakFit 103 HG0 ./JFMC_CurrentSourceScan 103 /mnt/pcmoench_jungfrau_data/Module_103_Calib CS_M103_2018-02-20_scan1 Module 104 ./JFMC_CuFluoPeak 104 G0 /mnt/pcmoench_jungfrau_data/Module_104_Calib pedeG0_M104_2018-02-27 CuFluo_G0_M104_2018-02-27 -./JFMC_CuFluoPeakFit 104 G0 ./JFMC_CuFluoPeak 104 HG0 /mnt/pcmoench_jungfrau_data/Module_104_Calib pedeHG0_M104_2018-02-27 CuFluo_HG0_M104_2018-02-27 -./JFMC_CuFluoPeakFit 104 HG0 ./JFMC_CurrentSourceScan 104 /mnt/pcmoench_jungfrau_data/Module_104_Calib CS_M104_2018-02-20_scan1 Module 108 ./JFMC_CuFluoPeak 108 G0 /mnt/pcmoench_jungfrau_data/Module_108_Calib pedeG0_M108_2018-02-27 CuFluo_G0_M108_2018-02-27 -./JFMC_CuFluoPeakFit 108 G0 ./JFMC_CuFluoPeak 108 HG0 /mnt/pcmoench_jungfrau_data/Module_108_Calib pedeHG0_M108_2018-02-27 CuFluo_HG0_M108_2018-02-27 -./JFMC_CuFluoPeakFit 108 HG0 ./JFMC_CurrentSourceScan 108 /mnt/pcmoench_jungfrau_data/Module_108_Calib CS_M108_2018-02-20_scan1 Module 109 ./JFMC_CuFluoPeak 109 HG0 /mnt/pcmoench_jungfrau_data/Module_109_Calib pedeHG0_2017-12-15_1130 CuFluo_HG0_2017-12-15 -./JFMC_CuFluoPeakFit 109 HG0 ./JFMC_CuFluoPeak 109 G0 /mnt/pcmoench_jungfrau_data/Module_109_Calib pedeG0_2017-12-15_1120 CuFluo_G0_2017-12-15 -./JFMC_CuFluoPeakFit 109 G0 ./JFMC_CurrentSourceScan 109 /mnt/pcmoench_jungfrau_data/Module_109_Calib CS_2017-12-14_scan1 ./CuFluo_Ka_KaKb_Comp 109 HG0 ./CuFluo_Ka_KaKb_Comp 109 G0 @@ -243,39 +198,29 @@ Module 109 Module 110 ./JFMC_CuFluoPeak 110 HG0 /mnt/pcmoench_jungfrau_data/Module_110_Calib pedeHG0_2017-12-15_1050 CuFluo_HG0_2017-12-15 -./JFMC_CuFluoPeakFit 110 HG0 ./JFMC_CuFluoPeak 110 G0 /mnt/pcmoench_jungfrau_data/Module_110_Calib pedeG0_2017-12-15_1040 CuFluo_G0_2017-12-15 -./JFMC_CuFluoPeakFit 110 G0 ./JFMC_CurrentSourceScan 110 /mnt/pcmoench_jungfrau_data/Module_110_Calib CS_2017-12-14_scan1 Module 113 ./JFMC_CuFluoPeak 113 G0 /mnt/pcmoench_jungfrau_data/Module_113_Calib pedeG0_M113_2018-02-27 CuFluo_G0_M113_2018-02-27 -./JFMC_CuFluoPeakFit 113 G0 ./JFMC_CuFluoPeak 113 HG0 /mnt/pcmoench_jungfrau_data/Module_113_Calib pedeHG0_M113_2018-02-27 CuFluo_HG0_M113_2018-02-27 -./JFMC_CuFluoPeakFit 113 HG0 ./JFMC_CurrentSourceScan 113 /mnt/pcmoench_jungfrau_data/Module_113_Calib CS_M113_2018-02-20_scan1 Module 119 ./JFMC_CuFluoPeak 119 G0 /mnt/pcmoench_jungfrau_data/Module_119_2017-11-22_Calib pedeG0_1735 CuFluo_G0 -./JFMC_CuFluoPeakFit 119 G0 ./JFMC_CuFluoPeak 119 HG0 /mnt/pcmoench_jungfrau_data/Module_119_2017-11-22_Calib pedeHG0_1745 CuFluo_HG0 -./JFMC_CuFluoPeakFit 119 HG0 ./JFMC_CurrentSourceScan 119 /mnt/pcmoench_jungfrau_data/Module_119_2017-11-22_Calib CS_scan1 Module 124 ./JFMC_CuFluoPeak 124 G0 /mnt/pcmoench_jungfrau_data/Module_124_Calib pedeG0_M124_2018-02-27 CuFluo_G0_M124_2018-02-27 -./JFMC_CuFluoPeakFit 124 G0 ./JFMC_CuFluoPeak 124 HG0 /mnt/pcmoench_jungfrau_data/Module_124_Calib pedeHG0_M124_2018-02-27 CuFluo_HG0_M124_2018-02-27 -./JFMC_CuFluoPeakFit 124 HG0 ./JFMC_CurrentSourceScan 124 /mnt/pcmoench_jungfrau_data/Module_124_Calib CS_M124_2018-02-20_scan1 Module 126 ./JFMC_CuFluoPeak 126 G0 /mnt/pcmoench_jungfrau_data/Module_126_2017-11-22_Calib pedeG0_1820 CuFluo_G0 -./JFMC_CuFluoPeakFit 126 G0 ./JFMC_CuFluoPeak 126 HG0 /mnt/pcmoench_jungfrau_data/Module_126_2017-11-22_Calib pedeHG0_1828 CuFluo_HG0 -./JFMC_CuFluoPeakFit 126 HG0 ./JFMC_CurrentSourceScan 126 /mnt/pcmoench_jungfrau_data/Module_126_2017-11-22_Calib CS_scan1