Changed from using arrays to use 2D histos which could now be saved. Results unchanged.

This commit is contained in:
redford_s
2017-04-04 16:48:08 +02:00
parent a17b1d1529
commit defa8de64f

View File

@@ -50,9 +50,27 @@ int main(int argc, char* argv[]) {
TH1F *gain_avg = new TH1F("gain_avg","",100,-1,4);
TH2F *gainmap_avg = new TH2F("gainmap_avg","",NC,-0.5,NC-0.5,NR,-0.5,NR-0.5);
TH1F *adc_avg_g1 = new TH1F("adc_avg_g1","",100,0,17000);
TH2F *adcmap_avg_g1 = new TH2F("adcmap_avg_g1","",NC,-0.5,NC-0.5,NR,-0.5,NR-0.5);
TH1F *adc_avg_g2 = new TH1F("adc_avg_g2","",100,0,17000);
TH2F *adcmap_avg_g2 = new TH2F("adcmap_avg_g2","",NC,-0.5,NC-0.5,NR,-0.5,NR-0.5);
TH2F *adcmap_avg_g1 [35];
TH2F *adcmap_avg_g2 [35];
TH2F *adcermap_avg_g1 [35];
TH2F *adcermap_avg_g2 [35];
for(int i = 0; i < 35; 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);
ostringstream histogramNameStreamg2;
histogramNameStreamg2 << "adcmap_avg_g2_" << i;
adcmap_avg_g2[i] = new TH2F(histogramNameStreamg2.str().c_str(),"",NC,-0.5,NC-0.5,NR,-0.5,NR-0.5);
ostringstream histogramNameStreamg3;
histogramNameStreamg3 << "adcermap_avg_g1_" << i;
adcermap_avg_g1[i] = new TH2F(histogramNameStreamg3.str().c_str(),"",NC,-0.5,NC-0.5,NR,-0.5,NR-0.5);
ostringstream histogramNameStreamg4;
histogramNameStreamg4 << "adcermap_avg_g2_" << i;
adcermap_avg_g2[i] = new TH2F(histogramNameStreamg4.str().c_str(),"",NC,-0.5,NC-0.5,NR,-0.5,NR-0.5);
}
jungfrauPedestal *pedestalObject = new jungfrauPedestal();
pedestalObject->pedestalSetNFrames(640);
@@ -117,11 +135,6 @@ int main(int argc, char* argv[]) {
}
}
static double adcmeans_g1[NCH][35];
static double adcmeans_g2[NCH][35];
static double adcmeanerrs_g1[NCH][35];
static double adcmeanerrs_g2[NCH][35];
double pede_ene[1];
pede_ene[0] = 0.01;
@@ -352,25 +365,25 @@ int main(int argc, char* argv[]) {
for (int i = 0; i < NCH; i++) {
if (pixel_mask[i] == 1) {
adcmeans_g1[i][j/640-1] = adc_histos_g1[i]->GetMean();
adcmeans_g2[i][j/640-1] = adc_histos_g2[i]->GetMean();
adcmeanerrs_g1[i][j/640-1] = adc_histos_g1[i]->GetMeanError();
adcmeanerrs_g2[i][j/640-1] = adc_histos_g2[i]->GetMeanError();
gainmap_avg->Fill(i%NC,i/NC,gain_histos[i]->GetMean());
adcmap_avg_g1[j/640-1]->Fill(i%NC,i/NC,adc_histos_g1[i]->GetMean());
adcermap_avg_g1[j/640-1]->Fill(i%NC,i/NC,adc_histos_g1[i]->GetMeanError());
adcmap_avg_g2[j/640-1]->Fill(i%NC,i/NC,adc_histos_g2[i]->GetMean());
adcermap_avg_g2[j/640-1]->Fill(i%NC,i/NC,adc_histos_g2[i]->GetMeanError());
if (gain_histos[i]->GetEntries() > 0) {
gain_avg->Fill(gain_histos[i]->GetMean());
gainmap_avg->Fill(i%NC,i/NC,gain_histos[i]->GetMean());
}
gain_histos[i]->Reset();
if (adc_histos_g1[i]->GetEntries() > 0) {
adc_avg_g1->Fill(adc_histos_g1[i]->GetMean());
adcmap_avg_g1->Fill(i%NC,i/NC,adc_histos_g1[i]->GetMean());
}
adc_histos_g1[i]->Reset();
if (adc_histos_g2[i]->GetEntries() > 0) {
adc_avg_g2->Fill(adc_histos_g2[i]->GetMean());
adcmap_avg_g2->Fill(i%NC,i/NC,adc_histos_g2[i]->GetMean());
}
gain_histos[i]->Reset();
adc_histos_g1[i]->Reset();
adc_histos_g2[i]->Reset();
}
}
@@ -397,13 +410,20 @@ int main(int argc, char* argv[]) {
sprintf(savename,"plots/M%s/CurrentSource/perStep/adc_avg_g1_%i.png", module_str.c_str(), j/640);
c1->SaveAs((const char *)(savename));
mapcanvas->cd();
adcmap_avg_g1->GetXaxis()->SetTitle("Column");
adcmap_avg_g1->GetYaxis()->SetTitle("Row");
adcmap_avg_g1->GetYaxis()->SetTitleOffset(0.7);
adcmap_avg_g1->Draw("colz");
adcmap_avg_g1[j/640-1]->GetXaxis()->SetTitle("Column");
adcmap_avg_g1[j/640-1]->GetYaxis()->SetTitle("Row");
adcmap_avg_g1[j/640-1]->GetYaxis()->SetTitleOffset(0.7);
adcmap_avg_g1[j/640-1]->Draw("colz");
mapcanvas->Update();
sprintf(savename,"plots/M%s/CurrentSource/perStep/adcmap_avg_g1_%i.png", module_str.c_str(), j/640);
mapcanvas->SaveAs((const char *)(savename));
adcermap_avg_g1[j/640-1]->GetXaxis()->SetTitle("Column");
adcermap_avg_g1[j/640-1]->GetYaxis()->SetTitle("Row");
adcermap_avg_g1[j/640-1]->GetYaxis()->SetTitleOffset(0.7);
adcermap_avg_g1[j/640-1]->Draw("colz");
mapcanvas->Update();
sprintf(savename,"plots/M%s/CurrentSource/perStep/adcermap_avg_g1_%i.png", module_str.c_str(), j/640);
mapcanvas->SaveAs((const char *)(savename));
c1->cd();
adc_avg_g2->GetXaxis()->SetTitle("Average G2 ADC");
@@ -413,18 +433,23 @@ int main(int argc, char* argv[]) {
sprintf(savename,"plots/M%s/CurrentSource/perStep/adc_avg_g2_%i.png", module_str.c_str(), j/640);
c1->SaveAs((const char *)(savename));
mapcanvas->cd();
adcmap_avg_g2->GetXaxis()->SetTitle("Column");
adcmap_avg_g2->GetYaxis()->SetTitle("Row");
adcmap_avg_g2->GetYaxis()->SetTitleOffset(0.7);
adcmap_avg_g2->Draw("colz");
adcmap_avg_g2[j/640-1]->GetXaxis()->SetTitle("Column");
adcmap_avg_g2[j/640-1]->GetYaxis()->SetTitle("Row");
adcmap_avg_g2[j/640-1]->GetYaxis()->SetTitleOffset(0.7);
adcmap_avg_g2[j/640-1]->Draw("colz");
sprintf(savename,"plots/M%s/CurrentSource/perStep/adcmap_avg_g2_%i.png", module_str.c_str(), j/640);
mapcanvas->SaveAs((const char *)(savename));
adcermap_avg_g2[j/640-1]->GetXaxis()->SetTitle("Column");
adcermap_avg_g2[j/640-1]->GetYaxis()->SetTitle("Row");
adcermap_avg_g2[j/640-1]->GetYaxis()->SetTitleOffset(0.7);
adcermap_avg_g2[j/640-1]->Draw("colz");
sprintf(savename,"plots/M%s/CurrentSource/perStep/adcermap_avg_g2_%i.png", module_str.c_str(), j/640);
mapcanvas->SaveAs((const char *)(savename));
gain_avg->Reset();
gainmap_avg->Reset();
adc_avg_g1->Reset();
adcmap_avg_g1->Reset();
adc_avg_g2->Reset();
adcmap_avg_g2->Reset();
}
} // end of while
@@ -452,7 +477,7 @@ int main(int argc, char* argv[]) {
TH2F *diffFromLinG1map = new TH2F("diffFromLinG1map","",NC,-0.5,NC-0.5,NR,-0.5,NR-0.5);
TH2F *diffFromLinG2map = new TH2F("diffFromLinG2map","",NC,-0.5,NC-0.5,NR,-0.5,NR-0.5);
TH1F *g1hist;
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 == "044") {
@@ -460,7 +485,7 @@ int main(int argc, char* argv[]) {
}
TH1F *g1erhist = new TH1F("g1erhist","",100,0,50);
TH1F *g2hist;
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 == "044") {
@@ -483,10 +508,6 @@ int main(int argc, char* argv[]) {
for (int i = 0; i < NCH; i++) {
if (pixel_mask[i] == 1) {
vector<double> r0_adc;
vector<double> r0_filter;
vector<double> r0_adcerr;
vector<double> r0_ferr;
vector<double> r1_adc;
vector<double> r1_filter;
@@ -507,16 +528,17 @@ int main(int argc, char* argv[]) {
}
for (int m = 0; m < m_max; m++) {
if (adcmeans_g1[i][m] != 0 && adcmeanerrs_g1[i][m] != 0) {
r1_adc.push_back(adcmeans_g1[i][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) {
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(adcmeanerrs_g1[i][m]);
r1_adcerr.push_back(adcermap_avg_g1[m]->GetBinContent((i%NC)+1,(i/NC)+1));
r1_ferr.push_back(0.);
}
if (adcmeans_g2[i][m] != 0 && adcmeanerrs_g2[i][m] != 0) {
r3_adc.push_back(adcmeans_g2[i][m]);
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(adcmeanerrs_g2[i][m]);
r3_adcerr.push_back(adcermap_avg_g2[m]->GetBinContent((i%NC)+1,(i/NC)+1));
r3_ferr.push_back(0.);
}
}