diff --git a/JFMC_CalibWriter.cpp b/JFMC_CalibWriter.cpp index ce39380..b15f777 100644 --- a/JFMC_CalibWriter.cpp +++ b/JFMC_CalibWriter.cpp @@ -130,8 +130,15 @@ int main(int argc, char* argv[]) { TH2F* g1mapcut = new TH2F("g1mapcut","",NC,-0.5,NC-0.5,NR,-0.5,NR-0.5); TH2F* g2mapcut = new TH2F("g2mapcut","",NC,-0.5,NC-0.5,NR,-0.5,NR-0.5); - TH2F* defaultvalmap = new TH2F("defaultvalmap","",NC,-0.5,NC-0.5,NR,-0.5,NR-0.5); - TH2F* maskmap = new TH2F("maskmap","",NC,-0.5,NC-0.5,NR,-0.5,NR-0.5); + TH2F* defaultvalmap_hg0 = new TH2F("defaultvalmap_hg0","",NC,-0.5,NC-0.5,NR,-0.5,NR-0.5); + TH2F* defaultvalmap_g0 = new TH2F("defaultvalmap_g0","",NC,-0.5,NC-0.5,NR,-0.5,NR-0.5); + TH2F* defaultvalmap_g1 = new TH2F("defaultvalmap_g1","",NC,-0.5,NC-0.5,NR,-0.5,NR-0.5); + TH2F* defaultvalmap_g2 = new TH2F("defaultvalmap_g2","",NC,-0.5,NC-0.5,NR,-0.5,NR-0.5); + + TH2F* missingvalmap_hg0 = new TH2F("missingvalmap_hg0","",NC,-0.5,NC-0.5,NR,-0.5,NR-0.5); + TH2F* missingvalmap_g0 = new TH2F("missingvalmap_g0","",NC,-0.5,NC-0.5,NR,-0.5,NR-0.5); + TH2F* missingvalmap_g1 = new TH2F("missingvalmap_g1","",NC,-0.5,NC-0.5,NR,-0.5,NR-0.5); + TH2F* missingvalmap_g2 = new TH2F("missingvalmap_g2","",NC,-0.5,NC-0.5,NR,-0.5,NR-0.5); sprintf(savename,"data/M%s/gainMaps_M%s.bin", module_str.c_str(), module_str.c_str()); fstream outfile; @@ -140,47 +147,52 @@ int main(int argc, char* argv[]) { for (int i = 0; i < NCH; i++) { // load existing values into maps - // if the map exists but the calibration is missing, mask pixel // if the map doesn't exist, put the global default value if (FL_HG0_gain_map) { - if (FL_HG0_gain_map->GetBinContent((i%NC)+1,(i/NC)+1) != 0) { - mapsObject->hg0VALs[i] = FL_HG0_gain_map->GetBinContent((i%NC)+1,(i/NC)+1); - } else { - maskmap->SetBinContent((i%NC)+1,(i/NC)+1,1); + mapsObject->hg0VALs[i] = FL_HG0_gain_map->GetBinContent((i%NC)+1,(i/NC)+1); + if (FL_HG0_gain_map->GetBinContent((i%NC)+1,(i/NC)+1) == 0) { + missingvalmap_hg0->Fill(i%NC,i/NC,1); } } else { mapsObject->hg0VALs[i] = 100.; + defaultvalmap_hg0->Fill(i%NC,i/NC,1); + missingvalmap_hg0->Fill(i%NC,i/NC,1); } if (FL_G0_gain_map) { - if (FL_G0_gain_map->GetBinContent((i%NC)+1,(i/NC)+1) != 0) { - mapsObject->g0VALs[i] = FL_G0_gain_map->GetBinContent((i%NC)+1,(i/NC)+1); - } else { - maskmap->SetBinContent((i%NC)+1,(i/NC)+1,1); + mapsObject->g0VALs[i] = FL_G0_gain_map->GetBinContent((i%NC)+1,(i/NC)+1); + if (FL_G0_gain_map->GetBinContent((i%NC)+1,(i/NC)+1) == 0) { + missingvalmap_g0->Fill(i%NC,i/NC,1); } } else { mapsObject->g0VALs[i] = 40; + defaultvalmap_g0->Fill(i%NC,i/NC,1); + missingvalmap_g0->Fill(i%NC,i/NC,1); } if (DB_ratio_map) { if (DB_ratio_map->GetBinContent((i%NC)+1,(i/NC)+1) != 0) { mapsObject->g1VALs[i] = mapsObject->g0VALs[i] / DB_ratio_map->GetBinContent((i%NC)+1,(i/NC)+1); } else { - maskmap->SetBinContent((i%NC)+1,(i/NC)+1,1); + missingvalmap_g1->Fill(i%NC,i/NC,1); } } else { mapsObject->g1VALs[i] = -1.4; + defaultvalmap_g1->Fill(i%NC,i/NC,1); + missingvalmap_g1->Fill(i%NC,i/NC,1); } if (CS_ratio_map) { if (CS_ratio_map->GetBinContent((i%NC)+1,(i/NC)+1) != 0) { mapsObject->g2VALs[i] = mapsObject->g1VALs[i] / CS_ratio_map->GetBinContent((i%NC)+1,(i/NC)+1); } else { - maskmap->SetBinContent((i%NC)+1,(i/NC)+1,1); + missingvalmap_g2->Fill(i%NC,i/NC,1); } } else { mapsObject->g2VALs[i] = -0.1; + defaultvalmap_g2->Fill(i%NC,i/NC,1); + missingvalmap_g2->Fill(i%NC,i/NC,1); } @@ -255,36 +267,27 @@ int main(int argc, char* argv[]) { for (int i = 0; i < NCH; i++) { - // crazy value check: replace with module default + // crazy and missing value check: replace with module default // think of a way to get the limits better - // do not give masked pixels the module default vals, keep them masked if (mapsObject->hg0VALs[i] < 80 || mapsObject->hg0VALs[i] > 120) { - if (mapsObject->hg0VALs[i] != 0) { - mapsObject->hg0VALs[i] = defaultHG0; - defaultvalmap->Fill(i%NC,i/NC,1); - } + mapsObject->hg0VALs[i] = defaultHG0; + defaultvalmap_hg0->Fill(i%NC,i/NC,1); } if (mapsObject->g0VALs[i] < 30 || mapsObject->g0VALs[i] > 48) { - if (mapsObject->g0VALs[i] != 0) { - mapsObject->g0VALs[i] = defaultG0; - defaultvalmap->Fill(i%NC,i/NC,1); - } + mapsObject->g0VALs[i] = defaultG0; + defaultvalmap_g0->Fill(i%NC,i/NC,1); } if (mapsObject->g1VALs[i] < -2.0 || mapsObject->g1VALs[i] > -0.5) { - if (mapsObject->g1VALs[i] != 0) { - mapsObject->g1VALs[i] = defaultG1; - defaultvalmap->Fill(i%NC,i/NC,1); - } + mapsObject->g1VALs[i] = defaultG1; + defaultvalmap_g1->Fill(i%NC,i/NC,1); } if (mapsObject->g2VALs[i] < -0.2 || mapsObject->g2VALs[i] > -0.02) { - if (mapsObject->g2VALs[i] != 0) { - mapsObject->g2VALs[i] = defaultG2; - defaultvalmap->Fill(i%NC,i/NC,1); - } + mapsObject->g2VALs[i] = defaultG2; + defaultvalmap_g2->Fill(i%NC,i/NC,1); } @@ -437,19 +440,68 @@ int main(int argc, char* argv[]) { sprintf(savename,"plots/M%s/gain2_cut_M%s.png", module_str.c_str(), module_str.c_str()); mapcanvas->SaveAs((const char *)(savename)); - defaultvalmap->GetXaxis()->SetTitle("Column"); - defaultvalmap->GetYaxis()->SetTitle("Row"); - defaultvalmap->GetYaxis()->SetTitleOffset(0.7); - defaultvalmap->Draw("colz"); - defaultvalmap->GetZaxis()->SetRangeUser(0,4); - sprintf(savename,"plots/M%s/defaultvalmap_M%s.png", module_str.c_str(), module_str.c_str()); + defaultvalmap_hg0->GetXaxis()->SetTitle("Column"); + defaultvalmap_hg0->GetYaxis()->SetTitle("Row"); + defaultvalmap_hg0->GetYaxis()->SetTitleOffset(0.7); + defaultvalmap_hg0->Draw("colz"); + defaultvalmap_hg0->GetZaxis()->SetRangeUser(0,1); + sprintf(savename,"plots/M%s/defaultvalmap_hg0_M%s.png", module_str.c_str(), module_str.c_str()); mapcanvas->SaveAs((const char *)(savename)); - maskmap->GetXaxis()->SetTitle("Column"); - maskmap->GetYaxis()->SetTitle("Row"); - maskmap->GetYaxis()->SetTitleOffset(0.7); - maskmap->Draw("colz"); - sprintf(savename,"plots/M%s/maskmap_M%s.png", module_str.c_str(), module_str.c_str()); + defaultvalmap_g0->GetXaxis()->SetTitle("Column"); + defaultvalmap_g0->GetYaxis()->SetTitle("Row"); + defaultvalmap_g0->GetYaxis()->SetTitleOffset(0.7); + defaultvalmap_g0->Draw("colz"); + defaultvalmap_g0->GetZaxis()->SetRangeUser(0,1); + sprintf(savename,"plots/M%s/defaultvalmap_g0_M%s.png", module_str.c_str(), module_str.c_str()); + mapcanvas->SaveAs((const char *)(savename)); + + defaultvalmap_g1->GetXaxis()->SetTitle("Column"); + defaultvalmap_g1->GetYaxis()->SetTitle("Row"); + defaultvalmap_g1->GetYaxis()->SetTitleOffset(0.7); + defaultvalmap_g1->Draw("colz"); + defaultvalmap_g1->GetZaxis()->SetRangeUser(0,1); + sprintf(savename,"plots/M%s/defaultvalmap_g1_M%s.png", module_str.c_str(), module_str.c_str()); + mapcanvas->SaveAs((const char *)(savename)); + + defaultvalmap_g2->GetXaxis()->SetTitle("Column"); + defaultvalmap_g2->GetYaxis()->SetTitle("Row"); + defaultvalmap_g2->GetYaxis()->SetTitleOffset(0.7); + defaultvalmap_g2->Draw("colz"); + defaultvalmap_g2->GetZaxis()->SetRangeUser(0,1); + sprintf(savename,"plots/M%s/defaultvalmap_g2_M%s.png", module_str.c_str(), module_str.c_str()); + mapcanvas->SaveAs((const char *)(savename)); + + missingvalmap_hg0->GetXaxis()->SetTitle("Column"); + missingvalmap_hg0->GetYaxis()->SetTitle("Row"); + missingvalmap_hg0->GetYaxis()->SetTitleOffset(0.7); + missingvalmap_hg0->Draw("colz"); + missingvalmap_hg0->GetZaxis()->SetRangeUser(0,1); + sprintf(savename,"plots/M%s/missingvalmap_hg0_M%s.png", module_str.c_str(), module_str.c_str()); + mapcanvas->SaveAs((const char *)(savename)); + + missingvalmap_g0->GetXaxis()->SetTitle("Column"); + missingvalmap_g0->GetYaxis()->SetTitle("Row"); + missingvalmap_g0->GetYaxis()->SetTitleOffset(0.7); + missingvalmap_g0->Draw("colz"); + missingvalmap_g0->GetZaxis()->SetRangeUser(0,1); + sprintf(savename,"plots/M%s/missingvalmap_g0_M%s.png", module_str.c_str(), module_str.c_str()); + mapcanvas->SaveAs((const char *)(savename)); + + missingvalmap_g1->GetXaxis()->SetTitle("Column"); + missingvalmap_g1->GetYaxis()->SetTitle("Row"); + missingvalmap_g1->GetYaxis()->SetTitleOffset(0.7); + missingvalmap_g1->Draw("colz"); + missingvalmap_g1->GetZaxis()->SetRangeUser(0,1); + sprintf(savename,"plots/M%s/missingvalmap_g1_M%s.png", module_str.c_str(), module_str.c_str()); + mapcanvas->SaveAs((const char *)(savename)); + + missingvalmap_g2->GetXaxis()->SetTitle("Column"); + missingvalmap_g2->GetYaxis()->SetTitle("Row"); + missingvalmap_g2->GetYaxis()->SetTitleOffset(0.7); + missingvalmap_g2->Draw("colz"); + missingvalmap_g2->GetZaxis()->SetRangeUser(0,1); + sprintf(savename,"plots/M%s/missingvalmap_g2_M%s.png", module_str.c_str(), module_str.c_str()); mapcanvas->SaveAs((const char *)(savename)); TCanvas* c1 = new TCanvas("c1","");