Automatically find all calibrated modules, don't need the list by hand.

This commit is contained in:
redford_s
2019-02-26 14:09:43 +01:00
parent 2a9a583d17
commit 597a685bc9
2 changed files with 26 additions and 252 deletions

View File

@ -3,6 +3,8 @@
#include "../sls_detector_calibration/jungfrauCommonHeader.h" #include "../sls_detector_calibration/jungfrauCommonHeader.h"
#include "../sls_detector_calibration/jungfrauCommonFunctions.h" #include "../sls_detector_calibration/jungfrauCommonFunctions.h"
#include <fstream>
#include "TCanvas.h" #include "TCanvas.h"
#include "TFile.h" #include "TFile.h"
#include "TH2F.h" #include "TH2F.h"
@ -13,126 +15,6 @@ int main(int argc, char* argv[]) {
jungfrauStyle(); jungfrauStyle();
vector<int> 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<double> modules_d; vector<double> modules_d;
vector<double> hg0_missing; vector<double> hg0_missing;
vector<double> hg0_crazy; vector<double> hg0_crazy;
@ -146,7 +28,16 @@ int main(int argc, char* argv[]) {
char savename[128]; 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_missing = 0;
int this_hg0_crazy = 0; int this_hg0_crazy = 0;
@ -159,7 +50,7 @@ int main(int argc, char* argv[]) {
int this_anygain_missing_or_crazy = 0; int this_anygain_missing_or_crazy = 0;
// CuFluo HG0 dataset // 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"); TFile* FL_HG0_file = new TFile((char*)savename,"READ");
TH2F* FL_HG0_gain_map = 0; TH2F* FL_HG0_gain_map = 0;
if (FL_HG0_file->IsZombie()) { if (FL_HG0_file->IsZombie()) {
@ -169,7 +60,7 @@ int main(int argc, char* argv[]) {
} }
// CuFluo G0 dataset // 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"); TFile* FL_G0_file = new TFile((char*)savename,"READ");
TH2F* FL_G0_gain_map = 0; TH2F* FL_G0_gain_map = 0;
if (FL_G0_file->IsZombie()) { if (FL_G0_file->IsZombie()) {
@ -179,14 +70,14 @@ int main(int argc, char* argv[]) {
} }
// Backplane pulsing dataset // 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"); TFile* DB_file = new TFile((char*)savename,"READ");
TH2F* DB_ratio_map = 0; TH2F* DB_ratio_map = 0;
if (DB_file->IsZombie()) { if (DB_file->IsZombie()) {
cout << "didn't find BP file" << endl; cout << "didn't find BP file" << endl;
// look for a direct beam dataset // 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"); DB_file = new TFile((char*)savename,"READ");
if (DB_file->IsZombie()) { if (DB_file->IsZombie()) {
@ -203,7 +94,7 @@ int main(int argc, char* argv[]) {
} }
// Current source dataset // 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"); TFile* CS_file = new TFile((char*)savename,"READ");
TH2F* CS_ratio_map = 0; TH2F* CS_ratio_map = 0;
if (CS_file->IsZombie()) { 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_missing.push_back(this_hg0_missing);
hg0_crazy.push_back(this_hg0_crazy); hg0_crazy.push_back(this_hg0_crazy);
g0_missing.push_back(this_g0_missing); g0_missing.push_back(this_g0_missing);
@ -301,7 +192,7 @@ int main(int argc, char* argv[]) {
g2_crazy.push_back(this_g2_crazy); g2_crazy.push_back(this_g2_crazy);
anygain_missing_or_crazy.push_back(this_anygain_missing_or_crazy); anygain_missing_or_crazy.push_back(this_anygain_missing_or_crazy);
} // end of modules }
TCanvas *c1 = new TCanvas("c1","",150,10,800,400); TCanvas *c1 = new TCanvas("c1","",150,10,800,400);
c1->SetLeftMargin(0.12); c1->SetLeftMargin(0.12);

View File

@ -25,126 +25,6 @@ int main(int argc, char* argv[]) {
GainMaps *mapsObject = new GainMaps; GainMaps *mapsObject = new GainMaps;
vector<int> 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<double> modules_d; vector<double> modules_d;
vector<double> module_errs; vector<double> module_errs;
vector<double> g0_means; vector<double> g0_means;
@ -163,7 +43,7 @@ int main(int argc, char* argv[]) {
TH1F* g2hist = new TH1F("g2hist","",100,-0.2,0); TH1F* g2hist = new TH1F("g2hist","",100,-0.2,0);
TH1F* hg0hist = new TH1F("hg0hist","",100,80,120); 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 // clear gain maps
for (int i = 0; i < NCH; i++) { for (int i = 0; i < NCH; i++) {
@ -175,8 +55,11 @@ int main(int argc, char* argv[]) {
// get gain maps // get gain maps
fstream infile; 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); 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->g0VALs, sizeof(mapsObject->g0VALs));
infile.read((char*)mapsObject->g1VALs, sizeof(mapsObject->g1VALs)); infile.read((char*)mapsObject->g1VALs, sizeof(mapsObject->g1VALs));
@ -192,7 +75,7 @@ int main(int argc, char* argv[]) {
hg0hist->Fill(mapsObject->hg0VALs[i]); hg0hist->Fill(mapsObject->hg0VALs[i]);
} }
modules_d.push_back(modules[j]); modules_d.push_back(j);
module_errs.push_back(0.); module_errs.push_back(0.);
g0_means.push_back(g0hist->GetMean()); g0_means.push_back(g0hist->GetMean());
g0_rmss.push_back(g0hist->GetRMS()); g0_rmss.push_back(g0hist->GetRMS());