108 if ( argFileName ==
"" )
110 string cFileNameForCnaPaths =
"ECNA/path_results_root";
111 TString s_file_name = cFileNameForCnaPaths.c_str();
112 const Text_t *t_file_name = (
const Text_t *)s_file_name.Data();
114 TString s_path_name = gSystem->Getenv(
"HOME");
132 string xResultsFileP;
143 <<
" ***************************************************************************************** " << endl;
144 cout <<
" !CNA(TEcnaParPaths) (" <<
fCnaError <<
") *** ERROR *** " << endl << endl
146 <<
" Please create a subdirectory named ECNA in your HOME directory (if not already done)" << endl
147 <<
" and create a file named path_results_root in the subdirectory ECNA." << endl << endl
149 <<
" for the CNA and must contain one line with the following syntax:" << endl << endl
150 <<
" PATH_OF_THE_RESULTS_ROOT_FILE ($HOME/etc...) (without slash at the end of line)" << endl
151 <<
" ================================"
153 <<
" Example: $HOME/scratch0/cna/results_root" << endl << endl
154 <<
" ***************************************************************************************** "
182 if ( argFileName ==
"" )
184 string cFileNameForCnaPaths =
"ECNA/path_results_ascii";
185 TString s_file_name = cFileNameForCnaPaths.c_str();
186 const Text_t *t_file_name = (
const Text_t *)s_file_name.Data();
188 TString s_path_name = gSystem->Getenv(
"HOME");
206 string xResultsFileP;
217 <<
" ***************************************************************************************** " << endl;
218 cout <<
" !CNA(TEcnaParPaths) (" <<
fCnaError <<
") *** ERROR *** " << endl << endl
220 <<
" Please create a subdirectory named ECNA in your HOME directory (if not already done)" << endl
221 <<
" and create a file named path_results_ascii in the subdirectory ECNA." << endl << endl
223 <<
" for the CNA and must contain one line with the following syntax:" << endl << endl
224 <<
" PATH_OF_THE_RESULTS_ASCII_FILE ($HOME/etc...) (without slash at the end of line)" << endl
225 <<
" ================================"
227 <<
" Example: $HOME/scratch0/cna/results_ascii" << endl << endl
228 <<
" ***************************************************************************************** "
256 if ( argFileName ==
"" )
258 string cFileNameForCnaPaths =
"ECNA/path_runlist_history_plots";
259 TString s_file_name = cFileNameForCnaPaths.c_str();
260 const Text_t *t_file_name = (
const Text_t *)s_file_name.Data();
262 TString s_path_name = gSystem->Getenv(
"HOME");
280 string xHistoryRunListP;
291 <<
" ******************************************************************************************************** " << endl;
292 cout <<
" !CNA(TEcnaParPaths) (" <<
fCnaError <<
") *** ERROR *** " << endl << endl
294 <<
" Please create a subdirectory named ECNA in your HOME directory (if not already done)" << endl
295 <<
" and create a file named path_runlist_history_plots in the subdirectory ECNA." << endl << endl
297 <<
" for the CNA and must contain one line with the following syntax:" << endl << endl
298 <<
" PATH_OF_THE_LIST_OF_RUNS_FOR_HISTORY_PLOTS_FILE ($HOME/etc...) (without slash at the end of line)" << endl
299 <<
" ================================"
301 <<
" Example: $HOME/scratch0/cna/runlist_history_plots" << endl << endl
302 <<
" ******************************************************************************************************** "
315 void TEcnaParPaths::GetPathForAnalyzerParametersFiles()
317 GetPathForAnalyzerParametersFiles(
"");
320 void TEcnaParPaths::GetPathForAnalyzerParametersFiles(
const TString argFileName)
328 fCfgAnalyzerParametersFilePath.Resize(MaxCar);
329 fCfgAnalyzerParametersFilePath =
"?";
334 if ( argFileName ==
"" )
336 string cFileNameForCnaPaths =
"path_analyzer_parameters.ecna";
337 TString s_file_name = cFileNameForCnaPaths.c_str();
338 const Text_t *t_file_name = (
const Text_t *)s_file_name.Data();
340 TString s_path_name = gSystem->Getenv(
"HOME");
342 fFileForAnalyzerParametersFilePath = s_path_name;
343 fFileForAnalyzerParametersFilePath.Append(
'/');
344 fFileForAnalyzerParametersFilePath.Append(t_file_name);
348 fFileForAnalyzerParametersFilePath = argFileName.Data();
354 fFcin_anapar.open(fFileForAnalyzerParametersFilePath.Data());
355 if(fFcin_anapar.fail() == kFALSE)
357 fFcin_anapar.clear();
358 string xAnalyzerParametersP;
359 fFcin_anapar >> xAnalyzerParametersP;
360 fCfgAnalyzerParametersFilePath = xAnalyzerParametersP.c_str();
361 fFcin_anapar.close();
365 fFcin_anapar.clear();
368 <<
" ***************************************************************************** " << endl;
369 cout <<
" !CNA(TEcnaParPaths) (" <<
fCnaError <<
") *** ERROR *** " << endl << endl
371 << fFileForAnalyzerParametersFilePath.Data() <<
" : file not found. " << endl
373 <<
" Please create this file in your HOME directory and then restart."
376 <<
" The file " << fFileForAnalyzerParametersFilePath.Data()
377 <<
" is a configuration file for the CNA and"
378 <<
" must contain one line with the following syntax:" << endl << endl
380 <<
" path of the analyzer parameters files ($HOME/etc...) " << endl
382 <<
" (without slash at the end of line)" << endl
385 <<
" EXAMPLE:" << endl << endl
387 <<
" $HOME/scratch0/cna/analyzer_parameters" << endl << endl
388 <<
" ***************************************************************************** "
391 fFcin_anapar.close();
420 if ( argFileName ==
"" )
422 string cFileNameForCMSSWParameters =
"ECNA/cmssw_parameters";
423 TString s_file_name = cFileNameForCMSSWParameters.c_str();
424 const Text_t *t_file_name = (
const Text_t *)s_file_name.Data();
426 TString s_path_name = gSystem->Getenv(
"HOME");
445 string xCMSSWVersionFileP;
449 string xCMSSWSubsystemFileP;
453 string xCMSSWSlcFileP;
464 <<
" ************************************************************************************************** " << endl;
465 cout <<
" !CNA(TEcnaParPaths) (" <<
fCnaError <<
") *** ERROR *** " << endl << endl
467 <<
" Please create a subdirectory named ECNA in your HOME directory (if not already done)" << endl
468 <<
" and create a file named cmssw_parameters in the subdirectory ECNA." << endl << endl
470 <<
" for the CNA and must contain one line with the following syntax:" << endl << endl
471 <<
" CMSSW_VERSION SUBSYSTEM_NAME TEST_SUBDIRECTORY_NAME" << endl
473 <<
" Example: CMSSW_2_1_19 CalibCalorimetry slc4_ia32_gcc345" << endl << endl
474 <<
" ************************************************************************************************** "
497 TString ModulesdataPath =
"";
499 TString s_path_name = gSystem->Getenv(
"HOME");
500 const Text_t *t_path_name = (
const Text_t *)s_path_name.Data();
501 ModulesdataPath.Append(t_path_name);
502 ModulesdataPath.Append(
'/');
504 TString s_cmssw =
"cmssw";
505 const Text_t *t_cmssw = (
const Text_t *)s_cmssw.Data();
506 ModulesdataPath.Append(t_cmssw);
507 ModulesdataPath.Append(
'/');
509 const Text_t *t_cmssw_version = (
const Text_t *)
CMSSWVersion().Data();
510 ModulesdataPath.Append(t_cmssw_version);
511 ModulesdataPath.Append(
'/');
513 TString s_src =
"src";
514 const Text_t *t_src = (
const Text_t *)s_src.Data();
515 ModulesdataPath.Append(t_src);
516 ModulesdataPath.Append(
'/');
518 const Text_t *t_cmssw_subsystem = (
const Text_t *)
CMSSWSubsystem().Data();
519 ModulesdataPath.Append(t_cmssw_subsystem);
520 ModulesdataPath.Append(
'/');
522 TString s_package_data_path =
"EcalCorrelatedNoiseAnalysisModules/data";
523 const Text_t *t_package_data_path = (
const Text_t *)s_package_data_path.Data();
524 ModulesdataPath.Append(t_package_data_path);
525 ModulesdataPath.Append(
'/');
528 return ModulesdataPath;
534 TString TestslcPath =
"";
536 TString s_path_name = gSystem->Getenv(
"HOME");
537 const Text_t *t_path_name = (
const Text_t *)s_path_name.Data();
538 TestslcPath.Append(t_path_name);
539 TestslcPath.Append(
'/');
541 TString s_cmssw =
"cmssw";
542 const Text_t *t_cmssw = (
const Text_t *)s_cmssw.Data();
543 TestslcPath.Append(t_cmssw);
544 TestslcPath.Append(
'/');
546 const Text_t *t_cmssw_version = (
const Text_t *)
CMSSWVersion().Data();
547 TestslcPath.Append(t_cmssw_version);
548 TestslcPath.Append(
'/');
550 TString s_test =
"test";
551 const Text_t *t_test = (
const Text_t *)s_test.Data();
552 TestslcPath.Append(t_test);
553 TestslcPath.Append(
'/');
555 const Text_t *t_cmssw_subsystem = (
const Text_t *)
CMSSWSlc().Data();
556 TestslcPath.Append(t_cmssw_subsystem);
557 TestslcPath.Append(
'/');
574 {TString sBegin =
"?";
579 {TString sBegin =
"?";
void GetCMSSWParameters()
Bool_t fPathForResultsAsciiFiles
TString HistoryRunListFilePath()
TString BeginningOfResultsRootFilePath()
void AppendResultsAsciiFilePath(const Text_t *)
TString fCfgResultsAsciiFilePath
TString fCfgResultsRootFilePath
void SetResultsRootFilePath(const TString)
void GetPathForResultsAsciiFiles()
TString BeginningOfResultsAsciiFilePath()
Bool_t fPathForHistoryRunListFiles
TString PathModulesData()
void SetResultsAsciiFilePath(const TString)
TString fCfgHistoryRunListFilePath
TString fFileForCMSSWParameters
TString fFileForHistoryRunListFilePath
TString fFileForResultsAsciiFilePath
void TruncateResultsRootFilePath(const Int_t &, const Int_t &)
TString fCfgCMSSWSubsystem
TString ResultsRootFilePath()
void GetPathForResultsRootFiles()
void GetPathForHistoryRunListFiles()
Bool_t fPathForResultsRootFiles
void TruncateResultsAsciiFilePath(const Int_t &, const Int_t &)
void AppendResultsRootFilePath(const Text_t *)
TString ResultsAsciiFilePath()
TString fFileForResultsRootFilePath