Adjustment for new scan for module 045 and existing module 022. Normalised plots, better error check.
This commit is contained in:
@@ -79,14 +79,20 @@ int main(int argc, char* argv[]) {
|
||||
thisfile->readNextFrame();
|
||||
pixelMaskObject->maskIfGainNot(0, thisfile->getFrameDataHandle(), (int*)(&pixel_mask));
|
||||
}
|
||||
cout << "after G0, n masked pixels is " << pixelMaskObject->getNMasked(pixel_mask) << endl;
|
||||
|
||||
for (int i = 0; i < 640; i++) {
|
||||
thisfile->readNextFrame();
|
||||
pixelMaskObject->maskIfGainNot(1, thisfile->getFrameDataHandle(), (int*)(&pixel_mask));
|
||||
}
|
||||
cout << "after G1, n masked pixels is " << pixelMaskObject->getNMasked(pixel_mask) << endl;
|
||||
|
||||
for (int i = 0; i < 640; i++) {
|
||||
thisfile->readNextFrame();
|
||||
pixelMaskObject->maskIfGainNot(3, thisfile->getFrameDataHandle(), (int*)(&pixel_mask));
|
||||
}
|
||||
cout << "after G2, n masked pixels is " << pixelMaskObject->getNMasked(pixel_mask) << endl;
|
||||
|
||||
thisfile->rewind();
|
||||
|
||||
sprintf(savename,"plots/M%s/CurrentSource/pixelmask.png", module_str.c_str());
|
||||
@@ -172,7 +178,7 @@ int main(int argc, char* argv[]) {
|
||||
pedeRMSG1->GetYaxis()->SetTitleOffset(0.7);
|
||||
if (module_str == "006") {
|
||||
pedeRMSG1->GetZaxis()->SetRangeUser(0,400);
|
||||
} else if (module_str == "008" || module_str == "021" || module_str == "022" || module_str == "032" || module_str == "040" || module_str == "044") {
|
||||
} else if (module_str == "008" || module_str == "021" || module_str == "022" || module_str == "032" || module_str == "040" || module_str == "044" || module_str == "045") {
|
||||
pedeRMSG1->GetZaxis()->SetRangeUser(0,15);
|
||||
}
|
||||
pedeRMSG1->Draw("colz");
|
||||
@@ -184,24 +190,24 @@ int main(int argc, char* argv[]) {
|
||||
pedeRMSG2->GetYaxis()->SetTitleOffset(0.7);
|
||||
if (module_str == "006") {
|
||||
pedeRMSG2->GetZaxis()->SetRangeUser(0,400);
|
||||
} else if (module_str == "008" || module_str == "021" || module_str == "022" || module_str == "032" || module_str == "040" || module_str == "044") {
|
||||
} else if (module_str == "008" || module_str == "021" || module_str == "022" || module_str == "032" || module_str == "040" || module_str == "044" || module_str == "045") {
|
||||
pedeRMSG2->GetZaxis()->SetRangeUser(0,15);
|
||||
}
|
||||
pedeRMSG2->Draw("colz");
|
||||
sprintf(savename,"plots/M%s/CurrentSource/pedeRMSG2.png", module_str.c_str());
|
||||
mapcanvas->SaveAs((const char *)(savename));
|
||||
|
||||
TH2F *adcmap_avg_g1 [35];
|
||||
TH2F *adcmap_avg_g2 [35];
|
||||
TH2F *adcermap_avg_g1 [35];
|
||||
TH2F *adcermap_avg_g2 [35];
|
||||
TH2F *adcmap_avg_g1 [51];
|
||||
TH2F *adcmap_avg_g2 [51];
|
||||
TH2F *adcermap_avg_g1 [51];
|
||||
TH2F *adcermap_avg_g2 [51];
|
||||
|
||||
TCanvas *c1 = new TCanvas("c1","");
|
||||
|
||||
// creating the histograms
|
||||
if (createHistoFile) {
|
||||
|
||||
for(int i = 0; i < 35; i++) {
|
||||
for(int i = 0; i < 51; i++) {
|
||||
ostringstream histogramNameStreamg1;
|
||||
histogramNameStreamg1 << "adcmap_avg_g1_" << i;
|
||||
adcmap_avg_g1[i] = new TH2F(histogramNameStreamg1.str().c_str(),"",NC,-0.5,NC-0.5,NR,-0.5,NR-0.5);
|
||||
@@ -245,10 +251,12 @@ int main(int argc, char* argv[]) {
|
||||
int frame_counter = 0;
|
||||
int j = 0;
|
||||
int nfiles = 0;
|
||||
if (module_str == "032" || module_str == "021" || module_str == "022") {
|
||||
if (module_str == "032" || module_str == "021") {
|
||||
nfiles = 2;
|
||||
} else if (module_str == "006" || module_str == "008" || module_str == "040" || module_str == "044") {
|
||||
nfiles = 3;
|
||||
} else if (module_str == "045" || module_str == "022") {
|
||||
nfiles = 4;
|
||||
}
|
||||
|
||||
for (int filei = 0; filei < nfiles; filei++) {
|
||||
@@ -336,8 +344,9 @@ int main(int argc, char* argv[]) {
|
||||
}
|
||||
|
||||
// catch the last frame (bad ctrl-c exit)
|
||||
// new receiver doesn't have this problem
|
||||
int last_frame = 0;
|
||||
if (module_str == "032" || module_str == "021" || module_str == "022") {
|
||||
if (module_str == "032" || module_str == "021") {
|
||||
last_frame = 19199;
|
||||
} else if (module_str == "006" || module_str == "008" || module_str == "044") {
|
||||
last_frame = 24319;
|
||||
@@ -456,7 +465,7 @@ int main(int argc, char* argv[]) {
|
||||
sprintf(savename,"/mnt/pcmoench_jungfrau_data/jungfrau_ana_sophie/M%s_CalibAna/CS_histos_M%s.root", module_str.c_str(), module_str.c_str());
|
||||
TFile* saved_file = new TFile((const char *)(savename),"RECREATE");
|
||||
|
||||
for (int i = 0; i < 35; i++) {
|
||||
for (int i = 0; i < 51; i++) {
|
||||
adcmap_avg_g1[i]->Write();
|
||||
adcmap_avg_g2[i]->Write();
|
||||
adcermap_avg_g1[i]->Write();
|
||||
@@ -469,7 +478,7 @@ int main(int argc, char* argv[]) {
|
||||
sprintf(savename,"/mnt/pcmoench_jungfrau_data/jungfrau_ana_sophie/M%s_CalibAna/CS_histos_M%s.root", module_str.c_str(), module_str.c_str());
|
||||
TFile* saved_file = new TFile((const char *)(savename),"READ");
|
||||
|
||||
for (int i = 0; i < 35; i++) {
|
||||
for (int i = 0; i < 51; i++) {
|
||||
sprintf(savename,"adcmap_avg_g1_%d", i);
|
||||
adcmap_avg_g1[i] = (TH2F*)saved_file->Get((const char *)(savename));
|
||||
sprintf(savename,"adcmap_avg_g2_%d", i);
|
||||
@@ -497,7 +506,7 @@ int main(int argc, char* argv[]) {
|
||||
TH1F *g1hist = 0;
|
||||
if (module_str == "032") {
|
||||
g1hist = new TH1F("g1hist","",100,-12000,-4000);
|
||||
} else if (module_str == "022" || module_str == "021" || module_str == "006" || module_str == "008" || module_str == "040" || module_str == "044") {
|
||||
} else if (module_str == "022" || module_str == "021" || module_str == "006" || module_str == "008" || module_str == "040" || module_str == "044" || module_str == "045") {
|
||||
g1hist = new TH1F("g1hist","",100,-3000,0);
|
||||
}
|
||||
TH1F *g1erhist = new TH1F("g1erhist","",100,0,50);
|
||||
@@ -505,7 +514,7 @@ int main(int argc, char* argv[]) {
|
||||
TH1F *g2hist = 0;
|
||||
if (module_str == "032") {
|
||||
g2hist = new TH1F("g2hist","",100,-1000,-200);
|
||||
} else if (module_str == "022" || module_str == "021" || module_str == "006" || module_str == "008" || module_str == "040" || module_str == "044") {
|
||||
} else if (module_str == "022" || module_str == "021" || module_str == "006" || module_str == "008" || module_str == "040" || module_str == "044" || module_str == "045") {
|
||||
g2hist = new TH1F("g2hist","",100,-300,0);
|
||||
}
|
||||
TH1F *g2erhist = new TH1F("g2erhist","",100,0,10);
|
||||
@@ -523,7 +532,7 @@ int main(int argc, char* argv[]) {
|
||||
TH1F *g1overg2_isQuad = new TH1F("g1overg2_isQuad","",100,11,15);
|
||||
TH1F *g1overg2_isBulk = new TH1F("g1overg2_isBulk","",100,11,15);
|
||||
|
||||
double filter[35];
|
||||
double filter[51];
|
||||
if (module_str == "040" || module_str == "044") {
|
||||
for (int i = 0; i < 5; i++) {
|
||||
filter[i] = 0.05+(i*0.05);
|
||||
@@ -534,6 +543,19 @@ int main(int argc, char* argv[]) {
|
||||
for (int i = 0; i < 17; i++) {
|
||||
filter[i+5+9] = 5.+(i*2.5);
|
||||
}
|
||||
} else if (module_str == "045" || module_str == "022") {
|
||||
for (int i = 0; i < 9; i++) {
|
||||
filter[i] = 0.05+(i*0.05);
|
||||
}
|
||||
for (int i = 0; i < 17; i++) {
|
||||
filter[i+9] = 0.5+(i*0.25);
|
||||
}
|
||||
for (int i = 0; i < 17; i++) {
|
||||
filter[i+9+17] = 5.+(i*2.5);
|
||||
}
|
||||
for (int i = 0; i < 8; i++) {
|
||||
filter[i+9+17+17] = 50.+(i*10.);
|
||||
}
|
||||
} else {
|
||||
for (int i = 0; i < 9; i++) {
|
||||
filter[i] = 0.05+(i*0.025);
|
||||
@@ -564,21 +586,23 @@ int main(int argc, char* argv[]) {
|
||||
|
||||
// filter out points at zero and points with 0 error (mean taken from one entry in hist)
|
||||
int m_max = 0;
|
||||
if (module_str == "032" || module_str == "021" || module_str == "022" || module_str == "040" || module_str == "044") {
|
||||
if (module_str == "032" || module_str == "021" || module_str == "040" || module_str == "044") {
|
||||
m_max = 27;
|
||||
} else if (module_str == "006" || module_str == "008") {
|
||||
m_max = 35;
|
||||
} else if (module_str == "045" || module_str == "022") {
|
||||
m_max = 51;
|
||||
}
|
||||
|
||||
for (int m = 0; m < m_max; m++) {
|
||||
|
||||
if (adcmap_avg_g1[m]->GetBinContent((i%NC)+1,(i/NC)+1) != 0 && adcermap_avg_g1[m]->GetBinContent((i%NC)+1,(i/NC)+1) != 0) {
|
||||
if (adcmap_avg_g1[m]->GetBinContent((i%NC)+1,(i/NC)+1) != 0 && adcermap_avg_g1[m]->GetBinContent((i%NC)+1,(i/NC)+1) > 0) {
|
||||
r1_adc.push_back(adcmap_avg_g1[m]->GetBinContent((i%NC)+1,(i/NC)+1));
|
||||
r1_filter.push_back(filter[m]);
|
||||
r1_adcerr.push_back(adcermap_avg_g1[m]->GetBinContent((i%NC)+1,(i/NC)+1));
|
||||
r1_ferr.push_back(0.);
|
||||
}
|
||||
if (adcmap_avg_g2[m]->GetBinContent((i%NC)+1,(i/NC)+1) != 0 && adcermap_avg_g2[m]->GetBinContent((i%NC)+1,(i/NC)+1) != 0) {
|
||||
if (adcmap_avg_g2[m]->GetBinContent((i%NC)+1,(i/NC)+1) != 0 && adcermap_avg_g2[m]->GetBinContent((i%NC)+1,(i/NC)+1) > 0) {
|
||||
r3_adc.push_back(adcmap_avg_g2[m]->GetBinContent((i%NC)+1,(i/NC)+1));
|
||||
r3_filter.push_back(filter[m]);
|
||||
r3_adcerr.push_back(adcermap_avg_g2[m]->GetBinContent((i%NC)+1,(i/NC)+1));
|
||||
@@ -602,7 +626,7 @@ int main(int argc, char* argv[]) {
|
||||
rangemin2 = 0.75;
|
||||
} else if (module_str == "006") {
|
||||
rangemin2 = 0.075;
|
||||
} else if (module_str == "008" || module_str == "021" || module_str == "022" || module_str == "040" || module_str == "044") {
|
||||
} else if (module_str == "008" || module_str == "021" || module_str == "022" || module_str == "040" || module_str == "044" || module_str == "045") {
|
||||
rangemin2 = *min_element(r1_filter.begin(),r1_filter.end());
|
||||
}
|
||||
double rangemax2 = *max_element(r1_filter.begin(),r1_filter.end());
|
||||
@@ -633,7 +657,7 @@ int main(int argc, char* argv[]) {
|
||||
double rangemin3 = 0;
|
||||
if (module_str == "032") {
|
||||
rangemin3 = 5;
|
||||
} else if (module_str == "006" || module_str == "008" || module_str == "021" || module_str == "022" || module_str == "040" || module_str == "044") {
|
||||
} else if (module_str == "006" || module_str == "008" || module_str == "021" || module_str == "022" || module_str == "040" || module_str == "044" || module_str == "045") {
|
||||
rangemin3 = *min_element(r3_filter.begin(),r3_filter.end());
|
||||
}
|
||||
double rangemax3 = *max_element(r3_filter.begin(),r3_filter.end());
|
||||
@@ -767,10 +791,53 @@ int main(int argc, char* argv[]) {
|
||||
mapcanvas->SaveAs((const char *)(savename));
|
||||
mapcanvas->SetLogx(0);
|
||||
|
||||
// normalise
|
||||
vector<double> r1_adc_norm;
|
||||
vector<double> r3_adc_norm;
|
||||
for (size_t j = 0; j < r1_adc.size(); j++) {
|
||||
r1_adc_norm.push_back(r1_adc[j] - fit2->Eval(r1_filter[j]));
|
||||
}
|
||||
for (size_t j = 0; j < r3_adc.size(); j++) {
|
||||
r3_adc_norm.push_back(r3_adc[j] - fit3->Eval(r3_filter[j]));
|
||||
}
|
||||
TGraphErrors *grap1_norm = new TGraphErrors(r1_adc.size(),&(r1_filter[0]),&(r1_adc_norm[0]),&(r1_ferr[0]),&(r1_adcerr[0]));
|
||||
TGraphErrors *grap2_norm = new TGraphErrors(r3_adc.size(),&(r3_filter[0]),&(r3_adc_norm[0]),&(r3_ferr[0]),&(r3_adcerr[0]));
|
||||
|
||||
TF1* flat_g1 = new TF1("flat_g1","0",rangemin2, rangemax2);
|
||||
TF1* flat_g2 = new TF1("flat_g2","0",rangemin3, rangemax3);
|
||||
|
||||
grap1_norm->SetMarkerColor(kGreen+2);
|
||||
grap1_norm->SetLineColor(kGreen+2);
|
||||
flat_g1->SetLineColor(kGreen+2);
|
||||
grap1_norm->GetXaxis()->SetTitle("Integration time [#mus]");
|
||||
grap1_norm->GetYaxis()->SetTitle("Normalised ADC [ADU]");
|
||||
grap1_norm->GetYaxis()->SetTitleOffset(0.9);
|
||||
grap1_norm->SetMinimum(-100);
|
||||
grap1_norm->SetMaximum(100);
|
||||
grap1_norm->Draw("AP");
|
||||
flat_g1->Draw("same");
|
||||
sprintf(savename,"plots/M%s/CurrentSource/pixel_%s_%d_g1norm.png", module_str.c_str(), pixel_type.c_str(), i);
|
||||
mapcanvas->SaveAs((const char *)(savename));
|
||||
|
||||
grap2_norm->SetMarkerColor(kRed);
|
||||
grap2_norm->SetLineColor(kRed);
|
||||
flat_g2->SetLineColor(kRed);
|
||||
grap2_norm->GetXaxis()->SetTitle("Integration time [#mus]");
|
||||
grap2_norm->GetYaxis()->SetTitle("Normalised ADC [ADU]");
|
||||
grap2_norm->GetYaxis()->SetTitleOffset(0.9);
|
||||
grap2_norm->SetMinimum(-100);
|
||||
grap2_norm->SetMaximum(100);
|
||||
grap2_norm->Draw("AP");
|
||||
flat_g2->Draw("same");
|
||||
sprintf(savename,"plots/M%s/CurrentSource/pixel_%s_%d_g2norm.png", module_str.c_str(), pixel_type.c_str(), i);
|
||||
mapcanvas->SaveAs((const char *)(savename));
|
||||
|
||||
mapcanvas->SetLeftMargin(0.1);
|
||||
mapcanvas->SetRightMargin(0.13);
|
||||
delete fit2_e;
|
||||
delete fit3_e;
|
||||
delete grap1_norm;
|
||||
delete grap2_norm;
|
||||
}
|
||||
|
||||
delete grap_g1;
|
||||
@@ -890,7 +957,7 @@ int main(int argc, char* argv[]) {
|
||||
g1map->GetYaxis()->SetTitleOffset(0.7);
|
||||
if (module_str == "032") {
|
||||
g1map->GetZaxis()->SetRangeUser(-12000,-4000);
|
||||
} else if (module_str == "022" || module_str == "021" || module_str == "006" || module_str == "008" || module_str == "040" || module_str == "044") {
|
||||
} else if (module_str == "022" || module_str == "021" || module_str == "006" || module_str == "008" || module_str == "040" || module_str == "044" || module_str == "045") {
|
||||
g1map->GetZaxis()->SetRangeUser(-3000,0);
|
||||
}
|
||||
g1map->Draw("colz");
|
||||
@@ -902,7 +969,7 @@ int main(int argc, char* argv[]) {
|
||||
g2map->GetYaxis()->SetTitleOffset(0.7);
|
||||
if (module_str == "032") {
|
||||
g2map->GetZaxis()->SetRangeUser(-800,-400);
|
||||
} else if (module_str == "022" || module_str == "021" || module_str == "006" || module_str == "008" || module_str == "040" || module_str == "044") {
|
||||
} else if (module_str == "022" || module_str == "021" || module_str == "006" || module_str == "008" || module_str == "040" || module_str == "044" || module_str == "045") {
|
||||
g2map->GetZaxis()->SetRangeUser(-200,-50);
|
||||
}
|
||||
g2map->Draw("colz");
|
||||
|
||||
Reference in New Issue
Block a user