File indexing completed on 2024-04-06 11:55:58
0001
0002 #include "Alignment/CocoaFit/interface/Fit.h"
0003 #include "Alignment/CocoaModel/interface/Model.h"
0004 #include "Alignment/CocoaUtilities/interface/ALIFileOut.h"
0005 #include "Alignment/CocoaUtilities/interface/ALIUtils.h"
0006 #include <cassert>
0007
0008 #include "Alignment/CocoaToDDL/interface/CocoaToDDLMgr.h"
0009 #include "Alignment/CocoaUtilities/interface/GlobalOptionMgr.h"
0010
0011 #include <ctime>
0012
0013 int main(int argc, char** argv) {
0014 char* nam = getenv("COCOA_SDF_FILENAME");
0015 if (nam != nullptr)
0016 Model::setSDFName(nam);
0017 nam = getenv("COCOA_REPORT_FILENAME");
0018 if (nam != nullptr)
0019 Model::setReportFName(nam);
0020 nam = getenv("COCOA_MATRICES_FILENAME");
0021 if (nam != nullptr)
0022 Model::setMatricesFName(nam);
0023
0024 ALIstring COCOA_ver = "COCOA_3_2_4";
0025
0026 switch (argc) {
0027 case 1:
0028 break;
0029 case 4:
0030 if (ALIstring(argv[3]) != "!")
0031 Model::setMatricesFName(argv[3]);
0032 [[fallthrough]];
0033 case 3:
0034 if (ALIstring(argv[2]) != "!")
0035 Model::setReportFName(argv[2]);
0036 [[fallthrough]];
0037 case 2:
0038 if (ALIstring(argv[1]) != "!")
0039 Model::setSDFName(argv[1]);
0040 if (ALIstring(argv[1]) == "-v") {
0041 std::cerr << "COCOA version = " << COCOA_ver << std::endl;
0042 exit(0);
0043 }
0044 break;
0045 default:
0046 std::cerr << "WARNING: more than two arguments, from third on will not be taken into account " << std::endl;
0047 break;
0048 }
0049
0050
0051 GlobalOptionMgr::getInstance()->setDefaultGlobalOptions();
0052
0053 Model::getInstance();
0054
0055 time_t now, time_start;
0056 now = clock();
0057 time_start = now;
0058 if (ALIUtils::debug >= 0)
0059 std::cout << "TIME:START_READING : " << now << " " << difftime(now, ALIUtils::time_now()) / 1.E6 << " "
0060 << ALIUtils::debug << std::endl;
0061 ALIUtils::set_time_now(now);
0062
0063 Model::readSystemDescription();
0064 now = clock();
0065 if (ALIUtils::debug >= 0)
0066 std::cout << "TIME:ENDED_READING : " << now << " " << difftime(now, ALIUtils::time_now()) / 1.E6 << " "
0067 << ALIUtils::debug << std::endl;
0068 ALIUtils::set_time_now(now);
0069
0070 ALIdouble go;
0071 GlobalOptionMgr* gomgr = GlobalOptionMgr::getInstance();
0072 gomgr->getGlobalOptionValue("writeXML", go);
0073
0074 if (ALIint(go) == 1) {
0075 ALIstring xmlfname = Model::SDFName();
0076 xmlfname += ALIstring(".xml");
0077 CocoaToDDLMgr::getInstance()->writeDDDFile(xmlfname);
0078 }
0079
0080 Fit::getInstance();
0081
0082 Fit::startFit();
0083
0084
0085
0086
0087
0088
0089
0090
0091
0092
0093
0094 if (ALIUtils::debug >= 0)
0095 std::cout << "............ program ended OK" << std::endl;
0096 if (ALIUtils::report >= 1) {
0097 ALIFileOut& fileout = ALIFileOut::getInstance(Model::ReportFName());
0098 fileout << "............ program ended OK" << std::endl;
0099 }
0100 now = clock();
0101 if (ALIUtils::debug >= 0)
0102 std::cout << "TIME:PROGRAM ENDED : " << now << " " << difftime(now, ALIUtils::time_now()) / 1.E6 << std::endl;
0103 if (ALIUtils::debug >= 0)
0104 std::cout << "TIME:TOTAL PROGRAM : " << now << " " << difftime(now, time_start) / 1.E6 << std::endl;
0105
0106 exit(0);
0107 }