00001 #ifndef QUICK_ANA__CONFIGURATION_H 00002 #define QUICK_ANA__CONFIGURATION_H 00003 00004 // Copyright Iowa State University 2014. 00005 // Author: Nils Krumnack 00006 // Distributed under the Boost Software License, Version 1.0. 00007 // (See accompanying file LICENSE_1_0.txt or copy at 00008 // http://www.boost.org/LICENSE_1_0.txt) 00009 00010 // Please feel free to contact me (nils.erik.krumnack@cern.ch) for bug 00011 // reports, feature suggestions, praise and complaints. 00012 00013 00014 00015 #include <QuickAna/Global.h> 00016 00017 #include <AsgTools/MsgLevel.h> 00018 00019 #include <string> 00020 #include <vector> 00021 00022 namespace ana 00023 { 00025 struct Configuration 00026 { 00031 public: 00032 bool isDataFlag = false; 00033 bool isAFIIFlag = false; 00034 00036 public: 00037 unsigned msgLevel = MSG::INFO; 00038 00040 public: 00041 std::string eventinfoDef; 00042 00044 public: 00045 std::string eventSelectDef; 00046 00047 00051 public: 00052 std::string electronDef; 00053 00054 00058 public: 00059 std::string electronKine; 00060 00061 00065 public: 00066 std::string photonDef; 00067 00068 00072 public: 00073 std::string photonKine; 00074 00075 00079 public: 00080 std::string muonDef; 00081 00082 00086 public: 00087 std::string muonKine; 00088 00089 00093 public: 00094 std::string tauDef; 00095 00096 00100 public: 00101 std::string tauKine; 00102 00103 00107 public: 00108 std::string jetDef; 00109 00110 00114 public: 00115 std::string jetKine; 00116 00117 00121 public: 00122 std::string fatJetDef; 00123 00124 00128 public: 00129 std::string fatJetKine; 00130 00131 00135 public: 00136 std::string metDef; 00137 00138 00143 public: 00144 std::string met2Def; 00145 00146 00150 public: 00151 std::string orDef; 00152 00153 00157 public: 00158 std::string triggerDef; 00159 00160 00162 public: 00163 std::vector<std::string> muDataFiles; 00164 00165 00167 public: 00168 std::vector<std::string> muMcFiles; 00169 00170 00172 public: 00173 std::string schedulerDef; 00174 00175 00177 public: 00178 std::string selectionNameMET; 00179 00180 00182 public: 00183 std::string selectionNameOR; 00184 00185 00188 public: 00189 std::string selectionName; 00190 00191 00195 public: 00196 Configuration (); 00197 00198 00202 public: 00203 virtual ~Configuration () {}; 00204 00205 00213 public: 00214 void setConfig (const Configuration& conf); 00215 00216 00222 public: 00223 template<class T> void declareConfigProperties (T& obj); 00224 }; 00225 } 00226 00227 #include <QuickAna/Configuration.icc> 00228 00229 #endif