CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
GlobalOptionMgr.cc
Go to the documentation of this file.
1 // COCOA class implementation file
2 //Id: GlobalOptionMgr.cc
3 //CAT: ALIUtils
4 //
5 // History: v1.0
6 // Pedro Arce
7 #include <fstream>
8 
10 #include <iostream>
11 #include <iomanip>
14 #include <cstdlib>
15 
17 
19 {
20  if(!theInstance) {
22  }
23 
24  return theInstance;
25 }
26 
27 
28 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
30 {
31  theGlobalOptions[ ALIstring("report_verbose") ] = 3;
32  theGlobalOptions[ ALIstring("debug_verbose") ] = 0;
33  // theGlobalOptions[ ALIstring("sparse") ] = 0;
34  theGlobalOptions[ ALIstring("saveMatrices") ] = 1;
35  // theGlobalOptions[ ALIstring("external_meas") ] = 0;
36  theGlobalOptions[ ALIstring("calcul_type") ] = 0;
37  theGlobalOptions[ ALIstring("length_value_dimension") ] = 0;
38  theGlobalOptions[ ALIstring("length_error_dimension") ] = 0;
39  theGlobalOptions[ ALIstring("angle_value_dimension") ] = 0;
40  theGlobalOptions[ ALIstring("angle_error_dimension") ] = 0;
41  theGlobalOptions[ ALIstring("output_length_value_dimension") ] = 0;
42  theGlobalOptions[ ALIstring("output_length_error_dimension") ] = 0;
43  theGlobalOptions[ ALIstring("output_angle_value_dimension") ] = 0;
44  theGlobalOptions[ ALIstring("output_angle_error_dimension") ] = 0;
45  theGlobalOptions[ ALIstring("checkExtraEntries") ] = 0;
46  theGlobalOptions[ ALIstring("cms_link") ] = 0;
47  theGlobalOptions[ ALIstring("cms_link_halfplanes") ] = 0;
48  theGlobalOptions[ ALIstring("cms_link_method") ] = 0;
49  theGlobalOptions[ ALIstring("range_studies") ] = 0;
50  theGlobalOptions[ ALIstring("histograms") ] = 0;
51  theGlobalOptions[ ALIstring("onlyDeriv") ] = 0;
52  theGlobalOptions[ ALIstring("onlyFirstPropagation") ] = 0;
53 
54  theGlobalOptions[ ALIstring("VisWriteVRML") ] = 0;
55  theGlobalOptions[ ALIstring("VisWriteIguana") ] = 0;
56  theGlobalOptions[ ALIstring("VisOnly") ] = 0;
57  theGlobalOptions[ ALIstring("VisWriteOptONames") ] = 1;
58  theGlobalOptions[ ALIstring("VisGlobalRotationX") ] = 0.;
59  theGlobalOptions[ ALIstring("VisGlobalRotationY") ] = 0.;
60  theGlobalOptions[ ALIstring("VisGlobalRotationZ") ] = 0.;
61  theGlobalOptions[ ALIstring("VisScale") ] = 1.;
62  theGlobalOptions[ ALIstring("tiltmeter_meas_value_dimension") ] = 0;
63  theGlobalOptions[ ALIstring("distancemeter_meas_value_dimension") ] = 0;
64  theGlobalOptions[ ALIstring("dumpDateInFittedEntries") ] = 0;
65  theGlobalOptions[ ALIstring("measurementErrorFromFile") ] = 0;
66 
67  theGlobalOptions[ ALIstring("maxNoFitIterations") ] = 50;
68  theGlobalOptions[ ALIstring("fitQualityCut") ] = 0.1;
69  theGlobalOptions[ ALIstring("relativeFitQualityCut") ] = 1.E-6;
70 
71  theGlobalOptions[ ALIstring("maxEvents") ] = 1.E6;
72 
73  //dimension factor to multiply the values in the files that give you the deviatin when traversing an ALMY. Files have numbers in microns, so it has to be 1 if 'length_value_dimension 2', 0.001 if 'length_value_dimension 1' (the same for angles)
74  theGlobalOptions[ ALIstring("deviffValDimf") ] = 1.;
75  theGlobalOptions[ ALIstring("deviffAngDimf") ] = 1.;
76  theGlobalOptions[ ALIstring("rotateAroundLocal") ] = 1;
77  theGlobalOptions[ ALIstring("reportOutEntriesByShortName") ] = 0;
78  theGlobalOptions[ ALIstring("reportOutReadValue") ] = 1;
79  theGlobalOptions[ ALIstring("reportOutReadSigma") ] = 1;
80  theGlobalOptions[ ALIstring("reportOutReadQuality") ] = 1;
81  theGlobalOptions[ ALIstring("maxDeviDerivative") ] = 1.E-6;
82 
83  theGlobalOptions[ ALIstring("stopAfter1stIteration") ] = 0;
84  theGlobalOptions[ ALIstring("calParamInyfMatrix") ] = 0;
85  theGlobalOptions[ ALIstring("writeXML") ] = 0;
86  theGlobalOptions[ ALIstring("dumpInAllFrames") ] = 0;
87  theGlobalOptions[ ALIstring("rootResults") ] = 0;
88  theGlobalOptions[ ALIstring("writeDBAlign") ] = 0;
89  theGlobalOptions[ ALIstring("writeDBOptAlign") ] = 0;
90 }
91 
92 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
94 {
95  ALIdouble val = 0.;
96  //---------- Find Global Option by name
97  std::map< ALIstring, ALIdouble, std::less<ALIstring> >::const_iterator msdcite = GlobalOptions().find( sstr );
98 
99  //---------- Dump Global Option found
100  if( ALIUtils::debug >= 6) {
101  std::cout << "Global Option " << (*msdcite).first << " = " << (*msdcite).second << std::endl;
102  }
103 
104  if ( msdcite == GlobalOptions().end() ) {
105  //---------- return 0 if GLobal Option not found
106  std::cerr << " !!! FATAL ERROR: trying to get the value of an unknown Global Option : " << sstr << std::endl;
107  abort();
108  } else {
109  //---------- return 1 if Global Option found
110  //-std::cout << "SSparam" << (*msdcite).first << (*msdcite).second << "len" << OptOList().size() << std::endl;
111  //----- set val to Global Option value
112  val = (*msdcite).second;
113  }
114 
115  return val;
116 
117 }
118 
119 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
121 {
122  //---------- Find Global Option by name
123  std::map< ALIstring, ALIdouble, std::less<ALIstring> >::const_iterator msdcite = GlobalOptions().find( sstr );
124 
125  //---------- Dump Global Option found
126  if( ALIUtils::debug >= 6) {
127  std::cout << "Global Option " << (*msdcite).first << " = " << (*msdcite).second << std::endl;
128  }
129 
130  if ( msdcite == GlobalOptions().end() ) {
131  //---------- return 0 if GLobal Option not found
132  return 0;
133  } else {
134  //---------- return 1 if Global Option found
135  //-std::cout << "SSparam" << (*msdcite).first << (*msdcite).second << "len" << OptOList().size() << std::endl;
136  //----- set val to Global Option value
137  val = (*msdcite).second;
138  return 1;
139  }
140 
141 }
142 
143 
144 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
145 void GlobalOptionMgr::setGlobalOption( const ALIstring gopt, const ALIdouble val, ALIFileIn& filein )
146 {
147 
148  if( !setGlobalOption( gopt, val, 0 ) ){
149  filein.ErrorInLine();
150  std::cerr << "!!! global option not found: " << gopt << std::endl;
151  if ( ALIUtils::debug >= 3 ) {
152  std::cout << "ALLOWED GLOBAL OPTIONS:" << std::endl;
153  std::map< ALIstring, ALIdouble, std::less<ALIstring> >::iterator msdite;
154  for ( msdite = theGlobalOptions.begin();
155  msdite != theGlobalOptions.end(); msdite++) {
156  std::cout << (*msdite).first.c_str() << std::endl;
157  }
158  }
159  exit(2);
160  }
161 
162 }
163 
164 //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
165 bool GlobalOptionMgr::setGlobalOption( const ALIstring gopt, const ALIdouble val, bool bExit )
166 {
167  //----- If global option exists: set it to value read
168  if ( GlobalOptions().find( gopt ) != GlobalOptions().end() ){
169  theGlobalOptions[ gopt ] = val;
170  //------ Verbosity global options change static data
171  if( gopt == "report_verbose") {
173  }
174  if( gopt == "debug_verbose" ) {
176  }
177 
178  return 1;
179  //----- if global option does not exist: error
180  } else {
181  if( bExit ) {
182  std::cerr << "!!! global option not found: " << gopt << std::endl;
183  exit(2);
184  }
185  return 0;
186  }
187 
188 }
long double ALIdouble
Definition: CocoaGlobals.h:11
static GlobalOptionMgr * theInstance
int ALIint
Definition: CocoaGlobals.h:15
static ALIint debug
Definition: ALIUtils.h:35
static GlobalOptionMgr * getInstance()
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:7
int getGlobalOptionValue(const ALIstring &sstr, ALIdouble &val)
--— Search a string in theGlobalOptions and return 1 if found
std::map< ALIstring, ALIdouble, std::less< ALIstring > > theGlobalOptions
global options
#define end
Definition: vmac.h:38
void setGlobalOption(const ALIstring go, const ALIdouble val, ALIFileIn &filein)
void setDefaultGlobalOptions()
Set the list of default global options.
void ErrorInLine()
Definition: ALIFileIn.cc:211
static void setDebugVerbosity(ALIint val)
Definition: ALIUtils.h:41
std::string ALIstring
Definition: CocoaGlobals.h:9
tuple cout
Definition: gather_cfg.py:41
ALIdouble getGlobalOption(const ALIstring &sstr)
std::map< ALIstring, ALIdouble, std::less< ALIstring > > & GlobalOptions()
static void setReportVerbosity(ALIint val)
Definition: ALIUtils.h:38