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
656 void setPath(FourVectorHLTriggerOffline::PathInfoCollection::iterator
v) {
v_ =
v; }
706 bool hasBPartonInCone(reco::GenJetCollection::const_iterator gjet,
float coneSize);
748 FourVectorHLTriggerOffline::PathInfoCollection::iterator
v_;
757 for(std::vector<int>::const_iterator it = triggerType_.begin(); it != triggerType_.end(); ++it)
760 if(t == *it) { rc =
true;
break; }
774 for(std::vector<int>::const_iterator it = l1triggerType_.begin(); it != l1triggerType_.end(); ++it)
777 if(t == *it) { rc =
true;
break; }
791 if(! isTriggerType(v_->getObjectType()) )
return;
797 if (l1accept) monitorL1(idtype, l1k, toc);
806 unsigned int NOff = 0;
808 if( offCollB_.isValid()) {
810 for( const_iterator iter = offCollB_->begin(), iend = offCollB_->end(); iter != iend; ++iter )
813 float recoEta = (*iter).first->eta();
814 float recoPhi = (*iter).first->phi();
815 float recoPt = (*iter).first->pt();
818 if (fabs(recoEta) <= EtaMax_ && recoPt >= EtMin_ )
822 v_->getOffEtOffHisto()->Fill(recoPt);
823 v_->getOffEtaVsOffPhiOffHisto()->Fill(recoEta, recoPhi);
830 else if(offColl_.isValid()) {
832 typedef typename T::const_iterator const_iterator;
833 for( const_iterator iter = offColl_->begin(), iend = offColl_->end(); iter != iend; ++iter )
837 if (fabs(iter->eta()) <= EtaMax_ && iter->pt() >= EtMin_ )
841 v_->getOffEtOffHisto()->Fill(iter->pt());
842 v_->getOffEtaVsOffPhiOffHisto()->Fill(iter->eta(), iter->phi());
850 v_->getNOffHisto()->Fill(NOff);
863 if (! genJets_.isValid())
return;
865 for(reco::GenJetCollection::const_iterator gjet=genJets_->begin(); gjet!=genJets_->end(); gjet++) {
867 if (fabs(gjet->eta()) <= EtaMax_ && gjet->pt() >= EtMin_ ){
872 if(! hasBPartonInCone(gjet,0.7))
continue;
878 v_->getMcEtMcHisto()->Fill(gjet->pt());
879 v_->getMcEtaVsMcPhiMcHisto()->Fill(gjet->eta(),gjet->phi());
888 else if( genParticles_.isValid()) {
890 for(
size_t i = 0;
i < genParticles_->size(); ++
i) {
893 if (
abs(p.
pdgId()) == pdgId_ && p.
status() == pdgStatus_ && fabs(p.
eta()) <= EtaMax_ && p.
pt() >= EtMin_ ){
896 v_->getMcEtMcHisto()->Fill(p.
pt());
897 v_->getMcEtaVsMcPhiMcHisto()->Fill(p.
eta(),p.
phi());
905 v_->getNMcHisto()->Fill(NMc);
914 unsigned int NL1McUM=0;
915 unsigned int NL1OffUM=0;
917 trigger::Vids::const_iterator idtypeiter = idtype.begin();
918 for (trigger::Keys::const_iterator l1ki = l1k.begin(); l1ki !=l1k.end(); ++l1ki ) {
921 if(isL1TriggerType(*idtypeiter))
927 if (fabs(l1FV.
eta()) <= EtaMax_ && l1FV.
pt() >= EtMin_)
930 v_->getL1EtL1Histo()->Fill(l1FV.
pt());
931 v_->getL1EtaVsL1PhiL1Histo()->Fill(l1FV.
eta(), l1FV.
phi());
937 if (offCollB_.isValid()) {
941 for( const_iterator iter = offCollB_->begin(), iend = offCollB_->end(); iter != iend; ++iter )
944 float recoEta = (*iter).first->eta();
945 float recoPhi = (*iter).first->phi();
946 float recoPt = (*iter).first->pt();
948 if (fabs(recoEta) <= EtaMax_ && recoPt >= EtMin_ )
955 v_->getOffEtL1OffUMHisto()->Fill(recoPt);
956 v_->getOffEtaVsOffPhiL1OffUMHisto()->Fill(recoEta,recoPhi);
965 L1OffDRMatchMap.insert(std::pair<float,int>(dR,j));
976 else if (offColl_.isValid()) {
979 typedef typename T::const_iterator const_iterator;
980 for( const_iterator iter = offColl_->begin(), iend = offColl_->end(); iter != iend; ++iter )
983 if (fabs(iter->eta()) <= EtaMax_ && iter->pt() >= EtMin_ )
990 v_->getOffEtL1OffUMHisto()->Fill(iter->pt());
991 v_->getOffEtaVsOffPhiL1OffUMHisto()->Fill(iter->eta(),iter->phi());
1000 L1OffDRMatchMap.insert(std::pair<float,int>(dR,j));
1011 if(! L1OffDRMatchMap.empty()) L1OffDRMatchSet.insert(L1OffDRMatchMap);
1016 if (GenJetsFlag_ && genJets_.isValid())
1022 for(reco::GenJetCollection::const_iterator gjet=genJets_->begin(); gjet!=genJets_->end(); gjet++) {
1024 if (fabs(gjet->eta()) <= EtaMax_ && gjet->pt() >= EtMin_ ){
1029 if(! hasBPartonInCone(gjet,0.7)) {
1042 v_->getMcEtL1McUMHisto()->Fill(gjet->pt());
1043 v_->getMcEtaVsMcPhiL1McUMHisto()->Fill(gjet->eta(),gjet->phi());
1052 L1MCDRMatchMap.insert(std::pair<float,int>(dR,j));
1063 if(! L1MCDRMatchMap.empty()) {
1064 L1MCDRMatchSet.insert(L1MCDRMatchMap);
1068 else if ( ! GenJetsFlag_ && genParticles_.isValid())
1072 for(
size_t i = 0;
i < genParticles_->size(); ++
i)
1076 if (
abs(p.
pdgId()) == pdgId_ && p.
status() == pdgStatus_ && fabs(p.
eta()) <= EtaMax_ && p.
pt() >= EtMin_)
1083 v_->getMcEtL1McUMHisto()->Fill(p.
pt());
1084 v_->getMcEtaVsMcPhiL1McUMHisto()->Fill(p.
eta(),p.
phi());
1093 L1MCDRMatchMap.insert(std::pair<float,int>(dR,
i));
1100 if(! L1MCDRMatchMap.empty()) {
1101 L1MCDRMatchSet.insert(L1MCDRMatchMap);
1111 v_->getNL1Histo()->Fill(NL1);
1112 v_->getNL1OffUMHisto()->Fill(NL1OffUM);
1113 v_->getNL1McUMHisto()->Fill(NL1McUM);
1122 unsigned int NOnOffUM=0;
1123 unsigned int NOnMcUM=0;
1124 unsigned int NOnL1UM=0;
1126 if(! isTriggerType(v_->getObjectType()) )
return;
1132 if (fabs(onlineFV.
eta()) <= EtaMax_ && onlineFV.
pt() >= EtMin_)
1135 v_->getOnEtOnHisto()->Fill(onlineFV.
pt());
1136 v_->getOnEtaVsOnPhiOnHisto()->Fill(onlineFV.
eta(), onlineFV.
phi());
1143 if (offCollB_.isValid()) {
1147 for( const_iterator iter = offCollB_->begin(), iend = offCollB_->end(); iter != iend; ++iter )
1150 float recoEta = (*iter).first->eta();
1151 float recoPhi = (*iter).first->phi();
1152 float recoPt = (*iter).first->pt();
1154 if (fabs(recoEta) <= EtaMax_ && recoPt >= EtMin_ )
1161 v_->getOffEtOnOffUMHisto()->Fill(recoPt);
1162 v_->getOffEtaVsOffPhiOnOffUMHisto()->Fill(recoEta,recoPhi);
1171 OnOffDRMatchMap.insert(std::pair<float,int>(dR,j));
1182 else if (offColl_.isValid()) {
1186 typedef typename T::const_iterator const_iterator;
1187 for( const_iterator iter = offColl_->begin(), iend = offColl_->end(); iter != iend; ++iter )
1190 if (fabs(iter->eta()) <= EtaMax_ && iter->pt() >= EtMin_ )
1197 v_->getOffEtOnOffUMHisto()->Fill(iter->pt());
1198 v_->getOffEtaVsOffPhiOnOffUMHisto()->Fill(iter->eta(),iter->phi());
1207 OnOffDRMatchMap.insert(std::pair<float,int>(dR,j));
1220 if(! OnOffDRMatchMap.empty()) OnOffDRMatchSet.insert(OnOffDRMatchMap);
1226 trigger::Vids::const_iterator idtypeiter = idtype.begin();
1227 for (trigger::Keys::const_iterator l1ki = l1k.begin(); l1ki !=l1k.end(); ++l1ki )
1232 if(isL1TriggerType(*idtypeiter))
1237 if ( fabs(l1FV.
eta()) <= EtaMax_ && l1FV.
pt() >= EtMin_ )
1244 v_->getL1EtL1OnUMHisto()->Fill(l1FV.
pt());
1245 v_->getL1EtaVsL1PhiL1OnUMHisto()->Fill(l1FV.
eta(),l1FV.
phi());
1255 OnL1DRMatchMap.insert(std::pair<float,int>(dR,j));
1268 if(! OnL1DRMatchMap.empty()) OnL1DRMatchSet.insert(OnL1DRMatchMap);
1273 if (GenJetsFlag_ && genJets_.isValid())
1279 for(reco::GenJetCollection::const_iterator gjet=genJets_->begin(); gjet!=genJets_->end(); gjet++) {
1281 if (fabs(gjet->eta()) <= EtaMax_ && gjet->pt() >= EtMin_ ){
1286 if(! hasBPartonInCone(gjet,0.7)) {
1298 v_->getMcEtOnMcUMHisto()->Fill(gjet->pt());
1299 v_->getMcEtaVsMcPhiOnMcUMHisto()->Fill(gjet->eta(),gjet->phi());
1308 OnMCDRMatchMap.insert(std::pair<float,int>(dR,j));
1318 if(! OnMCDRMatchMap.empty()) OnMCDRMatchSet.insert(OnMCDRMatchMap);
1321 else if (!GenJetsFlag_ && genParticles_.isValid())
1325 for(
size_t i = 0;
i < genParticles_->size(); ++
i)
1329 if (
abs(p.
pdgId()) == pdgId_ && p.
status() == pdgStatus_ && fabs(p.
eta()) <= EtaMax_ && p.
pt() >= EtMin_)
1336 v_->getMcEtOnMcUMHisto()->Fill(p.
pt());
1337 v_->getMcEtaVsMcPhiOnMcUMHisto()->Fill(p.
eta(),p.
phi());
1346 OnMCDRMatchMap.insert(std::pair<float,int>(dR,
i));
1352 if(! OnMCDRMatchMap.empty()) OnMCDRMatchSet.insert(OnMCDRMatchMap);
1356 v_->getNOnHisto()->Fill(NOn);
1357 v_->getNOnOffUMHisto()->Fill(NOnOffUM);
1358 v_->getNL1OnUMHisto()->Fill(NOnL1UM);
1359 v_->getNOnMcUMHisto()->Fill(NOnMcUM);
1367 unsigned int NOff=0;
1368 unsigned int NOffMcUM=0;
1370 if(! isTriggerType(v_->getObjectType()) )
return;
1373 if(offCollB_.isValid()) {
1376 for( const_iterator iter = offCollB_->begin(), iend = offCollB_->end(); iter != iend; ++iter )
1381 if (GenJetsFlag_ && genJets_.isValid())
1387 for(reco::GenJetCollection::const_iterator gjet=genJets_->begin(); gjet!=genJets_->end(); gjet++) {
1390 if (fabs(gjet->eta()) <= EtaMax_ && gjet->pt() >= EtMin_ ){
1392 if (BJetsFlag_ && hasBPartonInCone(gjet,0.7)) {
1399 v_->getMcEtOffMcUMHisto()->Fill(gjet->pt());
1400 v_->getMcEtaVsMcPhiOffMcUMHisto()->Fill(gjet->eta(),gjet->phi());
1405 float dR =
reco::deltaR(gjet->eta(),gjet->phi(),(*iter).first->eta(),(*iter).first->phi());
1409 OffMCDRMatchMap.insert(std::pair<float,int>(dR,j));
1421 if(! OffMCDRMatchMap.empty()) OffMCDRMatchSet.insert(OffMCDRMatchMap);
1428 else if(offColl_.isValid()) {
1430 typedef typename T::const_iterator const_iterator;
1431 for( const_iterator iter = offColl_->begin(), iend = offColl_->end(); iter != iend; ++iter )
1436 if (GenJetsFlag_ && genJets_.isValid())
1442 for(reco::GenJetCollection::const_iterator gjet=genJets_->begin(); gjet!=genJets_->end(); gjet++) {
1444 if (fabs(gjet->eta()) <= EtaMax_ && gjet->pt() >= EtMin_ ){
1449 if(! hasBPartonInCone(gjet,0.7)) {
1462 v_->getMcEtOffMcUMHisto()->Fill(gjet->pt());
1463 v_->getMcEtaVsMcPhiOffMcUMHisto()->Fill(gjet->eta(),gjet->phi());
1468 float dR =
reco::deltaR(gjet->eta(),gjet->phi(),iter->eta(),iter->phi());
1472 OffMCDRMatchMap.insert(std::pair<float,int>(dR,j));
1482 if(! OffMCDRMatchMap.empty()) OffMCDRMatchSet.insert(OffMCDRMatchMap);
1486 else if (!GenJetsFlag_ && genParticles_.isValid())
1490 for(
size_t i = 0;
i < genParticles_->size(); ++
i)
1494 if (
abs(p.
pdgId()) == pdgId_ && p.
status() == pdgStatus_ && fabs(p.
eta()) <= EtaMax_ && p.
pt() >= EtMin_)
1501 v_->getMcEtOffMcUMHisto()->Fill(p.
pt());
1502 v_->getMcEtaVsMcPhiOffMcUMHisto()->Fill(p.
eta(),p.
phi());
1511 OffMCDRMatchMap.insert(std::pair<float,int>(dR,
i));
1518 if(! OffMCDRMatchMap.empty()) OffMCDRMatchSet.insert(OffMCDRMatchMap);
1526 v_->getNOffHisto()->Fill(NOff);
1527 v_->getNOffMcUMHisto()->Fill(NOffMcUM);
1541 for ( mmset::iterator setIter = L1OffDRMatchSet.begin( ); setIter != L1OffDRMatchSet.end( ); setIter++ )
1544 fimmap tempMap = *setIter;
1546 fimmap::iterator it = tempMap.begin();
1547 int i = (*it).second ;
1548 float dR = (*it).first;
1549 v_->getOffDRL1OffHisto()->Fill(dR);
1551 if (dR > DRMatch_)
continue;
1552 if( offCollB_.isValid()) {
1555 const_iterator iter = offCollB_->begin();
1560 v_->getOffEtL1OffHisto()->Fill((*iter).first->pt());
1561 v_->getOffEtaVsOffPhiL1OffHisto()->Fill((*iter).first->eta(),(*iter).first->phi());
1565 else if( offColl_.isValid()) {
1567 typedef typename T::const_iterator const_iterator;
1568 const_iterator iter = offColl_->begin();
1573 v_->getOffEtL1OffHisto()->Fill(iter->pt());
1574 v_->getOffEtaVsOffPhiL1OffHisto()->Fill(iter->eta(),iter->phi());
1580 v_->getNL1OffHisto()->Fill(NL1Off);
1588 unsigned int NL1Mc=0;
1593 if (! genJets_.isValid())
return;
1601 for ( mmset::iterator setIter = L1MCDRMatchSet.begin( ); setIter != L1MCDRMatchSet.end( ); setIter++ )
1604 fimmap tempMap = *setIter;
1606 fimmap::iterator it = tempMap.begin();
1607 int i = (*it).second ;
1608 float dR = (*it).first;
1610 v_->getMcDRL1McHisto()->Fill(dR);
1612 if (dR > DRMatch_)
continue;
1614 reco::GenJetCollection::const_iterator gjet=genJets_->begin();
1618 v_->getMcEtL1McHisto()->Fill(gjet->pt());
1619 v_->getMcEtaVsMcPhiL1McHisto()->Fill(gjet->eta(),gjet->phi());
1625 else if( genParticles_.isValid()) {
1631 for ( mmset::iterator setIter = L1MCDRMatchSet.begin( ); setIter != L1MCDRMatchSet.end( ); setIter++ )
1634 fimmap tempMap = *setIter;
1636 fimmap::iterator it = tempMap.begin();
1637 int i = (*it).second ;
1638 float dR = (*it).first;
1640 v_->getMcDRL1McHisto()->Fill(dR);
1642 if (dR > DRMatch_)
continue;
1647 v_->getMcEtL1McHisto()->Fill(p.
pt());
1648 v_->getMcEtaVsMcPhiL1McHisto()->Fill(p.
eta(),p.
phi());
1654 v_->getNL1McHisto()->Fill(NL1Mc);
1662 unsigned int NOnOff=0;
1667 for ( mmset::iterator setIter = OnOffDRMatchSet.begin( ); setIter != OnOffDRMatchSet.end( ); setIter++ )
1671 fimmap tempMap = *setIter;
1673 fimmap::iterator it = tempMap.begin();
1674 int i = (*it).second ;
1675 float dR = (*it).first;
1676 v_->getOffDROnOffHisto()->Fill(dR);
1679 if (dR > DRMatch_)
continue;
1681 if( offCollB_.isValid()) {
1685 const_iterator iter = offCollB_->begin();
1690 v_->getOffEtOnOffHisto()->Fill((*iter).first->pt());
1691 v_->getOffEtaVsOffPhiOnOffHisto()->Fill((*iter).first->eta(),(*iter).first->phi());
1694 else if( offColl_.isValid()) {
1696 typedef typename T::const_iterator const_iterator;
1697 const_iterator iter = offColl_->begin();
1701 v_->getOffEtOnOffHisto()->Fill(iter->pt());
1702 v_->getOffEtaVsOffPhiOnOffHisto()->Fill(iter->eta(),iter->phi());
1708 v_->getNOnOffHisto()->Fill(NOnOff);
1716 unsigned int NOnMc=0;
1721 if (! genJets_.isValid())
return;
1727 for ( mmset::iterator setIter = OnMCDRMatchSet.begin( ); setIter != OnMCDRMatchSet.end( ); setIter++ )
1730 fimmap tempMap = *setIter;
1732 fimmap::iterator it = tempMap.begin();
1733 int i = (*it).second ;
1734 float dR = (*it).first;
1735 v_->getMcDROnMcHisto()->Fill(dR);
1737 if (dR > DRMatch_)
continue;
1739 reco::GenJetCollection::const_iterator gjet=genJets_->begin();
1744 v_->getMcEtOnMcHisto()->Fill(gjet->pt());
1745 v_->getMcEtaVsMcPhiOnMcHisto()->Fill(gjet->eta(),gjet->phi());
1750 else if( genParticles_.isValid()) {
1756 for ( mmset::iterator setIter = OnMCDRMatchSet.begin( ); setIter != OnMCDRMatchSet.end( ); setIter++ )
1759 fimmap tempMap = *setIter;
1761 fimmap::iterator it = tempMap.begin();
1762 int i = (*it).second ;
1763 float dR = (*it).first;
1764 v_->getMcDROnMcHisto()->Fill(dR);
1766 if (dR > DRMatch_)
continue;
1771 v_->getMcEtOnMcHisto()->Fill(p.
pt());
1772 v_->getMcEtaVsMcPhiOnMcHisto()->Fill(p.
eta(),p.
phi());
1778 v_->getNOnMcHisto()->Fill(NOnMc);
1786 unsigned int NOffMc=0;
1791 if (! genJets_.isValid())
return;
1797 for ( mmset::iterator setIter = OffMCDRMatchSet.begin( ); setIter != OffMCDRMatchSet.end( ); setIter++ )
1800 fimmap tempMap = *setIter;
1802 fimmap::iterator it = tempMap.begin();
1803 int i = (*it).second ;
1804 float dR = (*it).first;
1805 v_->getMcDROffMcHisto()->Fill(dR);
1807 if (dR > DRMatch_)
continue;
1809 reco::GenJetCollection::const_iterator gjet=genJets_->begin();
1813 v_->getMcEtOffMcHisto()->Fill(gjet->pt());
1814 v_->getMcEtaVsMcPhiOffMcHisto()->Fill(gjet->eta(),gjet->phi());
1819 else if( genParticles_.isValid() && offColl_.isValid()) {
1825 for ( mmset::iterator setIter = OffMCDRMatchSet.begin( ); setIter != OffMCDRMatchSet.end( ); setIter++ )
1828 fimmap tempMap = *setIter;
1830 fimmap::iterator it = tempMap.begin();
1831 int i = (*it).second ;
1832 float dR = (*it).first;
1833 v_->getMcDROffMcHisto()->Fill(dR);
1835 if (dR > DRMatch_)
continue;
1840 v_->getMcEtOffMcHisto()->Fill(p.
pt());
1841 v_->getMcEtaVsMcPhiOffMcHisto()->Fill(p.
eta(),p.
phi());
1847 v_->getNOffMcHisto()->Fill(NOffMc);
1855 unsigned int NOnL1=0;
1860 for ( mmset::iterator setIter = OnL1DRMatchSet.begin( ); setIter != OnL1DRMatchSet.end( ); setIter++ )
1863 fimmap tempMap = *setIter;
1865 fimmap::iterator it = tempMap.begin();
1866 int i = (*it).second ;
1867 float dR = (*it).first;
1868 v_->getL1DROnL1Histo()->Fill(dR);
1870 if (dR > DRMatch_)
continue;
1872 trigger::Keys::const_iterator l1ki = l1k.begin();
1876 v_->getL1EtL1OnHisto()->Fill(toc[*l1ki].pt());
1877 v_->getL1EtaVsL1PhiL1OnHisto()->Fill(toc[*l1ki].
eta(),toc[*l1ki].
phi());
1881 v_->getNL1OnHisto()->Fill(NOnL1);
1890 if (! genParticles_.isValid())
return rc;
1892 for(
size_t i = 0;
i < genParticles_->size(); ++
i) {
1916 L1OffDRMatchSet.clear();
1917 L1MCDRMatchSet.clear();
1918 OnOffDRMatchSet.clear();
1919 OnMCDRMatchSet.clear();
1920 OnL1DRMatchSet.clear();
1921 OffMCDRMatchSet.clear();
MonitorElement * offEtavsoffPhiOnOffUM_
MonitorElement * l1Etavsl1PhiL1_
MonitorElement * getOnEtaVsOnPhiOnHisto()
edm::Handle< reco::GenJetCollection > genJets_
bool isTriggerType(int t)
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()
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()
MonitorElement * getOffEtaVsOffPhiOnOffHisto()
MonitorElement * getNOnOffUMHisto()
void monitorOffline(FourVectorHLTriggerOffline *fv)
virtual void analyze(const edm::Event &, const edm::EventSetup &)
MonitorElement * getL1EtaVsL1PhiL1OnHisto()
MonitorElement * getNOnOffHisto()
void pushTriggerType(int trigType)
MonitorElement * mcEtOnMcUM_
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
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
MonitorElement * getOffEtOnOffUMHisto()
MonitorElement * getOffEtaVsOffPhiL1OffHisto()
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()
MonitorElement * NL1OnUM_
void fillL1OffMatch(FourVectorHLTriggerOffline *fv)
void monitorL1(const trigger::Vids &idtype, const trigger::Keys &l1k, const trigger::TriggerObjectCollection &toc)
void fillL1MCMatch(FourVectorHLTriggerOffline *fv)
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_
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()
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_
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()
MonitorElement * getMcEtaVsMcPhiOffMcHisto()
MonitorElement * getL1EtaVsL1PhiL1Histo()