Go to the documentation of this file.00001 #ifndef ElectroWeakAnalysis_EWKTau_dqmAuxFunctions_h
00002 #define ElectroWeakAnalysis_EWKTau_dqmAuxFunctions_h
00003
00004 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00005
00006 #include "DQMServices/Core/interface/DQMStore.h"
00007
00008 #include <string>
00009 #include <vector>
00010 #include <map>
00011
00012 const std::string parKeyword = "#PAR#";
00013 const std::string plotKeyword = "#PLOT#";
00014 const std::string rangeKeyword = "#RANGE";
00015 const std::string processDirKeyword = "#PROCESSDIR#";
00016
00017 std::string replace_string(const std::string&, const std::string&, const std::string&, unsigned, unsigned, int&);
00018
00019 std::string format_vstring(const std::vector<std::string>& vs);
00020
00021 template <class T>
00022 void readCfgParameter(const edm::ParameterSet& cfgParSet, std::map<std::string, T>& def)
00023 {
00024 std::vector<std::string> cfgParNames = cfgParSet.getParameterNamesForType<edm::ParameterSet>();
00025 for ( std::vector<std::string>::const_iterator cfgParName = cfgParNames.begin();
00026 cfgParName != cfgParNames.end(); ++cfgParName ) {
00027 edm::ParameterSet cfgParDef = cfgParSet.getParameter<edm::ParameterSet>(*cfgParName);
00028
00029 def.insert(std::pair<std::string, T>(*cfgParName, T(*cfgParName, cfgParDef)));
00030 }
00031 }
00032
00033 std::string dqmDirectoryName(const std::string&);
00034 std::string dqmSubDirectoryName_merged(const std::string&, const std::string&);
00035 void dqmCopyRecursively(DQMStore&, const std::string&, const std::string&, double, int, bool);
00036
00037 const std::string dqmSeparator = "/";
00038
00039 const std::string dqmRootDirectory = "";
00040
00041 void separateHistogramFromDirectoryName(const std::string&, std::string&, std::string&);
00042
00043 #endif