|
|
Go to the documentation of this file.
8 size_t versionStart =
pathName.rfind(
"_v");
9 if (versionStart == std::string::npos)
11 return pathName.substr(0, versionStart);
32 highptmax_(highptmax),
33 l1MatchDr_(l1MatchDr),
34 hltMatchDr_(hltMatchDr),
35 doRefAnalysis_(doRefAnalysis),
59 iBooker.
book1D(
"L2TrigTauEtEffNum",
"L2 #tau p_{T} efficiency;Ref #tau p_{T};entries",
ptbins_, 0,
ptmax_);
61 "L2TrigTauEtEffDenom",
"L2 #tau p_{T} denominator;Ref #tau p_{T};Efficiency",
ptbins_, 0,
ptmax_);
63 iBooker.
book1D(
"L2TrigTauEtaEffNum",
"L2 #tau #eta efficiency;Ref #tau #eta;entries",
etabins_, -2.5, 2.5);
65 "L2TrigTauEtaEffDenom",
"L2 #tau #eta denominator;Ref #tau #eta;Efficiency",
etabins_, -2.5, 2.5);
67 iBooker.
book1D(
"L2TrigTauPhiEffNum",
"L2 #tau #phi efficiency;Ref #tau #phi;entries",
phibins_, -3.2, 3.2);
69 "L2TrigTauPhiEffDenom",
"L2 #tau #phi denominator;Ref #tau #phi;Efficiency",
phibins_, -3.2, 3.2);
71 "L2 #tau p_{T} efficiency (high p_{T});Ref #tau p_{T};entries",
76 "L2 #tau p_{T} denominator (high p_{T});Ref #tau p_{T};Efficiency",
84 iBooker.
book1D(
"L3TrigTauEtEffNum",
"L3 #tau p_{T} efficiency;Ref #tau p_{T};entries",
ptbins_, 0,
ptmax_);
86 "L3TrigTauEtEffDenom",
"L3 #tau p_{T} denominator;Ref #tau p_{T};Efficiency",
ptbins_, 0,
ptmax_);
88 iBooker.
book1D(
"L3TrigTauEtaEffNum",
"L3 #tau #eta efficiency;Ref #tau #eta;entries",
etabins_, -2.5, 2.5);
90 "L3TrigTauEtaEffDenom",
"L3 #tau #eta denominator;Ref #tau #eta;Efficiency",
etabins_, -2.5, 2.5);
92 iBooker.
book1D(
"L3TrigTauPhiEffNum",
"L3 #tau #phi efficiency;Ref #tau #phi;entries",
phibins_, -3.2, 3.2);
94 "L3TrigTauPhiEffDenom",
"L3 #tau #phi denominator;Ref #tau #phi;Efficiency",
phibins_, -3.2, 3.2);
96 "L3 #tau p_{T} efficiency (high p_{T});Ref #tau p_{T};entries",
101 "L3 #tau p_{T} denominator (high p_{T});Ref #tau p_{T};Efficiency",
106 "L3TrigTauEtaPhiEffNum",
"L3 efficiency in eta-phi plane",
etabins_, -2.5, 2.5,
phibins_, -3.2, 3.2);
108 "L3TrigTauEtaPhiEffDenom",
"L3 denominator in eta-phi plane",
etabins_, -2.5, 2.5,
phibins_, -3.2, 3.2);
114 "L2TrigElectronEtEffNum",
"L2 electron p_{T} efficiency;Ref electron p_{T};entries",
ptbins_, 0,
ptmax_);
116 "L2TrigElectronEtEffDenom",
"L2 electron p_{T} denominator;Ref electron p_{T};Efficiency",
ptbins_, 0,
ptmax_);
118 "L2TrigElectronEtaEffNum",
"L2 electron #eta efficiency;Ref electron #eta;entries",
etabins_, -2.5, 2.5);
120 "L2TrigElectronEtaEffDenom",
"L2 electron #eta denominator;Ref electron #eta;Efficiency",
etabins_, -2.5, 2.5);
122 "L2TrigElectronPhiEffNum",
"L2 electron #phi efficiency;Ref electron #phi;entries",
phibins_, -3.2, 3.2);
124 "L2TrigElectronPhiEffDenom",
"L2 electron #phi denominator;Ref electron #phi;Efficiency",
phibins_, -3.2, 3.2);
129 "L3TrigElectronEtEffNum",
"L3 electron p_{T} efficiency;Ref electron p_{T};entries",
ptbins_, 0,
ptmax_);
131 "L3TrigElectronEtEffDenom",
"L3 electron p_{T} denominator;Ref electron p_{T};Efficiency",
ptbins_, 0,
ptmax_);
133 "L3TrigElectronEtaEffNum",
"L3 electron #eta efficiency;Ref electron #eta;entries",
etabins_, -2.5, 2.5);
135 "L3TrigElectronEtaEffDenom",
"L3 electron #eta denominator;Ref electron #eta;Efficiency",
etabins_, -2.5, 2.5);
137 "L3TrigElectronPhiEffNum",
"L3 electron #phi efficiency;Ref electron #phi;entries",
phibins_, -3.2, 3.2);
139 "L3TrigElectronPhiEffDenom",
"L3 electron #phi denominator;Ref electron #phi;Efficiency",
phibins_, -3.2, 3.2);
144 iBooker.
book1D(
"L2TrigMuonEtEffNum",
"L2 muon p_{T} efficiency;Ref muon p_{T};entries",
ptbins_, 0,
ptmax_);
146 "L2TrigMuonEtEffDenom",
"L2 muon p_{T} denominator;Ref muon p_{T};Efficiency",
ptbins_, 0,
ptmax_);
148 iBooker.
book1D(
"L2TrigMuonEtaEffNum",
"L2 muon #eta efficiency;Ref muon #eta;entries",
etabins_, -2.5, 2.5);
150 "L2TrigMuonEtaEffDenom",
"L2 muon #eta denominator;Ref muon #eta;Efficiency",
etabins_, -2.5, 2.5);
152 iBooker.
book1D(
"L2TrigMuonPhiEffNum",
"L2 muon #phi efficiency;Ref muon #phi;entries",
phibins_, -3.2, 3.2);
154 "L2TrigMuonPhiEffDenom",
"L2 muon #phi denominator;Ref muon #phi;Efficiency",
phibins_, -3.2, 3.2);
159 iBooker.
book1D(
"L3TrigMuonEtEffNum",
"L3 muon p_{T} efficiency;Ref muon p_{T};entries",
ptbins_, 0,
ptmax_);
161 "L3TrigMuonEtEffDenom",
"L3 muon p_{T} denominator;Ref muon p_{T};Efficiency",
ptbins_, 0,
ptmax_);
163 iBooker.
book1D(
"L3TrigMuonEtaEffNum",
"L3 muon #eta efficiency;Ref muon #eta;entries",
etabins_, -2.5, 2.5);
165 "L3TrigMuonEtaEffDenom",
"L3 muon #eta denominator;Ref muon #eta;Efficiency",
etabins_, -2.5, 2.5);
167 iBooker.
book1D(
"L3TrigMuonPhiEffNum",
"L3 muon #phi efficiency;Ref muon #phi;entries",
phibins_, -3.2, 3.2);
169 "L3TrigMuonPhiEffDenom",
"L3 muon #phi denominator;Ref muon #phi;Efficiency",
phibins_, -3.2, 3.2);
174 iBooker.
book1D(
"L2TrigMETEtEffNum",
"L2 MET efficiency;Ref MET;entries",
ptbins_, 0,
ptmax_);
176 iBooker.
book1D(
"L2TrigMETEtEffDenom",
"L2 MET denominator;Ref MET;Efficiency",
ptbins_, 0,
ptmax_);
190 int lastMatchedMETFilter = -1;
193 lastMatchedMETFilter =
i;
195 if (lastMatchedMETFilter >= 0)
198 if (
name ==
"tau-met") {
200 "ReferenceMass",
"Transverse mass of reference " +
name +
";Reference transverse mass;entries", 100, 0, 500);
203 "ReferenceMass",
"Invariant mass of reference " +
name +
";Reference invariant mass;entries", 100, 0, 500);
207 << neles <<
" muons " <<
nmus;
215 iBooker.
book1D(
"TrigElectronEt",
"Triggered electron p_{T};electron p_{T};entries",
ptbins_, 0,
ptmax_);
217 iBooker.
book1D(
"TrigElectronEta",
"Triggered electron #eta;electron #eta;entries",
etabins_, -2.5, 2.5);
219 iBooker.
book1D(
"TrigElectronPhi",
"Triggered electron #phi;electron #phi;entries",
phibins_, -3.2, 3.2);
230 if (
ntaus == 2 && neles == 0 &&
nmus == 0 && nmet == 0)
232 if (
ntaus == 1 && neles == 1 &&
nmus == 0 && nmet == 0)
234 if (
ntaus == 1 && neles == 0 &&
nmus == 1 && nmet == 0)
236 if (
ntaus == 1 && neles == 0 &&
nmus == 0 && nmet == 1)
246 std::vector<HLTTauDQMPath::Object> triggerObjs;
247 std::vector<HLTTauDQMPath::Object> matchedTriggerObjs;
252 int lastMatchedFilter = -1;
253 int lastMatchedMETFilter = -1;
254 int lastMatchedElectronFilter = -1;
255 int lastMatchedMuonFilter = -1;
256 int lastMatchedTauFilter = -1;
257 int firstMatchedMETFilter = -1;
261 for (
int i = 0;
i <= lastPassedFilter; ++
i) {
263 matchedTriggerObjs.clear();
264 matchedOfflineObjs.
clear();
275 lastMatchedFilter =
i;
277 lastMatchedMETFilter =
i;
279 lastMatchedMuonFilter =
i;
281 lastMatchedElectronFilter =
i;
286 lastMatchedTauFilter =
i;
288 firstMatchedMETFilter =
i;
291 for (
int i = 0;
i <= lastPassedFilter; ++
i) {
302 for (
const LV&
tau : refCollection.
taus) {
313 matchedTriggerObjs.clear();
314 matchedOfflineObjs.
clear();
323 for (
const LV&
tau : matchedOfflineObjs.
taus) {
337 for (
const LV&
tau : refCollection.
taus) {
349 matchedTriggerObjs.clear();
350 matchedOfflineObjs.
clear();
359 for (
const LV&
tau : matchedOfflineObjs.
taus) {
384 matchedTriggerObjs.clear();
385 matchedOfflineObjs.
clear();
417 matchedTriggerObjs.clear();
418 matchedOfflineObjs.
clear();
450 matchedTriggerObjs.clear();
451 matchedOfflineObjs.
clear();
483 matchedTriggerObjs.clear();
484 matchedOfflineObjs.
clear();
512 matchedTriggerObjs.clear();
513 matchedOfflineObjs.
clear();
530 matchedTriggerObjs.clear();
531 matchedOfflineObjs.
clear();
533 if (lastMatchedMETFilter >= 0)
535 if (lastMatchedMuonFilter >= 0)
537 if (lastMatchedElectronFilter >= 0)
540 if (lastMatchedTauFilter >= 0)
545 lastPassedFilter, triggerObjs, refCollection,
hltMatchDr_, matchedTriggerObjs, matchedOfflineObjs);
565 double taupt = matchedOfflineObjs.
taus[0].Pt();
566 double tauphi = matchedOfflineObjs.
taus[0].Phi();
567 double met = matchedOfflineObjs.
met[0].Pt();
568 double metphi = matchedOfflineObjs.
met[0].Phi();
MonitorElement * hTrigTauEt_
MonitorElement * hL2TrigElectronEtEffDenom_
bool fired(const edm::TriggerResults &triggerResults) const
MonitorElement * hL2TrigElectronEtEffNum_
size_t getLastL3TauFilterIndex() const
size_t getLastFilterBeforeL3ElectronIndex() const
MonitorElement * hTrigElectronPhi_
MonitorElement * hL2TrigElectronPhiEffDenom_
virtual void setOption(const char *option)
MonitorElement * hL3TrigTauEtEffDenom_
const std::string & getPathName() const
int getFilterNTaus(size_t i) const
MonitorElement * hL2TrigMuonEtaEffDenom_
MonitorElement * hL3TrigTauEtaPhiEffDenom_
MonitorElement * hL2TrigTauEtEffDenom_
MonitorElement * hL2TrigTauPhiEffNum_
size_t getLastL2CaloMETFilterIndex() const
MonitorElement * hL2TrigMuonEtaEffNum_
static const std::string triggerResults
virtual void setCurrentFolder(std::string const &fullpath)
MonitorElement * hTrigMuonPhi_
size_t getLastFilterBeforeL2MuonIndex() const
int lastPassedFilter(const edm::TriggerResults &triggerResults) const
size_t getLastL3ElectronFilterIndex() const
MonitorElement * hL2TrigMuonEtEffNum_
size_t getFirstFilterBeforeL2CaloMETIndex() const
MonitorElement * hL3TrigTauPhiEffDenom_
def create(alignables, pedeDump, additionalData, outputFile, config)
size_t getLastL3MuonFilterIndex() const
MonitorElement * hL3TrigMuonEtaEffDenom_
MonitorElement * hL2TrigMETEtEffDenom_
bool hasL2CaloMET() const
int getFilterNMuons(size_t i) const
MonitorElement * hL3TrigElectronEtaEffNum_
bool hasL3Electrons() const
MonitorElement * hTrigMuonEt_
Cos< T >::type cos(const T &t)
MonitorElement * hL3TrigTauEtaPhiEffNum_
MonitorElement * hL3TrigTauEtEffNum_
MonitorElement * hL3TrigElectronEtaEffDenom_
std::vector< LV > electrons
MonitorElement * hL2TrigMETEtEffNum_
size_t getLastL2ElectronFilterIndex() const
MonitorElement * hL3TrigTauPhiEffNum_
MonitorElement * hL3TrigMuonEtaEffNum_
size_t getLastFilterBeforeL3TauIndex() const
int getFilterNElectrons(size_t i) const
const std::string & triggerTag() const
MonitorElement * hL2TrigTauEtEffNum_
MonitorElement * hAcceptedEvents_
MonitorElement * hL3TrigTauEtaEffDenom_
MonitorElement * hL2TrigTauEtaEffNum_
MonitorElement * hL2TrigTauHighEtEffNum_
MonitorElement * hTrigMuonEta_
MonitorElement * hL2TrigMuonPhiEffNum_
size_t filtersSize() const
MonitorElement * hL3TrigTauEtaEffNum_
virtual 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)
MonitorElement * hL3TrigTauHighEtEffNum_
MonitorElement * hL3TrigElectronPhiEffNum_
MonitorElement * hL3TrigTauHighEtEffDenom_
const std::string & getFilterName(size_t i) const
The single EDProduct to be saved for each event (AOD case)
MonitorElement * hTrigMETEt_
bool isFirstFilterL1Seed() const
MonitorElement * hL3TrigElectronEtEffNum_
MonitorElement * hL3TrigMuonEtEffNum_
size_t getLastFilterBeforeL2TauIndex() const
MonitorElement * hL2TrigMuonEtEffDenom_
void analyze(const edm::TriggerResults &triggerResults, const trigger::TriggerEvent &triggerEvent, const HLTTauDQMOfflineObjects &refCollection)
void bookHistograms(DQMStore::IBooker &iBooker)
MonitorElement * hL3TrigMuonEtEffDenom_
const bool doRefAnalysis_
MonitorElement * hL2TrigTauHighEtEffDenom_
bool offlineMatching(size_t i, const std::vector< Object > &triggerObjects, const HLTTauDQMOfflineObjects &offlineObjects, double dR, std::vector< Object > &matchedTriggerObjects, HLTTauDQMOfflineObjects &matchedOfflineObjects) const
MonitorElement * hTrigMETPhi_
MonitorElement * hL3TrigElectronPhiEffDenom_
int getFilterMET(size_t i) const
MonitorElement * hL2TrigElectronEtaEffNum_
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
MonitorElement * hTrigTauEta_
size_t getLastL2MuonFilterIndex() const
math::XYZTLorentzVectorD LV
MonitorElement * hL3TrigElectronEtEffDenom_
MonitorElement * hL2TrigElectronPhiEffNum_
const std::string & getFilterType(size_t i) const
MonitorElement * hL3TrigMuonPhiEffNum_
MonitorElement * hL2TrigElectronEtaEffDenom_
size_t getLastFilterBeforeL2ElectronIndex() const
MonitorElement * hTrigElectronEt_
MonitorElement * hL2TrigTauPhiEffDenom_
MonitorElement * hL2TrigMuonPhiEffDenom_
MonitorElement * hL3TrigMuonPhiEffDenom_
size_t getLastL2TauFilterIndex() const
size_t getLastFilterBeforeL3MuonIndex() const
bool hasL2Electrons() const
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 * hTrigElectronEta_
void getFilterObjects(const trigger::TriggerEvent &triggerEvent, size_t i, std::vector< Object > &retval) const
MonitorElement * hTrigTauPhi_
MonitorElement * hL2TrigTauEtaEffDenom_
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())