1 #ifndef FOURVECTORHLTRIGGEROFFLINE_H
2 #define FOURVECTORHLTRIGGEROFFLINE_H
97 typedef std::multimap<float,int>
fimmap ;
98 typedef std::set<fimmap , std::less<fimmap> >
mmset;
561 float ptmin,
float ptmax
662 void setPath(FourVectorHLTriggerOffline::PathInfoCollection::iterator
v) {
v_ =
v; }
712 bool hasBPartonInCone(reco::GenJetCollection::const_iterator gjet,
float coneSize);
754 FourVectorHLTriggerOffline::PathInfoCollection::iterator
v_;
763 for(std::vector<int>::const_iterator it = triggerType_.begin(); it != triggerType_.end(); ++it)
766 if(t == *it) { rc =
true;
break; }
780 for(std::vector<int>::const_iterator it = l1triggerType_.begin(); it != l1triggerType_.end(); ++it)
783 if(t == *it) { rc =
true;
break; }
797 if(! isTriggerType(v_->getObjectType()) )
return;
803 if (l1accept) monitorL1(idtype, l1k, toc);
812 unsigned int NOff = 0;
814 if( offCollB_.isValid()) {
816 for( const_iterator iter = offCollB_->begin(), iend = offCollB_->end(); iter != iend; ++iter )
819 float recoEta = (*iter).first->eta();
820 float recoPhi = (*iter).first->phi();
821 float recoPt = (*iter).first->pt();
824 if (fabs(recoEta) <= EtaMax_ && recoPt >= EtMin_ )
828 v_->getOffEtOffHisto()->Fill(recoPt);
829 v_->getOffEtaVsOffPhiOffHisto()->Fill(recoEta, recoPhi);
836 else if(offColl_.isValid()) {
838 typedef typename T::const_iterator const_iterator;
839 for( const_iterator iter = offColl_->begin(), iend = offColl_->end(); iter != iend; ++iter )
843 if (fabs(iter->eta()) <= EtaMax_ && iter->pt() >= EtMin_ )
847 v_->getOffEtOffHisto()->Fill(iter->pt());
848 v_->getOffEtaVsOffPhiOffHisto()->Fill(iter->eta(), iter->phi());
856 v_->getNOffHisto()->Fill(NOff);
869 if (! genJets_.isValid())
return;
871 for(reco::GenJetCollection::const_iterator gjet=genJets_->begin(); gjet!=genJets_->end(); gjet++) {
873 if (fabs(gjet->eta()) <= EtaMax_ && gjet->pt() >= EtMin_ ){
878 if(! hasBPartonInCone(gjet,0.7))
continue;
884 v_->getMcEtMcHisto()->Fill(gjet->pt());
885 v_->getMcEtaVsMcPhiMcHisto()->Fill(gjet->eta(),gjet->phi());
894 else if( genParticles_.isValid()) {
896 for(
size_t i = 0;
i < genParticles_->size(); ++
i) {
899 if (
abs(p.
pdgId()) == pdgId_ && p.
status() == pdgStatus_ && fabs(p.
eta()) <= EtaMax_ && p.
pt() >= EtMin_ ){
902 v_->getMcEtMcHisto()->Fill(p.
pt());
903 v_->getMcEtaVsMcPhiMcHisto()->Fill(p.
eta(),p.
phi());
911 v_->getNMcHisto()->Fill(NMc);
920 unsigned int NL1McUM=0;
921 unsigned int NL1OffUM=0;
923 trigger::Vids::const_iterator idtypeiter = idtype.begin();
924 for (trigger::Keys::const_iterator l1ki = l1k.begin(); l1ki !=l1k.end(); ++l1ki ) {
927 if(isL1TriggerType(*idtypeiter))
933 if (fabs(l1FV.
eta()) <= EtaMax_ && l1FV.
pt() >= EtMin_)
936 v_->getL1EtL1Histo()->Fill(l1FV.
pt());
937 v_->getL1EtaVsL1PhiL1Histo()->Fill(l1FV.
eta(), l1FV.
phi());
943 if (offCollB_.isValid()) {
947 for( const_iterator iter = offCollB_->begin(), iend = offCollB_->end(); iter != iend; ++iter )
950 float recoEta = (*iter).first->eta();
951 float recoPhi = (*iter).first->phi();
952 float recoPt = (*iter).first->pt();
954 if (fabs(recoEta) <= EtaMax_ && recoPt >= EtMin_ )
961 v_->getOffEtL1OffUMHisto()->Fill(recoPt);
962 v_->getOffEtaVsOffPhiL1OffUMHisto()->Fill(recoEta,recoPhi);
971 L1OffDRMatchMap.insert(std::pair<float,int>(dR,j));
982 else if (offColl_.isValid()) {
985 typedef typename T::const_iterator const_iterator;
986 for( const_iterator iter = offColl_->begin(), iend = offColl_->end(); iter != iend; ++iter )
989 if (fabs(iter->eta()) <= EtaMax_ && iter->pt() >= EtMin_ )
996 v_->getOffEtL1OffUMHisto()->Fill(iter->pt());
997 v_->getOffEtaVsOffPhiL1OffUMHisto()->Fill(iter->eta(),iter->phi());
1006 L1OffDRMatchMap.insert(std::pair<float,int>(dR,j));
1017 if(! L1OffDRMatchMap.empty()) L1OffDRMatchSet.insert(L1OffDRMatchMap);
1022 if (GenJetsFlag_ && genJets_.isValid())
1028 for(reco::GenJetCollection::const_iterator gjet=genJets_->begin(); gjet!=genJets_->end(); gjet++) {
1030 if (fabs(gjet->eta()) <= EtaMax_ && gjet->pt() >= EtMin_ ){
1035 if(! hasBPartonInCone(gjet,0.7)) {
1048 v_->getMcEtL1McUMHisto()->Fill(gjet->pt());
1049 v_->getMcEtaVsMcPhiL1McUMHisto()->Fill(gjet->eta(),gjet->phi());
1058 L1MCDRMatchMap.insert(std::pair<float,int>(dR,j));
1069 if(! L1MCDRMatchMap.empty()) {
1070 L1MCDRMatchSet.insert(L1MCDRMatchMap);
1074 else if ( ! GenJetsFlag_ && genParticles_.isValid())
1078 for(
size_t i = 0;
i < genParticles_->size(); ++
i)
1082 if (
abs(p.
pdgId()) == pdgId_ && p.
status() == pdgStatus_ && fabs(p.
eta()) <= EtaMax_ && p.
pt() >= EtMin_)
1089 v_->getMcEtL1McUMHisto()->Fill(p.
pt());
1090 v_->getMcEtaVsMcPhiL1McUMHisto()->Fill(p.
eta(),p.
phi());
1099 L1MCDRMatchMap.insert(std::pair<float,int>(dR,
i));
1106 if(! L1MCDRMatchMap.empty()) {
1107 L1MCDRMatchSet.insert(L1MCDRMatchMap);
1117 v_->getNL1Histo()->Fill(NL1);
1118 v_->getNL1OffUMHisto()->Fill(NL1OffUM);
1119 v_->getNL1McUMHisto()->Fill(NL1McUM);
1128 unsigned int NOnOffUM=0;
1129 unsigned int NOnMcUM=0;
1130 unsigned int NOnL1UM=0;
1132 if(! isTriggerType(v_->getObjectType()) )
return;
1138 if (fabs(onlineFV.
eta()) <= EtaMax_ && onlineFV.
pt() >= EtMin_)
1141 v_->getOnEtOnHisto()->Fill(onlineFV.
pt());
1142 v_->getOnEtaVsOnPhiOnHisto()->Fill(onlineFV.
eta(), onlineFV.
phi());
1149 if (offCollB_.isValid()) {
1153 for( const_iterator iter = offCollB_->begin(), iend = offCollB_->end(); iter != iend; ++iter )
1156 float recoEta = (*iter).first->eta();
1157 float recoPhi = (*iter).first->phi();
1158 float recoPt = (*iter).first->pt();
1160 if (fabs(recoEta) <= EtaMax_ && recoPt >= EtMin_ )
1167 v_->getOffEtOnOffUMHisto()->Fill(recoPt);
1168 v_->getOffEtaVsOffPhiOnOffUMHisto()->Fill(recoEta,recoPhi);
1177 OnOffDRMatchMap.insert(std::pair<float,int>(dR,j));
1188 else if (offColl_.isValid()) {
1192 typedef typename T::const_iterator const_iterator;
1193 for( const_iterator iter = offColl_->begin(), iend = offColl_->end(); iter != iend; ++iter )
1196 if (fabs(iter->eta()) <= EtaMax_ && iter->pt() >= EtMin_ )
1203 v_->getOffEtOnOffUMHisto()->Fill(iter->pt());
1204 v_->getOffEtaVsOffPhiOnOffUMHisto()->Fill(iter->eta(),iter->phi());
1213 OnOffDRMatchMap.insert(std::pair<float,int>(dR,j));
1226 if(! OnOffDRMatchMap.empty()) OnOffDRMatchSet.insert(OnOffDRMatchMap);
1232 trigger::Vids::const_iterator idtypeiter = idtype.begin();
1233 for (trigger::Keys::const_iterator l1ki = l1k.begin(); l1ki !=l1k.end(); ++l1ki )
1238 if(isL1TriggerType(*idtypeiter))
1243 if ( fabs(l1FV.
eta()) <= EtaMax_ && l1FV.
pt() >= EtMin_ )
1250 v_->getL1EtL1OnUMHisto()->Fill(l1FV.
pt());
1251 v_->getL1EtaVsL1PhiL1OnUMHisto()->Fill(l1FV.
eta(),l1FV.
phi());
1261 OnL1DRMatchMap.insert(std::pair<float,int>(dR,j));
1274 if(! OnL1DRMatchMap.empty()) OnL1DRMatchSet.insert(OnL1DRMatchMap);
1279 if (GenJetsFlag_ && genJets_.isValid())
1285 for(reco::GenJetCollection::const_iterator gjet=genJets_->begin(); gjet!=genJets_->end(); gjet++) {
1287 if (fabs(gjet->eta()) <= EtaMax_ && gjet->pt() >= EtMin_ ){
1292 if(! hasBPartonInCone(gjet,0.7)) {
1304 v_->getMcEtOnMcUMHisto()->Fill(gjet->pt());
1305 v_->getMcEtaVsMcPhiOnMcUMHisto()->Fill(gjet->eta(),gjet->phi());
1314 OnMCDRMatchMap.insert(std::pair<float,int>(dR,j));
1324 if(! OnMCDRMatchMap.empty()) OnMCDRMatchSet.insert(OnMCDRMatchMap);
1327 else if (!GenJetsFlag_ && genParticles_.isValid())
1331 for(
size_t i = 0;
i < genParticles_->size(); ++
i)
1335 if (
abs(p.
pdgId()) == pdgId_ && p.
status() == pdgStatus_ && fabs(p.
eta()) <= EtaMax_ && p.
pt() >= EtMin_)
1342 v_->getMcEtOnMcUMHisto()->Fill(p.
pt());
1343 v_->getMcEtaVsMcPhiOnMcUMHisto()->Fill(p.
eta(),p.
phi());
1352 OnMCDRMatchMap.insert(std::pair<float,int>(dR,
i));
1358 if(! OnMCDRMatchMap.empty()) OnMCDRMatchSet.insert(OnMCDRMatchMap);
1362 v_->getNOnHisto()->Fill(NOn);
1363 v_->getNOnOffUMHisto()->Fill(NOnOffUM);
1364 v_->getNL1OnUMHisto()->Fill(NOnL1UM);
1365 v_->getNOnMcUMHisto()->Fill(NOnMcUM);
1373 unsigned int NOff=0;
1374 unsigned int NOffMcUM=0;
1376 if(! isTriggerType(v_->getObjectType()) )
return;
1379 if(offCollB_.isValid()) {
1382 for( const_iterator iter = offCollB_->begin(), iend = offCollB_->end(); iter != iend; ++iter )
1387 if (GenJetsFlag_ && genJets_.isValid())
1393 for(reco::GenJetCollection::const_iterator gjet=genJets_->begin(); gjet!=genJets_->end(); gjet++) {
1396 if (fabs(gjet->eta()) <= EtaMax_ && gjet->pt() >= EtMin_ ){
1398 if (BJetsFlag_ && hasBPartonInCone(gjet,0.7)) {
1405 v_->getMcEtOffMcUMHisto()->Fill(gjet->pt());
1406 v_->getMcEtaVsMcPhiOffMcUMHisto()->Fill(gjet->eta(),gjet->phi());
1411 float dR =
reco::deltaR(gjet->eta(),gjet->phi(),(*iter).first->eta(),(*iter).first->phi());
1415 OffMCDRMatchMap.insert(std::pair<float,int>(dR,j));
1427 if(! OffMCDRMatchMap.empty()) OffMCDRMatchSet.insert(OffMCDRMatchMap);
1434 else if(offColl_.isValid()) {
1436 typedef typename T::const_iterator const_iterator;
1437 for( const_iterator iter = offColl_->begin(), iend = offColl_->end(); iter != iend; ++iter )
1442 if (GenJetsFlag_ && genJets_.isValid())
1448 for(reco::GenJetCollection::const_iterator gjet=genJets_->begin(); gjet!=genJets_->end(); gjet++) {
1450 if (fabs(gjet->eta()) <= EtaMax_ && gjet->pt() >= EtMin_ ){
1455 if(! hasBPartonInCone(gjet,0.7)) {
1468 v_->getMcEtOffMcUMHisto()->Fill(gjet->pt());
1469 v_->getMcEtaVsMcPhiOffMcUMHisto()->Fill(gjet->eta(),gjet->phi());
1474 float dR =
reco::deltaR(gjet->eta(),gjet->phi(),iter->eta(),iter->phi());
1478 OffMCDRMatchMap.insert(std::pair<float,int>(dR,j));
1488 if(! OffMCDRMatchMap.empty()) OffMCDRMatchSet.insert(OffMCDRMatchMap);
1492 else if (!GenJetsFlag_ && genParticles_.isValid())
1496 for(
size_t i = 0;
i < genParticles_->size(); ++
i)
1500 if (
abs(p.
pdgId()) == pdgId_ && p.
status() == pdgStatus_ && fabs(p.
eta()) <= EtaMax_ && p.
pt() >= EtMin_)
1507 v_->getMcEtOffMcUMHisto()->Fill(p.
pt());
1508 v_->getMcEtaVsMcPhiOffMcUMHisto()->Fill(p.
eta(),p.
phi());
1517 OffMCDRMatchMap.insert(std::pair<float,int>(dR,
i));
1524 if(! OffMCDRMatchMap.empty()) OffMCDRMatchSet.insert(OffMCDRMatchMap);
1532 v_->getNOffHisto()->Fill(NOff);
1533 v_->getNOffMcUMHisto()->Fill(NOffMcUM);
1547 for ( mmset::iterator setIter = L1OffDRMatchSet.begin( ); setIter != L1OffDRMatchSet.end( ); setIter++ )
1550 fimmap tempMap = *setIter;
1552 fimmap::iterator it = tempMap.begin();
1553 int i = (*it).second ;
1554 float dR = (*it).first;
1555 v_->getOffDRL1OffHisto()->Fill(dR);
1557 if (dR > DRMatch_)
continue;
1558 if( offCollB_.isValid()) {
1561 const_iterator iter = offCollB_->begin();
1566 v_->getOffEtL1OffHisto()->Fill((*iter).first->pt());
1567 v_->getOffEtaVsOffPhiL1OffHisto()->Fill((*iter).first->eta(),(*iter).first->phi());
1571 else if( offColl_.isValid()) {
1573 typedef typename T::const_iterator const_iterator;
1574 const_iterator iter = offColl_->begin();
1579 v_->getOffEtL1OffHisto()->Fill(iter->pt());
1580 v_->getOffEtaVsOffPhiL1OffHisto()->Fill(iter->eta(),iter->phi());
1586 v_->getNL1OffHisto()->Fill(NL1Off);
1594 unsigned int NL1Mc=0;
1599 if (! genJets_.isValid())
return;
1607 for ( mmset::iterator setIter = L1MCDRMatchSet.begin( ); setIter != L1MCDRMatchSet.end( ); setIter++ )
1610 fimmap tempMap = *setIter;
1612 fimmap::iterator it = tempMap.begin();
1613 int i = (*it).second ;
1614 float dR = (*it).first;
1616 v_->getMcDRL1McHisto()->Fill(dR);
1618 if (dR > DRMatch_)
continue;
1620 reco::GenJetCollection::const_iterator gjet=genJets_->begin();
1624 v_->getMcEtL1McHisto()->Fill(gjet->pt());
1625 v_->getMcEtaVsMcPhiL1McHisto()->Fill(gjet->eta(),gjet->phi());
1631 else if( genParticles_.isValid()) {
1637 for ( mmset::iterator setIter = L1MCDRMatchSet.begin( ); setIter != L1MCDRMatchSet.end( ); setIter++ )
1640 fimmap tempMap = *setIter;
1642 fimmap::iterator it = tempMap.begin();
1643 int i = (*it).second ;
1644 float dR = (*it).first;
1646 v_->getMcDRL1McHisto()->Fill(dR);
1648 if (dR > DRMatch_)
continue;
1653 v_->getMcEtL1McHisto()->Fill(p.
pt());
1654 v_->getMcEtaVsMcPhiL1McHisto()->Fill(p.
eta(),p.
phi());
1660 v_->getNL1McHisto()->Fill(NL1Mc);
1668 unsigned int NOnOff=0;
1673 for ( mmset::iterator setIter = OnOffDRMatchSet.begin( ); setIter != OnOffDRMatchSet.end( ); setIter++ )
1677 fimmap tempMap = *setIter;
1679 fimmap::iterator it = tempMap.begin();
1680 int i = (*it).second ;
1681 float dR = (*it).first;
1682 v_->getOffDROnOffHisto()->Fill(dR);
1685 if (dR > DRMatch_)
continue;
1687 if( offCollB_.isValid()) {
1691 const_iterator iter = offCollB_->begin();
1696 v_->getOffEtOnOffHisto()->Fill((*iter).first->pt());
1697 v_->getOffEtaVsOffPhiOnOffHisto()->Fill((*iter).first->eta(),(*iter).first->phi());
1700 else if( offColl_.isValid()) {
1702 typedef typename T::const_iterator const_iterator;
1703 const_iterator iter = offColl_->begin();
1707 v_->getOffEtOnOffHisto()->Fill(iter->pt());
1708 v_->getOffEtaVsOffPhiOnOffHisto()->Fill(iter->eta(),iter->phi());
1714 v_->getNOnOffHisto()->Fill(NOnOff);
1722 unsigned int NOnMc=0;
1727 if (! genJets_.isValid())
return;
1733 for ( mmset::iterator setIter = OnMCDRMatchSet.begin( ); setIter != OnMCDRMatchSet.end( ); setIter++ )
1736 fimmap tempMap = *setIter;
1738 fimmap::iterator it = tempMap.begin();
1739 int i = (*it).second ;
1740 float dR = (*it).first;
1741 v_->getMcDROnMcHisto()->Fill(dR);
1743 if (dR > DRMatch_)
continue;
1745 reco::GenJetCollection::const_iterator gjet=genJets_->begin();
1750 v_->getMcEtOnMcHisto()->Fill(gjet->pt());
1751 v_->getMcEtaVsMcPhiOnMcHisto()->Fill(gjet->eta(),gjet->phi());
1756 else if( genParticles_.isValid()) {
1762 for ( mmset::iterator setIter = OnMCDRMatchSet.begin( ); setIter != OnMCDRMatchSet.end( ); setIter++ )
1765 fimmap tempMap = *setIter;
1767 fimmap::iterator it = tempMap.begin();
1768 int i = (*it).second ;
1769 float dR = (*it).first;
1770 v_->getMcDROnMcHisto()->Fill(dR);
1772 if (dR > DRMatch_)
continue;
1777 v_->getMcEtOnMcHisto()->Fill(p.
pt());
1778 v_->getMcEtaVsMcPhiOnMcHisto()->Fill(p.
eta(),p.
phi());
1784 v_->getNOnMcHisto()->Fill(NOnMc);
1792 unsigned int NOffMc=0;
1797 if (! genJets_.isValid())
return;
1803 for ( mmset::iterator setIter = OffMCDRMatchSet.begin( ); setIter != OffMCDRMatchSet.end( ); setIter++ )
1806 fimmap tempMap = *setIter;
1808 fimmap::iterator it = tempMap.begin();
1809 int i = (*it).second ;
1810 float dR = (*it).first;
1811 v_->getMcDROffMcHisto()->Fill(dR);
1813 if (dR > DRMatch_)
continue;
1815 reco::GenJetCollection::const_iterator gjet=genJets_->begin();
1819 v_->getMcEtOffMcHisto()->Fill(gjet->pt());
1820 v_->getMcEtaVsMcPhiOffMcHisto()->Fill(gjet->eta(),gjet->phi());
1825 else if( genParticles_.isValid() && offColl_.isValid()) {
1831 for ( mmset::iterator setIter = OffMCDRMatchSet.begin( ); setIter != OffMCDRMatchSet.end( ); setIter++ )
1834 fimmap tempMap = *setIter;
1836 fimmap::iterator it = tempMap.begin();
1837 int i = (*it).second ;
1838 float dR = (*it).first;
1839 v_->getMcDROffMcHisto()->Fill(dR);
1841 if (dR > DRMatch_)
continue;
1846 v_->getMcEtOffMcHisto()->Fill(p.
pt());
1847 v_->getMcEtaVsMcPhiOffMcHisto()->Fill(p.
eta(),p.
phi());
1853 v_->getNOffMcHisto()->Fill(NOffMc);
1861 unsigned int NOnL1=0;
1866 for ( mmset::iterator setIter = OnL1DRMatchSet.begin( ); setIter != OnL1DRMatchSet.end( ); setIter++ )
1869 fimmap tempMap = *setIter;
1871 fimmap::iterator it = tempMap.begin();
1872 int i = (*it).second ;
1873 float dR = (*it).first;
1874 v_->getL1DROnL1Histo()->Fill(dR);
1876 if (dR > DRMatch_)
continue;
1878 trigger::Keys::const_iterator l1ki = l1k.begin();
1882 v_->getL1EtL1OnHisto()->Fill(toc[*l1ki].pt());
1883 v_->getL1EtaVsL1PhiL1OnHisto()->Fill(toc[*l1ki].
eta(),toc[*l1ki].
phi());
1887 v_->getNL1OnHisto()->Fill(NOnL1);
1896 if (! genParticles_.isValid())
return rc;
1898 for(
size_t i = 0;
i < genParticles_->size(); ++
i) {
1922 L1OffDRMatchSet.clear();
1923 L1MCDRMatchSet.clear();
1924 OnOffDRMatchSet.clear();
1925 OnMCDRMatchSet.clear();
1926 OnL1DRMatchSet.clear();
1927 OffMCDRMatchSet.clear();
MonitorElement * offEtavsoffPhiOnOffUM_
MonitorElement * l1Etavsl1PhiL1_
MonitorElement * getOnEtaVsOnPhiOnHisto()
edm::Handle< reco::GenJetCollection > genJets_
bool isTriggerType(int t)
MonitorElement * mcEtavsmcPhiOffMcUM_
virtual int pdgId() const
PDG identifier.
void setHistos(MonitorElement *const NMc, MonitorElement *const mcEtMc, MonitorElement *const mcEtavsmcPhiMc, MonitorElement *const NOn, MonitorElement *const onEtOn, MonitorElement *const onEtavsonPhiOn, MonitorElement *const NOff, MonitorElement *const offEtOff, MonitorElement *const offEtavsoffPhiOff, MonitorElement *const NL1, MonitorElement *const l1EtL1, MonitorElement *const l1Etavsl1PhiL1, MonitorElement *const NL1On, MonitorElement *const l1EtL1On, MonitorElement *const l1Etavsl1PhiL1On, MonitorElement *const NL1Off, MonitorElement *const offEtL1Off, MonitorElement *const offEtavsoffPhiL1Off, MonitorElement *const NOnOff, MonitorElement *const offEtOnOff, MonitorElement *const offEtavsoffPhiOnOff, MonitorElement *const NL1Mc, MonitorElement *const mcEtL1Mc, MonitorElement *const mcEtavsmcPhiL1Mc, MonitorElement *const NOffMc, MonitorElement *const mcEtOffMc, MonitorElement *const mcEtavsmcPhiOffMc, MonitorElement *const NOnMc, MonitorElement *const mcEtOnMc, MonitorElement *const mcEtavsmcPhiOnMc, MonitorElement *const NL1OnUM, MonitorElement *const l1EtL1OnUM, MonitorElement *const l1Etavsl1PhiL1OnUM, MonitorElement *const NL1OffUM, MonitorElement *const offEtL1OffUM, MonitorElement *const offEtavsoffPhiL1OffUM, MonitorElement *const NOnOffUM, MonitorElement *const offEtOnOffUM, MonitorElement *const offEtavsoffPhiOnOffUM, MonitorElement *const NL1McUM, MonitorElement *const mcEtL1McUM, MonitorElement *const mcEtavsmcPhiL1McUM, MonitorElement *const NOffMcUM, MonitorElement *const mcEtOffMcUM, MonitorElement *const mcEtavsmcPhiOffMcUM, MonitorElement *const NOnMcUM, MonitorElement *const mcEtOnMcUM, MonitorElement *const mcEtavsmcPhiOnMcUM, MonitorElement *const mcDRL1Mc, MonitorElement *const mcDROnMc, MonitorElement *const mcDROffMc, MonitorElement *const offDRL1Off, MonitorElement *const offDROnOff, MonitorElement *const l1DRL1On)
const int getObjectType(void) const
PathInfo(std::string denomPathName, std::string pathName, std::string l1pathName, std::string filterName, std::string processName, size_t type, MonitorElement *NMc, MonitorElement *mcEtMc, MonitorElement *mcEtavsmcPhiMc, MonitorElement *NOn, MonitorElement *onEtOn, MonitorElement *onEtavsonPhiOn, MonitorElement *NOff, MonitorElement *offEtOff, MonitorElement *offEtavsoffPhiOff, MonitorElement *NL1, MonitorElement *l1EtL1, MonitorElement *l1Etavsl1PhiL1, MonitorElement *NL1On, MonitorElement *l1EtL1On, MonitorElement *l1Etavsl1PhiL1On, MonitorElement *NL1Off, MonitorElement *offEtL1Off, MonitorElement *offEtavsoffPhiL1Off, MonitorElement *NOnOff, MonitorElement *offEtOnOff, MonitorElement *offEtavsoffPhiOnOff, MonitorElement *NL1Mc, MonitorElement *mcEtL1Mc, MonitorElement *mcEtavsmcPhiL1Mc, MonitorElement *NOffMc, MonitorElement *mcEtOffMc, MonitorElement *mcEtavsmcPhiOffMc, MonitorElement *NOnMc, MonitorElement *mcEtOnMc, MonitorElement *mcEtavsmcPhiOnMc, MonitorElement *NL1OnUM, MonitorElement *l1EtL1OnUM, MonitorElement *l1Etavsl1PhiL1OnUM, MonitorElement *NL1OffUM, MonitorElement *offEtL1OffUM, MonitorElement *offEtavsoffPhiL1OffUM, MonitorElement *NOnOffUM, MonitorElement *offEtOnOffUM, MonitorElement *offEtavsoffPhiOnOffUM, MonitorElement *NL1McUM, MonitorElement *mcEtL1McUM, MonitorElement *mcEtavsmcPhiL1McUM, MonitorElement *NOffMcUM, MonitorElement *mcEtOffMcUM, MonitorElement *mcEtavsmcPhiOffMcUM, MonitorElement *NOnMcUM, MonitorElement *mcEtOnMcUM, MonitorElement *mcEtavsmcPhiOnMcUM, MonitorElement *mcDRL1Mc, MonitorElement *mcDROnMc, MonitorElement *mcDROffMc, MonitorElement *offDRL1Off, MonitorElement *offDROnOff, MonitorElement *l1DRL1On, float ptmin, float ptmax)
MonitorElement * getNOffHisto()
FourVectorHLTriggerOffline::PathInfoCollection::iterator v_
void endRun(const edm::Run &run, const edm::EventSetup &c)
EndRun.
MonitorElement * mcEtavsmcPhiOnMc_
FourVectorHLTriggerOffline(const edm::ParameterSet &)
edm::InputTag triggerResultsLabel_
void setGenJets(bool flag, edm::Handle< reco::GenJetCollection > genJets)
MonitorElement * getMcEtL1McUMHisto()
transient_vector_type::const_iterator const_iterator
MonitorElement * getNL1OffHisto()
void fillOnlineMatch(FourVectorHLTriggerOffline *fv, const trigger::Keys &l1k, const trigger::TriggerObjectCollection &toc)
MonitorElement * getL1EtaVsL1PhiL1OnUMHisto()
void fillOffMatch(FourVectorHLTriggerOffline *fv)
edm::Handle< T > offColl_
void setLimits(float etaMax, float etMin, float drMatch)
MonitorElement * mcEtL1Mc_
virtual int status() const
status word
MonitorElement * getMcDROnMcHisto()
void fillOnOffMatch(FourVectorHLTriggerOffline *fv)
void pushL1TriggerType(int trigType)
MonitorElement * getMcEtaVsMcPhiL1McHisto()
MonitorElement * getL1EtL1Histo()
void setBJetsFlag(bool flag)
MonitorElement * offDRL1Off_
bool hasBPartonInCone(reco::GenJetCollection::const_iterator gjet, float coneSize)
MonitorElement * offEtOnOff_
MonitorElement * offEtOff_
const std::string getLabel(void) const
MonitorElement * getMcEtaVsMcPhiOnMcUMHisto()
MonitorElement * getMcEtOnMcUMHisto()
MonitorElement * getL1EtL1OnUMHisto()
MonitorElement * offEtL1OffUM_
void fillOnMCMatch(FourVectorHLTriggerOffline *fv)
std::multimap< float, int > fimmap
MonitorElement * getOffEtOffHisto()
HLTConfigProvider hltConfig_
MonitorElement * mcEtOnMc_
std::string denomPathName_
MonitorElement * getMcEtaVsMcPhiMcHisto()
void setL1TriggerType(std::vector< int > trigType)
MonitorElement * getOffEtaVsOffPhiOnOffHisto()
MonitorElement * getNOnOffUMHisto()
void monitorOffline(FourVectorHLTriggerOffline *fv)
virtual void analyze(const edm::Event &, const edm::EventSetup &)
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
MonitorElement * getL1EtaVsL1PhiL1OnHisto()
MonitorElement * getNOnOffHisto()
void pushTriggerType(int trigType)
MonitorElement * mcEtOnMcUM_
virtual double eta() const
momentum pseudorapidity
MonitorElement * NOffMcUM_
void monitorDenominator(FourVectorHLTriggerOffline::PathInfoCollection::iterator v, bool l1accept, const trigger::Vids &idtype, const trigger::Keys &l1k, const trigger::TriggerObjectCollection &toc)
std::set< fimmap, std::less< fimmap > > mmset
double deltaR(double eta1, double phi1, double eta2, double phi2)
MonitorElement * getOffEtL1OffUMHisto()
void fillOnL1Match(FourVectorHLTriggerOffline *fv, const trigger::Keys &l1k, const trigger::TriggerObjectCollection &toc)
MonitorElement * getOffEtaVsOffPhiOnOffUMHisto()
MonitorElement * NL1OffUM_
std::vector< int > triggerType_
MonitorElement * l1EtL1On_
MonitorElement * getMcEtOnMcHisto()
MonitorElement * l1EtL1OnUM_
Single trigger physics object (e.g., an isolated muon)
MonitorElement * getOffDRL1OffHisto()
MonitorElement * mcEtOffMcUM_
MonitorElement * offEtavsoffPhiL1Off_
MonitorElement * getNOffMcHisto()
void setLabel(std::string labelName)
MonitorElement * mcEtavsmcPhiOffMc_
MonitorElement * getOffEtOnOffUMHisto()
MonitorElement * getOffEtaVsOffPhiL1OffHisto()
void cleanDRMatchSet(mmset &tempSet)
Clean DR Match Set.
MonitorElement * onEtavsonPhiOn_
MonitorElement * offDROnOff_
const std::string getPath(void) const
MonitorElement * offEtavsoffPhiOff_
MonitorElement * mcEtavsmcPhiOnMcUM_
edm::Handle< reco::GenParticleCollection > genParticles_
void setReco(edm::Handle< T > offColl)
MonitorElement * getMcEtL1McHisto()
PathInfoCollection hltPaths_
MonitorElement * NOnMcUM_
const edm::InputTag getTag(void) const
MonitorElement * mcDRL1Mc_
MonitorElement * getL1DROnL1Histo()
MonitorElement * NL1OnUM_
void fillL1OffMatch(FourVectorHLTriggerOffline *fv)
void monitorL1(const trigger::Vids &idtype, const trigger::Keys &l1k, const trigger::TriggerObjectCollection &toc)
void fillL1MCMatch(FourVectorHLTriggerOffline *fv)
MonitorElement * NOnOffUM_
MonitorElement * getOffEtL1OffHisto()
MonitorElement * getNL1OnUMHisto()
MonitorElement * getMcEtMcHisto()
edm::InputTag triggerSummaryLabel_
void beginRun(const edm::Run &run, const edm::EventSetup &c)
MonitorElement * getNL1McUMHisto()
void setTriggerType(std::vector< int > trigType)
MonitorElement * l1Etavsl1PhiL1On_
bool etMin(const PFCandidate &cand, double cut)
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
MonitorElement * mcEtL1McUM_
MonitorElement * getMcDROffMcHisto()
MonitorElement * mcEtavsmcPhiL1McUM_
MonitorElement * offEtOnOffUM_
void fillOffMCMatch(FourVectorHLTriggerOffline *fv)
MonitorElement * getNOnMcUMHisto()
void setMC(edm::Handle< reco::GenParticleCollection > genParticles, int pdgId, int status)
MonitorElement * getL1EtL1OnHisto()
MonitorElement * getNL1OffUMHisto()
MonitorElement * getOffEtOnOffHisto()
MonitorElement * getMcDRL1McHisto()
MonitorElement * getMcEtOffMcHisto()
MonitorElement * getNL1OnHisto()
virtual double pt() const
transverse momentum
MonitorElement * getOffEtaVsOffPhiOffHisto()
std::vector< size_type > Keys
MonitorElement * l1DRL1On_
MonitorElement * offEtavsoffPhiOnOff_
MonitorElement * getMcEtaVsMcPhiL1McUMHisto()
MonitorElement * getNL1Histo()
MonitorElement * l1Etavsl1PhiL1OnUM_
MonitorElement * getMcEtOffMcUMHisto()
const std::string getDenomPath(void) const
MonitorElement * offEtavsoffPhiL1OffUM_
MonitorElement * mcEtavsmcPhiL1Mc_
~FourVectorHLTriggerOffline()
MonitorElement * mcEtavsmcPhiMc_
MonitorElement * getNMcHisto()
MonitorElement * getOffEtaVsOffPhiL1OffUMHisto()
MonitorElement * NL1McUM_
const std::string getProcess(void) const
MonitorElement * mcDROffMc_
MonitorElement * getMcEtaVsMcPhiOffMcUMHisto()
MonitorElement * scalersSelect
void monitorOnline(const trigger::Vids &idtype, const trigger::Keys &l1k, trigger::Keys::const_iterator ki, const trigger::TriggerObjectCollection &toc, unsigned int &NOn)
std::vector< std::pair< std::string, std::string > > custompathnamepairs_
std::vector< PathInfo >::iterator find(std::string pathName)
MonitorElement * getNOnHisto()
bool operator==(const std::string v)
edm::Handle< reco::JetTagCollection > offCollB_
std::vector< int > l1triggerType_
MonitorElement * mcEtOffMc_
MonitorElement * offEtL1Off_
PathInfo(std::string denomPathName, std::string pathName, std::string l1pathName, std::string filterName, std::string processName, size_t type, float ptmin, float ptmax)
MonitorElement * getMcEtaVsMcPhiOnMcHisto()
void setPath(FourVectorHLTriggerOffline::PathInfoCollection::iterator v)
MonitorElement * getNOffMcUMHisto()
MonitorElement * mcDROnMc_
const std::string getl1Path(void) const
virtual double phi() const
momentum azimuthal angle
MonitorElement * getOffDROnOffHisto()
MonitorElement * getOnEtOnHisto()
MonitorElement * getNOnMcHisto()
void setRecoB(edm::Handle< reco::JetTagCollection > offCollB)
void fillL1Match(FourVectorHLTriggerOffline *fv)
bool isL1TriggerType(int t)
MonitorElement * getNL1McHisto()
MonitorElement * getMcEtaVsMcPhiOffMcHisto()
MonitorElement * getL1EtaVsL1PhiL1Histo()