CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Public Attributes | Private Attributes
objMon< T > Class Template Reference

#include <FourVectorHLTriggerOffline.h>

Public Member Functions

void clearSets ()
 
void fillL1Match (FourVectorHLTriggerOffline *fv)
 
void fillL1MCMatch (FourVectorHLTriggerOffline *fv)
 
void fillL1OffMatch (FourVectorHLTriggerOffline *fv)
 
void fillMC ()
 
void fillOff ()
 
void fillOffMatch (FourVectorHLTriggerOffline *fv)
 
void fillOffMCMatch (FourVectorHLTriggerOffline *fv)
 
void fillOnL1Match (FourVectorHLTriggerOffline *fv, const trigger::Keys &l1k, const trigger::TriggerObjectCollection &toc)
 
void fillOnlineMatch (FourVectorHLTriggerOffline *fv, const trigger::Keys &l1k, const trigger::TriggerObjectCollection &toc)
 
void fillOnMCMatch (FourVectorHLTriggerOffline *fv)
 
void fillOnOffMatch (FourVectorHLTriggerOffline *fv)
 
bool hasBPartonInCone (reco::GenJetCollection::const_iterator gjet, float coneSize)
 
bool isL1TriggerType (int t)
 
bool isTriggerType (int t)
 
void monitorDenominator (FourVectorHLTriggerOffline::PathInfoCollection::iterator v, bool l1accept, const trigger::Vids &idtype, const trigger::Keys &l1k, const trigger::TriggerObjectCollection &toc)
 
void monitorL1 (const trigger::Vids &idtype, const trigger::Keys &l1k, const trigger::TriggerObjectCollection &toc)
 
void monitorOffline (FourVectorHLTriggerOffline *fv)
 
void monitorOnline (const trigger::Vids &idtype, const trigger::Keys &l1k, trigger::Keys::const_iterator ki, const trigger::TriggerObjectCollection &toc, unsigned int &NOn)
 
 objMon ()
 
void pushL1TriggerType (int trigType)
 
void pushTriggerType (int trigType)
 
void setBJetsFlag (bool flag)
 
void setGenJets (bool flag, edm::Handle< reco::GenJetCollection > genJets)
 
void setL1TriggerType (const std::vector< int > &trigType)
 
void setLimits (float etaMax, float etMin, float drMatch)
 
void setMC (edm::Handle< reco::GenParticleCollection > genParticles, int pdgId, int status)
 
void setPath (FourVectorHLTriggerOffline::PathInfoCollection::iterator v)
 
void setReco (edm::Handle< T > offColl)
 
void setRecoB (edm::Handle< reco::JetTagCollection > offCollB)
 
void setTriggerType (const std::vector< int > &trigType)
 

Public Attributes

mmset L1MCDRMatchSet
 
mmset L1OffDRMatchSet
 
mmset OffMCDRMatchSet
 
mmset OnL1DRMatchSet
 
mmset OnMCDRMatchSet
 
mmset OnOffDRMatchSet
 

Private Attributes

bool BJetsFlag_
 
float DRMatch_
 
float EtaMax_
 
float EtMin_
 
edm::Handle
< reco::GenJetCollection
genJets_
 
bool GenJetsFlag_
 
edm::Handle
< reco::GenParticleCollection
genParticles_
 
std::vector< int > l1triggerType_
 
edm::Handle< ToffColl_
 
edm::Handle
< reco::JetTagCollection
offCollB_
 
int pdgId_
 
int pdgStatus_
 
std::vector< int > triggerType_
 
FourVectorHLTriggerOffline::PathInfoCollection::iterator v_
 

Detailed Description

template<class T>
class objMon< T >

Definition at line 643 of file FourVectorHLTriggerOffline.h.

Constructor & Destructor Documentation

template<class T >
objMon< T >::objMon ( )
inline

Member Function Documentation

template<class T >
void objMon< T >::clearSets ( void  )

Definition at line 1913 of file FourVectorHLTriggerOffline.h.

Referenced by FourVectorHLTriggerOffline::analyze().

1914 {
1915 
1916  L1OffDRMatchSet.clear();
1917  L1MCDRMatchSet.clear();
1918  OnOffDRMatchSet.clear();
1919  OnMCDRMatchSet.clear();
1920  OnL1DRMatchSet.clear();
1921  OffMCDRMatchSet.clear();
1922 
1923 }
template<class T >
void objMon< T >::fillL1Match ( FourVectorHLTriggerOffline fv)
inline

Definition at line 675 of file FourVectorHLTriggerOffline.h.

References objMon< T >::fillL1MCMatch(), and objMon< T >::fillL1OffMatch().

676  {
677  fillL1OffMatch(fv);
678  fillL1MCMatch(fv);
679  }
void fillL1OffMatch(FourVectorHLTriggerOffline *fv)
void fillL1MCMatch(FourVectorHLTriggerOffline *fv)
template<class T >
void objMon< T >::fillL1MCMatch ( FourVectorHLTriggerOffline fv)

Definition at line 1585 of file FourVectorHLTriggerOffline.h.

References FourVectorHLTriggerOffline::cleanDRMatchSet(), prof2calltree::count, PFRecoTauDiscriminationAgainstElectronDeadECAL_cfi::dR, reco::LeafCandidate::eta(), i, AlCaHLTBitMon_ParallelJobs::p, reco::LeafCandidate::phi(), and reco::LeafCandidate::pt().

Referenced by objMon< T >::fillL1Match().

1586 {
1587 
1588  unsigned int NL1Mc=0;
1589 
1590  if(GenJetsFlag_)
1591  {
1592 
1593  if (! genJets_.isValid()) return;
1594 
1595  // clean the set L1-MC
1596  if(L1MCDRMatchSet.size() > 1) fv->cleanDRMatchSet(L1MCDRMatchSet);
1597 
1598  float NL1Mc=0;
1599 
1600  // now fill histos
1601  for ( mmset::iterator setIter = L1MCDRMatchSet.begin( ); setIter != L1MCDRMatchSet.end( ); setIter++ )
1602  {
1603 
1604  fimmap tempMap = *setIter;
1605 
1606  fimmap::iterator it = tempMap.begin();
1607  int i = (*it).second ;
1608  float dR = (*it).first;
1609 
1610  v_->getMcDRL1McHisto()->Fill(dR);
1611 
1612  if (dR > DRMatch_) continue;
1613 
1614  reco::GenJetCollection::const_iterator gjet=genJets_->begin();
1615  for (int count = 0; count < i; count++) gjet++;
1616 
1617  NL1Mc++;
1618  v_->getMcEtL1McHisto()->Fill(gjet->pt());
1619  v_->getMcEtaVsMcPhiL1McHisto()->Fill(gjet->eta(),gjet->phi());
1620 
1621 
1622  } // end for set
1623 
1624  } // end if GenJetsFlag_
1625  else if( genParticles_.isValid()) {
1626 
1627  // clean the set L1-MC
1628  if(L1MCDRMatchSet.size() > 1) fv->cleanDRMatchSet(L1MCDRMatchSet);
1629 
1630  // now fill histos
1631  for ( mmset::iterator setIter = L1MCDRMatchSet.begin( ); setIter != L1MCDRMatchSet.end( ); setIter++ )
1632  {
1633 
1634  fimmap tempMap = *setIter;
1635 
1636  fimmap::iterator it = tempMap.begin();
1637  int i = (*it).second ;
1638  float dR = (*it).first;
1639 
1640  v_->getMcDRL1McHisto()->Fill(dR);
1641 
1642  if (dR > DRMatch_) continue;
1643 
1644  const reco::GenParticle & p = (*genParticles_)[i];
1645 
1646  NL1Mc++;
1647  v_->getMcEtL1McHisto()->Fill(p.pt());
1648  v_->getMcEtaVsMcPhiL1McHisto()->Fill(p.eta(),p.phi());
1649 
1650  } // end for
1651 
1652  } // end else if
1653 
1654  v_->getNL1McHisto()->Fill(NL1Mc);
1655 
1656 }
edm::Handle< reco::GenJetCollection > genJets_
int i
Definition: DBlmapReader.cc:9
FourVectorHLTriggerOffline::PathInfoCollection::iterator v_
std::multimap< float, int > fimmap
virtual float phi() const GCC11_FINAL
momentum azimuthal angle
void cleanDRMatchSet(mmset &tempSet)
Clean DR Match Set.
edm::Handle< reco::GenParticleCollection > genParticles_
bool isValid() const
Definition: HandleBase.h:76
virtual float eta() const GCC11_FINAL
momentum pseudorapidity
virtual float pt() const GCC11_FINAL
transverse momentum
template<class T >
void objMon< T >::fillL1OffMatch ( FourVectorHLTriggerOffline fv)

Definition at line 1532 of file FourVectorHLTriggerOffline.h.

References FourVectorHLTriggerOffline::cleanDRMatchSet(), prof2calltree::count, PFRecoTauDiscriminationAgainstElectronDeadECAL_cfi::dR, and i.

Referenced by objMon< T >::fillL1Match().

1533 {
1534 
1535  float NL1Off=0;
1536 
1537  if(L1OffDRMatchSet.size() > 1) fv->cleanDRMatchSet(L1OffDRMatchSet);
1538 
1539  // clean the set L1-Off
1540  // now fill histos
1541  for ( mmset::iterator setIter = L1OffDRMatchSet.begin( ); setIter != L1OffDRMatchSet.end( ); setIter++ )
1542  {
1543 
1544  fimmap tempMap = *setIter;
1545 
1546  fimmap::iterator it = tempMap.begin();
1547  int i = (*it).second ;
1548  float dR = (*it).first;
1549  v_->getOffDRL1OffHisto()->Fill(dR);
1550 
1551  if (dR > DRMatch_) continue;
1552  if( offCollB_.isValid()) {
1553 
1554  typedef typename reco::JetTagCollection::const_iterator const_iterator;
1555  const_iterator iter = offCollB_->begin();
1556  for (int count = 0; count < i; count++) iter++;
1557 
1558 
1559  NL1Off++;
1560  v_->getOffEtL1OffHisto()->Fill((*iter).first->pt());
1561  v_->getOffEtaVsOffPhiL1OffHisto()->Fill((*iter).first->eta(),(*iter).first->phi());
1562 
1563 
1564  }
1565  else if( offColl_.isValid()) {
1566 
1567  typedef typename T::const_iterator const_iterator;
1568  const_iterator iter = offColl_->begin();
1569  for (int count = 0; count < i; count++) iter++;
1570 
1571 
1572  NL1Off++;
1573  v_->getOffEtL1OffHisto()->Fill(iter->pt());
1574  v_->getOffEtaVsOffPhiL1OffHisto()->Fill(iter->eta(),iter->phi());
1575 
1576  }
1577 
1578  }
1579 
1580  v_->getNL1OffHisto()->Fill(NL1Off);
1581 
1582 }
int i
Definition: DBlmapReader.cc:9
FourVectorHLTriggerOffline::PathInfoCollection::iterator v_
transient_vector_type::const_iterator const_iterator
edm::Handle< T > offColl_
std::multimap< float, int > fimmap
void cleanDRMatchSet(mmset &tempSet)
Clean DR Match Set.
bool isValid() const
Definition: HandleBase.h:76
edm::Handle< reco::JetTagCollection > offCollB_
template<class T >
void objMon< T >::fillMC ( )

Definition at line 855 of file FourVectorHLTriggerOffline.h.

References abs, reco::LeafCandidate::eta(), i, AlCaHLTBitMon_ParallelJobs::p, reco::LeafCandidate::pdgId(), reco::LeafCandidate::phi(), reco::LeafCandidate::pt(), and reco::LeafCandidate::status().

856 {
857 
858  float NMc=0;
859 
860  if(GenJetsFlag_)
861  {
862 
863  if (! genJets_.isValid()) return;
864 
865  for(reco::GenJetCollection::const_iterator gjet=genJets_->begin(); gjet!=genJets_->end(); gjet++) {
866 
867  if (fabs(gjet->eta()) <= EtaMax_ && gjet->pt() >= EtMin_ ){
868 
869  if(BJetsFlag_)
870  {
871  // this jet must have b in the cone
872  if(! hasBPartonInCone(gjet,0.7)) continue;
873 
874 
875  }
876 
877  NMc++;
878  v_->getMcEtMcHisto()->Fill(gjet->pt());
879  v_->getMcEtaVsMcPhiMcHisto()->Fill(gjet->eta(),gjet->phi());
880 
881 
882  } // end if Eta , Et
883 
884  } // end for
885 
886 
887  } // end if GenJetsFlag_
888  else if( genParticles_.isValid()) {
889 
890  for(size_t i = 0; i < genParticles_->size(); ++ i) {
891 
892  const reco::GenParticle & p = (*genParticles_)[i];
893  if (abs(p.pdgId()) == pdgId_ && p.status() == pdgStatus_ && fabs(p.eta()) <= EtaMax_ && p.pt() >= EtMin_ ){
894 
895  NMc++;
896  v_->getMcEtMcHisto()->Fill(p.pt());
897  v_->getMcEtaVsMcPhiMcHisto()->Fill(p.eta(),p.phi());
898 
899  }
900 
901  } // end for
902 
903  } // end if
904 
905  v_->getNMcHisto()->Fill(NMc);
906 
907 }
edm::Handle< reco::GenJetCollection > genJets_
int i
Definition: DBlmapReader.cc:9
FourVectorHLTriggerOffline::PathInfoCollection::iterator v_
virtual int pdgId() const GCC11_FINAL
PDG identifier.
bool hasBPartonInCone(reco::GenJetCollection::const_iterator gjet, float coneSize)
#define abs(x)
Definition: mlp_lapack.h:159
virtual float phi() const GCC11_FINAL
momentum azimuthal angle
virtual int status() const GCC11_FINAL
status word
edm::Handle< reco::GenParticleCollection > genParticles_
bool isValid() const
Definition: HandleBase.h:76
virtual float eta() const GCC11_FINAL
momentum pseudorapidity
virtual float pt() const GCC11_FINAL
transverse momentum
template<class T >
void objMon< T >::fillOff ( )

Definition at line 803 of file FourVectorHLTriggerOffline.h.

804 {
805 
806  unsigned int NOff = 0;
807 
808  if( offCollB_.isValid()) {
809  typedef typename reco::JetTagCollection::const_iterator const_iterator;
810  for( const_iterator iter = offCollB_->begin(), iend = offCollB_->end(); iter != iend; ++iter )
811  {
812 
813  float recoEta = (*iter).first->eta();
814  float recoPhi = (*iter).first->phi();
815  float recoPt = (*iter).first->pt();
816 
817 
818  if (fabs(recoEta) <= EtaMax_ && recoPt >= EtMin_ )
819  {
820 
821  NOff++;
822  v_->getOffEtOffHisto()->Fill(recoPt);
823  v_->getOffEtaVsOffPhiOffHisto()->Fill(recoEta, recoPhi);
824 
825  }
826 
827  }
828 
829  }
830  else if(offColl_.isValid()) {
831 
832  typedef typename T::const_iterator const_iterator;
833  for( const_iterator iter = offColl_->begin(), iend = offColl_->end(); iter != iend; ++iter )
834  {
835 
836 
837  if (fabs(iter->eta()) <= EtaMax_ && iter->pt() >= EtMin_ )
838  {
839 
840  NOff++;
841  v_->getOffEtOffHisto()->Fill(iter->pt());
842  v_->getOffEtaVsOffPhiOffHisto()->Fill(iter->eta(), iter->phi());
843 
844  }
845 
846  }
847 
848  } // end else if
849 
850  v_->getNOffHisto()->Fill(NOff);
851 
852 }
FourVectorHLTriggerOffline::PathInfoCollection::iterator v_
transient_vector_type::const_iterator const_iterator
edm::Handle< T > offColl_
bool isValid() const
Definition: HandleBase.h:76
edm::Handle< reco::JetTagCollection > offCollB_
template<class T >
void objMon< T >::fillOffMatch ( FourVectorHLTriggerOffline fv)
inline

Definition at line 697 of file FourVectorHLTriggerOffline.h.

References objMon< T >::fillOffMCMatch(), objMon< T >::isTriggerType(), and objMon< T >::v_.

698  {
699  if(! isTriggerType(v_->getObjectType()) ) return;
700  fillOffMCMatch(fv);
701  }
bool isTriggerType(int t)
FourVectorHLTriggerOffline::PathInfoCollection::iterator v_
void fillOffMCMatch(FourVectorHLTriggerOffline *fv)
template<class T >
void objMon< T >::fillOffMCMatch ( FourVectorHLTriggerOffline fv)

Definition at line 1783 of file FourVectorHLTriggerOffline.h.

References FourVectorHLTriggerOffline::cleanDRMatchSet(), prof2calltree::count, PFRecoTauDiscriminationAgainstElectronDeadECAL_cfi::dR, reco::LeafCandidate::eta(), i, AlCaHLTBitMon_ParallelJobs::p, reco::LeafCandidate::phi(), and reco::LeafCandidate::pt().

Referenced by objMon< T >::fillOffMatch().

1784 {
1785 
1786  unsigned int NOffMc=0;
1787 
1788  if(GenJetsFlag_)
1789  {
1790 
1791  if (! genJets_.isValid()) return;
1792 
1793  // clean the set L1-MC
1794  if(OffMCDRMatchSet.size() > 1) fv->cleanDRMatchSet(OffMCDRMatchSet);
1795 
1796  // now fill histos
1797  for ( mmset::iterator setIter = OffMCDRMatchSet.begin( ); setIter != OffMCDRMatchSet.end( ); setIter++ )
1798  {
1799 
1800  fimmap tempMap = *setIter;
1801 
1802  fimmap::iterator it = tempMap.begin();
1803  int i = (*it).second ;
1804  float dR = (*it).first;
1805  v_->getMcDROffMcHisto()->Fill(dR);
1806 
1807  if (dR > DRMatch_) continue;
1808 
1809  reco::GenJetCollection::const_iterator gjet=genJets_->begin();
1810  for (int count = 0; count < i; count++) gjet++;
1811 
1812  NOffMc++;
1813  v_->getMcEtOffMcHisto()->Fill(gjet->pt());
1814  v_->getMcEtaVsMcPhiOffMcHisto()->Fill(gjet->eta(),gjet->phi());
1815 
1816  } // end for set
1817 
1818  } // end if GenJetsFlag_
1819  else if( genParticles_.isValid() && offColl_.isValid()) {
1820 
1821  // clean the set L1-MC
1822  if(OffMCDRMatchSet.size() > 1) fv->cleanDRMatchSet(OffMCDRMatchSet);
1823 
1824  // now fill histos
1825  for ( mmset::iterator setIter = OffMCDRMatchSet.begin( ); setIter != OffMCDRMatchSet.end( ); setIter++ )
1826  {
1827 
1828  fimmap tempMap = *setIter;
1829 
1830  fimmap::iterator it = tempMap.begin();
1831  int i = (*it).second ;
1832  float dR = (*it).first;
1833  v_->getMcDROffMcHisto()->Fill(dR);
1834 
1835  if (dR > DRMatch_) continue;
1836 
1837  const reco::GenParticle & p = (*genParticles_)[i];
1838 
1839  NOffMc++;
1840  v_->getMcEtOffMcHisto()->Fill(p.pt());
1841  v_->getMcEtaVsMcPhiOffMcHisto()->Fill(p.eta(),p.phi());
1842 
1843  }
1844 
1845  }
1846 
1847  v_->getNOffMcHisto()->Fill(NOffMc);
1848 
1849 }
edm::Handle< reco::GenJetCollection > genJets_
int i
Definition: DBlmapReader.cc:9
FourVectorHLTriggerOffline::PathInfoCollection::iterator v_
edm::Handle< T > offColl_
std::multimap< float, int > fimmap
virtual float phi() const GCC11_FINAL
momentum azimuthal angle
void cleanDRMatchSet(mmset &tempSet)
Clean DR Match Set.
edm::Handle< reco::GenParticleCollection > genParticles_
bool isValid() const
Definition: HandleBase.h:76
virtual float eta() const GCC11_FINAL
momentum pseudorapidity
virtual float pt() const GCC11_FINAL
transverse momentum
template<class T >
void objMon< T >::fillOnL1Match ( FourVectorHLTriggerOffline fv,
const trigger::Keys l1k,
const trigger::TriggerObjectCollection toc 
)

Definition at line 1852 of file FourVectorHLTriggerOffline.h.

References FourVectorHLTriggerOffline::cleanDRMatchSet(), prof2calltree::count, PFRecoTauDiscriminationAgainstElectronDeadECAL_cfi::dR, eta(), i, and phi.

Referenced by objMon< T >::fillOnlineMatch().

1853 {
1854 
1855  unsigned int NOnL1=0;
1856 
1857  // clean the set On-L1
1858  if(OnL1DRMatchSet.size() > 1) fv->cleanDRMatchSet(OnL1DRMatchSet);
1859  // now fill histos
1860  for ( mmset::iterator setIter = OnL1DRMatchSet.begin( ); setIter != OnL1DRMatchSet.end( ); setIter++ )
1861  {
1862 
1863  fimmap tempMap = *setIter;
1864 
1865  fimmap::iterator it = tempMap.begin();
1866  int i = (*it).second ;
1867  float dR = (*it).first;
1868  v_->getL1DROnL1Histo()->Fill(dR);
1869 
1870  if (dR > DRMatch_) continue;
1871 
1872  trigger::Keys::const_iterator l1ki = l1k.begin();
1873  for (int count = 0; count < i; count++) l1ki++;
1874 
1875  NOnL1++;
1876  v_->getL1EtL1OnHisto()->Fill(toc[*l1ki].pt());
1877  v_->getL1EtaVsL1PhiL1OnHisto()->Fill(toc[*l1ki].eta(),toc[*l1ki].phi());
1878 
1879  }
1880 
1881  v_->getNL1OnHisto()->Fill(NOnL1);
1882 
1883 }
int i
Definition: DBlmapReader.cc:9
FourVectorHLTriggerOffline::PathInfoCollection::iterator v_
std::multimap< float, int > fimmap
T eta() const
void cleanDRMatchSet(mmset &tempSet)
Clean DR Match Set.
Definition: DDAxes.h:10
template<class T >
void objMon< T >::fillOnlineMatch ( FourVectorHLTriggerOffline fv,
const trigger::Keys l1k,
const trigger::TriggerObjectCollection toc 
)
inline

Definition at line 686 of file FourVectorHLTriggerOffline.h.

References objMon< T >::fillOnL1Match(), objMon< T >::fillOnMCMatch(), objMon< T >::fillOnOffMatch(), objMon< T >::isTriggerType(), and objMon< T >::v_.

687  {
688 
689  if(! isTriggerType(v_->getObjectType()) ) return;
690  fillOnOffMatch(fv);
691  fillOnMCMatch(fv);
692  fillOnL1Match(fv, l1k, toc);
693 
694  }
bool isTriggerType(int t)
FourVectorHLTriggerOffline::PathInfoCollection::iterator v_
void fillOnOffMatch(FourVectorHLTriggerOffline *fv)
void fillOnMCMatch(FourVectorHLTriggerOffline *fv)
void fillOnL1Match(FourVectorHLTriggerOffline *fv, const trigger::Keys &l1k, const trigger::TriggerObjectCollection &toc)
template<class T >
void objMon< T >::fillOnMCMatch ( FourVectorHLTriggerOffline fv)

Definition at line 1713 of file FourVectorHLTriggerOffline.h.

References FourVectorHLTriggerOffline::cleanDRMatchSet(), prof2calltree::count, PFRecoTauDiscriminationAgainstElectronDeadECAL_cfi::dR, reco::LeafCandidate::eta(), i, AlCaHLTBitMon_ParallelJobs::p, reco::LeafCandidate::phi(), and reco::LeafCandidate::pt().

Referenced by objMon< T >::fillOnlineMatch().

1714 {
1715 
1716  unsigned int NOnMc=0;
1717 
1718  if(GenJetsFlag_)
1719  {
1720 
1721  if (! genJets_.isValid()) return;
1722 
1723  // clean the set L1-MC
1724  if(OnMCDRMatchSet.size() > 1) fv->cleanDRMatchSet(OnMCDRMatchSet);
1725 
1726  // now fill histos
1727  for ( mmset::iterator setIter = OnMCDRMatchSet.begin( ); setIter != OnMCDRMatchSet.end( ); setIter++ )
1728  {
1729 
1730  fimmap tempMap = *setIter;
1731 
1732  fimmap::iterator it = tempMap.begin();
1733  int i = (*it).second ;
1734  float dR = (*it).first;
1735  v_->getMcDROnMcHisto()->Fill(dR);
1736 
1737  if (dR > DRMatch_) continue;
1738 
1739  reco::GenJetCollection::const_iterator gjet=genJets_->begin();
1740  for (int count = 0; count < i; count++) gjet++;
1741 
1742 
1743  NOnMc++;
1744  v_->getMcEtOnMcHisto()->Fill(gjet->pt());
1745  v_->getMcEtaVsMcPhiOnMcHisto()->Fill(gjet->eta(),gjet->phi());
1746 
1747  } // end for set
1748 
1749  } // end if GenJetsFlag_
1750  else if( genParticles_.isValid()) {
1751 
1752  // clean the set L1-MC
1753  if(OnMCDRMatchSet.size() > 1) fv->cleanDRMatchSet(OnMCDRMatchSet);
1754 
1755  // now fill histos
1756  for ( mmset::iterator setIter = OnMCDRMatchSet.begin( ); setIter != OnMCDRMatchSet.end( ); setIter++ )
1757  {
1758 
1759  fimmap tempMap = *setIter;
1760 
1761  fimmap::iterator it = tempMap.begin();
1762  int i = (*it).second ;
1763  float dR = (*it).first;
1764  v_->getMcDROnMcHisto()->Fill(dR);
1765 
1766  if (dR > DRMatch_) continue;
1767 
1768  const reco::GenParticle & p = (*genParticles_)[i];
1769 
1770  NOnMc++;
1771  v_->getMcEtOnMcHisto()->Fill(p.pt());
1772  v_->getMcEtaVsMcPhiOnMcHisto()->Fill(p.eta(),p.phi());
1773 
1774  }
1775 
1776  }
1777 
1778  v_->getNOnMcHisto()->Fill(NOnMc);
1779 
1780 }
edm::Handle< reco::GenJetCollection > genJets_
int i
Definition: DBlmapReader.cc:9
FourVectorHLTriggerOffline::PathInfoCollection::iterator v_
std::multimap< float, int > fimmap
virtual float phi() const GCC11_FINAL
momentum azimuthal angle
void cleanDRMatchSet(mmset &tempSet)
Clean DR Match Set.
edm::Handle< reco::GenParticleCollection > genParticles_
bool isValid() const
Definition: HandleBase.h:76
virtual float eta() const GCC11_FINAL
momentum pseudorapidity
virtual float pt() const GCC11_FINAL
transverse momentum
template<class T >
void objMon< T >::fillOnOffMatch ( FourVectorHLTriggerOffline fv)

Definition at line 1659 of file FourVectorHLTriggerOffline.h.

References FourVectorHLTriggerOffline::cleanDRMatchSet(), prof2calltree::count, PFRecoTauDiscriminationAgainstElectronDeadECAL_cfi::dR, and i.

Referenced by objMon< T >::fillOnlineMatch().

1660 {
1661 
1662  unsigned int NOnOff=0;
1663 
1664  // clean the set L1-Off
1665  if(OnOffDRMatchSet.size() > 1) fv->cleanDRMatchSet(OnOffDRMatchSet);
1666  // now fill histos
1667  for ( mmset::iterator setIter = OnOffDRMatchSet.begin( ); setIter != OnOffDRMatchSet.end( ); setIter++ )
1668  {
1669 
1670 
1671  fimmap tempMap = *setIter;
1672 
1673  fimmap::iterator it = tempMap.begin();
1674  int i = (*it).second ;
1675  float dR = (*it).first;
1676  v_->getOffDROnOffHisto()->Fill(dR);
1677 
1678 
1679  if (dR > DRMatch_) continue;
1680 
1681  if( offCollB_.isValid()) {
1682 
1683 
1684  typedef typename reco::JetTagCollection::const_iterator const_iterator;
1685  const_iterator iter = offCollB_->begin();
1686  for (int count = 0; count < i; count++) iter++;
1687 
1688 
1689  NOnOff++;
1690  v_->getOffEtOnOffHisto()->Fill((*iter).first->pt());
1691  v_->getOffEtaVsOffPhiOnOffHisto()->Fill((*iter).first->eta(),(*iter).first->phi());
1692 
1693  }
1694  else if( offColl_.isValid()) {
1695 
1696  typedef typename T::const_iterator const_iterator;
1697  const_iterator iter = offColl_->begin();
1698  for (int count = 0; count < i; count++) iter++;
1699 
1700  NOnOff++;
1701  v_->getOffEtOnOffHisto()->Fill(iter->pt());
1702  v_->getOffEtaVsOffPhiOnOffHisto()->Fill(iter->eta(),iter->phi());
1703 
1704  }
1705 
1706  }
1707 
1708  v_->getNOnOffHisto()->Fill(NOnOff);
1709 
1710 }
int i
Definition: DBlmapReader.cc:9
FourVectorHLTriggerOffline::PathInfoCollection::iterator v_
transient_vector_type::const_iterator const_iterator
edm::Handle< T > offColl_
std::multimap< float, int > fimmap
void cleanDRMatchSet(mmset &tempSet)
Clean DR Match Set.
bool isValid() const
Definition: HandleBase.h:76
edm::Handle< reco::JetTagCollection > offCollB_
template<class T >
bool objMon< T >::hasBPartonInCone ( reco::GenJetCollection::const_iterator  gjet,
float  coneSize 
)

Definition at line 1886 of file FourVectorHLTriggerOffline.h.

References abs, reco::deltaR(), reco::LeafCandidate::eta(), i, AlCaHLTBitMon_ParallelJobs::p, reco::LeafCandidate::pdgId(), and reco::LeafCandidate::phi().

1887 {
1888 
1889  bool rc = false;
1890  if (! genParticles_.isValid()) return rc;
1891 
1892  for(size_t i = 0; i < genParticles_->size(); ++ i) {
1893 
1894  const reco::GenParticle & p = (*genParticles_)[i];
1895  if (abs(p.pdgId()) == 5){
1896 
1897  if (reco::deltaR(p.eta(),p.phi(),gjet->eta(),gjet->phi()) < coneSize){
1898 
1899  rc = true;
1900 
1901  }
1902 
1903  }
1904 
1905  }
1906 
1907 
1908  return rc;
1909 
1910 }
int i
Definition: DBlmapReader.cc:9
virtual int pdgId() const GCC11_FINAL
PDG identifier.
#define abs(x)
Definition: mlp_lapack.h:159
virtual float phi() const GCC11_FINAL
momentum azimuthal angle
edm::Handle< reco::GenParticleCollection > genParticles_
auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
Definition: deltaR.h:30
bool isValid() const
Definition: HandleBase.h:76
virtual float eta() const GCC11_FINAL
momentum pseudorapidity
template<class T >
bool objMon< T >::isL1TriggerType ( int  t)

Definition at line 770 of file FourVectorHLTriggerOffline.h.

771 {
772  bool rc = false;
773 
774  for(std::vector<int>::const_iterator it = l1triggerType_.begin(); it != l1triggerType_.end(); ++it)
775  {
776 
777  if(t == *it) { rc = true; break; }
778 
779  } // end for
780 
781  return rc;
782 
783 }
std::vector< int > l1triggerType_
template<class T >
bool objMon< T >::isTriggerType ( int  t)

Definition at line 753 of file FourVectorHLTriggerOffline.h.

Referenced by objMon< T >::fillOffMatch(), and objMon< T >::fillOnlineMatch().

754 {
755  bool rc = false;
756 
757  for(std::vector<int>::const_iterator it = triggerType_.begin(); it != triggerType_.end(); ++it)
758  {
759 
760  if(t == *it) { rc = true; break; }
761 
762  } // end for
763 
764  return rc;
765 
766 }
std::vector< int > triggerType_
template<class T >
void objMon< T >::monitorDenominator ( FourVectorHLTriggerOffline::PathInfoCollection::iterator  v,
bool  l1accept,
const trigger::Vids idtype,
const trigger::Keys l1k,
const trigger::TriggerObjectCollection toc 
)

Definition at line 786 of file FourVectorHLTriggerOffline.h.

References fireworks::setPath().

787 {
788 
789  setPath(v);
790 
791  if(! isTriggerType(v_->getObjectType()) ) return;
792 
793  fillMC();
794 
795  fillOff();
796 
797  if (l1accept) monitorL1(idtype, l1k, toc);
798 
799 
800 }
bool isTriggerType(int t)
FourVectorHLTriggerOffline::PathInfoCollection::iterator v_
void monitorL1(const trigger::Vids &idtype, const trigger::Keys &l1k, const trigger::TriggerObjectCollection &toc)
void setPath(FourVectorHLTriggerOffline::PathInfoCollection::iterator v)
template<class T >
void objMon< T >::monitorL1 ( const trigger::Vids idtype,
const trigger::Keys l1k,
const trigger::TriggerObjectCollection toc 
)

Definition at line 910 of file FourVectorHLTriggerOffline.h.

References abs, reco::deltaR(), PFRecoTauDiscriminationAgainstElectronDeadECAL_cfi::dR, trigger::TriggerObject::eta(), reco::LeafCandidate::eta(), i, j, AlCaHLTBitMon_ParallelJobs::p, reco::LeafCandidate::pdgId(), trigger::TriggerObject::phi(), reco::LeafCandidate::phi(), trigger::TriggerObject::pt(), reco::LeafCandidate::pt(), and reco::LeafCandidate::status().

911 {
912 
913  unsigned int NL1=0;
914  unsigned int NL1McUM=0;
915  unsigned int NL1OffUM=0;
916 
917  trigger::Vids::const_iterator idtypeiter = idtype.begin();
918  for (trigger::Keys::const_iterator l1ki = l1k.begin(); l1ki !=l1k.end(); ++l1ki ) {
919 
920  trigger::TriggerObject l1FV = toc[*l1ki];
921  if(isL1TriggerType(*idtypeiter))
922  {
923 
924  NL1++;
925 
926 
927  if (fabs(l1FV.eta()) <= EtaMax_ && l1FV.pt() >= EtMin_)
928  {
929 
930  v_->getL1EtL1Histo()->Fill(l1FV.pt());
931  v_->getL1EtaVsL1PhiL1Histo()->Fill(l1FV.eta(), l1FV.phi());
932 
933  }
934 
935  fimmap L1OffDRMatchMap;
936 
937  if (offCollB_.isValid()) {
938 
939  int j=0;
940  typedef typename reco::JetTagCollection::const_iterator const_iterator;
941  for( const_iterator iter = offCollB_->begin(), iend = offCollB_->end(); iter != iend; ++iter )
942  {
943 
944  float recoEta = (*iter).first->eta();
945  float recoPhi = (*iter).first->phi();
946  float recoPt = (*iter).first->pt();
947 
948  if (fabs(recoEta) <= EtaMax_ && recoPt >= EtMin_ )
949  {
950 
951  // fill UM histos (no matching required)
952  if(NL1 == 1) {
953 
954  NL1OffUM++;
955  v_->getOffEtL1OffUMHisto()->Fill(recoPt);
956  v_->getOffEtaVsOffPhiL1OffUMHisto()->Fill(recoEta,recoPhi);
957 
958  }
959 
960  // make maps of matched objects
961  float dR = reco::deltaR(recoEta,recoPhi,l1FV.eta(),l1FV.phi());
962  if ( dR < 1.0)
963  {
964 
965  L1OffDRMatchMap.insert(std::pair<float,int>(dR,j));
966 
967  }
968 
969  }
970 
971  j++;
972 
973  }
974 
975  }
976  else if (offColl_.isValid()) {
977 
978  int j=0;
979  typedef typename T::const_iterator const_iterator;
980  for( const_iterator iter = offColl_->begin(), iend = offColl_->end(); iter != iend; ++iter )
981  {
982 
983  if (fabs(iter->eta()) <= EtaMax_ && iter->pt() >= EtMin_ )
984  {
985 
986  // fill UM histos (no matching required)
987  if(NL1 == 1) {
988 
989  NL1OffUM++;
990  v_->getOffEtL1OffUMHisto()->Fill(iter->pt());
991  v_->getOffEtaVsOffPhiL1OffUMHisto()->Fill(iter->eta(),iter->phi());
992 
993  }
994 
995  // make maps of matched objects
996  float dR = reco::deltaR(iter->eta(),iter->phi(),l1FV.eta(),l1FV.phi());
997  if ( dR < 1.0)
998  {
999 
1000  L1OffDRMatchMap.insert(std::pair<float,int>(dR,j));
1001 
1002  }
1003 
1004  }
1005 
1006  j++;
1007 
1008  }
1009 
1010  }
1011  if(! L1OffDRMatchMap.empty()) L1OffDRMatchSet.insert(L1OffDRMatchMap);
1012 
1013  // fillL1MCUM
1015 
1016  if (GenJetsFlag_ && genJets_.isValid())
1017  {
1018 
1019  fimmap L1MCDRMatchMap;
1020  int j=0;
1021 
1022  for(reco::GenJetCollection::const_iterator gjet=genJets_->begin(); gjet!=genJets_->end(); gjet++) {
1023 
1024  if (fabs(gjet->eta()) <= EtaMax_ && gjet->pt() >= EtMin_ ){
1025 
1026  if (BJetsFlag_) {
1027 
1028  // this jet must have b in the cone
1029  if(! hasBPartonInCone(gjet,0.7)) {
1030 
1031  j++;
1032  continue;
1033 
1034  }
1035 
1036  }
1037 
1038  // fill UM histos (no matching required)
1039  if(NL1 == 1) {
1040 
1041  NL1McUM++;
1042  v_->getMcEtL1McUMHisto()->Fill(gjet->pt());
1043  v_->getMcEtaVsMcPhiL1McUMHisto()->Fill(gjet->eta(),gjet->phi());
1044 
1045  }
1046 
1047  // make maps of matched objects
1048  float dR = reco::deltaR(gjet->eta(),gjet->phi(),l1FV.eta(),l1FV.phi());
1049  if ( dR < 1.0)
1050  {
1051 
1052  L1MCDRMatchMap.insert(std::pair<float,int>(dR,j));
1053 
1054  }
1055 
1056 
1057  } // end if eta, Et
1058 
1059  j++;
1060 
1061  } // end for genJets
1062 
1063  if(! L1MCDRMatchMap.empty()) {
1064  L1MCDRMatchSet.insert(L1MCDRMatchMap);
1065  }
1066 
1067  } // end if genJets
1068  else if ( ! GenJetsFlag_ && genParticles_.isValid())
1069  {
1070 
1071  fimmap L1MCDRMatchMap;
1072  for(size_t i = 0; i < genParticles_->size(); ++ i)
1073  {
1074 
1075  const reco::GenParticle & p = (*genParticles_)[i];
1076  if (abs(p.pdgId()) == pdgId_ && p.status() == pdgStatus_ && fabs(p.eta()) <= EtaMax_ && p.pt() >= EtMin_)
1077  {
1078 
1079  // fill UM histos (no matching required)
1080  if(NL1 == 1) {
1081 
1082  NL1McUM++;
1083  v_->getMcEtL1McUMHisto()->Fill(p.pt());
1084  v_->getMcEtaVsMcPhiL1McUMHisto()->Fill(p.eta(),p.phi());
1085 
1086  }
1087 
1088  // make maps of matched objects
1089  float dR = reco::deltaR(p.eta(),p.phi(),l1FV.eta(),l1FV.phi());
1090  if ( dR < 1.0)
1091  {
1092 
1093  L1MCDRMatchMap.insert(std::pair<float,int>(dR,i));
1094 
1095  }
1096 
1097  } // end if pdg, status, eta, pt
1098  } // end for
1099 
1100  if(! L1MCDRMatchMap.empty()) {
1101  L1MCDRMatchSet.insert(L1MCDRMatchMap);
1102  }
1103 
1104  } // end if genParticle_
1105 
1106  } // end if isL1TriggerType
1107  ++idtypeiter;
1108 
1109  } // end for l1ki
1110 
1111  v_->getNL1Histo()->Fill(NL1);
1112  v_->getNL1OffUMHisto()->Fill(NL1OffUM);
1113  v_->getNL1McUMHisto()->Fill(NL1McUM);
1114 
1115 }
edm::Handle< reco::GenJetCollection > genJets_
int i
Definition: DBlmapReader.cc:9
FourVectorHLTriggerOffline::PathInfoCollection::iterator v_
transient_vector_type::const_iterator const_iterator
float phi() const
Definition: TriggerObject.h:60
edm::Handle< T > offColl_
virtual int pdgId() const GCC11_FINAL
PDG identifier.
bool hasBPartonInCone(reco::GenJetCollection::const_iterator gjet, float coneSize)
std::multimap< float, int > fimmap
#define abs(x)
Definition: mlp_lapack.h:159
float eta() const
Definition: TriggerObject.h:59
Single trigger physics object (e.g., an isolated muon)
Definition: TriggerObject.h:24
virtual float phi() const GCC11_FINAL
momentum azimuthal angle
virtual int status() const GCC11_FINAL
status word
edm::Handle< reco::GenParticleCollection > genParticles_
int j
Definition: DBlmapReader.cc:9
auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
Definition: deltaR.h:30
bool isValid() const
Definition: HandleBase.h:76
virtual float eta() const GCC11_FINAL
momentum pseudorapidity
edm::Handle< reco::JetTagCollection > offCollB_
virtual float pt() const GCC11_FINAL
transverse momentum
bool isL1TriggerType(int t)
template<class T >
void objMon< T >::monitorOffline ( FourVectorHLTriggerOffline fv)

Definition at line 1364 of file FourVectorHLTriggerOffline.h.

References abs, reco::deltaR(), PFRecoTauDiscriminationAgainstElectronDeadECAL_cfi::dR, reco::LeafCandidate::eta(), i, j, AlCaHLTBitMon_ParallelJobs::p, reco::LeafCandidate::pdgId(), reco::LeafCandidate::phi(), reco::LeafCandidate::pt(), and reco::LeafCandidate::status().

1365 {
1366 
1367  unsigned int NOff=0;
1368  unsigned int NOffMcUM=0;
1369 
1370  if(! isTriggerType(v_->getObjectType()) ) return;
1371 
1372 
1373  if(offCollB_.isValid()) {
1374 
1375  typedef typename reco::JetTagCollection::const_iterator const_iterator;
1376  for( const_iterator iter = offCollB_->begin(), iend = offCollB_->end(); iter != iend; ++iter )
1377  {
1378 
1379  NOff++;
1380 
1381  if (GenJetsFlag_ && genJets_.isValid())
1382  {
1383 
1384  fimmap OffMCDRMatchMap;
1385  int j=0;
1386 
1387  for(reco::GenJetCollection::const_iterator gjet=genJets_->begin(); gjet!=genJets_->end(); gjet++) {
1388 
1389 
1390  if (fabs(gjet->eta()) <= EtaMax_ && gjet->pt() >= EtMin_ ){
1391 
1392  if (BJetsFlag_ && hasBPartonInCone(gjet,0.7)) {
1393 
1394 
1395  // fill UM histos (no matching required)
1396  if(NOff == 1) {
1397 
1398  NOffMcUM++;
1399  v_->getMcEtOffMcUMHisto()->Fill(gjet->pt());
1400  v_->getMcEtaVsMcPhiOffMcUMHisto()->Fill(gjet->eta(),gjet->phi());
1401 
1402  }
1403 
1404  // make maps of matched objects
1405  float dR = reco::deltaR(gjet->eta(),gjet->phi(),(*iter).first->eta(),(*iter).first->phi());
1406  if ( dR < 1.0)
1407  {
1408 
1409  OffMCDRMatchMap.insert(std::pair<float,int>(dR,j));
1410 
1411  }
1412 
1413  } // end if BJetsFlag_ and hasBParton
1414 
1415  } // end if eta, Et
1416 
1417  j++;
1418 
1419  } // end for genJets
1420 
1421  if(! OffMCDRMatchMap.empty()) OffMCDRMatchSet.insert(OffMCDRMatchMap);
1422 
1423  } // end if genJets
1424 
1425  } // end for offline objects
1426 
1427  } // end if
1428  else if(offColl_.isValid()) {
1429 
1430  typedef typename T::const_iterator const_iterator;
1431  for( const_iterator iter = offColl_->begin(), iend = offColl_->end(); iter != iend; ++iter )
1432  {
1433 
1434  NOff++;
1435 
1436  if (GenJetsFlag_ && genJets_.isValid())
1437  {
1438 
1439  fimmap OffMCDRMatchMap;
1440  int j=0;
1441 
1442  for(reco::GenJetCollection::const_iterator gjet=genJets_->begin(); gjet!=genJets_->end(); gjet++) {
1443 
1444  if (fabs(gjet->eta()) <= EtaMax_ && gjet->pt() >= EtMin_ ){
1445 
1446  if (BJetsFlag_) {
1447 
1448  // this jet must have b in the cone
1449  if(! hasBPartonInCone(gjet,0.7)) {
1450 
1451  j++;
1452  continue;
1453 
1454  }
1455 
1456  }
1457 
1458  // fill UM histos (no matching required)
1459  if(NOff == 1) {
1460 
1461  NOffMcUM++;
1462  v_->getMcEtOffMcUMHisto()->Fill(gjet->pt());
1463  v_->getMcEtaVsMcPhiOffMcUMHisto()->Fill(gjet->eta(),gjet->phi());
1464 
1465  }
1466 
1467  // make maps of matched objects
1468  float dR = reco::deltaR(gjet->eta(),gjet->phi(),iter->eta(),iter->phi());
1469  if ( dR < 1.0)
1470  {
1471 
1472  OffMCDRMatchMap.insert(std::pair<float,int>(dR,j));
1473 
1474  }
1475 
1476  } // end if eta, Et
1477 
1478  j++;
1479 
1480  } // end for genJets
1481 
1482  if(! OffMCDRMatchMap.empty()) OffMCDRMatchSet.insert(OffMCDRMatchMap);
1483 
1484  } // end if genJets
1485 
1486  else if (!GenJetsFlag_ && genParticles_.isValid())
1487  {
1488 
1489  fimmap OffMCDRMatchMap;
1490  for(size_t i = 0; i < genParticles_->size(); ++ i)
1491  {
1492 
1493  const reco::GenParticle & p = (*genParticles_)[i];
1494  if (abs(p.pdgId()) == pdgId_ && p.status() == pdgStatus_ && fabs(p.eta()) <= EtaMax_ && p.pt() >= EtMin_)
1495  {
1496 
1497  // fill UM histos (no matching required)
1498  if(NOff == 1) {
1499 
1500  NOffMcUM++;
1501  v_->getMcEtOffMcUMHisto()->Fill(p.pt());
1502  v_->getMcEtaVsMcPhiOffMcUMHisto()->Fill(p.eta(),p.phi());
1503 
1504  }
1505 
1506  // make maps of matched objects
1507  float dR = reco::deltaR(p.eta(),p.phi(),iter->eta(),iter->phi());
1508  if ( dR < 1.0)
1509  {
1510 
1511  OffMCDRMatchMap.insert(std::pair<float,int>(dR,i));
1512 
1513  }
1514 
1515  } // end if pdg, status, eta, pt
1516  } // end for
1517 
1518  if(! OffMCDRMatchMap.empty()) OffMCDRMatchSet.insert(OffMCDRMatchMap);
1519 
1520  } // end if genParticle_
1521 
1522  } // end for offline objects
1523 
1524  } // end else if
1525 
1526  v_->getNOffHisto()->Fill(NOff);
1527  v_->getNOffMcUMHisto()->Fill(NOffMcUM);
1528 
1529 }
edm::Handle< reco::GenJetCollection > genJets_
bool isTriggerType(int t)
int i
Definition: DBlmapReader.cc:9
FourVectorHLTriggerOffline::PathInfoCollection::iterator v_
transient_vector_type::const_iterator const_iterator
edm::Handle< T > offColl_
virtual int pdgId() const GCC11_FINAL
PDG identifier.
bool hasBPartonInCone(reco::GenJetCollection::const_iterator gjet, float coneSize)
std::multimap< float, int > fimmap
#define abs(x)
Definition: mlp_lapack.h:159
virtual float phi() const GCC11_FINAL
momentum azimuthal angle
virtual int status() const GCC11_FINAL
status word
edm::Handle< reco::GenParticleCollection > genParticles_
int j
Definition: DBlmapReader.cc:9
auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
Definition: deltaR.h:30
bool isValid() const
Definition: HandleBase.h:76
virtual float eta() const GCC11_FINAL
momentum pseudorapidity
edm::Handle< reco::JetTagCollection > offCollB_
virtual float pt() const GCC11_FINAL
transverse momentum
template<class T >
void objMon< T >::monitorOnline ( const trigger::Vids idtype,
const trigger::Keys l1k,
trigger::Keys::const_iterator  ki,
const trigger::TriggerObjectCollection toc,
unsigned int &  NOn 
)

Definition at line 1118 of file FourVectorHLTriggerOffline.h.

References abs, reco::deltaR(), PFRecoTauDiscriminationAgainstElectronDeadECAL_cfi::dR, trigger::TriggerObject::eta(), reco::LeafCandidate::eta(), i, j, AlCaHLTBitMon_ParallelJobs::p, reco::LeafCandidate::pdgId(), trigger::TriggerObject::phi(), reco::LeafCandidate::phi(), trigger::TriggerObject::pt(), reco::LeafCandidate::pt(), and reco::LeafCandidate::status().

1119 {
1120 
1121 
1122  unsigned int NOnOffUM=0;
1123  unsigned int NOnMcUM=0;
1124  unsigned int NOnL1UM=0;
1125 
1126  if(! isTriggerType(v_->getObjectType()) ) return;
1127 
1128  trigger::TriggerObject onlineFV = toc[*ki];
1129 
1130  NOn++;
1131 
1132  if (fabs(onlineFV.eta()) <= EtaMax_ && onlineFV.pt() >= EtMin_)
1133  {
1134 
1135  v_->getOnEtOnHisto()->Fill(onlineFV.pt());
1136  v_->getOnEtaVsOnPhiOnHisto()->Fill(onlineFV.eta(), onlineFV.phi());
1137 
1138  }
1139 
1140 
1141  fimmap OnOffDRMatchMap;
1142 
1143  if (offCollB_.isValid()) {
1144 
1145  int j=0;
1146  typedef typename reco::JetTagCollection::const_iterator const_iterator;
1147  for( const_iterator iter = offCollB_->begin(), iend = offCollB_->end(); iter != iend; ++iter )
1148  {
1149 
1150  float recoEta = (*iter).first->eta();
1151  float recoPhi = (*iter).first->phi();
1152  float recoPt = (*iter).first->pt();
1153 
1154  if (fabs(recoEta) <= EtaMax_ && recoPt >= EtMin_ )
1155  {
1156 
1157  // fill UM histos (no matching required)
1158  if(NOn == 1) {
1159 
1160  NOnOffUM++;
1161  v_->getOffEtOnOffUMHisto()->Fill(recoPt);
1162  v_->getOffEtaVsOffPhiOnOffUMHisto()->Fill(recoEta,recoPhi);
1163 
1164  }
1165 
1166  // make maps of matched objects
1167  float dR = reco::deltaR(recoEta,recoPhi,onlineFV.eta(),onlineFV.phi());
1168  if ( dR < 1.0)
1169  {
1170 
1171  OnOffDRMatchMap.insert(std::pair<float,int>(dR,j));
1172 
1173  }
1174 
1175  }
1176 
1177  j++;
1178 
1179  }
1180 
1181  }
1182  else if (offColl_.isValid()) {
1183 
1184  int j=0;
1185 
1186  typedef typename T::const_iterator const_iterator;
1187  for( const_iterator iter = offColl_->begin(), iend = offColl_->end(); iter != iend; ++iter )
1188  {
1189 
1190  if (fabs(iter->eta()) <= EtaMax_ && iter->pt() >= EtMin_ )
1191  {
1192 
1193  // fill UM histos (no matching required)
1194  if(NOn == 1) {
1195 
1196  NOnOffUM++;
1197  v_->getOffEtOnOffUMHisto()->Fill(iter->pt());
1198  v_->getOffEtaVsOffPhiOnOffUMHisto()->Fill(iter->eta(),iter->phi());
1199 
1200  }
1201 
1202  // make maps of matched objects
1203  float dR = reco::deltaR(iter->eta(),iter->phi(),onlineFV.eta(),onlineFV.phi());
1204  if ( dR < 1.0)
1205  {
1206 
1207  OnOffDRMatchMap.insert(std::pair<float,int>(dR,j));
1208 
1209  }
1210 
1211  }
1212 
1213  j++;
1214 
1215 
1216  }
1217 
1218  }
1219 
1220  if(! OnOffDRMatchMap.empty()) OnOffDRMatchSet.insert(OnOffDRMatchMap);
1221 
1222 
1223 
1224  fimmap OnL1DRMatchMap;
1225  int j=0;
1226  trigger::Vids::const_iterator idtypeiter = idtype.begin();
1227  for (trigger::Keys::const_iterator l1ki = l1k.begin(); l1ki !=l1k.end(); ++l1ki )
1228  {
1229 
1230 
1231 
1232  if(isL1TriggerType(*idtypeiter))
1233  {
1234 
1235  trigger::TriggerObject l1FV = toc[*l1ki];
1236 
1237  if ( fabs(l1FV.eta()) <= EtaMax_ && l1FV.pt() >= EtMin_ )
1238  {
1239 
1240  // fill UM histos (no matching required)
1241  if(NOn == 1) {
1242 
1243  NOnL1UM++;
1244  v_->getL1EtL1OnUMHisto()->Fill(l1FV.pt());
1245  v_->getL1EtaVsL1PhiL1OnUMHisto()->Fill(l1FV.eta(),l1FV.phi());
1246 
1247  }
1248 
1249 
1250  float dR = reco::deltaR(l1FV.eta(),l1FV.phi(),onlineFV.eta(),onlineFV.phi());
1251 
1252  if ( dR < 1.0)
1253  {
1254 
1255  OnL1DRMatchMap.insert(std::pair<float,int>(dR,j));
1256 
1257  }
1258 
1259  } // end if l1FV eta, pt
1260 
1261  } // end if isL1TriggerType
1262 
1263  ++idtypeiter;
1264  j++;
1265 
1266  } // end for
1267 
1268  if(! OnL1DRMatchMap.empty()) OnL1DRMatchSet.insert(OnL1DRMatchMap);
1269 
1270  // fillOnMCUM
1272 
1273  if (GenJetsFlag_ && genJets_.isValid())
1274  {
1275 
1276  fimmap OnMCDRMatchMap;
1277  int j=0;
1278 
1279  for(reco::GenJetCollection::const_iterator gjet=genJets_->begin(); gjet!=genJets_->end(); gjet++) {
1280 
1281  if (fabs(gjet->eta()) <= EtaMax_ && gjet->pt() >= EtMin_ ){
1282 
1283  if (BJetsFlag_) {
1284 
1285  // this jet must have b in the cone
1286  if(! hasBPartonInCone(gjet,0.7)) {
1287 
1288  j++;
1289  continue;
1290 
1291  }
1292 
1293  }
1294  // fill UM histos (no matching required)
1295  if(NOn == 1) {
1296 
1297  NOnMcUM++;
1298  v_->getMcEtOnMcUMHisto()->Fill(gjet->pt());
1299  v_->getMcEtaVsMcPhiOnMcUMHisto()->Fill(gjet->eta(),gjet->phi());
1300 
1301  }
1302 
1303  // make maps of matched objects
1304  float dR = reco::deltaR(gjet->eta(),gjet->phi(),onlineFV.eta(),onlineFV.phi());
1305  if ( dR < 1.0)
1306  {
1307 
1308  OnMCDRMatchMap.insert(std::pair<float,int>(dR,j));
1309 
1310  }
1311 
1312  } // end if eta, Et
1313 
1314  j++;
1315 
1316  } // end for genJets
1317 
1318  if(! OnMCDRMatchMap.empty()) OnMCDRMatchSet.insert(OnMCDRMatchMap);
1319 
1320  } // end if genJets
1321  else if (!GenJetsFlag_ && genParticles_.isValid())
1322  {
1323 
1324  fimmap OnMCDRMatchMap;
1325  for(size_t i = 0; i < genParticles_->size(); ++ i)
1326  {
1327 
1328  const reco::GenParticle & p = (*genParticles_)[i];
1329  if (abs(p.pdgId()) == pdgId_ && p.status() == pdgStatus_ && fabs(p.eta()) <= EtaMax_ && p.pt() >= EtMin_)
1330  {
1331 
1332  // fill UM histos (no matching required)
1333  if(NOn == 1) {
1334 
1335  NOnMcUM++;
1336  v_->getMcEtOnMcUMHisto()->Fill(p.pt());
1337  v_->getMcEtaVsMcPhiOnMcUMHisto()->Fill(p.eta(),p.phi());
1338 
1339  }
1340 
1341  // make maps of matched objects
1342  float dR = reco::deltaR(p.eta(),p.phi(),onlineFV.eta(),onlineFV.phi());
1343  if ( dR < 1.0)
1344  {
1345 
1346  OnMCDRMatchMap.insert(std::pair<float,int>(dR,i));
1347 
1348  }
1349  } // end if
1350  } // end for
1351 
1352  if(! OnMCDRMatchMap.empty()) OnMCDRMatchSet.insert(OnMCDRMatchMap);
1353 
1354  }
1355 
1356  v_->getNOnHisto()->Fill(NOn);
1357  v_->getNOnOffUMHisto()->Fill(NOnOffUM);
1358  v_->getNL1OnUMHisto()->Fill(NOnL1UM);
1359  v_->getNOnMcUMHisto()->Fill(NOnMcUM);
1360 
1361 }
edm::Handle< reco::GenJetCollection > genJets_
bool isTriggerType(int t)
int i
Definition: DBlmapReader.cc:9
FourVectorHLTriggerOffline::PathInfoCollection::iterator v_
transient_vector_type::const_iterator const_iterator
float phi() const
Definition: TriggerObject.h:60
edm::Handle< T > offColl_
virtual int pdgId() const GCC11_FINAL
PDG identifier.
bool hasBPartonInCone(reco::GenJetCollection::const_iterator gjet, float coneSize)
std::multimap< float, int > fimmap
#define abs(x)
Definition: mlp_lapack.h:159
float eta() const
Definition: TriggerObject.h:59
Single trigger physics object (e.g., an isolated muon)
Definition: TriggerObject.h:24
virtual float phi() const GCC11_FINAL
momentum azimuthal angle
virtual int status() const GCC11_FINAL
status word
edm::Handle< reco::GenParticleCollection > genParticles_
int j
Definition: DBlmapReader.cc:9
auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
Definition: deltaR.h:30
bool isValid() const
Definition: HandleBase.h:76
virtual float eta() const GCC11_FINAL
momentum pseudorapidity
edm::Handle< reco::JetTagCollection > offCollB_
virtual float pt() const GCC11_FINAL
transverse momentum
bool isL1TriggerType(int t)
template<class T >
void objMon< T >::pushL1TriggerType ( int  trigType)
inline

Definition at line 655 of file FourVectorHLTriggerOffline.h.

References objMon< T >::l1triggerType_.

655 { l1triggerType_.push_back(trigType); }
std::vector< int > l1triggerType_
template<class T >
void objMon< T >::pushTriggerType ( int  trigType)
inline

Definition at line 653 of file FourVectorHLTriggerOffline.h.

References objMon< T >::triggerType_.

653 { triggerType_.push_back(trigType); }
std::vector< int > triggerType_
template<class T >
void objMon< T >::setBJetsFlag ( bool  flag)
inline

Definition at line 721 of file FourVectorHLTriggerOffline.h.

References objMon< T >::BJetsFlag_.

722  {
723  BJetsFlag_ = flag;
724  }
long int flag
Definition: mlp_lapack.h:47
template<class T >
void objMon< T >::setGenJets ( bool  flag,
edm::Handle< reco::GenJetCollection genJets 
)
inline

Definition at line 716 of file FourVectorHLTriggerOffline.h.

References objMon< T >::genJets_, and objMon< T >::GenJetsFlag_.

717  {
718  GenJetsFlag_ = flag;
719  genJets_ = genJets;
720  }
edm::Handle< reco::GenJetCollection > genJets_
long int flag
Definition: mlp_lapack.h:47
template<class T >
void objMon< T >::setL1TriggerType ( const std::vector< int > &  trigType)
inline

Definition at line 654 of file FourVectorHLTriggerOffline.h.

References objMon< T >::l1triggerType_.

654 { l1triggerType_ = trigType; }
std::vector< int > l1triggerType_
template<class T >
void objMon< T >::setLimits ( float  etaMax,
float  etMin,
float  drMatch 
)
inline

Definition at line 646 of file FourVectorHLTriggerOffline.h.

References objMon< T >::DRMatch_, jptDQMConfig_cff::etaMax, objMon< T >::EtaMax_, reco::tau::qcuts::etMin(), and objMon< T >::EtMin_.

647  {
648  EtaMax_= etaMax;
649  EtMin_= etMin;
650  DRMatch_= drMatch;
651  }
bool etMin(const PFCandidate &cand, double cut)
template<class T >
void objMon< T >::setMC ( edm::Handle< reco::GenParticleCollection genParticles,
int  pdgId,
int  status 
)
inline
template<class T >
void objMon< T >::setPath ( FourVectorHLTriggerOffline::PathInfoCollection::iterator  v)
inline

Definition at line 656 of file FourVectorHLTriggerOffline.h.

References findQualityFiles::v, and objMon< T >::v_.

656 { v_ = v; }
FourVectorHLTriggerOffline::PathInfoCollection::iterator v_
template<class T >
void objMon< T >::setReco ( edm::Handle< T offColl)
inline

Definition at line 657 of file FourVectorHLTriggerOffline.h.

References objMon< T >::offColl_.

Referenced by FourVectorHLTriggerOffline::analyze().

657 { offColl_ = offColl; }
edm::Handle< T > offColl_
template<class T >
void objMon< T >::setRecoB ( edm::Handle< reco::JetTagCollection offCollB)
inline

Definition at line 658 of file FourVectorHLTriggerOffline.h.

References objMon< T >::offCollB_.

Referenced by FourVectorHLTriggerOffline::analyze().

658 { offCollB_ = offCollB; }
edm::Handle< reco::JetTagCollection > offCollB_
template<class T >
void objMon< T >::setTriggerType ( const std::vector< int > &  trigType)
inline

Definition at line 652 of file FourVectorHLTriggerOffline.h.

References objMon< T >::triggerType_.

652 { triggerType_ = trigType; }
std::vector< int > triggerType_

Member Data Documentation

template<class T >
bool objMon< T >::BJetsFlag_
private

Definition at line 738 of file FourVectorHLTriggerOffline.h.

Referenced by objMon< T >::objMon(), and objMon< T >::setBJetsFlag().

template<class T >
float objMon< T >::DRMatch_
private

Definition at line 735 of file FourVectorHLTriggerOffline.h.

Referenced by objMon< T >::setLimits().

template<class T >
float objMon< T >::EtaMax_
private

Definition at line 732 of file FourVectorHLTriggerOffline.h.

Referenced by objMon< T >::objMon(), and objMon< T >::setLimits().

template<class T >
float objMon< T >::EtMin_
private

Definition at line 733 of file FourVectorHLTriggerOffline.h.

Referenced by objMon< T >::objMon(), and objMon< T >::setLimits().

template<class T >
edm::Handle<reco::GenJetCollection> objMon< T >::genJets_
private

Definition at line 747 of file FourVectorHLTriggerOffline.h.

Referenced by objMon< T >::setGenJets().

template<class T >
bool objMon< T >::GenJetsFlag_
private

Definition at line 737 of file FourVectorHLTriggerOffline.h.

Referenced by objMon< T >::objMon(), and objMon< T >::setGenJets().

template<class T >
edm::Handle<reco::GenParticleCollection> objMon< T >::genParticles_
private

Definition at line 746 of file FourVectorHLTriggerOffline.h.

Referenced by objMon< T >::setMC().

template<class T >
mmset objMon< T >::L1MCDRMatchSet

Definition at line 709 of file FourVectorHLTriggerOffline.h.

template<class T >
mmset objMon< T >::L1OffDRMatchSet

Definition at line 708 of file FourVectorHLTriggerOffline.h.

template<class T >
std::vector<int> objMon< T >::l1triggerType_
private
template<class T >
edm::Handle<T> objMon< T >::offColl_
private

Definition at line 743 of file FourVectorHLTriggerOffline.h.

Referenced by objMon< T >::setReco().

template<class T >
edm::Handle<reco::JetTagCollection> objMon< T >::offCollB_
private

Definition at line 744 of file FourVectorHLTriggerOffline.h.

Referenced by objMon< T >::setRecoB().

template<class T >
mmset objMon< T >::OffMCDRMatchSet

Definition at line 713 of file FourVectorHLTriggerOffline.h.

template<class T >
mmset objMon< T >::OnL1DRMatchSet

Definition at line 712 of file FourVectorHLTriggerOffline.h.

template<class T >
mmset objMon< T >::OnMCDRMatchSet

Definition at line 711 of file FourVectorHLTriggerOffline.h.

template<class T >
mmset objMon< T >::OnOffDRMatchSet

Definition at line 710 of file FourVectorHLTriggerOffline.h.

template<class T >
int objMon< T >::pdgId_
private

Definition at line 729 of file FourVectorHLTriggerOffline.h.

Referenced by objMon< T >::setMC().

template<class T >
int objMon< T >::pdgStatus_
private

Definition at line 730 of file FourVectorHLTriggerOffline.h.

Referenced by objMon< T >::setMC().

template<class T >
std::vector<int> objMon< T >::triggerType_
private
template<class T >
FourVectorHLTriggerOffline::PathInfoCollection::iterator objMon< T >::v_
private