7 const std::string& hltProcess,
int ptbins,
int etabins,
int phibins,
8 double ptmax,
double highptmax,
9 double l1MatchDr,
double hltMatchDr):
15 highptmax_(highptmax),
16 l1MatchDr_(l1MatchDr),
17 hltMatchDr_(hltMatchDr),
18 doRefAnalysis_(doRefAnalysis),
19 hltPath_(hltProcess, dqmFolder_, doRefAnalysis_)
28 edm::LogWarning(
"HLTTauDQMOffline") <<
"HLTTauDQMPathPlotter::HLTTauDQMPathPlotter(): " << e.
what();
41 edm::LogWarning(
"HLTTauDQMOffline") <<
"HLTTauDQMPathPlotter::beginRun(): HLTConfigProvider is not initialized!";
101 if(ntaus+neles+nmus == 2) {
102 hMass_ = store->
book1D(
"ReferenceMass",
"Invariant mass of reference "+
dqmFolder_+
";Reference invariant mass;entries", 100, 0, 500);
116 std::vector<HLTTauDQMPath::Object> triggerObjs;
117 std::vector<HLTTauDQMPath::Object> matchedTriggerObjs;
122 int lastMatchedFilter = -1;
126 for(
int i=0;
i<=lastPassedFilter; ++
i) {
128 matchedTriggerObjs.clear();
129 matchedOfflineObjs.
clear();
132 bool matched =
hltPath_.
offlineMatching(
i, triggerObjs, refCollection, matchDr, matchedTriggerObjs, matchedOfflineObjs);
139 lastMatchedFilter =
i;
143 for(
int i=0;
i<=lastPassedFilter; ++
i) {
165 matchedTriggerObjs.clear();
166 matchedOfflineObjs.
clear();
170 for(
const LV&
tau: matchedOfflineObjs.
taus) {
195 matchedTriggerObjs.clear();
196 matchedOfflineObjs.
clear();
200 for(
const LV&
tau: matchedOfflineObjs.
taus) {
213 matchedTriggerObjs.clear();
214 matchedOfflineObjs.
clear();
238 triggerObjs.swap(matchedTriggerObjs);
virtual char const * what() const
size_t getLastL2TauFilterIndex() const
MonitorElement * hL3TrigTauEtEffDenom_
MonitorElement * hL3TrigTauPhiEffDenom_
MonitorElement * hL2TrigTauPhiEffDenom_
MonitorElement * hL2TrigTauEtEffDenom_
MonitorElement * hTrigTauEt_
std::vector< LV > electrons
The single EDProduct to be saved for each event (AOD case)
MonitorElement * book1D(const char *name, const char *title, int nchX, double lowX, double highX)
Book 1D histogram.
MonitorElement * hL3TrigTauEtEffNum_
void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
int lastPassedFilter(const edm::TriggerResults &triggerResults) const
const std::string & triggerTag() const
MonitorElement * hL2TrigTauEtEffNum_
MonitorElement * hAcceptedEvents_
int getFilterNElectrons(size_t i) const
int getFilterNTaus(size_t i) const
bool isFirstFilterL1Seed() const
bool inited() const
Accessors (const methods)
MonitorElement * hL2TrigTauPhiEffNum_
void initialize(const edm::ParameterSet &pset)
size_t getLastFilterBeforeL3TauIndex() const
math::XYZTLorentzVectorD LV
void getFilterObjects(const trigger::TriggerEvent &triggerEvent, size_t i, std::vector< Object > &retval) const
MonitorElement * hL3TrigTauHighEtEffNum_
MonitorElement * hL3TrigTauEtaEffDenom_
void removeContents(void)
erase all monitoring elements in current directory (not including subfolders);
int getFilterNMuons(size_t i) const
size_t filtersSize() const
MonitorElement * hL3TrigTauPhiEffNum_
const bool doRefAnalysis_
MonitorElement * hL3TrigTauEtaEffNum_
void analyze(const edm::TriggerResults &triggerResults, const trigger::TriggerEvent &triggerEvent, const HLTTauDQMOfflineObjects &refCollection)
static std::string const triggerResults
HLTTauDQMPathPlotter(const edm::ParameterSet &pset, bool doRefAnalysis, const std::string &dqmBaseFolder, const std::string &hltProcess, int ptbins, int etabins, int phibins, double ptmax, double highptmax, double l1MatchDr, double hltMatchDr)
size_t getLastL3TauFilterIndex() const
bool beginRun(const HLTConfigProvider &HLTCP)
MonitorElement * hL2TrigTauHighEtEffNum_
bool offlineMatching(size_t i, const std::vector< Object > &triggerObjects, const HLTTauDQMOfflineObjects &offlineObjects, double dR, std::vector< Object > &matchedTriggerObjects, HLTTauDQMOfflineObjects &matchedOfflineObjects) const
MonitorElement * hTrigTauPhi_
const std::string & getFilterName(size_t i) const
bool fired(const edm::TriggerResults &triggerResults) const
size_t getLastFilterBeforeL2TauIndex() const
MonitorElement * hL2TrigTauEtaEffNum_
MonitorElement * hL2TrigTauHighEtEffDenom_
MonitorElement * hTrigTauEta_
MonitorElement * hL2TrigTauEtaEffDenom_
void beginRun(const HLTConfigProvider &HLTCP)
void setCurrentFolder(const std::string &fullpath)
MonitorElement * hL3TrigTauHighEtEffDenom_