diff --git a/BP_analysis.cpp b/BP_analysis.cpp index 5f4f500..d449598 100644 --- a/BP_analysis.cpp +++ b/BP_analysis.cpp @@ -27,7 +27,7 @@ double checkRangeMaxForAmplifierPlateau(double range_max) { } } - +bool isHGX=false; int main(int argc, char* argv[]) { jungfrauStyle(); @@ -52,6 +52,16 @@ int main(int argc, char* argv[]) { } //uncomment for VH 210906 string module_str = argv[1]; + + string str2 ("HG0G1G2"); + +if (module_str.find(str2) == string::npos) isHGX=true; + + + if (isHGX) { cout << " HG0->HG1->HG2 sequence - dynamicHG0" <G1->G2 sequence - dynamicG0" <cd(); - TH1F* g0_grad_hist = new TH1F("g0_grad_hist","",100,5,10); + TH1F* g0_grad_hist = 0; + if (module_str == "351" || + module_str == "351_fullspeed" || + module_str == "352" || + module_str == "352_fullspeed" || + module_str == "261" || + module_str == "261_fullspeed" || + module_str == "310" || + module_str == "310_fullspeed" || + module_str == "312" || + module_str == "312_fullspeed" || + module_str == "264" || + module_str == "264_fullspeed" || + module_str == "253" || + module_str == "253_fullspeed" || + module_str == "307" || + module_str == "307_fullspeed") { + g0_grad_hist = new TH1F("g0_grad_hist","",100,3,10); + } else { + g0_grad_hist = new TH1F("g0_grad_hist","",100,5,10); + } TH1F* g0_grader_hist = new TH1F("g0_grader_hist","",100,0,0.002); - TH1F* g1_grad_hist = new TH1F("g1_grad_hist","",100,-0.3,-0.15); + TH1F* g1_grad_hist = 0; + if (module_str == "351" || + module_str == "351_fullspeed" || + module_str == "352" || + module_str == "352_fullspeed" || + module_str == "261" || + module_str == "261_fullspeed" || + module_str == "310" || + module_str == "310_fullspeed" || + module_str == "312" || + module_str == "312_fullspeed" || + module_str == "264" || + module_str == "264_fullspeed" || + module_str == "253" || + module_str == "253_fullspeed" || + module_str == "307" || + module_str == "307_fullspeed") { + g1_grad_hist = new TH1F("g1_grad_hist","",100,-0.3,-0.1); + } else { + g1_grad_hist = new TH1F("g1_grad_hist","",100,-0.3,-0.15); + } TH1F* g1_grader_hist = 0; if (module_str == "006") { g1_grader_hist = new TH1F("g1_grader_hist","",100,0,0.001); @@ -204,7 +254,7 @@ int main(int argc, char* argv[]) { int framecounter = 0; - for (int filei = 0; filei < 3; filei++) { + for (int filei = 0; filei < 3; filei++) { thisfile->open((char*)filename, filei); @@ -312,6 +362,7 @@ int main(int argc, char* argv[]) { vector r0_adc; vector r0_filter; + vector r0_adcerr; vector r0_ferr; @@ -378,6 +429,8 @@ int main(int argc, char* argv[]) { (i >= (256*1024)+10 && i < (256*1024)+10+10) || // double (i >= (257*1024)+10 && i < (257*1024)+10+10) || // next to double (i == (255*1024)+255) // quad + //|| (i >= (325*1024+902) && i < (325*1024+902)+10) // addon VH "high" G1 in Module 352 + //|| (i >= (331*1024+902) && i < (331*1024+902)+10) // addon VH "low" G1 in Module 352 ) { string pixel_type = "x"; @@ -442,6 +495,8 @@ int main(int argc, char* argv[]) { (i >= (256*1024)+10 && i < (256*1024)+10+10) || // double (i >= (257*1024)+10 && i < (257*1024)+10+10) || // next to double (i == (255*1024)+255) // quad + //|| (i >= (325*1024+902) && i < (325*1024+902)+10) // addon VH "high" G1 in Module 352 + //|| (i >= (331*1024+902) && i < (331*1024+902)+10) // addon VH "low" G1 in Module 352 ) { string pixel_type = "x"; @@ -521,8 +576,15 @@ int main(int argc, char* argv[]) { lin_g0_m02pc->SetLineColor(kOrange); norm_g0->GetXaxis()->SetRangeUser(*min_element(r0_filter.begin(),r0_filter.end()),*max_element(r0_filter.begin(),r0_filter.end())); + norm_g0->SetMinimum(1.5*lin_g0_m02pc->Eval(rangemax_g0)); norm_g0->SetMaximum(1.5*lin_g0_p02pc->Eval(rangemax_g0)); + + if (isHGX) { + norm_g0->SetMinimum(3*lin_g0_m02pc->Eval(rangemax_g0)); + norm_g0->SetMaximum(3*lin_g0_p02pc->Eval(rangemax_g0)); + } + norm_g0->GetXaxis()->SetTitle("Signal generator voltage [mV]"); norm_g0->GetYaxis()->SetTitle("Normalised ADC [ADU]"); norm_g0->GetYaxis()->SetTitleOffset(0.9); @@ -574,6 +636,8 @@ int main(int argc, char* argv[]) { (i >= (256*1024)+10 && i < (256*1024)+10+10) || // double (i >= (257*1024)+10 && i < (257*1024)+10+10) || // next to double (i == (255*1024)+255) // quad + //|| (i >= (325*1024+902) && i < (325*1024+902)+10) // addon VH "high" G1 in Module 352 + //|| (i >= (331*1024+902) && i < (331*1024+902)+10) // addon VH "low" G1 in Module 352 ) { string pixel_type = "x"; @@ -760,7 +824,29 @@ int main(int argc, char* argv[]) { g0_grad_map->Draw("colz"); pave->AddText("G0 [ADU/mV]"); pave->Draw(); - g0_grad_map->GetZaxis()->SetRangeUser(5,10); + if (module_str == "351" || + module_str == "351_fullspeed" || + module_str == "352" || + module_str == "352_fullspeed" || + module_str == "261" || + module_str == "261_fullspeed" || + module_str == "310" || + module_str == "310_fullspeed" || + module_str == "312" || + module_str == "312_fullspeed" || + module_str == "264" || + module_str == "264_fullspeed" || + module_str == "253" || + module_str == "253_fullspeed" || + module_str == "307" || + module_str == "307_fullspeed") { + g0_grad_map->GetZaxis()->SetRangeUser(5,10); + } else { + g0_grad_map->GetZaxis()->SetRangeUser(5,10); + } + if (isHGX) g0_grad_map->GetZaxis()->SetRangeUser(10,15); + + sprintf(savename,"plots/M%s/BackplanePulsing/g0_grad_map_M%s.png", module_str.c_str(), module_str.c_str()); mapcanvas->SaveAs((const char *)(savename)); @@ -783,12 +869,31 @@ int main(int argc, char* argv[]) { pave->AddText("G1 [ADU/mV]"); pave->Draw(); if (module_str == "006") { - g1_grad_map->GetZaxis()->SetRangeUser(-0.3,-0.2); + g1_grad_map->GetZaxis()->SetRangeUser(-0.3,-0.1); } else if (module_str == "021" || module_str == "022" || module_str == "044") { g1_grad_map->GetZaxis()->SetRangeUser(-0.3,-0.23); + } else if (module_str == "351" || + module_str == "351_fullspeed" || + module_str == "352" || + module_str == "352_fullspeed" || + module_str == "261" || + module_str == "261_fullspeed" || + module_str == "310" || + module_str == "310_fullspeed" || + module_str == "312" || + module_str == "312_fullspeed" || + module_str == "264" || + module_str == "264_fullspeed" || + module_str == "253" || + module_str == "253_fullspeed" || + module_str == "307" || + module_str == "307_fullspeed") { + g1_grad_map->GetZaxis()->SetRangeUser(-0.3,-0.2); } else { g1_grad_map->GetZaxis()->SetRangeUser(-0.25,-0.2); } + + if (isHGX) g1_grad_map->GetZaxis()->SetRangeUser(-0.2,-0.1); sprintf(savename,"plots/M%s/BackplanePulsing/g1_grad_map_M%s.png", module_str.c_str(), module_str.c_str()); mapcanvas->SaveAs((const char *)(savename)); @@ -918,7 +1023,7 @@ int main(int argc, char* argv[]) { leg->Draw("same"); sprintf(savename,"plots/M%s/BackplanePulsing/g0overg1_hist_perType_M%s.png", module_str.c_str(), module_str.c_str()); c1->SaveAs((const char *)(savename)); - + mapcanvas->cd(); g0overg1_map->GetXaxis()->SetTitle("Column"); @@ -928,7 +1033,15 @@ int main(int argc, char* argv[]) { pave->Clear(); pave->AddText("G0/G1"); pave->Draw(); - g0overg1_map->GetZaxis()->SetRangeUser(-31,-27); + + if (isHGX) { + g0overg1_map->GetZaxis()->SetRangeUser(-110,-70); + } + else + { + g0overg1_map->GetZaxis()->SetRangeUser(-31,-27); + } + sprintf(savename,"plots/M%s/BackplanePulsing/g0overg1_map_M%s.png", module_str.c_str(), module_str.c_str()); mapcanvas->SaveAs((const char *)(savename)); diff --git a/BP_scan.sh b/BP_scan.sh index 51316ab..b5f1d24 100644 --- a/BP_scan.sh +++ b/BP_scan.sh @@ -102,7 +102,7 @@ fi # high voltage -sls_detector_put highvoltage 200 +#sls_detector_put highvoltage 200 # output on echo $CLI" OUTP ON" | nc pc8830 5555 sleep 0.2 diff --git a/CS_analysis.cpp b/CS_analysis.cpp index c53d5c0..81b4704 100644 --- a/CS_analysis.cpp +++ b/CS_analysis.cpp @@ -287,6 +287,7 @@ int main(int argc, char* argv[]) { scan_v6.push_back("359"); scan_v6.push_back("363"); + scan_v6.push_back("363_HGOG1G2"); scan_v6.push_back("365"); scan_v6.push_back("347"); scan_v6.push_back("366"); @@ -323,6 +324,15 @@ int main(int argc, char* argv[]) { scan_v6.push_back("272_fullspeedtest"); scan_v6.push_back("272_halfspeedtest"); + scan_v6.push_back("352_fullspeed"); //jf4mb2-00 (SLS) + scan_v6.push_back("307_fullspeed"); //jf4mb2-01 (SLS) + scan_v6.push_back("264_fullspeed"); //jf4mb2-02 (SLS) + scan_v6.push_back("253_fullspeed"); //jf4mb2-03 (SLS) + scan_v6.push_back("351_fullspeed"); //jf4mb2-04 (SLS) + scan_v6.push_back("312_fullspeed"); //jf4mb2-05 (SLS) + scan_v6.push_back("261_fullspeed"); //jf4mb2-06 (SLS) + scan_v6.push_back("310_fullspeed"); //jf4mb2-07 (SLS) + jungfrauFile *thisfile = new jungfrauFile(); diff --git a/CS_analysis_JF11 b/CS_analysis_JF11 index 4c67cf1..1e640df 100755 Binary files a/CS_analysis_JF11 and b/CS_analysis_JF11 differ diff --git a/CS_scan.sh b/CS_scan.sh index db6666d..ed051d4 100644 --- a/CS_scan.sh +++ b/CS_scan.sh @@ -31,7 +31,8 @@ sls_detector_put udp_dstmac 3C:FD:FE:A2:14:D8 sls_detector_put udp_srcip 10.1.4.9 sls_detector_put udp_srcmac 00:ab:be:cc:dd:e2 -sls_detector_put readoutspeed 1 +sls_detector_put readoutspeed 0 +#sls_detector_put dbitphase 125 sleep 3 $TKCSG0 & @@ -171,5 +172,5 @@ sls_detector_put period 0.002 sls_detector_put frames 1000000 sls_detector_put currentsource 0 echo "Script finished" - +sleep 4 $KILLRCV diff --git a/slsDetector_bin b/slsDetector_bin index 9dda1ba..b6e684a 120000 --- a/slsDetector_bin +++ b/slsDetector_bin @@ -1 +1 @@ -slsDetector_bin_dev121021/ \ No newline at end of file +slsDetector_bin_6_0_0/ \ No newline at end of file