216 std::unique_ptr<TEnv> config = std::make_unique<TEnv>(
fInputFile.data() );
250 double default_FebexOffset = (double)config->GetValue(
"febex.Offset", (
double)0 );
251 double default_FebexGain = (double)config->GetValue(
"febex.Gain", 0.25 );
252 double default_FebexGainQuadr = (double)config->GetValue(
"febex.GainQuadr", (
double)0 );
253 unsigned int default_FebexThreshold = (
unsigned int)config->GetValue(
"febex.Threshold", (
double)0 );
254 std::string default_FebexType = config->GetValue(
"febex.Type",
"Qshort" );
256 long default_FebexTime = (long)config->GetValue(
"febex.Time", (
double)0 );
271 for(
unsigned char i = 0; i <
set->GetNumberOfFebexSfps(); i++ ){
291 double sfpFebexOffset = (double)config->GetValue( Form(
"febex_%d.Offset", i ), (double)default_FebexOffset );
292 double sfpFebexGain = (double)config->GetValue( Form(
"febex_%d.Gain", i ), (double)default_FebexGain );
293 double sfpFebexGainQuadr = (double)config->GetValue( Form(
"febex_%d.GainQuadr", i ), (double)default_FebexGainQuadr );
294 unsigned int sfpFebexThreshold = (
unsigned int)config->GetValue( Form(
"febex_%d.Threshold", i ), (double)default_FebexThreshold );
295 std::string sfpFebexType = config->GetValue( Form(
"febex_%d.Type", i ), default_FebexType.data() );
296 long sfpFebexTime = (long)config->GetValue( Form(
"febex_%d.Time", i ), (double)default_FebexTime );
297 unsigned int sfpFebexMWD_Decay = (
unsigned int)config->GetValue( Form(
"febex_%d.MWD.DecayTime", i ), (double)
default_FebexMWD_Decay );
298 unsigned int sfpFebexMWD_Rise = (
unsigned int)config->GetValue( Form(
"febex_%d.MWD.RiseTime", i ), (double)
default_FebexMWD_Rise );
299 unsigned int sfpFebexMWD_Top = (
unsigned int)config->GetValue( Form(
"febex_%d.MWD.FlatTop", i ), (double)
default_FebexMWD_Top );
300 unsigned int sfpFebexMWD_Baseline = (
unsigned int)config->GetValue( Form(
"febex_%d.MWD.Baseline", i ), (double)
default_FebexMWD_Baseline );
301 unsigned int sfpFebexMWD_Window = (
unsigned int)config->GetValue( Form(
"febex_%d.MWD.Window", i ), (double)
default_FebexMWD_Window );
302 unsigned int sfpFebexCFD_Delay = (
unsigned int)config->GetValue( Form(
"febex_%d.CFD.DelayTime", i ), (double)
default_FebexCFD_Delay );
303 unsigned int sfpFebexCFD_HoldOff = (
unsigned int)config->GetValue( Form(
"febex_%d.CFD.HoldOff", i ), (double)
default_FebexCFD_HoldOff );
304 unsigned int sfpFebexCFD_Shaping = (
unsigned int)config->GetValue( Form(
"febex_%d.CFD.ShapingTime", i ), (double)
default_FebexCFD_Shaping );
305 unsigned int sfpFebexCFD_Integration = (
unsigned int)config->GetValue( Form(
"febex_%d.CFD.IntegrationTime", i ), (double)
default_FebexCFD_Integration );
307 float sfpFebexCFD_Fraction = (float)config->GetValue( Form(
"febex_%d.CFD.Fraction", i ), (double)
default_FebexCFD_Fraction );
309 for(
unsigned char j = 0; j <
set->GetNumberOfFebexBoards(); j++ ){
329 double boardFebexOffset = (double)config->GetValue( Form(
"febex_%d_%d.Offset", i, j ), (double)sfpFebexOffset );
330 double boardFebexGain = (double)config->GetValue( Form(
"febex_%d_%d.Gain", i, j ), (double)sfpFebexGain );
331 double boardFebexGainQuadr = (double)config->GetValue( Form(
"febex_%d_%d.GainQuadr", i, j ), (double)sfpFebexGainQuadr );
332 unsigned int boardFebexThreshold = (
unsigned int)config->GetValue( Form(
"febex_%d_%d.Threshold", i, j ), (double)sfpFebexThreshold );
333 std::string boardFebexType = config->GetValue( Form(
"febex_%d_%d.Type", i, j ), sfpFebexType.data() );
334 long boardFebexTime = (long)config->GetValue( Form(
"febex_%d_%d.Time", i, j ), (double)sfpFebexTime );
335 unsigned int boardFebexMWD_Decay = (
unsigned int)config->GetValue( Form(
"febex_%d_%d.MWD.DecayTime", i, j ), (double)sfpFebexMWD_Decay );
336 unsigned int boardFebexMWD_Rise = (
unsigned int)config->GetValue( Form(
"febex_%d_%d.MWD.RiseTime", i, j ), (double)sfpFebexMWD_Rise );
337 unsigned int boardFebexMWD_Top = (
unsigned int)config->GetValue( Form(
"febex_%d_%d.MWD.FlatTop", i, j ), (double)sfpFebexMWD_Top );
338 unsigned int boardFebexMWD_Baseline = (
unsigned int)config->GetValue( Form(
"febex_%d_%d.MWD.Baseline", i, j ), (double)sfpFebexMWD_Baseline );
339 unsigned int boardFebexMWD_Window = (
unsigned int)config->GetValue( Form(
"febex_%d_%d.MWD.Window", i, j ), (double)sfpFebexMWD_Window );
340 unsigned int boardFebexCFD_Delay = (
unsigned int)config->GetValue( Form(
"febex_%d_%d.CFD.DelayTime", i, j ), (double)sfpFebexCFD_Delay );
341 unsigned int boardFebexCFD_HoldOff = (
unsigned int)config->GetValue( Form(
"febex_%d_%d.CFD.HoldOff", i, j ), (double)sfpFebexCFD_HoldOff );
342 unsigned int boardFebexCFD_Shaping = (
unsigned int)config->GetValue( Form(
"febex_%d_%d.CFD.ShapingTime", i, j ), (double)sfpFebexCFD_Shaping );
343 unsigned int boardFebexCFD_Integration = (
unsigned int)config->GetValue( Form(
"febex_%d_%d.CFD.IntegrationTime", i, j ), (double)sfpFebexCFD_Integration );
344 int boardFebexCFD_Threshold = (int)config->GetValue( Form(
"febex_%d_%d.CFD.Threshold", i, j ), (double)sfpFebexCFD_Threshold );
345 float boardFebexCFD_Fraction = (float)config->GetValue( Form(
"febex_%d_%d.CFD.Fraction", i, j ), (double)sfpFebexCFD_Fraction );
347 for(
unsigned char k = 0; k <
set->GetNumberOfFebexChannels(); k++ ){
349 fFebexOffset[i][j][k] = (double)config->GetValue( Form(
"febex_%d_%d_%d.Offset", i, j, k ), (double)boardFebexOffset );
350 fFebexGain[i][j][k] = (double)config->GetValue( Form(
"febex_%d_%d_%d.Gain", i, j, k ), (double)boardFebexGain );
351 fFebexGainQuadr[i][j][k] = (double)config->GetValue( Form(
"febex_%d_%d_%d.GainQuadr", i, j, k ), (double)boardFebexGainQuadr );
352 fFebexThreshold[i][j][k] = (
unsigned int)config->GetValue( Form(
"febex_%d_%d_%d.Threshold", i, j, k ), (double)boardFebexThreshold );
353 fFebexType[i][j][k] = config->GetValue( Form(
"febex_%d_%d_%d.Type", i, j, k ), boardFebexType.data() );
354 fFebexTime[i][j][k] = (long)config->GetValue( Form(
"febex_%d_%d_%d.Time", i, j, k ), (double)boardFebexTime );
355 fFebexMWD_Decay[i][j][k] = (
unsigned int)config->GetValue( Form(
"febex_%d_%d_%d.MWD.DecayTime", i, j, k ), (double)boardFebexMWD_Decay );
356 fFebexMWD_Rise[i][j][k] = (
unsigned int)config->GetValue( Form(
"febex_%d_%d_%d.MWD.RiseTime", i, j, k ), (double)boardFebexMWD_Rise );
357 fFebexMWD_Top[i][j][k] = (
unsigned int)config->GetValue( Form(
"febex_%d_%d_%d.MWD.FlatTop", i, j, k ), (double)boardFebexMWD_Top );
358 fFebexMWD_Baseline[i][j][k] = (
unsigned int)config->GetValue( Form(
"febex_%d_%d_%d.MWD.Baseline", i, j, k ), (double)boardFebexMWD_Baseline );
359 fFebexMWD_Window[i][j][k] = (
unsigned int)config->GetValue( Form(
"febex_%d_%d_%d.MWD.Window", i, j, k ), (double)boardFebexMWD_Window );
360 fFebexCFD_Delay[i][j][k] = (
unsigned int)config->GetValue( Form(
"febex_%d_%d_%d.CFD.DelayTime", i, j, k ), (double)boardFebexCFD_Delay );
361 fFebexCFD_HoldOff[i][j][k] = (
unsigned int)config->GetValue( Form(
"febex_%d_%d_%d.CFD.HoldOff", i, j, k ), (double)boardFebexCFD_HoldOff );
362 fFebexCFD_Shaping[i][j][k] = (
unsigned int)config->GetValue( Form(
"febex_%d_%d_%d.CFD.ShapingTime", i, j, k ), (double)boardFebexCFD_Shaping );
363 fFebexCFD_Integration[i][j][k] = (
unsigned int)config->GetValue( Form(
"febex_%d_%d_%d.CFD.IntegrationTime", i, j, k ), (double)boardFebexCFD_Integration );
364 fFebexCFD_Threshold[i][j][k] = (int)config->GetValue( Form(
"febex_%d_%d_%d.CFD.Threshold", i, j, k ), (double)boardFebexCFD_Threshold );
365 fFebexCFD_Fraction[i][j][k] = (float)config->GetValue( Form(
"febex_%d_%d_%d.CFD.Fraction", i, j, k ), (double)boardFebexCFD_Fraction );
381 for(
unsigned char i = 0; i <
set->GetNumberOfAdcModules(); i++ ){
383 fAdcOffset[i].resize(
set->GetMaximumNumberOfAdcChannels() );
384 fAdcGain[i].resize(
set->GetMaximumNumberOfAdcChannels() );
387 fAdcTime[i].resize(
set->GetMaximumNumberOfAdcChannels() );
389 double defaultAdcOffset = config->GetValue( Form(
"adc_%d.Offset", i ), (double)0.0 );
390 double defaultAdcGain = config->GetValue( Form(
"adc_%d.Gain", i ), (double)1.0 );
391 double defaultAdcGainQuadr = config->GetValue( Form(
"adc_%d.GainQuadr", i ), (double)0.0 );
392 unsigned int defaultAdcThreshold = (
unsigned int)config->GetValue( Form(
"adc_%d.Threshold", i ), (double)0 );
393 long defaultAdcTime = (long)config->GetValue( Form(
"adc_%d.Time", i ), (double)0 );
395 for(
unsigned char j = 0; j <
set->GetMaximumNumberOfAdcChannels(); j++ ){
397 fAdcOffset[i][j] = config->GetValue( Form(
"adc_%d_%d.Offset", i, j ), (double)defaultAdcOffset );
398 fAdcGain[i][j] = config->GetValue( Form(
"adc_%d_%d.Gain", i, j ), (double)defaultAdcGain );
399 fAdcGainQuadr[i][j] = config->GetValue( Form(
"adc_%d_%d.GainQuadr", i, j ), (double)defaultAdcGainQuadr );
400 fAdcThreshold[i][j] = (
unsigned int)config->GetValue( Form(
"adc_%d_%d.Threshold", i, j ), (double)defaultAdcThreshold );
401 fAdcTime[i][j] = (long)config->GetValue( Form(
"adc_%d_%d.Time", i, j ), (double)defaultAdcTime );
415 for(
unsigned char i = 0; i <
set->GetNumberOfDgfModules(); i++ ){
418 fDgfGain[i].resize(
set->GetNumberOfDgfChannels() );
421 fDgfTime[i].resize(
set->GetNumberOfDgfChannels() );
423 double defaultDgfOffset = config->GetValue( Form(
"dgf_%d.Offset", i ), (double)0.0 );
424 double defaultDgfGain = config->GetValue( Form(
"dgf_%d.Gain", i ), (double)1.0 );
425 double defaultDgfGainQuadr = config->GetValue( Form(
"dgf_%d.GainQuadr", i ), (double)0.0 );
426 unsigned int defaultDgfThreshold = (
unsigned int)config->GetValue( Form(
"dgf_%d.Threshold", i ), (double)0 );
427 long defaultDgfTime = (long)config->GetValue( Form(
"dgf_%d.Time", i ), (double)0 );
429 for(
unsigned char j = 0; j <
set->GetNumberOfDgfChannels(); j++ ){
431 fDgfOffset[i][j] = config->GetValue( Form(
"dgf_%d_%d.Offset", i, j ), (double)defaultDgfOffset );
432 fDgfGain[i][j] = config->GetValue( Form(
"dgf_%d_%d.Gain", i, j ), (double)defaultDgfGain );
433 fDgfGainQuadr[i][j] = config->GetValue( Form(
"dgf_%d_%d.GainQuadr", i, j ), (double)defaultDgfGainQuadr );
434 fDgfThreshold[i][j] = (
unsigned int)config->GetValue( Form(
"dgf_%d_%d.Threshold", i, j ), (double)defaultDgfThreshold );
435 fDgfTime[i][j] = (long)config->GetValue( Form(
"dgf_%d_%d.Time", i, j ), (double)defaultDgfTime );