1 #ifndef DQMOnline_Trigger_HLTDQMHist_h 2 #define DQMOnline_Trigger_HLTDQMHist_h 36 template <
typename ObjType>
51 template <
typename ObjType,
typename ValType>
66 if (globalRangeCuts(obj, varName_) && localRangeCuts_(obj)) {
67 hist_->Fill(var_(obj));
72 std::function<ValType(const ObjType&)>
var_;
78 template <
typename ObjType,
typename XValType,
typename YValType = XValType>
91 localRangeCuts_(
std::
move(rangeCuts)),
100 if (globalRangeCuts(obj, std::vector<std::string>{xVarName_, yVarName_}) && localRangeCuts_(obj)) {
101 hist_->Fill(xVar_(obj), yVar_(obj));
106 std::function<XValType(const ObjType&)>
xVar_;
107 std::function<YValType(const ObjType&)>
yVar_;
virtual void fill(const ObjType &objType, const edm::Event &event, const edm::EventSetup &setup, const VarRangeCutColl< ObjType > &rangeCuts)=0
HLTDQMHist1D(TH1 *hist, std::string varName, std::function< ValType(const ObjType &)> func, VarRangeCutColl< ObjType > rangeCuts)
virtual ~HLTDQMHist()=default
std::function< XValType(const ObjType &)> xVar_
std::function< ValType(const ObjType &)> var_
VarRangeCutColl< ObjType > localRangeCuts_
void fill(const ObjType &obj, const edm::Event &event, const edm::EventSetup &setup, const VarRangeCutColl< ObjType > &globalRangeCuts) override
void fill(const ObjType &obj, const edm::Event &event, const edm::EventSetup &setup, const VarRangeCutColl< ObjType > &globalRangeCuts) override
std::function< YValType(const ObjType &)> yVar_
VarRangeCutColl< ObjType > localRangeCuts_
HLTDQMHist2D(TH2 *hist, std::string xVarName, std::string yVarName, std::function< XValType(const ObjType &)> xFunc, std::function< YValType(const ObjType &)> yFunc, VarRangeCutColl< ObjType > rangeCuts)