1 #ifndef DQMOffline_Trigger_FunctionDefs_h 2 #define DQMOffline_Trigger_FunctionDefs_h 39 template<
typename ObjType>
float scEtaFunc(
const ObjType&
obj){
return obj.superCluster()->eta();}
43 template<
typename ObjType>
45 std::function<float(const ObjType&)> varFunc;
50 template<
typename ObjType>
52 std::function<float(const ObjType&)> varFunc;
57 else varFunc = getUnaryFuncExtraFloat<ObjType>(varName);
59 if(!varFunc && !varName.empty()){
60 throw cms::Exception(
"ConfigError") <<
"var "<<varName<<
" not recognised "<<__FILE__<<
","<<__LINE__<<std::endl;
66 std::function<float(const reco::GsfElectron&)> getUnaryFuncExtraFloat<reco::GsfElectron>(
const std::string& varName);
68 std::function<float(const reco::Photon&)> getUnaryFuncExtraFloat<reco::Photon>(
const std::string& varName);
float scEtaFunc(const ObjType &obj)
std::function< float(const ObjType &)> getUnaryFuncFloat(const std::string &varName)
et
define resolution functions of each parameter
std::function< float(const ObjType &)> getUnaryFuncExtraFloat(const std::string &varName)