1 #ifndef __READOPTIONS__
2 #define __READOPTIONS__
21 using namespace JLANG;
43 string detector_file ;
96 if (zap.
read(argc, argv) != 0)
102 catch(
const exception &error) {
104 ERROR(error.what() << endl);
125 TFile* f =
new TFile(filename.c_str() ,
"recreate");
135 for (
auto & run : Runs){
137 sprintf(name ,
"RUN_%d_%2.1fV" , run->getRunNumber() , run->getVoltage()) ;
143 summary_refs[i]->Write() ;
145 for(
auto & sm : run->getSuperModules()){
147 sprintf(name ,
"RUN_%d_%2.1fV/NB_%d" , run->getRunNumber() , run->getVoltage() , sm->getFloor()) ;
153 for(
auto & spm : sm->get_ref_pmts()){
155 spm->getNBPulse()->gettime_vs_tot()->Write() ;
157 spm->getNBPulse()->gettime_peak()->Write() ;
159 spm->getNBPulse()->gettot_peak()->Write() ;
187 txtfile.open (filename);
189 txtfile <<
"# Table of optimal voltages: column 1 = floor , column 2 = voltage" << endl;
193 for (
auto & op : optimal_voltages){
195 txtfile << i+1 <<
"\t" << op.first << endl;
217 TFile* out_file =
new TFile(filename.c_str() ,
"recreate") ;
225 Run.Write(
"Run_Info") ;
227 int Ndoms = nFloors ;
231 for(
int i = 0 ; i < Ndoms ; ++i ) {
233 sprintf(dirname,
"S%iF%i", string_number, i + 1 ) ;
235 out_file->mkdir(dirname)->cd() ;
243 for (
auto & volt :optimal_voltages){
245 NBRun*
r = Runs[volt.second] ;
249 for (
auto & tgt : targets){
251 int floor = tgt.first->getFloor() ;
253 sprintf( dirname ,
"S%iF%i", string_number , floor ) ;
255 out_file->cd(dirname) ;
257 for (
auto & spm : tgt.second){
259 spm->getNBPulse()->gettime_vs_tot()->Write() ;
265 sprintf(dirname ,
"S%iF%i", string_number ,
r->getSuperModules()[nb_index]->getFloor()) ;
267 out_file->cd(dirname) ;
269 for (
auto & spm :
r->getSuperModules()[nb_index]->get_ref_pmts()){
271 spm->getNBPulse()->gettime_vs_tot()->Write() ;