1 #ifndef FOURVECTORHLTOFFLINE_H
2 #define FOURVECTORHLTOFFLINE_H
110 typedef std::multimap<float,int>
fimmap ;
111 typedef std::set<fimmap , std::less<fimmap> >
mmset;
543 PathInfo(std::string denomPathName, std::string
pathName, std::string l1pathName,
int l1ModuleIndex, std::string
filterName, std::string processName,
size_t type,
float ptmin,
float ptmax,
float hltThreshold,
float l1Threshold):
601 float ptmin,
float ptmax
704 virtual void setPath(FourVectorHLTOffline::PathInfoCollection::iterator
v) = 0;
725 void setLimits(
float etaMax,
float etMin,
float drMatch,
float l1drMatch,
float dRRange,
float thresholdFactor)
738 void setPath(FourVectorHLTOffline::PathInfoCollection::iterator
v) {
v_ =
v; }
808 FourVectorHLTOffline::PathInfoCollection::iterator
v_;
818 for(std::vector<int>::const_iterator it = triggerType_.begin(); it != triggerType_.end(); ++it)
821 if(t == *it) { rc =
true;
break; }
837 for(std::vector<int>::const_iterator it = l1triggerType_.begin(); it != l1triggerType_.end(); ++it)
840 if(fabs(t) == fabs(*it)) { rc =
true;
break; }
855 if(! isTriggerType(v_->getObjectType()) )
return;
857 unsigned int NOff = 0;
859 if( offCollB_.isValid()) {
861 for( const_iterator iter = offCollB_->begin(), iend = offCollB_->end(); iter != iend; ++iter )
864 float recoEta = (*iter).first->eta();
865 float recoPhi = (*iter).first->phi();
866 float recoPt = (*iter).first->pt();
869 if (fabs(recoEta) <= EtaMax_ && recoPt >= EtMin_ )
873 v_->getOffEtOffHisto()->Fill(recoPt);
874 if(recoPt >= thresholdFactor_*v_->getHltThreshold())
875 v_->getOffEtaVsOffPhiOffHisto()->Fill(recoEta, recoPhi);
889 else if(offCollEle_.isValid()) {
891 typedef typename reco::GsfElectronCollection::const_iterator const_iterator;
892 for( const_iterator iter = offCollEle_->begin(), iend = offCollEle_->end(); iter != iend; ++iter )
895 if (fabs(iter->eta()) <= EtaMax_ && iter->superCluster()->energy()*
sin(iter->superCluster()->position().Theta()) >= EtMin_ )
899 v_->getOffEtOffHisto()->Fill(iter->superCluster()->energy()*
sin(iter->superCluster()->position().Theta()));
901 if(iter->pt() >= thresholdFactor_*v_->getHltThreshold())
902 v_->getOffEtaVsOffPhiOffHisto()->Fill(iter->eta(), iter->phi());
916 else if(offColl_.isValid()) {
918 typedef typename T::const_iterator const_iterator;
919 for( const_iterator iter = offColl_->begin(), iend = offColl_->end(); iter != iend; ++iter )
922 if (fabs(iter->eta()) <= EtaMax_ && iter->pt() >= EtMin_ )
926 v_->getOffEtOffHisto()->Fill(iter->pt());
928 if(iter->pt() >= thresholdFactor_*v_->getHltThreshold())
929 v_->getOffEtaVsOffPhiOffHisto()->Fill(iter->eta(), iter->phi());
944 if(NOff>0)v_->getNOffHisto()->Fill(NOff);
953 if ( l1Index >= fv->
fTriggerObj->sizeFilters() )
return;
956 unsigned int NL1OffUM=0;
961 bool l1accept = l1k.size() > 0;
963 if(!l1accept)
return;
965 trigger::Vids::const_iterator idtypeiter = idtype.begin();
967 for (trigger::Keys::const_iterator l1ki = l1k.begin(); l1ki !=l1k.end(); ++l1ki ) {
971 if(isL1TriggerType(*idtypeiter))
976 v_->getL1EtL1Histo()->Fill(l1FV.
pt());
977 v_->getL1EtaVsL1PhiL1Histo()->Fill(l1FV.
eta(), l1FV.
phi());
979 matchL1Offline(l1FV, fv, NL1, NL1OffUM);
987 if(NL1 > 0) v_->getNL1Histo()->Fill(NL1);
988 if(NL1OffUM > 0) v_->getNL1OffUMHisto()->Fill(NL1OffUM);
999 if (offCollB_.isValid()) {
1003 for( const_iterator iter = offCollB_->begin(), iend = offCollB_->end(); iter != iend; ++iter )
1006 float recoEta = (*iter).first->eta();
1007 float recoPhi = (*iter).first->phi();
1008 float recoPt = (*iter).first->pt();
1010 if (fabs(recoEta) <= EtaMax_ && recoPt >= EtMin_ )
1017 v_->getOffEtL1OffUMHisto()->Fill(recoPt);
1019 if(recoPt >= thresholdFactor_*v_->getHltThreshold())
1020 v_->getOffEtaVsOffPhiL1OffUMHisto()->Fill(recoEta,recoPhi);
1029 L1OffDRMatchMap.insert(std::pair<float,int>(dR,j));
1040 else if (offCollMu_.isValid()) {
1043 typedef typename reco::MuonCollection::const_iterator const_iterator;
1044 for( const_iterator iter = offCollMu_->begin(), iend = offCollMu_->end(); iter != iend; ++iter )
1050 float recoEta = iter->outerTrack()->innerPosition().eta();
1051 float recoPhi = iter->outerTrack()->innerPosition().phi();
1052 float recoPt = iter->pt();
1054 if (fabs(recoEta) <= EtaMax_ && recoPt >= EtMin_ )
1061 v_->getOffEtL1OffUMHisto()->Fill(recoPt);
1063 if(recoPt >= thresholdFactor_*v_->getHltThreshold())
1064 v_->getOffEtaVsOffPhiL1OffUMHisto()->Fill(recoEta,recoPhi);
1073 L1OffDRMatchMap.insert(std::pair<float,int>(dR,j));
1084 else if (offCollEle_.isValid()) {
1087 typedef typename reco::GsfElectronCollection::const_iterator const_iterator;
1088 for( const_iterator iter = offCollEle_->begin(), iend = offCollEle_->end(); iter != iend; ++iter )
1091 if (fabs(iter->eta()) <= EtaMax_ && iter->superCluster()->energy()*
sin(iter->superCluster()->position().Theta()) >= EtMin_ )
1098 v_->getOffEtL1OffUMHisto()->Fill(iter->superCluster()->energy()*
sin(iter->superCluster()->position().Theta()));
1100 if(iter->superCluster()->energy()*
sin(iter->superCluster()->position().Theta()) >= thresholdFactor_*v_->getHltThreshold())
1101 v_->getOffEtaVsOffPhiL1OffUMHisto()->Fill(iter->eta(),iter->phi());
1110 L1OffDRMatchMap.insert(std::pair<float,int>(dR,j));
1121 else if (offColl_.isValid()) {
1124 typedef typename T::const_iterator const_iterator;
1125 for( const_iterator iter = offColl_->begin(), iend = offColl_->end(); iter != iend; ++iter )
1128 if (fabs(iter->eta()) <= EtaMax_ && iter->pt() >= EtMin_ )
1135 v_->getOffEtL1OffUMHisto()->Fill(iter->pt());
1137 if(iter->pt() >= thresholdFactor_*v_->getHltThreshold())
1138 v_->getOffEtaVsOffPhiL1OffUMHisto()->Fill(iter->eta(),iter->phi());
1147 L1OffDRMatchMap.insert(std::pair<float,int>(dR,j));
1158 if(! L1OffDRMatchMap.empty()) L1OffDRMatchSet.insert(L1OffDRMatchMap);
1167 if(! isTriggerType(v_->getObjectType()) )
return;
1177 for (trigger::Keys::const_iterator ki = k.begin(); ki !=k.end(); ++ki ) {
1183 v_->getOnEtOnHisto()->Fill(onlineFV.
pt());
1184 v_->getOnOneOverEtOnHisto()->Fill(1./onlineFV.
pt());
1185 v_->getOnEtaVsOnPhiOnHisto()->Fill(onlineFV.
eta(), onlineFV.
phi());
1187 matchOnlineL1(onlineFV,l1Index, fv, NOn);
1188 matchOnlineOffline(onlineFV,fv, NOn);
1192 if(NOn>0) v_->getNOnHisto()->Fill(NOn);
1200 if ( l1Index >= fv->
fTriggerObj->sizeFilters() )
return;
1202 unsigned int NOnL1UM=0;
1210 trigger::Vids::const_iterator idtypeiter = idtype.begin();
1211 for (trigger::Keys::const_iterator l1ki = l1k.begin(); l1ki !=l1k.end(); ++l1ki )
1214 if(isL1TriggerType(*idtypeiter))
1223 v_->getL1EtL1OnUMHisto()->Fill(l1FV.
pt());
1224 v_->getL1EtaVsL1PhiL1OnUMHisto()->Fill(l1FV.
eta(),l1FV.
phi());
1234 OnL1DRMatchMap.insert(std::pair<float,int>(dR,j));
1245 if(! OnL1DRMatchMap.empty()) OnL1DRMatchSet.insert(OnL1DRMatchMap);
1254 unsigned int NOnOffUM=0;
1258 if (offCollB_.isValid()) {
1262 for( const_iterator iter = offCollB_->begin(), iend = offCollB_->end(); iter != iend; ++iter )
1265 float recoEta = (*iter).first->eta();
1266 float recoPhi = (*iter).first->phi();
1267 float recoPt = (*iter).first->pt();
1269 if (fabs(recoEta) <= EtaMax_ && recoPt >= EtMin_ )
1276 v_->getOffEtOnOffUMHisto()->Fill(recoPt);
1278 if(recoPt >= thresholdFactor_*v_->getHltThreshold())
1279 v_->getOffEtaVsOffPhiOnOffUMHisto()->Fill(recoEta,recoPhi);
1288 OnOffDRMatchMap.insert(std::pair<float,int>(dR,j));
1299 else if (offCollMu_.isValid() && fL2MuFlag) {
1302 typedef typename reco::MuonCollection::const_iterator const_iterator;
1303 for( const_iterator iter = offCollMu_->begin(), iend = offCollMu_->end(); iter != iend; ++iter )
1309 float recoEta = iter->outerTrack()->innerPosition().eta();
1310 float recoPhi = iter->outerTrack()->innerPosition().phi();
1311 float recoPt = iter->pt();
1313 if (fabs(recoEta) <= EtaMax_ && recoPt >= EtMin_ )
1319 v_->getOffEtOnOffUMHisto()->Fill(iter->pt());
1321 if(recoPt >= thresholdFactor_*v_->getHltThreshold())
1322 v_->getOffEtaVsOffPhiOnOffUMHisto()->Fill(iter->eta(),iter->phi());
1331 OnOffDRMatchMap.insert(std::pair<float,int>(dR,j));
1343 else if (offCollEle_.isValid()) {
1347 typedef typename reco::GsfElectronCollection::const_iterator const_iterator;
1348 for( const_iterator iter = offCollEle_->begin(), iend = offCollEle_->end(); iter != iend; ++iter )
1351 if (fabs(iter->eta()) <= EtaMax_ && iter->superCluster()->energy()*
sin(iter->superCluster()->position().Theta()) >= EtMin_ )
1358 v_->getOffEtOnOffUMHisto()->Fill(iter->superCluster()->energy()*
sin(iter->superCluster()->position().Theta()));
1360 if(iter->superCluster()->energy()*
sin(iter->superCluster()->position().Theta()) >= thresholdFactor_*v_->getHltThreshold())
1361 v_->getOffEtaVsOffPhiOnOffUMHisto()->Fill(iter->eta(),iter->phi());
1370 OnOffDRMatchMap.insert(std::pair<float,int>(dR,j));
1382 else if (offColl_.isValid()) {
1386 typedef typename T::const_iterator const_iterator;
1387 for( const_iterator iter = offColl_->begin(), iend = offColl_->end(); iter != iend; ++iter )
1390 if (fabs(iter->eta()) <= EtaMax_ && iter->pt() >= EtMin_ )
1397 v_->getOffEtOnOffUMHisto()->Fill(iter->pt());
1399 if(iter->pt() >= thresholdFactor_*v_->getHltThreshold())
1400 v_->getOffEtaVsOffPhiOnOffUMHisto()->Fill(iter->eta(),iter->phi());
1409 OnOffDRMatchMap.insert(std::pair<float,int>(dR,j));
1422 if(! OnOffDRMatchMap.empty()) OnOffDRMatchSet.insert(OnOffDRMatchMap);
1432 if(L1OffDRMatchSet.size() > 1) {
1434 LogDebug(
"FourVectorHLTOffline") <<
" Cleaning L1Off mmset" << std::endl;
1440 for ( mmset::iterator setIter = L1OffDRMatchSet.begin( ); setIter != L1OffDRMatchSet.end( ); setIter++ )
1443 fimmap tempMap = *setIter;
1445 fimmap::iterator it = tempMap.begin();
1446 int i = (*it).second ;
1447 float dR = (*it).first;
1448 v_->getOffDRL1OffHisto()->Fill(dR);
1450 if (dR > L1DRMatch_)
continue;
1451 if( offCollB_.isValid()) {
1454 const_iterator iter = offCollB_->begin();
1459 v_->getOffEtL1OffHisto()->Fill((*iter).first->pt());
1460 if((*iter).first->pt() >= thresholdFactor_*v_->getHltThreshold())
1461 v_->getOffEtaVsOffPhiL1OffHisto()->Fill((*iter).first->eta(),(*iter).first->phi());
1465 else if( offCollMu_.isValid()) {
1467 typedef typename reco::MuonCollection::const_iterator const_iterator;
1468 const_iterator iter = offCollMu_->begin();
1473 v_->getOffEtL1OffHisto()->Fill(iter->pt());
1474 if(iter->pt() >= thresholdFactor_*v_->getHltThreshold())
1475 v_->getOffEtaVsOffPhiL1OffHisto()->Fill(iter->outerTrack()->innerPosition().eta(),iter->outerTrack()->innerPosition().phi());
1478 else if( offCollEle_.isValid()) {
1480 typedef typename reco::GsfElectronCollection::const_iterator const_iterator;
1481 const_iterator iter = offCollEle_->begin();
1486 v_->getOffEtL1OffHisto()->Fill(iter->superCluster()->energy()*
sin(iter->superCluster()->position().Theta()));
1487 if(iter->pt() >= thresholdFactor_*v_->getHltThreshold())
1488 v_->getOffEtaVsOffPhiL1OffHisto()->Fill(iter->eta(),iter->phi());
1491 else if( offColl_.isValid()) {
1493 typedef typename T::const_iterator const_iterator;
1494 const_iterator iter = offColl_->begin();
1499 v_->getOffEtL1OffHisto()->Fill(iter->pt());
1500 if(iter->pt() >= thresholdFactor_*v_->getHltThreshold())
1501 v_->getOffEtaVsOffPhiL1OffHisto()->Fill(iter->eta(),iter->phi());
1507 if(NL1Off > 0) v_->getNL1OffHisto()->Fill(NL1Off);
1516 unsigned int NOnOff=0;
1519 if(OnOffDRMatchSet.size() > 1){
1521 LogDebug(
"FourVectorHLTOffline") <<
" Cleaning OnOff mmset" << std::endl;
1526 for ( mmset::iterator setIter = OnOffDRMatchSet.begin( ); setIter != OnOffDRMatchSet.end( ); setIter++ )
1530 fimmap tempMap = *setIter;
1532 fimmap::iterator it = tempMap.begin();
1533 int i = (*it).second ;
1534 float dR = (*it).first;
1535 v_->getOffDROnOffHisto()->Fill(dR);
1538 if (dR > DRMatch_)
continue;
1540 if( offCollB_.isValid()) {
1544 const_iterator iter = offCollB_->begin();
1549 v_->getOffEtOnOffHisto()->Fill((*iter).first->pt());
1550 if((*iter).first->pt() >= thresholdFactor_*v_->getHltThreshold())
1551 v_->getOffEtaVsOffPhiOnOffHisto()->Fill((*iter).first->eta(),(*iter).first->phi());
1554 else if( offCollMu_.isValid() && fL2MuFlag) {
1556 typedef typename reco::MuonCollection::const_iterator const_iterator;
1557 const_iterator iter = offCollMu_->begin();
1562 v_->getOffEtOnOffHisto()->Fill(iter->pt());
1563 if(iter->pt() >= thresholdFactor_*v_->getHltThreshold())
1564 v_->getOffEtaVsOffPhiOnOffHisto()->Fill(iter->outerTrack()->innerPosition().eta(),iter->outerTrack()->innerPosition().phi());
1567 else if( offCollEle_.isValid()) {
1569 typedef typename reco::GsfElectronCollection::const_iterator const_iterator;
1570 const_iterator iter = offCollEle_->begin();
1574 v_->getOffEtOnOffHisto()->Fill(iter->superCluster()->energy()*
sin(iter->superCluster()->position().Theta()));
1575 if(iter->superCluster()->energy()*fabs(
sin(iter->superCluster()->position().Theta())) >= thresholdFactor_*v_->getHltThreshold())
1576 v_->getOffEtaVsOffPhiOnOffHisto()->Fill(iter->eta(),iter->phi());
1579 else if( offColl_.isValid()) {
1581 typedef typename T::const_iterator const_iterator;
1582 const_iterator iter = offColl_->begin();
1586 v_->getOffEtOnOffHisto()->Fill(iter->pt());
1587 if(iter->pt() >= thresholdFactor_*v_->getHltThreshold())
1588 v_->getOffEtaVsOffPhiOnOffHisto()->Fill(iter->eta(),iter->phi());
1594 v_->getNOnOffHisto()->Fill(NOnOff);
1606 unsigned int NOnL1=0;
1609 if(OnL1DRMatchSet.size() > 1) {
1611 LogDebug(
"FourVectorHLTOffline") <<
" Cleaning L1On mmset" << std::endl;
1616 for ( mmset::iterator setIter = OnL1DRMatchSet.begin( ); setIter != OnL1DRMatchSet.end( ); setIter++ )
1619 fimmap tempMap = *setIter;
1621 fimmap::iterator it = tempMap.begin();
1622 int i = (*it).second ;
1623 float dR = (*it).first;
1624 v_->getL1DROnL1Histo()->Fill(dR);
1626 if (dR > L1DRMatch_)
continue;
1628 trigger::Keys::const_iterator l1ki = l1k.begin();
1632 v_->getL1EtL1OnHisto()->Fill(toc[*l1ki].
pt());
1633 v_->getL1EtaVsL1PhiL1OnHisto()->Fill(toc[*l1ki].
eta(),toc[*l1ki].
phi());
1637 v_->getNL1OnHisto()->Fill(NOnL1);
1645 if(! isTriggerType(v_->getObjectType()) )
return;
1648 if ( l1Index >= fv->
fTriggerObj->sizeFilters() )
return;
1649 fillOnL1Match(l1Index, fv);
1665 L1OffDRMatchSet.clear();
1666 L1MCDRMatchSet.clear();
1667 OnOffDRMatchSet.clear();
1668 OnMCDRMatchSet.clear();
1669 OnL1DRMatchSet.clear();
1670 OffMCDRMatchSet.clear();
float sigmaIetaIetaSpikesEC_
MonitorElement * getL1EtaVsL1PhiL1OnUMHisto()
void setupHltMatrix(const std::string &label, std::vector< std::string > &paths)
reco::helper::JetIDHelper * jetID
MonitorElement * getOnOneOverEtOnHisto()
MonitorElement * NOnOffUM_
MonitorElement * getL1EtL1Histo()
float dr04EcalRecHitSumEtEC_
edm::Handle< T > offColl_
bool hasL1Passed(const std::string &pathname, const edm::TriggerNames &triggerNames)
std::string denomPathName_
virtual void fillL1Match(FourVectorHLTOffline *fv)=0
MonitorElement * NL1OffUM_
void selectPhotons(const edm::Handle< reco::PhotonCollection > &phoHandle)
std::vector< PFTau > PFTauCollection
collection of PFTau objects
void countHLTPathHitsEndLumiBlock(const int &lumi)
virtual void monitorOnline(const int hltIndex, const int l1Index, FourVectorHLTOnline *fv)=0
void countHLTGroupBXHitsEndLumiBlock(const int &lumi)
MonitorElement * getOffDROnOffHisto()
edm::Handle< reco::GsfElectronCollection > fSelElectronsHandle
edm::Handle< reco::CaloMETCollection > fSelMetHandle
FourVectorHLTOffline::PathInfoCollection::iterator v_
MonitorElement * offEtOnOffUM_
float deltaPhiSuperClusterTrackAtVtxEC_
virtual void fillOnlineMatch(const int l1Index, FourVectorHLTOnline *fv)=0
transient_vector_type::const_iterator const_iterator
float sigmaIetaIetaSpikesEB_
std::vector< std::vector< uint > > triggerFilterIndices_
bool isL1TriggerType(int t)
MonitorElement * getL1EtaVsL1PhiL1OnHisto()
std::string pathsSummaryFolder_
reco::CaloMETCollection * fSelectedMet
PathInfoCollection hltPaths_
MonitorElement * getOffEtaVsOffPhiL1OffUMHisto()
bool isTriggerType(int t)
MonitorElement * l1Etavsl1PhiL1On_
MonitorElement * getNL1OffHisto()
std::string muonRecoCollectionName_
reco::PFTauCollection * fSelectedTaus
std::vector< PathInfo >::iterator find(std::string pathName)
void endRun(const edm::Run &run, const edm::EventSetup &c)
EndRun.
std::string pathsSummaryFilterEfficiencyFolder_
void setRecoMu(edm::Handle< reco::MuonCollection > offCollMu)
MonitorElement * l1Etavsl1PhiL1OnUM_
std::string pathsSummaryHLTPathsPerLSFolder_
int getTriggerTypeParsePathName(const std::string &pathname)
void fillHltMatrix(const edm::TriggerNames &triggerNames)
std::vector< std::pair< std::string, std::vector< int > > > fPathBxTempCountPair
MonitorElement * getNOnOffHisto()
Sin< T >::type sin(const T &t)
MonitorElement * offEtavsoffPhiL1Off_
std::vector< std::string > specialPaths_
MonitorElement * getL1EtaVsL1PhiL1Histo()
void matchOnlineL1(const trigger::TriggerObject &onlineFV, const int &l1Index, FourVectorHLTOnline *fv, const int &NOn)
MonitorElement * offDRL1Off_
MonitorElement * offEtavsoffPhiOnOffUM_
FourVectorHLTOffline(const edm::ParameterSet &)
std::vector< int > l1triggerType_
void cleanDRMatchSet(mmset &tempSet)
Clean DR Match Set.
std::multimap< float, int > fimmap
PathInfo(std::string denomPathName, std::string pathName, std::string l1pathName, std::string filterName, std::string processName, size_t type, MonitorElement *NOn, MonitorElement *onEtOn, MonitorElement *onOneOverEtOn, 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 *NL1OnUM, MonitorElement *l1EtL1OnUM, MonitorElement *l1Etavsl1PhiL1OnUM, MonitorElement *NL1OffUM, MonitorElement *offEtL1OffUM, MonitorElement *offEtavsoffPhiL1OffUM, MonitorElement *NOnOffUM, MonitorElement *offEtOnOffUM, MonitorElement *offEtavsoffPhiOnOffUM, MonitorElement *offDRL1Off, MonitorElement *offDROnOff, MonitorElement *l1DRL1On, MonitorElement *filters, float ptmin, float ptmax)
std::vector< int > triggerType_
edm::Handle< reco::MuonCollection > fSelMuonsHandle
edm::Handle< reco::GsfElectronCollection > offCollEle_
edm::Handle< reco::BeamSpot > fBeamSpotHandle
double normalizedChi2Cut_
bool operator!=(const std::string &v)
virtual void monitorOffline(void)=0
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
edm::Handle< reco::PFTauCollection > fSelTausHandle
void fillOnlineMatch(const int l1Index, FourVectorHLTOnline *fv)
float emEnergyFractionJet_
edm::Handle< reco::JetTagCollection > offCollB_
MonitorElement * offEtavsoffPhiL1OffUM_
virtual void matchOnlineOffline(const trigger::TriggerObject &onlineFV, FourVectorHLTOffline *fv, const int &NOn)=0
MonitorElement * getL1DROnL1Histo()
const std::string & getPath(void) const
std::vector< GsfElectron > GsfElectronCollection
collection of GsfElectron objects
const edm::InputTag getTag(void) const
std::vector< TPRegexp > filters
edm::InputTag triggerSummaryLabel_
void countHLTGroupL1HitsEndLumiBlock(const int &lumi)
void setRecoB(edm::Handle< reco::JetTagCollection > offCollB)
virtual bool isTriggerType(int t)=0
PathInfoCollection hltPathsDiagonal_
std::vector< std::pair< std::string, std::string > > custompathnamepairs_
void setPath(FourVectorHLTOffline::PathInfoCollection::iterator v)
std::vector< Muon > MuonCollection
collection of Muon objects
std::set< fimmap, std::less< fimmap > > mmset
edm::Handle< reco::PhotonCollection > fSelPhotonsHandle
double deltaR(double eta1, double phi1, double eta2, double phi2)
reco::GsfElectronCollection * fSelectedElectrons
MonitorElement * getOffEtL1OffUMHisto()
MonitorElement * getOnEtOnHisto()
Single trigger physics object (e.g., an isolated muon)
const std::string * pathName() const
MonitorElement * getNL1OnUMHisto()
float deltaEtaSuperClusterTrackAtVtxEC_
const int getL1ModuleIndex(void) const
MonitorElement * getOffEtaVsOffPhiOffHisto()
MonitorElement * NL1OnUM_
MonitorElement * getL1EtL1OnUMHisto()
FourVectorHLTOnline::PathInfoCollection::iterator v_
void matchOnlineOffline(const trigger::TriggerObject &onlineFV, FourVectorHLTOffline *fv, const int &NOn)
const std::string getL1ConditionModuleName(const std::string &pathname)
unsigned int referenceBX_
MonitorElement * l1Etavsl1PhiL1_
float deltaEtaSuperClusterTrackAtVtxEB_
void pushTriggerType(int trigType)
MonitorElement * offEtavsoffPhiOnOff_
MonitorElement * l1EtL1On_
void monitorOnline(const int hltIndex, const int l1Index, FourVectorHLTOnline *fv)
edm::Handle< edm::TriggerResults > fTriggerResults
void selectJets(const edm::Event &iEvent, const edm::Handle< reco::CaloJetCollection > &jetHandle)
MonitorElement * offDROnOff_
std::vector< MonitorElement * > v_ME_Total_BX
void matchL1Offline(const trigger::TriggerObject &l1FV, FourVectorHLTOffline *fv, const int &NL1, unsigned int &NL1OffUM)
std::string pathsSummaryHLTPathsPerBXFolder_
virtual void matchL1Offline(const trigger::TriggerObject &l1FV, FourVectorHLTOffline *fv, const int &NL1, unsigned int &NL1OffUM)=0
std::vector< std::pair< std::string, float > > fPathTempCountPair
MonitorElement * getFiltersHisto()
const std::string & getProcess(void) const
void endLuminosityBlock(const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c)
HLTConfigProvider hltConfig_
MonitorElement * getNOffHisto()
std::string fCustomBXPath
virtual void matchOnlineL1(const trigger::TriggerObject &onlineFV, const int &l1Index, FourVectorHLTOnline *fv, const int &NOn)=0
void setLabel(std::string labelName)
virtual void analyze(const edm::Event &, const edm::EventSetup &)
void setHistos(MonitorElement *const NOn, MonitorElement *const onEtOn, MonitorElement *const onOneOverEtOn, 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 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 offDRL1Off, MonitorElement *const offDROnOff, MonitorElement *const l1DRL1On)
MonitorElement * offEtOnOff_
reco::PhotonCollection * fSelectedPhotons
std::vector< MonitorElement * > v_ME_Total_BX_Norm
void fillL1OffMatch(FourVectorHLTOffline *fv)
void selectTaus(const edm::Event &iEvent)
MonitorElement * getNL1OffUMHisto()
std::vector< std::pair< std::string, unsigned int > > filtersAndIndices
bool operator==(const std::string &v)
const int getObjectType(void) const
bool isVBTFMuon(const reco::Muon &muon)
MonitorElement * ME_HLT_BX
double electronL1DRMatch_
void selectElectrons(const edm::Event &iEvent, const edm::EventSetup &iSetup, const edm::Handle< reco::GsfElectronCollection > &eleHandle)
reco::MuonCollection * fSelectedMuons
MonitorElement * getNL1Histo()
edm::InputTag triggerResultsLabel_
MonitorElement * onEtavsonPhiOn_
MonitorElement * onOneOverEtOn_
std::string tauDscrmtrLabel2_
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
virtual void clearSets(void)=0
MonitorElement * l1EtL1OnUM_
void monitorL1(const int l1Index, FourVectorHLTOnline *fv)
void setLimits(float etaMax, float etMin, float drMatch, float l1drMatch, float dRRange, float thresholdFactor)
void beginRun(const edm::Run &run, const edm::EventSetup &c)
std::vector< reco::CaloMET > CaloMETCollection
collection of CaloMET objects
MonitorElement * ME_HLT_CUSTOM_BX
std::vector< std::vector< std::string > > triggerFilters_
MonitorElement * filters_
void fillOnOffMatch(FourVectorHLTOffline *fv)
std::vector< size_type > Keys
MonitorElement * getOffEtaVsOffPhiOnOffUMHisto()
MonitorElement * offEtavsoffPhiOff_
edm::Handle< reco::CaloJetCollection > fSelJetsHandle
float dr04EcalRecHitSumEtEB_
const std::string getLabel(void) const
float dr04HcalTowerSumEtEB_
MonitorElement * getOffEtOnOffHisto()
void setL1TriggerType(std::vector< int > trigType)
MonitorElement * offEtOff_
std::vector< Photon > PhotonCollection
collectin of Photon objects
MonitorElement * getOffEtL1OffHisto()
std::vector< std::pair< std::string, float > > fGroupTempCountPair
std::vector< std::pair< std::string, std::vector< std::string > > > fGroupNamePathsPair
void setRecoEle(edm::Handle< reco::GsfElectronCollection > offCollEle)
void fillL1Match(FourVectorHLTOffline *fv)
unsigned int nBinsOneOverEt_
void setL2MuFlag(bool flag)
MonitorElement * getNL1OnHisto()
virtual void setPath(FourVectorHLTOnline::PathInfoCollection::iterator v)=0
MonitorElement * l1DRL1On_
void beginLuminosityBlock(const edm::LuminosityBlock &lumiSeg, const edm::EventSetup &c)
std::string pathsSummaryHLTCorrelationsFolder_
MonitorElement * getOffEtOnOffUMHisto()
std::string pathsSummaryFilterCountsFolder_
MonitorElement * getOffDRL1OffHisto()
const std::string & getl1Path(void) const
MonitorElement * offEtL1OffUM_
std::string pathsIndividualHLTPathsPerLSFolder_
MonitorElement * getOffEtaVsOffPhiOnOffHisto()
void selectMet(const edm::Handle< reco::CaloMETCollection > &metHandle)
float dr04HcalTowerSumEtEC_
edm::InputTag recHitsEBTag_
std::string tauDscrmtrLabel1_
float getHltThreshold() const
MonitorElement * getOffEtaVsOffPhiL1OffHisto()
MonitorElement * ME_HLTAll_LS
std::vector< std::string > fGroupName
MonitorElement * getL1EtL1OnHisto()
void fillOnL1Match(const int l1Index, FourVectorHLTOnline *fv)
void countHLTGroupHitsEndLumiBlock(const int &lumi)
virtual void monitorL1(const int l1Index, FourVectorHLTOnline *fv)=0
std::string tauDscrmtrLabel3_
std::vector< std::pair< std::string, float > > fGroupL1TempCountPair
float getL1Threshold() const
edm::InputTag recHitsEETag_
reco::CaloJetCollection * fSelectedJets
void pushL1TriggerType(int trigType)
PathInfo(std::string denomPathName, std::string pathName, std::string l1pathName, int l1ModuleIndex, std::string filterName, std::string processName, size_t type, float ptmin, float ptmax, float hltThreshold, float l1Threshold)
MonitorElement * getOffEtOffHisto()
int getHltThresholdFromName(const std::string &pathname)
edm::Handle< trigger::TriggerEvent > fTriggerObj
void setReco(edm::Handle< T > offColl)
MonitorElement * scalersSelect
MonitorElement * getOnEtaVsOnPhiOnHisto()
void setTriggerType(std::vector< int > trigType)
MonitorElement * getNOnHisto()
float deltaPhiSuperClusterTrackAtVtxEB_
std::vector< MonitorElement * > v_ME_HLTAll_LS
void setFilterHistos(MonitorElement *const filters)
MonitorElement * offEtL1Off_
MonitorElement * getNOnOffUMHisto()
edm::Handle< reco::MuonCollection > offCollMu_
std::vector< CaloJet > CaloJetCollection
collection of CaloJet objects
void selectMuons(const edm::Handle< reco::MuonCollection > &muonHandle)
bool hasHLTPassed(const std::string &pathname, const edm::TriggerNames &triggerNames)
const std::string & getDenomPath(void) const
void setBJetsFlag(bool flag)