diff --git a/JFMC_BadPixels.cpp b/JFMC_BadPixels.cpp index 5c67649..4d079ea 100644 --- a/JFMC_BadPixels.cpp +++ b/JFMC_BadPixels.cpp @@ -3,6 +3,8 @@ #include "../sls_detector_calibration/jungfrauCommonHeader.h" #include "../sls_detector_calibration/jungfrauCommonFunctions.h" +#include + #include "TCanvas.h" #include "TFile.h" #include "TH2F.h" @@ -13,126 +15,6 @@ int main(int argc, char* argv[]) { jungfrauStyle(); - vector modules; - modules.push_back(6); - modules.push_back(8); - modules.push_back(11); - modules.push_back(21); - modules.push_back(22); - modules.push_back(27); - modules.push_back(28); - modules.push_back(32); - modules.push_back(35); - modules.push_back(39); - modules.push_back(40); - modules.push_back(43); - modules.push_back(44); - modules.push_back(45); - modules.push_back(46); - modules.push_back(48); - modules.push_back(49); - modules.push_back(50); - modules.push_back(51); - modules.push_back(53); - modules.push_back(54); - modules.push_back(55); - modules.push_back(57); - modules.push_back(58); - modules.push_back(59); - modules.push_back(60); - modules.push_back(61); - modules.push_back(62); - modules.push_back(63); - modules.push_back(64); - modules.push_back(65); - modules.push_back(66); - modules.push_back(67); - modules.push_back(68); - modules.push_back(69); - modules.push_back(70); - modules.push_back(71); - modules.push_back(72); - modules.push_back(73); - modules.push_back(74); - modules.push_back(75); - modules.push_back(76); - modules.push_back(79); - modules.push_back(80); - modules.push_back(86); - modules.push_back(88); - modules.push_back(89); - modules.push_back(90); - modules.push_back(91); - modules.push_back(92); - modules.push_back(93); - modules.push_back(94); - modules.push_back(95); - modules.push_back(97); - modules.push_back(98); - modules.push_back(99); - modules.push_back(100); - modules.push_back(102); - modules.push_back(103); - modules.push_back(104); - modules.push_back(106); - modules.push_back(107); - modules.push_back(108); - modules.push_back(109); - modules.push_back(110); - modules.push_back(111); - modules.push_back(112); - modules.push_back(113); - modules.push_back(114); - modules.push_back(115); - modules.push_back(116); - modules.push_back(117); - modules.push_back(118); - modules.push_back(119); - modules.push_back(120); - modules.push_back(121); - modules.push_back(122); - modules.push_back(123); - modules.push_back(124); - modules.push_back(125); - modules.push_back(126); - modules.push_back(129); - modules.push_back(130); - modules.push_back(131); - modules.push_back(132); - modules.push_back(133); - modules.push_back(134); - modules.push_back(135); - modules.push_back(200); - modules.push_back(201); - modules.push_back(202); - modules.push_back(203); - modules.push_back(204); - modules.push_back(205); - modules.push_back(206); - modules.push_back(208); - modules.push_back(209); - modules.push_back(210); - modules.push_back(212); - modules.push_back(214); - modules.push_back(215); - modules.push_back(216); - modules.push_back(217); - modules.push_back(218); - modules.push_back(219); - modules.push_back(221); - modules.push_back(222); - modules.push_back(223); - modules.push_back(224); - modules.push_back(226); - modules.push_back(227); - modules.push_back(229); - modules.push_back(231); - modules.push_back(232); - modules.push_back(233); - modules.push_back(234); - modules.push_back(235); - modules.push_back(236); - vector modules_d; vector hg0_missing; vector hg0_crazy; @@ -146,7 +28,16 @@ int main(int argc, char* argv[]) { char savename[128]; - for (size_t j = 0; j < modules.size(); j++) { + for (int j = 0; j < 300; j++) { + + // first check if a gain map exists + fstream infile; + sprintf(savename,"data/M%3.3d/gainMaps_M%3.3d.bin", j, j); + infile.open((char*)savename, ios::in | ios::binary); + if (not infile.is_open()) { + continue; + } + infile.close(); int this_hg0_missing = 0; int this_hg0_crazy = 0; @@ -159,7 +50,7 @@ int main(int argc, char* argv[]) { int this_anygain_missing_or_crazy = 0; // CuFluo HG0 dataset - sprintf(savename,"data/M%3.3d/CuFluo_gain_HG0_M%3.3d.root", modules[j], modules[j]); + sprintf(savename,"data/M%3.3d/CuFluo_gain_HG0_M%3.3d.root", j, j); TFile* FL_HG0_file = new TFile((char*)savename,"READ"); TH2F* FL_HG0_gain_map = 0; if (FL_HG0_file->IsZombie()) { @@ -169,7 +60,7 @@ int main(int argc, char* argv[]) { } // CuFluo G0 dataset - sprintf(savename,"data/M%3.3d/CuFluo_gain_G0_M%3.3d.root", modules[j], modules[j]); + sprintf(savename,"data/M%3.3d/CuFluo_gain_G0_M%3.3d.root", j, j); TFile* FL_G0_file = new TFile((char*)savename,"READ"); TH2F* FL_G0_gain_map = 0; if (FL_G0_file->IsZombie()) { @@ -179,14 +70,14 @@ int main(int argc, char* argv[]) { } // Backplane pulsing dataset - sprintf(savename,"data/M%3.3d/BP_ratio_M%3.3d.root", modules[j], modules[j]); + sprintf(savename,"data/M%3.3d/BP_ratio_M%3.3d.root", j, j); TFile* DB_file = new TFile((char*)savename,"READ"); TH2F* DB_ratio_map = 0; if (DB_file->IsZombie()) { cout << "didn't find BP file" << endl; // look for a direct beam dataset - sprintf(savename,"data/M%3.3d/DB_ratio_M%3.3d.root", modules[j], modules[j]); + sprintf(savename,"data/M%3.3d/DB_ratio_M%3.3d.root", j, j); DB_file = new TFile((char*)savename,"READ"); if (DB_file->IsZombie()) { @@ -203,7 +94,7 @@ int main(int argc, char* argv[]) { } // Current source dataset - sprintf(savename,"data/M%3.3d/CS_ratio_M%3.3d.root", modules[j], modules[j]); + sprintf(savename,"data/M%3.3d/CS_ratio_M%3.3d.root", j, j); TFile* CS_file = new TFile((char*)savename,"READ"); TH2F* CS_ratio_map = 0; if (CS_file->IsZombie()) { @@ -290,7 +181,7 @@ int main(int argc, char* argv[]) { } - modules_d.push_back(modules[j]); + modules_d.push_back(j); hg0_missing.push_back(this_hg0_missing); hg0_crazy.push_back(this_hg0_crazy); g0_missing.push_back(this_g0_missing); @@ -301,7 +192,7 @@ int main(int argc, char* argv[]) { g2_crazy.push_back(this_g2_crazy); anygain_missing_or_crazy.push_back(this_anygain_missing_or_crazy); - } // end of modules + } TCanvas *c1 = new TCanvas("c1","",150,10,800,400); c1->SetLeftMargin(0.12); diff --git a/JFMC_ModuleComp.cpp b/JFMC_ModuleComp.cpp index 382779c..e7a3b6b 100644 --- a/JFMC_ModuleComp.cpp +++ b/JFMC_ModuleComp.cpp @@ -24,126 +24,6 @@ int main(int argc, char* argv[]) { jungfrauStyle(); GainMaps *mapsObject = new GainMaps; - - vector modules; - modules.push_back(6); - modules.push_back(8); - modules.push_back(11); - modules.push_back(21); - modules.push_back(22); - modules.push_back(27); - modules.push_back(28); - modules.push_back(32); - modules.push_back(35); - modules.push_back(39); - modules.push_back(40); - modules.push_back(43); - modules.push_back(44); - modules.push_back(45); - modules.push_back(46); - modules.push_back(48); - modules.push_back(49); - modules.push_back(50); - modules.push_back(51); - modules.push_back(53); - modules.push_back(54); - modules.push_back(55); - modules.push_back(57); - modules.push_back(58); - modules.push_back(59); - modules.push_back(60); - modules.push_back(61); - modules.push_back(62); - modules.push_back(63); - modules.push_back(64); - modules.push_back(65); - modules.push_back(66); - modules.push_back(67); - modules.push_back(68); - modules.push_back(69); - modules.push_back(70); - modules.push_back(71); - modules.push_back(72); - modules.push_back(73); - modules.push_back(74); - modules.push_back(75); - modules.push_back(76); - modules.push_back(79); - modules.push_back(80); - modules.push_back(86); - modules.push_back(88); - modules.push_back(89); - modules.push_back(90); - modules.push_back(91); - modules.push_back(92); - modules.push_back(93); - modules.push_back(94); - modules.push_back(95); - modules.push_back(97); - modules.push_back(98); - modules.push_back(99); - modules.push_back(100); - modules.push_back(102); - modules.push_back(103); - modules.push_back(104); - modules.push_back(106); - modules.push_back(107); - modules.push_back(108); - modules.push_back(109); - modules.push_back(110); - modules.push_back(111); - modules.push_back(112); - modules.push_back(113); - modules.push_back(114); - modules.push_back(115); - modules.push_back(116); - modules.push_back(117); - modules.push_back(118); - modules.push_back(119); - modules.push_back(120); - modules.push_back(121); - modules.push_back(122); - modules.push_back(123); - modules.push_back(124); - modules.push_back(125); - modules.push_back(126); - modules.push_back(129); - modules.push_back(130); - modules.push_back(131); - modules.push_back(132); - modules.push_back(133); - modules.push_back(134); - modules.push_back(135); - modules.push_back(200); - modules.push_back(201); - modules.push_back(202); - modules.push_back(203); - modules.push_back(204); - modules.push_back(205); - modules.push_back(206); - modules.push_back(208); - modules.push_back(209); - modules.push_back(210); - modules.push_back(212); - modules.push_back(214); - modules.push_back(215); - modules.push_back(216); - modules.push_back(217); - modules.push_back(218); - modules.push_back(219); - modules.push_back(221); - modules.push_back(222); - modules.push_back(223); - modules.push_back(224); - modules.push_back(226); - modules.push_back(227); - modules.push_back(229); - modules.push_back(231); - modules.push_back(232); - modules.push_back(233); - modules.push_back(234); - modules.push_back(235); - modules.push_back(236); vector modules_d; vector module_errs; @@ -163,7 +43,7 @@ int main(int argc, char* argv[]) { TH1F* g2hist = new TH1F("g2hist","",100,-0.2,0); TH1F* hg0hist = new TH1F("hg0hist","",100,80,120); - for (size_t j = 0; j < modules.size(); j++) { + for (int j = 0; j < 300; j++) { // clear gain maps for (int i = 0; i < NCH; i++) { @@ -175,9 +55,12 @@ int main(int argc, char* argv[]) { // get gain maps fstream infile; - sprintf(savename,"data/M%3.3d/gainMaps_M%3.3d.bin", modules[j], modules[j]); + sprintf(savename,"data/M%3.3d/gainMaps_M%3.3d.bin", j, j); infile.open((char*)savename, ios::in | ios::binary); - + if (not infile.is_open()) { + continue; + } + infile.read((char*)mapsObject->g0VALs, sizeof(mapsObject->g0VALs)); infile.read((char*)mapsObject->g1VALs, sizeof(mapsObject->g1VALs)); infile.read((char*)mapsObject->g2VALs, sizeof(mapsObject->g2VALs)); @@ -192,7 +75,7 @@ int main(int argc, char* argv[]) { hg0hist->Fill(mapsObject->hg0VALs[i]); } - modules_d.push_back(modules[j]); + modules_d.push_back(j); module_errs.push_back(0.); g0_means.push_back(g0hist->GetMean()); g0_rmss.push_back(g0hist->GetRMS());