1 #ifndef FOURVECTORHLTRIGGEROFFLINE_H
2 #define FOURVECTORHLTRIGGEROFFLINE_H
96 typedef std::multimap<float,int>
fimmap ;
97 typedef std::set<fimmap , std::less<fimmap> >
mmset;
581 float ptmin,
float ptmax
666 void setLimits(
float etaMax,
float etMin,
float drMatch)
676 void setPath(FourVectorHLTriggerOffline::PathInfoCollection::iterator
v) {
v_ =
v; }
726 bool hasBPartonInCone(reco::GenJetCollection::const_iterator gjet,
float coneSize);
768 FourVectorHLTriggerOffline::PathInfoCollection::iterator
v_;
777 for(std::vector<int>::const_iterator it = triggerType_.begin(); it != triggerType_.end(); ++it)
780 if(t == *it) { rc =
true;
break; }
794 for(std::vector<int>::const_iterator it = l1triggerType_.begin(); it != l1triggerType_.end(); ++it)
797 if(t == *it) { rc =
true;
break; }
811 if(! isTriggerType(v_->getObjectType()) )
return;
817 if (l1accept) monitorL1(idtype, l1k, toc);
826 unsigned int NOff = 0;
828 if( offCollB_.isValid()) {
830 for( const_iterator
iter = offCollB_->begin(), iend = offCollB_->end();
iter != iend; ++
iter )
833 float recoEta = (*iter).first->eta();
834 float recoPhi = (*iter).first->phi();
835 float recoPt = (*iter).first->pt();
838 if (fabs(recoEta) <= EtaMax_ && recoPt >= EtMin_ )
842 v_->getOffEtOffHisto()->Fill(recoPt);
843 v_->getOffEtaVsOffPhiOffHisto()->Fill(recoEta, recoPhi);
850 else if(offColl_.isValid()) {
852 typedef typename T::const_iterator const_iterator;
853 for( const_iterator
iter = offColl_->begin(), iend = offColl_->end();
iter != iend; ++
iter )
857 if (fabs(
iter->eta()) <= EtaMax_ &&
iter->pt() >= EtMin_ )
861 v_->getOffEtOffHisto()->Fill(
iter->pt());
862 v_->getOffEtaVsOffPhiOffHisto()->Fill(
iter->eta(),
iter->phi());
870 v_->getNOffHisto()->Fill(NOff);
883 if (! genJets_.isValid())
return;
885 for(reco::GenJetCollection::const_iterator gjet=genJets_->begin(); gjet!=genJets_->end(); gjet++) {
887 if (fabs(gjet->eta()) <= EtaMax_ && gjet->pt() >= EtMin_ ){
892 if(! hasBPartonInCone(gjet,0.7))
continue;
898 v_->getMcEtMcHisto()->Fill(gjet->pt());
899 v_->getMcEtaVsMcPhiMcHisto()->Fill(gjet->eta(),gjet->phi());
908 else if( genParticles_.isValid()) {
910 for(
size_t i = 0;
i < genParticles_->size(); ++
i) {
916 v_->getMcEtMcHisto()->Fill(p.
pt());
917 v_->getMcEtaVsMcPhiMcHisto()->Fill(p.
eta(),p.
phi());
925 v_->getNMcHisto()->Fill(NMc);
934 unsigned int NL1McUM=0;
935 unsigned int NL1OffUM=0;
937 trigger::Vids::const_iterator idtypeiter = idtype.begin();
938 for (trigger::Keys::const_iterator l1ki = l1k.begin(); l1ki !=l1k.end(); ++l1ki ) {
941 if(isL1TriggerType(*idtypeiter))
947 if (fabs(l1FV.
eta()) <= EtaMax_ && l1FV.
pt() >= EtMin_)
950 v_->getL1EtL1Histo()->Fill(l1FV.
pt());
951 v_->getL1EtaVsL1PhiL1Histo()->Fill(l1FV.
eta(), l1FV.
phi());
957 if (offCollB_.isValid()) {
961 for( const_iterator
iter = offCollB_->begin(), iend = offCollB_->end();
iter != iend; ++
iter )
964 float recoEta = (*iter).first->eta();
965 float recoPhi = (*iter).first->phi();
966 float recoPt = (*iter).first->pt();
968 if (fabs(recoEta) <= EtaMax_ && recoPt >= EtMin_ )
975 v_->getOffEtL1OffUMHisto()->Fill(recoPt);
976 v_->getOffEtaVsOffPhiL1OffUMHisto()->Fill(recoEta,recoPhi);
985 L1OffDRMatchMap.insert(std::pair<float,int>(dR,j));
996 else if (offColl_.isValid()) {
999 typedef typename T::const_iterator const_iterator;
1000 for( const_iterator
iter = offColl_->begin(), iend = offColl_->end();
iter != iend; ++
iter )
1003 if (fabs(
iter->eta()) <= EtaMax_ &&
iter->pt() >= EtMin_ )
1010 v_->getOffEtL1OffUMHisto()->Fill(
iter->pt());
1011 v_->getOffEtaVsOffPhiL1OffUMHisto()->Fill(
iter->eta(),
iter->phi());
1020 L1OffDRMatchMap.insert(std::pair<float,int>(dR,j));
1031 if(! L1OffDRMatchMap.empty()) L1OffDRMatchSet.insert(L1OffDRMatchMap);
1036 if (GenJetsFlag_ && genJets_.isValid())
1042 for(reco::GenJetCollection::const_iterator gjet=genJets_->begin(); gjet!=genJets_->end(); gjet++) {
1044 if (fabs(gjet->eta()) <= EtaMax_ && gjet->pt() >= EtMin_ ){
1049 if(! hasBPartonInCone(gjet,0.7)) {
1062 v_->getMcEtL1McUMHisto()->Fill(gjet->pt());
1063 v_->getMcEtaVsMcPhiL1McUMHisto()->Fill(gjet->eta(),gjet->phi());
1072 L1MCDRMatchMap.insert(std::pair<float,int>(dR,j));
1083 if(! L1MCDRMatchMap.empty()) {
1084 L1MCDRMatchSet.insert(L1MCDRMatchMap);
1088 else if ( ! GenJetsFlag_ && genParticles_.isValid())
1092 for(
size_t i = 0;
i < genParticles_->size(); ++
i)
1103 v_->getMcEtL1McUMHisto()->Fill(p.
pt());
1104 v_->getMcEtaVsMcPhiL1McUMHisto()->Fill(p.
eta(),p.
phi());
1113 L1MCDRMatchMap.insert(std::pair<float,int>(dR,
i));
1120 if(! L1MCDRMatchMap.empty()) {
1121 L1MCDRMatchSet.insert(L1MCDRMatchMap);
1131 v_->getNL1Histo()->Fill(NL1);
1132 v_->getNL1OffUMHisto()->Fill(NL1OffUM);
1133 v_->getNL1McUMHisto()->Fill(NL1McUM);
1142 unsigned int NOnOffUM=0;
1143 unsigned int NOnMcUM=0;
1144 unsigned int NOnL1UM=0;
1146 if(! isTriggerType(v_->getObjectType()) )
return;
1152 if (fabs(onlineFV.
eta()) <= EtaMax_ && onlineFV.
pt() >= EtMin_)
1155 v_->getOnEtOnHisto()->Fill(onlineFV.
pt());
1156 v_->getOnEtaVsOnPhiOnHisto()->Fill(onlineFV.
eta(), onlineFV.
phi());
1163 if (offCollB_.isValid()) {
1167 for( const_iterator
iter = offCollB_->begin(), iend = offCollB_->end();
iter != iend; ++
iter )
1170 float recoEta = (*iter).first->eta();
1171 float recoPhi = (*iter).first->phi();
1172 float recoPt = (*iter).first->pt();
1174 if (fabs(recoEta) <= EtaMax_ && recoPt >= EtMin_ )
1181 v_->getOffEtOnOffUMHisto()->Fill(recoPt);
1182 v_->getOffEtaVsOffPhiOnOffUMHisto()->Fill(recoEta,recoPhi);
1191 OnOffDRMatchMap.insert(std::pair<float,int>(dR,j));
1202 else if (offColl_.isValid()) {
1206 typedef typename T::const_iterator const_iterator;
1207 for( const_iterator
iter = offColl_->begin(), iend = offColl_->end();
iter != iend; ++
iter )
1210 if (fabs(
iter->eta()) <= EtaMax_ &&
iter->pt() >= EtMin_ )
1217 v_->getOffEtOnOffUMHisto()->Fill(
iter->pt());
1218 v_->getOffEtaVsOffPhiOnOffUMHisto()->Fill(
iter->eta(),
iter->phi());
1227 OnOffDRMatchMap.insert(std::pair<float,int>(dR,j));
1240 if(! OnOffDRMatchMap.empty()) OnOffDRMatchSet.insert(OnOffDRMatchMap);
1246 trigger::Vids::const_iterator idtypeiter = idtype.begin();
1247 for (trigger::Keys::const_iterator l1ki = l1k.begin(); l1ki !=l1k.end(); ++l1ki )
1252 if(isL1TriggerType(*idtypeiter))
1257 if ( fabs(l1FV.
eta()) <= EtaMax_ && l1FV.
pt() >= EtMin_ )
1264 v_->getL1EtL1OnUMHisto()->Fill(l1FV.
pt());
1265 v_->getL1EtaVsL1PhiL1OnUMHisto()->Fill(l1FV.
eta(),l1FV.
phi());
1275 OnL1DRMatchMap.insert(std::pair<float,int>(dR,j));
1288 if(! OnL1DRMatchMap.empty()) OnL1DRMatchSet.insert(OnL1DRMatchMap);
1293 if (GenJetsFlag_ && genJets_.isValid())
1299 for(reco::GenJetCollection::const_iterator gjet=genJets_->begin(); gjet!=genJets_->end(); gjet++) {
1301 if (fabs(gjet->eta()) <= EtaMax_ && gjet->pt() >= EtMin_ ){
1306 if(! hasBPartonInCone(gjet,0.7)) {
1318 v_->getMcEtOnMcUMHisto()->Fill(gjet->pt());
1319 v_->getMcEtaVsMcPhiOnMcUMHisto()->Fill(gjet->eta(),gjet->phi());
1328 OnMCDRMatchMap.insert(std::pair<float,int>(dR,j));
1338 if(! OnMCDRMatchMap.empty()) OnMCDRMatchSet.insert(OnMCDRMatchMap);
1341 else if (!GenJetsFlag_ && genParticles_.isValid())
1345 for(
size_t i = 0;
i < genParticles_->size(); ++
i)
1356 v_->getMcEtOnMcUMHisto()->Fill(p.
pt());
1357 v_->getMcEtaVsMcPhiOnMcUMHisto()->Fill(p.
eta(),p.
phi());
1366 OnMCDRMatchMap.insert(std::pair<float,int>(dR,
i));
1372 if(! OnMCDRMatchMap.empty()) OnMCDRMatchSet.insert(OnMCDRMatchMap);
1376 v_->getNOnHisto()->Fill(NOn);
1377 v_->getNOnOffUMHisto()->Fill(NOnOffUM);
1378 v_->getNL1OnUMHisto()->Fill(NOnL1UM);
1379 v_->getNOnMcUMHisto()->Fill(NOnMcUM);
1387 unsigned int NOff=0;
1388 unsigned int NOffMcUM=0;
1390 if(! isTriggerType(v_->getObjectType()) )
return;
1393 if(offCollB_.isValid()) {
1396 for( const_iterator
iter = offCollB_->begin(), iend = offCollB_->end();
iter != iend; ++
iter )
1401 if (GenJetsFlag_ && genJets_.isValid())
1407 for(reco::GenJetCollection::const_iterator gjet=genJets_->begin(); gjet!=genJets_->end(); gjet++) {
1410 if (fabs(gjet->eta()) <= EtaMax_ && gjet->pt() >= EtMin_ ){
1412 if (BJetsFlag_ && hasBPartonInCone(gjet,0.7)) {
1419 v_->getMcEtOffMcUMHisto()->Fill(gjet->pt());
1420 v_->getMcEtaVsMcPhiOffMcUMHisto()->Fill(gjet->eta(),gjet->phi());
1425 float dR =
reco::deltaR(gjet->eta(),gjet->phi(),(*iter).first->eta(),(*iter).first->phi());
1429 OffMCDRMatchMap.insert(std::pair<float,int>(dR,j));
1441 if(! OffMCDRMatchMap.empty()) OffMCDRMatchSet.insert(OffMCDRMatchMap);
1448 else if(offColl_.isValid()) {
1450 typedef typename T::const_iterator const_iterator;
1451 for( const_iterator
iter = offColl_->begin(), iend = offColl_->end();
iter != iend; ++
iter )
1456 if (GenJetsFlag_ && genJets_.isValid())
1462 for(reco::GenJetCollection::const_iterator gjet=genJets_->begin(); gjet!=genJets_->end(); gjet++) {
1464 if (fabs(gjet->eta()) <= EtaMax_ && gjet->pt() >= EtMin_ ){
1469 if(! hasBPartonInCone(gjet,0.7)) {
1482 v_->getMcEtOffMcUMHisto()->Fill(gjet->pt());
1483 v_->getMcEtaVsMcPhiOffMcUMHisto()->Fill(gjet->eta(),gjet->phi());
1492 OffMCDRMatchMap.insert(std::pair<float,int>(dR,j));
1502 if(! OffMCDRMatchMap.empty()) OffMCDRMatchSet.insert(OffMCDRMatchMap);
1506 else if (!GenJetsFlag_ && genParticles_.isValid())
1510 for(
size_t i = 0;
i < genParticles_->size(); ++
i)
1521 v_->getMcEtOffMcUMHisto()->Fill(p.
pt());
1522 v_->getMcEtaVsMcPhiOffMcUMHisto()->Fill(p.
eta(),p.
phi());
1531 OffMCDRMatchMap.insert(std::pair<float,int>(dR,
i));
1538 if(! OffMCDRMatchMap.empty()) OffMCDRMatchSet.insert(OffMCDRMatchMap);
1546 v_->getNOffHisto()->Fill(NOff);
1547 v_->getNOffMcUMHisto()->Fill(NOffMcUM);
1561 for ( mmset::iterator setIter = L1OffDRMatchSet.begin( ); setIter != L1OffDRMatchSet.end( ); setIter++ )
1564 fimmap tempMap = *setIter;
1566 fimmap::iterator it = tempMap.begin();
1567 int i = (*it).second ;
1568 float dR = (*it).first;
1569 v_->getOffDRL1OffHisto()->Fill(dR);
1571 if (dR > DRMatch_)
continue;
1572 if( offCollB_.isValid()) {
1575 const_iterator
iter = offCollB_->begin();
1580 v_->getOffEtL1OffHisto()->Fill((*iter).first->pt());
1581 v_->getOffEtaVsOffPhiL1OffHisto()->Fill((*iter).first->eta(),(*iter).first->phi());
1585 else if( offColl_.isValid()) {
1587 typedef typename T::const_iterator const_iterator;
1588 const_iterator
iter = offColl_->begin();
1593 v_->getOffEtL1OffHisto()->Fill(iter->pt());
1594 v_->getOffEtaVsOffPhiL1OffHisto()->Fill(iter->eta(),iter->phi());
1600 v_->getNL1OffHisto()->Fill(NL1Off);
1608 unsigned int NL1Mc=0;
1613 if (! genJets_.isValid())
return;
1621 for ( mmset::iterator setIter = L1MCDRMatchSet.begin( ); setIter != L1MCDRMatchSet.end( ); setIter++ )
1624 fimmap tempMap = *setIter;
1626 fimmap::iterator it = tempMap.begin();
1627 int i = (*it).second ;
1628 float dR = (*it).first;
1630 v_->getMcDRL1McHisto()->Fill(dR);
1632 if (dR > DRMatch_)
continue;
1634 reco::GenJetCollection::const_iterator gjet=genJets_->begin();
1638 v_->getMcEtL1McHisto()->Fill(gjet->pt());
1639 v_->getMcEtaVsMcPhiL1McHisto()->Fill(gjet->eta(),gjet->phi());
1645 else if( genParticles_.isValid()) {
1651 for ( mmset::iterator setIter = L1MCDRMatchSet.begin( ); setIter != L1MCDRMatchSet.end( ); setIter++ )
1654 fimmap tempMap = *setIter;
1656 fimmap::iterator it = tempMap.begin();
1657 int i = (*it).second ;
1658 float dR = (*it).first;
1660 v_->getMcDRL1McHisto()->Fill(dR);
1662 if (dR > DRMatch_)
continue;
1667 v_->getMcEtL1McHisto()->Fill(p.
pt());
1668 v_->getMcEtaVsMcPhiL1McHisto()->Fill(p.
eta(),p.
phi());
1674 v_->getNL1McHisto()->Fill(NL1Mc);
1682 unsigned int NOnOff=0;
1687 for ( mmset::iterator setIter = OnOffDRMatchSet.begin( ); setIter != OnOffDRMatchSet.end( ); setIter++ )
1691 fimmap tempMap = *setIter;
1693 fimmap::iterator it = tempMap.begin();
1694 int i = (*it).second ;
1695 float dR = (*it).first;
1696 v_->getOffDROnOffHisto()->Fill(dR);
1699 if (dR > DRMatch_)
continue;
1701 if( offCollB_.isValid()) {
1705 const_iterator
iter = offCollB_->begin();
1710 v_->getOffEtOnOffHisto()->Fill((*iter).first->pt());
1711 v_->getOffEtaVsOffPhiOnOffHisto()->Fill((*iter).first->eta(),(*iter).first->phi());
1714 else if( offColl_.isValid()) {
1716 typedef typename T::const_iterator const_iterator;
1717 const_iterator
iter = offColl_->begin();
1721 v_->getOffEtOnOffHisto()->Fill(iter->pt());
1722 v_->getOffEtaVsOffPhiOnOffHisto()->Fill(iter->eta(),iter->phi());
1728 v_->getNOnOffHisto()->Fill(NOnOff);
1736 unsigned int NOnMc=0;
1741 if (! genJets_.isValid())
return;
1747 for ( mmset::iterator setIter = OnMCDRMatchSet.begin( ); setIter != OnMCDRMatchSet.end( ); setIter++ )
1750 fimmap tempMap = *setIter;
1752 fimmap::iterator it = tempMap.begin();
1753 int i = (*it).second ;
1754 float dR = (*it).first;
1755 v_->getMcDROnMcHisto()->Fill(dR);
1757 if (dR > DRMatch_)
continue;
1759 reco::GenJetCollection::const_iterator gjet=genJets_->begin();
1764 v_->getMcEtOnMcHisto()->Fill(gjet->pt());
1765 v_->getMcEtaVsMcPhiOnMcHisto()->Fill(gjet->eta(),gjet->phi());
1770 else if( genParticles_.isValid()) {
1776 for ( mmset::iterator setIter = OnMCDRMatchSet.begin( ); setIter != OnMCDRMatchSet.end( ); setIter++ )
1779 fimmap tempMap = *setIter;
1781 fimmap::iterator it = tempMap.begin();
1782 int i = (*it).second ;
1783 float dR = (*it).first;
1784 v_->getMcDROnMcHisto()->Fill(dR);
1786 if (dR > DRMatch_)
continue;
1791 v_->getMcEtOnMcHisto()->Fill(p.
pt());
1792 v_->getMcEtaVsMcPhiOnMcHisto()->Fill(p.
eta(),p.
phi());
1798 v_->getNOnMcHisto()->Fill(NOnMc);
1806 unsigned int NOffMc=0;
1811 if (! genJets_.isValid())
return;
1817 for ( mmset::iterator setIter = OffMCDRMatchSet.begin( ); setIter != OffMCDRMatchSet.end( ); setIter++ )
1820 fimmap tempMap = *setIter;
1822 fimmap::iterator it = tempMap.begin();
1823 int i = (*it).second ;
1824 float dR = (*it).first;
1825 v_->getMcDROffMcHisto()->Fill(dR);
1827 if (dR > DRMatch_)
continue;
1829 reco::GenJetCollection::const_iterator gjet=genJets_->begin();
1833 v_->getMcEtOffMcHisto()->Fill(gjet->pt());
1834 v_->getMcEtaVsMcPhiOffMcHisto()->Fill(gjet->eta(),gjet->phi());
1839 else if( genParticles_.isValid() && offColl_.isValid()) {
1845 for ( mmset::iterator setIter = OffMCDRMatchSet.begin( ); setIter != OffMCDRMatchSet.end( ); setIter++ )
1848 fimmap tempMap = *setIter;
1850 fimmap::iterator it = tempMap.begin();
1851 int i = (*it).second ;
1852 float dR = (*it).first;
1853 v_->getMcDROffMcHisto()->Fill(dR);
1855 if (dR > DRMatch_)
continue;
1860 v_->getMcEtOffMcHisto()->Fill(p.
pt());
1861 v_->getMcEtaVsMcPhiOffMcHisto()->Fill(p.
eta(),p.
phi());
1867 v_->getNOffMcHisto()->Fill(NOffMc);
1875 unsigned int NOnL1=0;
1880 for ( mmset::iterator setIter = OnL1DRMatchSet.begin( ); setIter != OnL1DRMatchSet.end( ); setIter++ )
1883 fimmap tempMap = *setIter;
1885 fimmap::iterator it = tempMap.begin();
1886 int i = (*it).second ;
1887 float dR = (*it).first;
1888 v_->getL1DROnL1Histo()->Fill(dR);
1890 if (dR > DRMatch_)
continue;
1892 trigger::Keys::const_iterator l1ki = l1k.begin();
1896 v_->getL1EtL1OnHisto()->Fill(toc[*l1ki].
pt());
1897 v_->getL1EtaVsL1PhiL1OnHisto()->Fill(toc[*l1ki].
eta(),toc[*l1ki].
phi());
1901 v_->getNL1OnHisto()->Fill(NOnL1);
1910 if (! genParticles_.isValid())
return rc;
1912 for(
size_t i = 0;
i < genParticles_->size(); ++
i) {
1936 L1OffDRMatchSet.clear();
1937 L1MCDRMatchSet.clear();
1938 OnOffDRMatchSet.clear();
1939 OnMCDRMatchSet.clear();
1940 OnL1DRMatchSet.clear();
1941 OffMCDRMatchSet.clear();
MonitorElement * offEtavsoffPhiOnOffUM_
MonitorElement * l1Etavsl1PhiL1_
MonitorElement * getOnEtaVsOnPhiOnHisto()
edm::Handle< reco::GenJetCollection > genJets_
bool isTriggerType(int t)
edm::EDGetTokenT< trigger::TriggerEvent > triggerSummary_token_
MonitorElement * mcEtavsmcPhiOffMcUM_
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)
virtual int pdgId() const GCC11_FINAL
PDG identifier.
MonitorElement * mcEtL1Mc_
MonitorElement * getMcDROnMcHisto()
edm::EDGetTokenT< reco::GenParticleCollection > genParticles_token_
void fillOnOffMatch(FourVectorHLTriggerOffline *fv)
void pushL1TriggerType(int trigType)
edm::EDGetTokenT< reco::CaloJetCollection > caloJetCollection_
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()
edm::EDGetTokenT< reco::CaloTauCollection > caloRecoTauCollection_
edm::EDGetTokenT< trigger::TriggerEvent > triggerSummaryLabelFU_
MonitorElement * getL1EtL1OnUMHisto()
edm::EDGetTokenT< reco::JetTagCollection > softMuonBJetTags_
MonitorElement * offEtL1OffUM_
void fillOnMCMatch(FourVectorHLTriggerOffline *fv)
std::multimap< float, int > fimmap
MonitorElement * getOffEtOffHisto()
HLTConfigProvider hltConfig_
MonitorElement * mcEtOnMc_
std::string denomPathName_
MonitorElement * getMcEtaVsMcPhiMcHisto()
MonitorElement * getOffEtaVsOffPhiOnOffHisto()
MonitorElement * getNOnOffUMHisto()
edm::EDGetTokenT< reco::TrackCollection > trackCollection_
void monitorOffline(FourVectorHLTriggerOffline *fv)
virtual void analyze(const edm::Event &, const edm::EventSetup &)
MonitorElement * getL1EtaVsL1PhiL1OnHisto()
MonitorElement * getNOnOffHisto()
void pushTriggerType(int trigType)
MonitorElement * mcEtOnMcUM_
edm::EDGetTokenT< reco::GsfElectronCollection > gsfElectronCollection_
MonitorElement * NOffMcUM_
edm::EDGetTokenT< reco::JetTagCollection > jetTagCollection_
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
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_
virtual float phi() const GCC11_FINAL
momentum azimuthal angle
edm::EDGetTokenT< edm::TriggerResults > triggerResultsLabelFU_
MonitorElement * getOffEtOnOffUMHisto()
MonitorElement * getOffEtaVsOffPhiL1OffHisto()
edm::EDGetTokenT< reco::GenMETCollection > genMetTrue_token_
void cleanDRMatchSet(mmset &tempSet)
Clean DR Match Set.
void setL1TriggerType(const std::vector< int > &trigType)
MonitorElement * onEtavsonPhiOn_
virtual int status() const GCC11_FINAL
status word
MonitorElement * offDROnOff_
const std::string getPath(void) const
void setTriggerType(const std::vector< int > &trigType)
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()
pdgId_(cfg.getParameter< std::vector< int > >("matchPDGId"))
MonitorElement * NL1OnUM_
void fillL1OffMatch(FourVectorHLTriggerOffline *fv)
void monitorL1(const trigger::Vids &idtype, const trigger::Keys &l1k, const trigger::TriggerObjectCollection &toc)
void fillL1MCMatch(FourVectorHLTriggerOffline *fv)
Abs< T >::type abs(const T &t)
auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
MonitorElement * NOnOffUM_
MonitorElement * getOffEtL1OffHisto()
MonitorElement * getNL1OnUMHisto()
MonitorElement * getMcEtMcHisto()
edm::InputTag triggerSummaryLabel_
void beginRun(const edm::Run &run, const edm::EventSetup &c)
MonitorElement * getNL1McUMHisto()
std::vector< PathInfo > PathInfoCollection
virtual float eta() const GCC11_FINAL
momentum pseudorapidity
MonitorElement * l1Etavsl1PhiL1On_
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()
edm::EDGetTokenT< reco::MuonCollection > muonCollection_
MonitorElement * getMcEtOffMcHisto()
MonitorElement * getNL1OnHisto()
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_
edm::EDGetTokenT< reco::PhotonCollection > photonCollection_
MonitorElement * getNMcHisto()
MonitorElement * getOffEtaVsOffPhiL1OffUMHisto()
MonitorElement * NL1McUM_
const std::string getProcess(void) const
MonitorElement * mcDROffMc_
MonitorElement * getMcEtaVsMcPhiOffMcUMHisto()
MonitorElement * scalersSelect
edm::EDGetTokenT< reco::CaloMETCollection > caloMetCollection_
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_
edm::EDGetTokenT< reco::GenJetCollection > iterativeCone5GenJets_token_
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()
virtual float pt() const GCC11_FINAL
transverse momentum
void setPath(FourVectorHLTriggerOffline::PathInfoCollection::iterator v)
MonitorElement * getNOffMcUMHisto()
MonitorElement * mcDROnMc_
const std::string getl1Path(void) const
MonitorElement * getOffDROnOffHisto()
MonitorElement * getOnEtOnHisto()
MonitorElement * getNOnMcHisto()
void setRecoB(edm::Handle< reco::JetTagCollection > offCollB)
void fillL1Match(FourVectorHLTriggerOffline *fv)
bool isL1TriggerType(int t)
MonitorElement * getNL1McHisto()
edm::EDGetTokenT< edm::TriggerResults > triggerResults_token_
MonitorElement * getMcEtaVsMcPhiOffMcHisto()
MonitorElement * getL1EtaVsL1PhiL1Histo()