8 size_t versionStart = pathName.rfind(
"_v");
9 if(versionStart == std::string::npos)
11 return pathName.substr(0, versionStart);
16 bool doRefAnalysis,
const std::string& dqmBaseFolder,
17 const std::string& hltProcess,
int ptbins,
int etabins,
int phibins,
18 double ptmax,
double highptmax,
19 double l1MatchDr,
double hltMatchDr):
25 highptmax_(highptmax),
26 l1MatchDr_(l1MatchDr),
27 hltMatchDr_(hltMatchDr),
28 doRefAnalysis_(doRefAnalysis),
29 hltPath_(pathName, hltProcess, doRefAnalysis_, HLTCP)
85 this->
hMass_ = iBooker.
book1D(
"ReferenceMass",
"Invariant mass of reference "+
name+
";Reference invariant mass;entries", 100, 0, 500);
88 LogDebug(
"HLTTauDQMOffline") <<
"Path " <<
hltPath_.
getPathName() <<
" number of taus " << ntaus <<
" electrons " << neles <<
" muons " << nmus;
106 std::vector<HLTTauDQMPath::Object> triggerObjs;
107 std::vector<HLTTauDQMPath::Object> matchedTriggerObjs;
112 int lastMatchedFilter = -1;
116 for(
int i=0;
i<=lastPassedFilter; ++
i) {
118 matchedTriggerObjs.clear();
119 matchedOfflineObjs.
clear();
122 bool matched =
hltPath_.
offlineMatching(
i, triggerObjs, refCollection, matchDr, matchedTriggerObjs, matchedOfflineObjs);
129 lastMatchedFilter =
i;
133 for(
int i=0;
i<=lastPassedFilter; ++
i) {
155 matchedTriggerObjs.clear();
156 matchedOfflineObjs.
clear();
160 for(
const LV&
tau: matchedOfflineObjs.
taus) {
185 matchedTriggerObjs.clear();
186 matchedOfflineObjs.
clear();
190 for(
const LV&
tau: matchedOfflineObjs.
taus) {
203 matchedTriggerObjs.clear();
204 matchedOfflineObjs.
clear();
228 triggerObjs.swap(matchedTriggerObjs);
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)
HLTTauDQMPathPlotter(const std::string &pathName, const HLTConfigProvider &HLTCP, bool doRefAnalysis, const std::string &dqmBaseFolder, const std::string &hltProcess, int ptbins, int etabins, int phibins, double ptmax, double highptmax, double l1MatchDr, double hltMatchDr)
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
MonitorElement * hL2TrigTauPhiEffNum_
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_
int getFilterNMuons(size_t i) const
size_t filtersSize() const
MonitorElement * hL3TrigTauPhiEffNum_
MonitorElement * book1D(Args &&...args)
const bool doRefAnalysis_
MonitorElement * hL3TrigTauEtaEffNum_
void analyze(const edm::TriggerResults &triggerResults, const trigger::TriggerEvent &triggerEvent, const HLTTauDQMOfflineObjects &refCollection)
static std::string const triggerResults
size_t getLastL3TauFilterIndex() const
MonitorElement * hL2TrigTauHighEtEffNum_
bool offlineMatching(size_t i, const std::vector< Object > &triggerObjects, const HLTTauDQMOfflineObjects &offlineObjects, double dR, std::vector< Object > &matchedTriggerObjects, HLTTauDQMOfflineObjects &matchedOfflineObjects) const
void bookHistograms(DQMStore::IBooker &iBooker)
MonitorElement * hTrigTauPhi_
void setCurrentFolder(const std::string &fullpath)
const std::string & getFilterName(size_t i) const
bool fired(const edm::TriggerResults &triggerResults) const
size_t getLastFilterBeforeL2TauIndex() const
const std::string & getPathName() const
MonitorElement * hL2TrigTauEtaEffNum_
MonitorElement * hL2TrigTauHighEtEffDenom_
MonitorElement * hTrigTauEta_
MonitorElement * hL2TrigTauEtaEffDenom_
MonitorElement * hL3TrigTauHighEtEffDenom_