8 double getMaxEta(
int binsEta,
double widthEta) {
10 edm::LogWarning(
"HLTTauDQMOffline") <<
"HLTTauDQML1Plotter::HLTTauDQML1Plotter: EtaHistoBinWidth = " << widthEta <<
" <= 0, using default value 0.348 instead";
13 return binsEta/2*widthEta;
22 maxHighPt_(maxhighpt),
23 binsEt_(ps.getUntrackedParameter<int>(
"EtHistoBins", 25)),
24 binsEta_(ps.getUntrackedParameter<int>(
"EtaHistoBins", 14)),
26 maxEta_(getMaxEta(binsEta_, ps.getUntrackedParameter<double>(
"EtaHistoBinWidth", 0.348)))
56 char buffer[BUFMAX] =
"";
70 snprintf(buffer, BUFMAX,
"L1 central jet #eta (E_{T} > %.1f);L1 jet #eta;entries",
l1JetMinEt_);
72 snprintf(buffer, BUFMAX,
"L1 central jet #phi (E_{T} > %.1f);L1 jet #phi;entries",
l1JetMinEt_);
78 snprintf(buffer, BUFMAX,
"L1 leading (#tau OR central jet E_{T} > %.1f) E_{T};L1 (#tau or central jet) E_{T};entries",
l1JetMinEt_);
80 snprintf(buffer, BUFMAX,
"L1 leading (#tau OR central jet E_{T} > %.1f) #eta;L1 (#tau or central jet) #eta;entries",
l1JetMinEt_);
82 snprintf(buffer, BUFMAX,
"L1 leading (#tau OR central jet E_{T} > %.1f) #phi;L1 (#tau or central jet) #phi;entries",
l1JetMinEt_);
85 snprintf(buffer, BUFMAX,
"L1 second-leading (#tau OR central jet E_{T} > %.1f) E_{T};L1 (#tau or central jet) E_{T};entries",
l1JetMinEt_);
87 snprintf(buffer, BUFMAX,
"L1 second-leading (#tau OR central jet E_{T} > %.1f) #eta;L1 (#tau or central jet) #eta;entries",
l1JetMinEt_);
89 snprintf(buffer, BUFMAX,
"L1 second-leading (#tau OR central jet E_{T} > %.1f) #phi;L1 (#tau or central jet) #phi;entries",
l1JetMinEt_);
93 l1tauEtRes_ = iBooker.
book1D(
"L1TauEtResol",
"L1 #tau E_{T} resolution;[L1 #tau E_{T}-Ref #tau E_{T}]/Ref #tau E_{T};entries",60,-1,4);
94 l1isotauEtRes_ = iBooker.
book1D(
"L1IsoTauEtResol",
"L1 iso#tau E_{T} resolution;[L1 iso#tau E_{T}-Ref iso#tau E_{T}]/Ref iso#tau E_{T};entries",60,-1,4);
95 snprintf(buffer, BUFMAX,
"L1 central jet E_{T} resolution (E_{T} > %.1f);[L1 jet E_{T}-Ref #tau E_{T}]/Ref #tau E_{T};entries",
l1JetMinEt_);
130 snprintf(buffer, BUFMAX,
"L1 central jet #eta Efficiency (E_{T} > %.1f);Ref #tau #eta;entries",
l1JetMinEt_);
133 snprintf(buffer, BUFMAX,
"L1 central jet #eta Denominator (E_{T} > %.1f);Ref #tau #eta;Efficiency",
l1JetMinEt_);
136 snprintf(buffer, BUFMAX,
"L1 central jet #phi Efficiency (E_{T} > %.1f);Ref #tau #phi;entries",
l1JetMinEt_);
139 snprintf(buffer, BUFMAX,
"L1 central jet #phi Efficiency (E_{T} > %.1f);Ref #tau #phi;Efficiency",
l1JetMinEt_);
196 for(l1extra::L1JetParticleCollection::const_iterator
i = taus->begin();
i != taus->end(); ++
i) {
197 l1taus.push_back(
i->p4());
202 pathTaus.push_back(
i->p4());
211 for(l1extra::L1JetParticleCollection::const_iterator
i = isotaus->begin();
i != isotaus->end(); ++
i) {
212 l1isotaus.push_back(
i->p4());
217 pathTaus.push_back(
i->p4());
226 for(l1extra::L1JetParticleCollection::const_iterator
i = jets->begin();
i != jets->end(); ++
i) {
227 l1jets.push_back(
i->p4());
233 pathTaus.push_back(
i->p4());
253 for ( LVColl::const_iterator
i = refC.
taus.begin();
i != refC.
taus.end(); ++
i ) {
267 pathTaus.push_back(m.second);
271 for ( LVColl::const_iterator
i = refC.
taus.begin();
i != refC.
taus.end(); ++
i ) {
285 pathTaus.push_back(m.second);
289 for ( LVColl::const_iterator
i = refC.
taus.begin();
i != refC.
taus.end(); ++
i ) {
304 pathTaus.push_back(m.second);
321 if(pathTaus.size() > 1)
std::sort(pathTaus.begin(), pathTaus.end(), [](
const LV&
a,
const LV&
b) {
return a.pt() >
b.pt(); });
323 if ( pathTaus.size() > 0 ) {
328 if ( pathTaus.size() > 1 ) {
T getUntrackedParameter(std::string const &, T const &) const
const double matchDeltaR_
MonitorElement * l1jetEta_
MonitorElement * l1isotauEtEffDenom_
edm::EDGetTokenT< l1extra::L1JetParticleCollection > l1ExtraJetsToken_
MonitorElement * secondTauEta_
MonitorElement * l1isotauHighEtEffDenom_
void bookHistograms(DQMStore::IBooker &iBooker)
MonitorElement * l1isotauEta_
bool getByToken(EDGetToken token, Handle< PROD > &result) const
MonitorElement * firstTauPhi_
MonitorElement * l1jetEtEffNum_
MonitorElement * l1jetPhiEffDenom_
MonitorElement * l1etmEtEffNum_
MonitorElement * l1jetHighEtEffDenom_
MonitorElement * l1jetEtaEffNum_
MonitorElement * l1isotauPhiEffNum_
MonitorElement * l1jetHighEtEffNum_
MonitorElement * l1isotauEt_
const std::string & triggerTag() const
void analyze(const edm::Event &iEvent, const edm::EventSetup &iSetup, const HLTTauDQMOfflineObjects &refC)
edm::EDGetTokenT< l1extra::L1JetParticleCollection > l1ExtraTausToken_
MonitorElement * firstTauEta_
edm::InputTag l1ExtraIsoTaus_
MonitorElement * l1tauEt_
MonitorElement * l1isotauEtaEffDenom_
MonitorElement * l1isotauPhiEffDenom_
MonitorElement * secondTauEt_
MonitorElement * l1tauEtEffDenom_
MonitorElement * l1jetEtRes_
MonitorElement * l1jetPhiEffNum_
math::XYZTLorentzVectorD LV
const bool doRefAnalysis_
MonitorElement * l1tauEtaEffNum_
MonitorElement * firstTauEt_
MonitorElement * l1tauHighEtEffDenom_
edm::EDGetTokenT< l1extra::L1EtMissParticleCollection > l1ExtraMETToken_
MonitorElement * l1etmEt_
MonitorElement * l1jetEtEffDenom_
MonitorElement * book1D(Args &&...args)
MonitorElement * l1tauEtEffNum_
MonitorElement * l1tauPhi_
MonitorElement * l1isotauHighEtEffNum_
edm::InputTag l1ExtraTaus_
edm::InputTag l1ExtraMET_
MonitorElement * l1tauEta_
MonitorElement * l1isotauPhi_
MonitorElement * l1isotauEtaEffNum_
void setCurrentFolder(const std::string &fullpath)
MonitorElement * secondTauPhi_
T const * product() const
MonitorElement * l1tauPhiEffDenom_
HLTTauDQML1Plotter(const edm::ParameterSet &, edm::ConsumesCollector &&cc, int phibins, double maxpt, double maxhighpt, bool ref, double dr, const std::string &dqmBaseFolder)
edm::InputTag l1ExtraJets_
MonitorElement * l1isotauEtEffNum_
MonitorElement * l1tauEtaEffDenom_
edm::EDGetTokenT< l1extra::L1JetParticleCollection > l1ExtraIsoTausToken_
MonitorElement * l1tauEtRes_
MonitorElement * l1jetPhi_
MonitorElement * l1jetEt_
MonitorElement * l1jetEtaEffDenom_
std::pair< bool, LV > match(const LV &, const LVColl &, double)
MonitorElement * l1isotauEtRes_
MonitorElement * l1etmEtEffDenom_
MonitorElement * l1etmPhi_
MonitorElement * l1tauPhiEffNum_
MonitorElement * l1tauHighEtEffNum_