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
objMonData< T > Class Template Reference

#include <FourVectorHLTOnline.h>

Inheritance diagram for objMonData< T >:
BaseMonitor BaseMonitor

Public Member Functions

void clearSets ()
 
void clearSets ()
 
void fillL1Match (FourVectorHLTOffline *fv)
 
void fillL1OffMatch (FourVectorHLTOffline *fv)
 
void fillOnL1Match (const int l1Index, FourVectorHLTOnline *fv)
 
void fillOnL1Match (const int l1Index, FourVectorHLTOffline *fv)
 
void fillOnlineMatch (const int l1Index, FourVectorHLTOnline *fv)
 
void fillOnlineMatch (const int l1Index, FourVectorHLTOffline *fv)
 
void fillOnOffMatch (FourVectorHLTOffline *fv)
 
bool isL1TriggerType (int t)
 
bool isL1TriggerType (int t)
 
bool isTriggerType (int t)
 
bool isTriggerType (int t)
 
void matchL1Offline (const trigger::TriggerObject &l1FV, FourVectorHLTOffline *fv, const int &NL1, unsigned int &NL1OffUM)
 
void matchOnlineL1 (const trigger::TriggerObject &onlineFV, const int &l1Index, FourVectorHLTOnline *fv, const int &NOn)
 
void matchOnlineL1 (const trigger::TriggerObject &onlineFV, const int &l1Index, FourVectorHLTOffline *fv, const int &NOn)
 
void matchOnlineOffline (const trigger::TriggerObject &onlineFV, FourVectorHLTOffline *fv, const int &NOn)
 
void monitorL1 (const int l1Index, FourVectorHLTOnline *fv)
 
void monitorL1 (const int l1Index, FourVectorHLTOffline *fv)
 
void monitorOffline ()
 
void monitorOnline (const int hltIndex, const int l1Index, FourVectorHLTOnline *fv)
 
void monitorOnline (const int hltIndex, const int l1Index, FourVectorHLTOffline *fv)
 
 objMonData ()
 
 objMonData ()
 
void pushL1TriggerType (int trigType)
 
void pushL1TriggerType (int trigType)
 
void pushTriggerType (int trigType)
 
void pushTriggerType (int trigType)
 
void setBJetsFlag (bool flag)
 
void setBJetsFlag (bool flag)
 
void setL1TriggerType (const std::vector< int > &trigType)
 
void setL1TriggerType (const std::vector< int > &trigType)
 
void setL2MuFlag (bool flag)
 
void setLimits (float etaMax, float etMin, float drMatch)
 
void setLimits (float etaMax, float etMin, float drMatch, float l1drMatch, float dRRange, float thresholdFactor)
 
void setPath (FourVectorHLTOnline::PathInfoCollection::iterator v)
 
void setPath (FourVectorHLTOffline::PathInfoCollection::iterator v)
 
void setReco (edm::Handle< T > offColl)
 
void setReco (edm::Handle< T > offColl)
 
void setRecoB (edm::Handle< reco::JetTagCollection > offCollB)
 
void setRecoEle (edm::Handle< reco::GsfElectronCollection > offCollEle)
 
void setRecoMu (edm::Handle< reco::MuonCollection > offCollMu)
 
void setTriggerType (const std::vector< int > &trigType)
 
void setTriggerType (const std::vector< int > &trigType)
 
- Public Member Functions inherited from BaseMonitor
virtual ~BaseMonitor ()
 
virtual ~BaseMonitor ()
 

Public Attributes

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

Private Attributes

bool BJetsFlag_
 
float DRMatch_
 
float DRRange_
 
float EtaMax_
 
float EtMin_
 
bool fL2MuFlag
 
bool GenJetsFlag_
 
float L1DRMatch_
 
std::vector< int > l1triggerType_
 
edm::Handle< ToffColl_
 
edm::Handle
< reco::JetTagCollection
offCollB_
 
edm::Handle
< reco::GsfElectronCollection
offCollEle_
 
edm::Handle< reco::MuonCollectionoffCollMu_
 
int pdgId_
 
int pdgStatus_
 
float thresholdFactor_
 
std::vector< int > triggerType_
 
FourVectorHLTOnline::PathInfoCollection::iterator v_
 
FourVectorHLTOffline::PathInfoCollection::iterator v_
 

Detailed Description

template<class T>
class objMonData< T >

Definition at line 604 of file FourVectorHLTOnline.h.

Constructor & Destructor Documentation

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

Member Function Documentation

template<class T >
void objMonData< T >::clearSets ( void  )
virtual

Implements BaseMonitor.

Definition at line 915 of file FourVectorHLTOnline.h.

916 {
917 
918  L1OffDRMatchSet.clear();
919  L1MCDRMatchSet.clear();
920  OnOffDRMatchSet.clear();
921  OnMCDRMatchSet.clear();
922  OnL1DRMatchSet.clear();
923  OffMCDRMatchSet.clear();
924 
925 }
template<class T >
void objMonData< T >::clearSets ( )
virtual

Implements BaseMonitor.

template<class T >
void objMonData< T >::fillL1Match ( FourVectorHLTOffline fv)
virtual

Implements BaseMonitor.

Definition at line 1699 of file FourVectorHLTOffline.h.

1700 {
1701 
1702  fillL1OffMatch(fv);
1703 
1704 }
void fillL1OffMatch(FourVectorHLTOffline *fv)
template<class T >
void objMonData< T >::fillL1OffMatch ( FourVectorHLTOffline fv)

Definition at line 1472 of file FourVectorHLTOffline.h.

References FourVectorHLTOffline::cleanDRMatchSet(), prof2calltree::count, PFRecoTauDiscriminationAgainstElectronDeadECAL_cfi::dR, i, getDQMSummary::iter, LogDebug, and funct::sin().

1473 {
1474 
1475  float NL1Off=0;
1476 
1477  if(L1OffDRMatchSet.size() > 1) {
1478 
1479  LogDebug("FourVectorHLTOffline") << " Cleaning L1Off mmset" << std::endl;
1481 
1482  }
1483  // clean the set L1-Off
1484  // now fill histos
1485  for ( mmset::iterator setIter = L1OffDRMatchSet.begin( ); setIter != L1OffDRMatchSet.end( ); setIter++ )
1486  {
1487 
1488  fimmap tempMap = *setIter;
1489 
1490  fimmap::iterator it = tempMap.begin();
1491  int i = (*it).second ;
1492  float dR = (*it).first;
1493  v_->getOffDRL1OffHisto()->Fill(dR);
1494 
1495  if (dR > L1DRMatch_) continue;
1496  if( offCollB_.isValid()) {
1497 
1498  typedef typename reco::JetTagCollection::const_iterator const_iterator;
1499  const_iterator iter = offCollB_->begin();
1500  for (int count = 0; count < i; count++) iter++;
1501 
1502 
1503  NL1Off++;
1504  v_->getOffEtL1OffHisto()->Fill((*iter).first->pt());
1505  if((*iter).first->pt() >= thresholdFactor_*v_->getHltThreshold())
1506  v_->getOffEtaVsOffPhiL1OffHisto()->Fill((*iter).first->eta(),(*iter).first->phi());
1507 
1508 
1509  }
1510  else if( offCollMu_.isValid()) {
1511 
1512  typedef typename reco::MuonCollection::const_iterator const_iterator;
1513  const_iterator iter = offCollMu_->begin();
1514  for (int count = 0; count < i; count++) iter++;
1515 
1516 
1517  NL1Off++;
1518  v_->getOffEtL1OffHisto()->Fill(iter->pt());
1519  if(iter->pt() >= thresholdFactor_*v_->getHltThreshold())
1520  v_->getOffEtaVsOffPhiL1OffHisto()->Fill(iter->outerTrack()->innerPosition().eta(),iter->outerTrack()->innerPosition().phi());
1521 
1522  }
1523  else if( offCollEle_.isValid()) {
1524 
1525  typedef typename reco::GsfElectronCollection::const_iterator const_iterator;
1526  const_iterator iter = offCollEle_->begin();
1527  for (int count = 0; count < i; count++) iter++;
1528 
1529 
1530  NL1Off++;
1531  v_->getOffEtL1OffHisto()->Fill(iter->superCluster()->energy()*sin(iter->superCluster()->position().Theta()));
1532  if(iter->pt() >= thresholdFactor_*v_->getHltThreshold())
1533  v_->getOffEtaVsOffPhiL1OffHisto()->Fill(iter->eta(),iter->phi());
1534 
1535  }
1536  else if( offColl_.isValid()) {
1537 
1538  typedef typename T::const_iterator const_iterator;
1539  const_iterator iter = offColl_->begin();
1540  for (int count = 0; count < i; count++) iter++;
1541 
1542 
1543  NL1Off++;
1544  v_->getOffEtL1OffHisto()->Fill(iter->pt());
1545  if(iter->pt() >= thresholdFactor_*v_->getHltThreshold())
1546  v_->getOffEtaVsOffPhiL1OffHisto()->Fill(iter->eta(),iter->phi());
1547 
1548  }
1549 
1550  }
1551 
1552  if(NL1Off > 0) v_->getNL1OffHisto()->Fill(NL1Off);
1553 
1554 }
#define LogDebug(id)
int i
Definition: DBlmapReader.cc:9
edm::Handle< T > offColl_
transient_vector_type::const_iterator const_iterator
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
void cleanDRMatchSet(mmset &tempSet)
Clean DR Match Set.
std::multimap< float, int > fimmap
edm::Handle< reco::GsfElectronCollection > offCollEle_
edm::Handle< reco::JetTagCollection > offCollB_
FourVectorHLTOnline::PathInfoCollection::iterator v_
bool isValid() const
Definition: HandleBase.h:76
edm::Handle< reco::MuonCollection > offCollMu_
template<class T >
void objMonData< T >::fillOnL1Match ( const int  l1Index,
FourVectorHLTOnline fv 
)

Definition at line 862 of file FourVectorHLTOnline.h.

References FourVectorHLTOnline::cleanDRMatchSet(), prof2calltree::count, PFRecoTauDiscriminationAgainstElectronDeadECAL_cfi::dR, eta(), FourVectorHLTOnline::fTriggerObj, i, LogDebug, phi, and RecoTauCleanerPlugins::pt.

863 {
864 
865  const trigger::TriggerObjectCollection & toc(fv->fTriggerObj->getObjects());
866  const trigger::Keys & l1k = fv->fTriggerObj->filterKeys(l1Index);
867 
868  unsigned int NOnL1=0;
869 
870  // clean the set On-L1
871  if(OnL1DRMatchSet.size() > 1) {
872 
873  LogDebug("FourVectorHLTOnline") << " Cleaning L1On mmset" << std::endl;
875 
876  }
877  // now fill histos
878  for ( mmset::iterator setIter = OnL1DRMatchSet.begin( ); setIter != OnL1DRMatchSet.end( ); setIter++ )
879  {
880 
881  fimmap tempMap = *setIter;
882 
883  fimmap::iterator it = tempMap.begin();
884  int i = (*it).second ;
885  float dR = (*it).first;
886  v_->getL1DROnL1Histo()->Fill(dR);
887 
888  if (dR > DRMatch_) continue;
889 
890  trigger::Keys::const_iterator l1ki = l1k.begin();
891  for (int count = 0; count < i; count++) l1ki++;
892 
893  NOnL1++;
894  v_->getL1EtL1OnHisto()->Fill(toc[*l1ki].pt());
895  v_->getL1EtaVsL1PhiL1OnHisto()->Fill(toc[*l1ki].eta(),toc[*l1ki].phi());
896 
897  }
898 
899  v_->getNL1OnHisto()->Fill(NOnL1);
900 
901 }
#define LogDebug(id)
edm::Handle< trigger::TriggerEvent > fTriggerObj
int i
Definition: DBlmapReader.cc:9
std::multimap< float, int > fimmap
T eta() const
void cleanDRMatchSet(mmset &tempSet)
Clean DR Match Set.
FourVectorHLTOnline::PathInfoCollection::iterator v_
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
Definition: TriggerObject.h:81
std::vector< size_type > Keys
Definition: DDAxes.h:10
template<class T >
void objMonData< T >::fillOnL1Match ( const int  l1Index,
FourVectorHLTOffline fv 
)

Definition at line 1645 of file FourVectorHLTOffline.h.

References FourVectorHLTOffline::cleanDRMatchSet(), prof2calltree::count, PFRecoTauDiscriminationAgainstElectronDeadECAL_cfi::dR, eta(), FourVectorHLTOffline::fTriggerObj, i, LogDebug, phi, and RecoTauCleanerPlugins::pt.

1646 {
1647 
1648  const trigger::TriggerObjectCollection & toc(fv->fTriggerObj->getObjects());
1649  const trigger::Keys & l1k = fv->fTriggerObj->filterKeys(l1Index);
1650 
1651  unsigned int NOnL1=0;
1652 
1653  // clean the set On-L1
1654  if(OnL1DRMatchSet.size() > 1) {
1655 
1656  LogDebug("FourVectorHLTOffline") << " Cleaning L1On mmset" << std::endl;
1658 
1659  }
1660  // now fill histos
1661  for ( mmset::iterator setIter = OnL1DRMatchSet.begin( ); setIter != OnL1DRMatchSet.end( ); setIter++ )
1662  {
1663 
1664  fimmap tempMap = *setIter;
1665 
1666  fimmap::iterator it = tempMap.begin();
1667  int i = (*it).second ;
1668  float dR = (*it).first;
1669  v_->getL1DROnL1Histo()->Fill(dR);
1670 
1671  if (dR > L1DRMatch_) continue;
1672 
1673  trigger::Keys::const_iterator l1ki = l1k.begin();
1674  for (int count = 0; count < i; count++) l1ki++;
1675 
1676  NOnL1++;
1677  v_->getL1EtL1OnHisto()->Fill(toc[*l1ki].pt());
1678  v_->getL1EtaVsL1PhiL1OnHisto()->Fill(toc[*l1ki].eta(),toc[*l1ki].phi());
1679 
1680  }
1681 
1682  v_->getNL1OnHisto()->Fill(NOnL1);
1683 
1684 }
#define LogDebug(id)
int i
Definition: DBlmapReader.cc:9
void cleanDRMatchSet(mmset &tempSet)
Clean DR Match Set.
std::multimap< float, int > fimmap
T eta() const
FourVectorHLTOnline::PathInfoCollection::iterator v_
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
Definition: TriggerObject.h:81
std::vector< size_type > Keys
edm::Handle< trigger::TriggerEvent > fTriggerObj
Definition: DDAxes.h:10
template<class T >
void objMonData< T >::fillOnlineMatch ( const int  l1Index,
FourVectorHLTOnline fv 
)
virtual

Implements BaseMonitor.

Definition at line 904 of file FourVectorHLTOnline.h.

References FourVectorHLTOnline::fTriggerObj.

905 {
906 
907 
908  if ( l1Index >= fv->fTriggerObj->sizeFilters() ) return;
909  fillOnL1Match(l1Index, fv);
910 
911 }
edm::Handle< trigger::TriggerEvent > fTriggerObj
void fillOnL1Match(const int l1Index, FourVectorHLTOnline *fv)
template<class T >
void objMonData< T >::fillOnlineMatch ( const int  l1Index,
FourVectorHLTOffline fv 
)
virtual

Implements BaseMonitor.

Definition at line 1687 of file FourVectorHLTOffline.h.

References FourVectorHLTOffline::fTriggerObj.

1688 {
1689 
1690  if(! isTriggerType(v_->getObjectType()) ) return;
1691  fillOnOffMatch(fv);
1692 
1693  if ( l1Index >= fv->fTriggerObj->sizeFilters() ) return;
1694  fillOnL1Match(l1Index, fv);
1695 
1696 }
bool isTriggerType(int t)
FourVectorHLTOnline::PathInfoCollection::iterator v_
void fillOnOffMatch(FourVectorHLTOffline *fv)
void fillOnL1Match(const int l1Index, FourVectorHLTOnline *fv)
edm::Handle< trigger::TriggerEvent > fTriggerObj
template<class T >
void objMonData< T >::fillOnOffMatch ( FourVectorHLTOffline fv)

Definition at line 1558 of file FourVectorHLTOffline.h.

References FourVectorHLTOffline::cleanDRMatchSet(), prof2calltree::count, PFRecoTauDiscriminationAgainstElectronDeadECAL_cfi::dR, i, getDQMSummary::iter, LogDebug, and funct::sin().

1559 {
1560 
1561  unsigned int NOnOff=0;
1562 
1563  // clean the set L1-Off
1564  if(OnOffDRMatchSet.size() > 1){
1565 
1566  LogDebug("FourVectorHLTOffline") << " Cleaning OnOff mmset" << std::endl;
1568 
1569  }
1570  // now fill histos
1571  for ( mmset::iterator setIter = OnOffDRMatchSet.begin( ); setIter != OnOffDRMatchSet.end( ); setIter++ )
1572  {
1573 
1574 
1575  fimmap tempMap = *setIter;
1576 
1577  fimmap::iterator it = tempMap.begin();
1578  int i = (*it).second ;
1579  float dR = (*it).first;
1580  v_->getOffDROnOffHisto()->Fill(dR);
1581 
1582 
1583  if (dR > DRMatch_) continue;
1584 
1585  if( offCollB_.isValid()) {
1586 
1587 
1588  typedef typename reco::JetTagCollection::const_iterator const_iterator;
1589  const_iterator iter = offCollB_->begin();
1590  for (int count = 0; count < i; count++) iter++;
1591 
1592 
1593  NOnOff++;
1594  v_->getOffEtOnOffHisto()->Fill((*iter).first->pt());
1595  if((*iter).first->pt() >= thresholdFactor_*v_->getHltThreshold())
1596  v_->getOffEtaVsOffPhiOnOffHisto()->Fill((*iter).first->eta(),(*iter).first->phi());
1597 
1598  }
1599  else if( offCollMu_.isValid() && fL2MuFlag) {
1600 
1601  typedef typename reco::MuonCollection::const_iterator const_iterator;
1602  const_iterator iter = offCollMu_->begin();
1603  for (int count = 0; count < i; count++) iter++;
1604 
1605 
1606  NOnOff++;
1607  v_->getOffEtOnOffHisto()->Fill(iter->pt());
1608  if(iter->pt() >= thresholdFactor_*v_->getHltThreshold())
1609  v_->getOffEtaVsOffPhiOnOffHisto()->Fill(iter->outerTrack()->innerPosition().eta(),iter->outerTrack()->innerPosition().phi());
1610 
1611  }
1612  else if( offCollEle_.isValid()) {
1613 
1614  typedef typename reco::GsfElectronCollection::const_iterator const_iterator;
1615  const_iterator iter = offCollEle_->begin();
1616  for (int count = 0; count < i; count++) iter++;
1617 
1618  NOnOff++;
1619  v_->getOffEtOnOffHisto()->Fill(iter->superCluster()->energy()*sin(iter->superCluster()->position().Theta()));
1620  if(iter->superCluster()->energy()*fabs(sin(iter->superCluster()->position().Theta())) >= thresholdFactor_*v_->getHltThreshold())
1621  v_->getOffEtaVsOffPhiOnOffHisto()->Fill(iter->eta(),iter->phi());
1622 
1623  }
1624  else if( offColl_.isValid()) {
1625 
1626  typedef typename T::const_iterator const_iterator;
1627  const_iterator iter = offColl_->begin();
1628  for (int count = 0; count < i; count++) iter++;
1629 
1630  NOnOff++;
1631  v_->getOffEtOnOffHisto()->Fill(iter->pt());
1632  if(iter->pt() >= thresholdFactor_*v_->getHltThreshold())
1633  v_->getOffEtaVsOffPhiOnOffHisto()->Fill(iter->eta(),iter->phi());
1634 
1635  }
1636 
1637  }
1638 
1639  v_->getNOnOffHisto()->Fill(NOnOff);
1640 
1641 }
#define LogDebug(id)
int i
Definition: DBlmapReader.cc:9
edm::Handle< T > offColl_
transient_vector_type::const_iterator const_iterator
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
void cleanDRMatchSet(mmset &tempSet)
Clean DR Match Set.
std::multimap< float, int > fimmap
edm::Handle< reco::GsfElectronCollection > offCollEle_
edm::Handle< reco::JetTagCollection > offCollB_
FourVectorHLTOnline::PathInfoCollection::iterator v_
bool isValid() const
Definition: HandleBase.h:76
edm::Handle< reco::MuonCollection > offCollMu_
template<class T >
bool objMonData< T >::isL1TriggerType ( int  t)

Definition at line 691 of file FourVectorHLTOnline.h.

692 {
693  bool rc = false;
694 
695  for(std::vector<int>::const_iterator it = l1triggerType_.begin(); it != l1triggerType_.end(); ++it)
696  {
697 
698  if(fabs(t) == fabs(*it)) { rc = true; break; }
699 
700  } // end for
701 
702  return rc;
703 
704 }
std::vector< int > l1triggerType_
template<class T >
bool objMonData< T >::isL1TriggerType ( int  t)
template<class T >
bool objMonData< T >::isTriggerType ( int  t)
virtual

Implements BaseMonitor.

Definition at line 672 of file FourVectorHLTOnline.h.

673 {
674  bool rc = false;
675 
676  for(std::vector<int>::const_iterator it = triggerType_.begin(); it != triggerType_.end(); ++it)
677  {
678 
679  if(t == *it) { rc = true; break; }
680 
681  } // end for
682 
683  if (t==0) rc = true;
684 
685  return rc;
686 
687 }
std::vector< int > triggerType_
template<class T >
bool objMonData< T >::isTriggerType ( int  t)
virtual

Implements BaseMonitor.

template<class T >
void objMonData< T >::matchL1Offline ( const trigger::TriggerObject l1FV,
FourVectorHLTOffline fv,
const int &  NL1,
unsigned int &  NL1OffUM 
)
virtual

Implements BaseMonitor.

Definition at line 1021 of file FourVectorHLTOffline.h.

References reco::deltaR(), PFRecoTauDiscriminationAgainstElectronDeadECAL_cfi::dR, trigger::TriggerObject::eta(), getDQMSummary::iter, j, trigger::TriggerObject::phi(), and funct::sin().

1022 {
1023 
1024  fimmap L1OffDRMatchMap;
1025 
1026  if (offCollB_.isValid()) {
1027 
1028  int j=0;
1029  typedef typename reco::JetTagCollection::const_iterator const_iterator;
1030  for( const_iterator iter = offCollB_->begin(), iend = offCollB_->end(); iter != iend; ++iter )
1031  {
1032 
1033  float recoEta = (*iter).first->eta();
1034  float recoPhi = (*iter).first->phi();
1035  float recoPt = (*iter).first->pt();
1036 
1037  if (fabs(recoEta) <= EtaMax_ && recoPt >= EtMin_ )
1038  {
1039 
1040  // fill UM histos (no matching required)
1041  if (v_->getOffEtL1OffUMHisto() != 0) {
1042  if(NL1 == 1) {
1043 
1044  NL1OffUM++;
1045  v_->getOffEtL1OffUMHisto()->Fill(recoPt);
1046 
1047  if(recoPt >= thresholdFactor_*v_->getHltThreshold())
1048  v_->getOffEtaVsOffPhiL1OffUMHisto()->Fill(recoEta,recoPhi);
1049 
1050  }
1051  }
1052 
1053  // make maps of matched objects
1054  float dR = reco::deltaR(recoEta,recoPhi,l1FV.eta(),l1FV.phi());
1055  if ( dR < DRRange_)
1056  {
1057 
1058  L1OffDRMatchMap.insert(std::pair<float,int>(dR,j));
1059 
1060  }
1061 
1062  }
1063 
1064  j++;
1065 
1066  }
1067 
1068  }
1069  else if (offCollMu_.isValid()) {
1070 
1071  int j=0;
1072  typedef typename reco::MuonCollection::const_iterator const_iterator;
1073  for( const_iterator iter = offCollMu_->begin(), iend = offCollMu_->end(); iter != iend; ++iter )
1074  {
1075 
1076  // get Eta, Phi of the MuonDetectorTrack,
1077  // looking at the detector most inner Position
1078  // This should be close to what L1 sees
1079  float recoEta = iter->outerTrack()->innerPosition().eta();
1080  float recoPhi = iter->outerTrack()->innerPosition().phi();
1081  float recoPt = iter->pt();
1082 
1083  if (fabs(recoEta) <= EtaMax_ && recoPt >= EtMin_ )
1084  {
1085 
1086  // fill UM histos (no matching required)
1087  if (v_->getOffEtL1OffUMHisto() != 0) {
1088  if(NL1 == 1) {
1089 
1090  NL1OffUM++;
1091  v_->getOffEtL1OffUMHisto()->Fill(recoPt);
1092 
1093  if(recoPt >= thresholdFactor_*v_->getHltThreshold())
1094  v_->getOffEtaVsOffPhiL1OffUMHisto()->Fill(recoEta,recoPhi);
1095 
1096  }
1097  }
1098 
1099  // make maps of matched objects
1100  float dR = reco::deltaR(recoEta,recoPhi,l1FV.eta(),l1FV.phi());
1101  if ( dR < DRRange_)
1102  {
1103 
1104  L1OffDRMatchMap.insert(std::pair<float,int>(dR,j));
1105 
1106  }
1107 
1108  }
1109 
1110  j++;
1111 
1112  }
1113 
1114  }
1115  else if (offCollEle_.isValid()) {
1116 
1117  int j=0;
1118  typedef typename reco::GsfElectronCollection::const_iterator const_iterator;
1119  for( const_iterator iter = offCollEle_->begin(), iend = offCollEle_->end(); iter != iend; ++iter )
1120  {
1121 
1122  if (fabs(iter->eta()) <= EtaMax_ && iter->superCluster()->energy()*sin(iter->superCluster()->position().Theta()) >= EtMin_ )
1123  {
1124 
1125  if ( v_->getOffEtL1OffUMHisto() != 0) {
1126  // fill UM histos (no matching required)
1127  if(NL1 == 1) {
1128 
1129  NL1OffUM++;
1130  v_->getOffEtL1OffUMHisto()->Fill(iter->superCluster()->energy()*sin(iter->superCluster()->position().Theta()));
1131 
1132  if(iter->superCluster()->energy()*sin(iter->superCluster()->position().Theta()) >= thresholdFactor_*v_->getHltThreshold())
1133  v_->getOffEtaVsOffPhiL1OffUMHisto()->Fill(iter->eta(),iter->phi());
1134 
1135  }
1136  }
1137 
1138  // make maps of matched objects
1139  float dR = reco::deltaR(iter->eta(),iter->phi(),l1FV.eta(),l1FV.phi());
1140  if ( dR < DRRange_)
1141  {
1142 
1143  L1OffDRMatchMap.insert(std::pair<float,int>(dR,j));
1144 
1145  }
1146 
1147  }
1148 
1149  j++;
1150 
1151  }
1152 
1153  }
1154  else if (offColl_.isValid()) {
1155 
1156  int j=0;
1157  typedef typename T::const_iterator const_iterator;
1158  for( const_iterator iter = offColl_->begin(), iend = offColl_->end(); iter != iend; ++iter )
1159  {
1160 
1161  if (fabs(iter->eta()) <= EtaMax_ && iter->pt() >= EtMin_ )
1162  {
1163 
1164  // fill UM histos (no matching required)
1165  if (v_->getOffEtL1OffUMHisto()!= 0 ) {
1166  if(NL1 == 1) {
1167 
1168  NL1OffUM++;
1169  v_->getOffEtL1OffUMHisto()->Fill(iter->pt());
1170 
1171  if(iter->pt() >= thresholdFactor_*v_->getHltThreshold())
1172  v_->getOffEtaVsOffPhiL1OffUMHisto()->Fill(iter->eta(),iter->phi());
1173 
1174  }
1175  }
1176 
1177  // make maps of matched objects
1178  float dR = reco::deltaR(iter->eta(),iter->phi(),l1FV.eta(),l1FV.phi());
1179  if ( dR < DRRange_)
1180  {
1181 
1182  L1OffDRMatchMap.insert(std::pair<float,int>(dR,j));
1183 
1184  }
1185 
1186  }
1187 
1188  j++;
1189 
1190  }
1191 
1192  }
1193  if(! L1OffDRMatchMap.empty()) L1OffDRMatchSet.insert(L1OffDRMatchMap);
1194 
1195 }
edm::Handle< T > offColl_
transient_vector_type::const_iterator const_iterator
float phi() const
Definition: TriggerObject.h:58
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
std::multimap< float, int > fimmap
edm::Handle< reco::GsfElectronCollection > offCollEle_
float eta() const
Definition: TriggerObject.h:57
edm::Handle< reco::JetTagCollection > offCollB_
FourVectorHLTOnline::PathInfoCollection::iterator v_
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
edm::Handle< reco::MuonCollection > offCollMu_
template<class T >
void objMonData< T >::matchOnlineL1 ( const trigger::TriggerObject onlineFV,
const int &  l1Index,
FourVectorHLTOnline fv,
const int &  NOn 
)
virtual

Implements BaseMonitor.

Definition at line 802 of file FourVectorHLTOnline.h.

References reco::deltaR(), PFRecoTauDiscriminationAgainstElectronDeadECAL_cfi::dR, trigger::TriggerObject::eta(), FourVectorHLTOnline::fTriggerObj, j, trigger::TriggerObject::phi(), and trigger::TriggerObject::pt().

803 {
804 
805  if ( l1Index >= fv->fTriggerObj->sizeFilters() ) return;
806 
807  unsigned int NOnL1UM=0;
808 
809  const trigger::TriggerObjectCollection & toc(fv->fTriggerObj->getObjects());
810  const trigger::Vids & idtype = fv->fTriggerObj->filterIds(l1Index);
811  const trigger::Keys & l1k = fv->fTriggerObj->filterKeys(l1Index);
812 
813  fimmap OnL1DRMatchMap;
814  int j=0;
815  trigger::Vids::const_iterator idtypeiter = idtype.begin();
816  for (trigger::Keys::const_iterator l1ki = l1k.begin(); l1ki !=l1k.end(); ++l1ki )
817  {
818 
819 
820 
821  if(isL1TriggerType(*idtypeiter))
822  {
823 
824  trigger::TriggerObject l1FV = toc[*l1ki];
825 
826  if ( fabs(l1FV.eta()) <= EtaMax_ && l1FV.pt() >= EtMin_ )
827  {
828 
829  // fill UM histos (no matching required)
830  if(NOn == 1) {
831 
832  NOnL1UM++;
833  v_->getL1EtL1OnUMHisto()->Fill(l1FV.pt());
834  v_->getL1EtaVsL1PhiL1OnUMHisto()->Fill(l1FV.eta(),l1FV.phi());
835 
836  }
837 
838 
839  float dR = reco::deltaR(l1FV.eta(),l1FV.phi(),onlineFV.eta(),onlineFV.phi());
840 
841  if ( dR < 1.0)
842  {
843 
844  OnL1DRMatchMap.insert(std::pair<float,int>(dR,j));
845 
846  }
847 
848  } // end if l1FV eta, pt
849 
850  } // end if isL1TriggerType
851 
852  ++idtypeiter;
853  j++;
854 
855  } // end for
856 
857  if(! OnL1DRMatchMap.empty()) OnL1DRMatchSet.insert(OnL1DRMatchMap);
858 
859 }
edm::Handle< trigger::TriggerEvent > fTriggerObj
bool isL1TriggerType(int t)
float phi() const
Definition: TriggerObject.h:58
std::multimap< float, int > fimmap
float eta() const
Definition: TriggerObject.h:57
Single trigger physics object (e.g., an isolated muon)
Definition: TriggerObject.h:22
FourVectorHLTOnline::PathInfoCollection::iterator v_
int j
Definition: DBlmapReader.cc:9
auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
Definition: deltaR.h:30
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
Definition: TriggerObject.h:81
std::vector< size_type > Keys
std::vector< int > Vids
template<class T >
void objMonData< T >::matchOnlineL1 ( const trigger::TriggerObject onlineFV,
const int &  l1Index,
FourVectorHLTOffline fv,
const int &  NOn 
)
virtual

Implements BaseMonitor.

Definition at line 1232 of file FourVectorHLTOffline.h.

References reco::deltaR(), PFRecoTauDiscriminationAgainstElectronDeadECAL_cfi::dR, trigger::TriggerObject::eta(), FourVectorHLTOffline::fTriggerObj, j, trigger::TriggerObject::phi(), and trigger::TriggerObject::pt().

1233 {
1234 
1235  if ( l1Index >= fv->fTriggerObj->sizeFilters() ) return;
1236 
1237  unsigned int NOnL1UM=0;
1238 
1239  const trigger::TriggerObjectCollection & toc(fv->fTriggerObj->getObjects());
1240  const trigger::Vids & idtype = fv->fTriggerObj->filterIds(l1Index);
1241  const trigger::Keys & l1k = fv->fTriggerObj->filterKeys(l1Index);
1242 
1243  fimmap OnL1DRMatchMap;
1244  int j=0;
1245  trigger::Vids::const_iterator idtypeiter = idtype.begin();
1246  for (trigger::Keys::const_iterator l1ki = l1k.begin(); l1ki !=l1k.end(); ++l1ki )
1247  {
1248 
1249  if(isL1TriggerType(*idtypeiter))
1250  {
1251 
1252  trigger::TriggerObject l1FV = toc[*l1ki];
1253 
1254  // fill UM histos (no matching required)
1255  if (v_->getL1EtL1OnUMHisto() != 0) {
1256  if(NOn == 1) {
1257 
1258  NOnL1UM++;
1259  v_->getL1EtL1OnUMHisto()->Fill(l1FV.pt());
1260  v_->getL1EtaVsL1PhiL1OnUMHisto()->Fill(l1FV.eta(),l1FV.phi());
1261 
1262  }
1263  }
1264 
1265  float dR = reco::deltaR(l1FV.eta(),l1FV.phi(),onlineFV.eta(),onlineFV.phi());
1266 
1267  if ( dR < DRRange_)
1268  {
1269 
1270  OnL1DRMatchMap.insert(std::pair<float,int>(dR,j));
1271 
1272  }
1273 
1274  } // end if isL1TriggerType
1275 
1276  ++idtypeiter;
1277  j++;
1278 
1279  } // end for
1280 
1281  if(! OnL1DRMatchMap.empty()) OnL1DRMatchSet.insert(OnL1DRMatchMap);
1282 
1283 }
bool isL1TriggerType(int t)
float phi() const
Definition: TriggerObject.h:58
std::multimap< float, int > fimmap
float eta() const
Definition: TriggerObject.h:57
Single trigger physics object (e.g., an isolated muon)
Definition: TriggerObject.h:22
FourVectorHLTOnline::PathInfoCollection::iterator v_
int j
Definition: DBlmapReader.cc:9
auto deltaR(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
Definition: deltaR.h:30
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
Definition: TriggerObject.h:81
std::vector< size_type > Keys
edm::Handle< trigger::TriggerEvent > fTriggerObj
std::vector< int > Vids
template<class T >
void objMonData< T >::matchOnlineOffline ( const trigger::TriggerObject onlineFV,
FourVectorHLTOffline fv,
const int &  NOn 
)
virtual

Implements BaseMonitor.

Definition at line 1287 of file FourVectorHLTOffline.h.

References reco::deltaR(), PFRecoTauDiscriminationAgainstElectronDeadECAL_cfi::dR, trigger::TriggerObject::eta(), getDQMSummary::iter, j, trigger::TriggerObject::phi(), and funct::sin().

1288 {
1289 
1290  unsigned int NOnOffUM=0;
1291 
1292  fimmap OnOffDRMatchMap;
1293 
1294  if (offCollB_.isValid()) {
1295 
1296  int j=0;
1297  typedef typename reco::JetTagCollection::const_iterator const_iterator;
1298  for( const_iterator iter = offCollB_->begin(), iend = offCollB_->end(); iter != iend; ++iter )
1299  {
1300 
1301  float recoEta = (*iter).first->eta();
1302  float recoPhi = (*iter).first->phi();
1303  float recoPt = (*iter).first->pt();
1304 
1305  if (fabs(recoEta) <= EtaMax_ && recoPt >= EtMin_ )
1306  {
1307 
1308 
1309  // fill UM histos (no matching required)
1310  if (v_->getOffEtOnOffUMHisto() != 0) {
1311  if(NOn == 1) {
1312 
1313  NOnOffUM++;
1314  v_->getOffEtOnOffUMHisto()->Fill(recoPt);
1315 
1316  if(recoPt >= thresholdFactor_*v_->getHltThreshold())
1317  v_->getOffEtaVsOffPhiOnOffUMHisto()->Fill(recoEta,recoPhi);
1318 
1319  }
1320  }
1321 
1322  // make maps of matched objects
1323  float dR = reco::deltaR(recoEta,recoPhi,onlineFV.eta(),onlineFV.phi());
1324  if ( dR < DRRange_)
1325  {
1326 
1327  OnOffDRMatchMap.insert(std::pair<float,int>(dR,j));
1328 
1329  }
1330 
1331  }
1332 
1333  j++;
1334 
1335  }
1336 
1337  }
1338  else if (offCollMu_.isValid() && fL2MuFlag) {
1339 
1340  int j=0;
1341  typedef typename reco::MuonCollection::const_iterator const_iterator;
1342  for( const_iterator iter = offCollMu_->begin(), iend = offCollMu_->end(); iter != iend; ++iter )
1343  {
1344 
1345  // get Eta, Phi of the MuonDetectorTrack,
1346  // looking at the detector most inner Position
1347  // This should be close to what L1 sees
1348  float recoEta = iter->outerTrack()->innerPosition().eta();
1349  float recoPhi = iter->outerTrack()->innerPosition().phi();
1350  float recoPt = iter->pt();
1351 
1352  if (fabs(recoEta) <= EtaMax_ && recoPt >= EtMin_ )
1353  {
1354  // fill UM histos (no matching required)
1355  if (v_->getOffEtOnOffUMHisto() != 0) {
1356  if(NOn == 1) {
1357 
1358  NOnOffUM++;
1359  v_->getOffEtOnOffUMHisto()->Fill(iter->pt());
1360 
1361  if(recoPt >= thresholdFactor_*v_->getHltThreshold())
1362  v_->getOffEtaVsOffPhiOnOffUMHisto()->Fill(iter->eta(),iter->phi());
1363 
1364  }
1365  }
1366 
1367  // make maps of matched objects
1368  float dR = reco::deltaR(recoEta,recoPhi,onlineFV.eta(),onlineFV.phi());
1369  if ( dR < DRRange_)
1370  {
1371 
1372  OnOffDRMatchMap.insert(std::pair<float,int>(dR,j));
1373 
1374  }
1375 
1376  }
1377 
1378  j++;
1379 
1380 
1381  }
1382 
1383  }
1384  else if (offCollEle_.isValid()) {
1385 
1386  int j=0;
1387 
1388  typedef typename reco::GsfElectronCollection::const_iterator const_iterator;
1389  for( const_iterator iter = offCollEle_->begin(), iend = offCollEle_->end(); iter != iend; ++iter )
1390  {
1391 
1392  if (fabs(iter->eta()) <= EtaMax_ && iter->superCluster()->energy()*sin(iter->superCluster()->position().Theta()) >= EtMin_ )
1393  {
1394 
1395  // fill UM histos (no matching required)
1396  if (v_->getOffEtOnOffUMHisto() != 0) {
1397  if(NOn == 1) {
1398 
1399  NOnOffUM++;
1400  v_->getOffEtOnOffUMHisto()->Fill(iter->superCluster()->energy()*sin(iter->superCluster()->position().Theta()));
1401 
1402  if(iter->superCluster()->energy()*sin(iter->superCluster()->position().Theta()) >= thresholdFactor_*v_->getHltThreshold())
1403  v_->getOffEtaVsOffPhiOnOffUMHisto()->Fill(iter->eta(),iter->phi());
1404 
1405  }
1406  }
1407 
1408  // make maps of matched objects
1409  float dR = reco::deltaR(iter->eta(),iter->phi(),onlineFV.eta(),onlineFV.phi());
1410  if ( dR < DRRange_)
1411  {
1412 
1413  OnOffDRMatchMap.insert(std::pair<float,int>(dR,j));
1414 
1415  }
1416 
1417  }
1418 
1419  j++;
1420 
1421 
1422  }
1423 
1424  }
1425  else if (offColl_.isValid()) {
1426 
1427  int j=0;
1428 
1429  typedef typename T::const_iterator const_iterator;
1430  for( const_iterator iter = offColl_->begin(), iend = offColl_->end(); iter != iend; ++iter )
1431  {
1432 
1433  if (fabs(iter->eta()) <= EtaMax_ && iter->pt() >= EtMin_ )
1434  {
1435 
1436  // fill UM histos (no matching required)
1437  if (v_->getOffEtOnOffUMHisto() != 0) {
1438  if(NOn == 1) {
1439 
1440  NOnOffUM++;
1441  v_->getOffEtOnOffUMHisto()->Fill(iter->pt());
1442 
1443  if(iter->pt() >= thresholdFactor_*v_->getHltThreshold())
1444  v_->getOffEtaVsOffPhiOnOffUMHisto()->Fill(iter->eta(),iter->phi());
1445 
1446  }
1447  }
1448 
1449  // make maps of matched objects
1450  float dR = reco::deltaR(iter->eta(),iter->phi(),onlineFV.eta(),onlineFV.phi());
1451  if ( dR < DRRange_)
1452  {
1453 
1454  OnOffDRMatchMap.insert(std::pair<float,int>(dR,j));
1455 
1456  }
1457 
1458  }
1459 
1460  j++;
1461 
1462 
1463  }
1464 
1465  }
1466 
1467  if(! OnOffDRMatchMap.empty()) OnOffDRMatchSet.insert(OnOffDRMatchMap);
1468 
1469 }
edm::Handle< T > offColl_
transient_vector_type::const_iterator const_iterator
float phi() const
Definition: TriggerObject.h:58
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
std::multimap< float, int > fimmap
edm::Handle< reco::GsfElectronCollection > offCollEle_
float eta() const
Definition: TriggerObject.h:57
edm::Handle< reco::JetTagCollection > offCollB_
FourVectorHLTOnline::PathInfoCollection::iterator v_
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
edm::Handle< reco::MuonCollection > offCollMu_
template<class T >
void objMonData< T >::monitorL1 ( const int  l1Index,
FourVectorHLTOnline fv 
)
virtual

Implements BaseMonitor.

Definition at line 708 of file FourVectorHLTOnline.h.

References trigger::TriggerObject::eta(), FourVectorHLTOnline::fTriggerObj, trigger::TriggerObject::phi(), and trigger::TriggerObject::pt().

709 {
710 
711  if ( l1Index >= fv->fTriggerObj->sizeFilters() ) return;
712 
713  unsigned int NL1=0;
714  unsigned int NL1OffUM=0;
715 
716  const trigger::TriggerObjectCollection & toc(fv->fTriggerObj->getObjects());
717  const trigger::Vids & idtype = fv->fTriggerObj->filterIds(l1Index);
718  const trigger::Keys & l1k = fv->fTriggerObj->filterKeys(l1Index);
719  bool l1accept = l1k.size() > 0;
720 
721  if(!l1accept) return;
722 
723  trigger::Vids::const_iterator idtypeiter = idtype.begin();
724 
725  for (trigger::Keys::const_iterator l1ki = l1k.begin(); l1ki !=l1k.end(); ++l1ki ) {
726 
727  trigger::TriggerObject l1FV = toc[*l1ki];
728  if(isL1TriggerType(*idtypeiter))
729  {
730 
731 
732 
733  if (fabs(l1FV.eta()) <= EtaMax_ && l1FV.pt() >= EtMin_)
734  {
735 
736  NL1++;
737 
738  v_->getL1EtL1Histo()->Fill(l1FV.pt());
739  v_->getL1EtaVsL1PhiL1Histo()->Fill(l1FV.eta(), l1FV.phi());
740 
741  }
742  else {
743 
744  continue;
745 
746  }
747 
748  } // end if isL1TriggerType
749  ++idtypeiter;
750 
751  } // end for l1ki
752 
753  if(NL1 > 0) v_->getNL1Histo()->Fill(NL1);
754  if(NL1OffUM > 0) v_->getNL1OffUMHisto()->Fill(NL1OffUM);
755 
756 }
edm::Handle< trigger::TriggerEvent > fTriggerObj
bool isL1TriggerType(int t)
float phi() const
Definition: TriggerObject.h:58
float eta() const
Definition: TriggerObject.h:57
Single trigger physics object (e.g., an isolated muon)
Definition: TriggerObject.h:22
FourVectorHLTOnline::PathInfoCollection::iterator v_
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
Definition: TriggerObject.h:81
std::vector< size_type > Keys
std::vector< int > Vids
template<class T >
void objMonData< T >::monitorL1 ( const int  l1Index,
FourVectorHLTOffline fv 
)
virtual

Implements BaseMonitor.

Definition at line 977 of file FourVectorHLTOffline.h.

References trigger::TriggerObject::eta(), FourVectorHLTOffline::fTriggerObj, trigger::TriggerObject::phi(), and trigger::TriggerObject::pt().

978 {
979 
980  if ( l1Index >= fv->fTriggerObj->sizeFilters() ) return;
981 
982  unsigned int NL1=0;
983  unsigned int NL1OffUM=0;
984 
985  const trigger::TriggerObjectCollection & toc(fv->fTriggerObj->getObjects());
986  const trigger::Vids & idtype = fv->fTriggerObj->filterIds(l1Index);
987  const trigger::Keys & l1k = fv->fTriggerObj->filterKeys(l1Index);
988  bool l1accept = l1k.size() > 0;
989 
990  if(!l1accept) return;
991 
992  trigger::Vids::const_iterator idtypeiter = idtype.begin();
993 
994  for (trigger::Keys::const_iterator l1ki = l1k.begin(); l1ki !=l1k.end(); ++l1ki ) {
995 
996  trigger::TriggerObject l1FV = toc[*l1ki];
997 
998  if(isL1TriggerType(*idtypeiter))
999  {
1000 
1001  NL1++;
1002 
1003  v_->getL1EtL1Histo()->Fill(l1FV.pt());
1004  v_->getL1EtaVsL1PhiL1Histo()->Fill(l1FV.eta(), l1FV.phi());
1005 
1006  matchL1Offline(l1FV, fv, NL1, NL1OffUM);
1007 
1008  } // end if isL1TriggerType
1009 
1010  ++idtypeiter;
1011 
1012  } // end for l1ki
1013 
1014  if(NL1 > 0) v_->getNL1Histo()->Fill(NL1);
1015  if(NL1OffUM > 0) v_->getNL1OffUMHisto()->Fill(NL1OffUM);
1016 
1017 }
bool isL1TriggerType(int t)
float phi() const
Definition: TriggerObject.h:58
float eta() const
Definition: TriggerObject.h:57
Single trigger physics object (e.g., an isolated muon)
Definition: TriggerObject.h:22
FourVectorHLTOnline::PathInfoCollection::iterator v_
void matchL1Offline(const trigger::TriggerObject &l1FV, FourVectorHLTOffline *fv, const int &NL1, unsigned int &NL1OffUM)
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
Definition: TriggerObject.h:81
std::vector< size_type > Keys
edm::Handle< trigger::TriggerEvent > fTriggerObj
std::vector< int > Vids
template<class T >
void objMonData< T >::monitorOffline ( void  )
virtual

Implements BaseMonitor.

Definition at line 879 of file FourVectorHLTOffline.h.

References getDQMSummary::iter, and funct::sin().

880 {
881 
882  if(! isTriggerType(v_->getObjectType()) ) return;
883 
884  unsigned int NOff = 0;
885 
886  if( offCollB_.isValid()) {
887  typedef typename reco::JetTagCollection::const_iterator const_iterator;
888  for( const_iterator iter = offCollB_->begin(), iend = offCollB_->end(); iter != iend; ++iter )
889  {
890 
891  float recoEta = (*iter).first->eta();
892  float recoPhi = (*iter).first->phi();
893  float recoPt = (*iter).first->pt();
894 
895 
896  if (fabs(recoEta) <= EtaMax_ && recoPt >= EtMin_ )
897  {
898 
899  NOff++;
900  v_->getOffEtOffHisto()->Fill(recoPt);
901  if(recoPt >= thresholdFactor_*v_->getHltThreshold())
902  v_->getOffEtaVsOffPhiOffHisto()->Fill(recoEta, recoPhi);
903 
904  }
905  /*
906  else {
907 
908  continue;
909 
910  }
911  */
912 
913  }
914 
915  }
916  else if(offCollEle_.isValid()) {
917 
918  typedef typename reco::GsfElectronCollection::const_iterator const_iterator;
919  for( const_iterator iter = offCollEle_->begin(), iend = offCollEle_->end(); iter != iend; ++iter )
920  {
921 
922  if (fabs(iter->eta()) <= EtaMax_ && iter->superCluster()->energy()*sin(iter->superCluster()->position().Theta()) >= EtMin_ )
923  {
924 
925  NOff++;
926  v_->getOffEtOffHisto()->Fill(iter->superCluster()->energy()*sin(iter->superCluster()->position().Theta()));
927 
928  if(iter->pt() >= thresholdFactor_*v_->getHltThreshold())
929  v_->getOffEtaVsOffPhiOffHisto()->Fill(iter->eta(), iter->phi());
930 
931  }
932  /*
933  else {
934 
935  continue;
936 
937  }
938  */
939 
940  }
941 
942  } // end else if
943  else if(offColl_.isValid()) {
944 
945  typedef typename T::const_iterator const_iterator;
946  for( const_iterator iter = offColl_->begin(), iend = offColl_->end(); iter != iend; ++iter )
947  {
948 
949  if (fabs(iter->eta()) <= EtaMax_ && iter->pt() >= EtMin_ )
950  {
951 
952  NOff++;
953  v_->getOffEtOffHisto()->Fill(iter->pt());
954 
955  if(iter->pt() >= thresholdFactor_*v_->getHltThreshold())
956  v_->getOffEtaVsOffPhiOffHisto()->Fill(iter->eta(), iter->phi());
957 
958  }
959  /*
960  else {
961 
962  continue;
963 
964  }
965  */
966 
967  }
968 
969  } // end else if
970 
971  if(NOff>0)v_->getNOffHisto()->Fill(NOff);
972 
973 }
edm::Handle< T > offColl_
transient_vector_type::const_iterator const_iterator
bool isTriggerType(int t)
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
edm::Handle< reco::GsfElectronCollection > offCollEle_
edm::Handle< reco::JetTagCollection > offCollB_
FourVectorHLTOnline::PathInfoCollection::iterator v_
bool isValid() const
Definition: HandleBase.h:76
template<class T >
void objMonData< T >::monitorOnline ( const int  hltIndex,
const int  l1Index,
FourVectorHLTOnline fv 
)
virtual

Implements BaseMonitor.

Definition at line 760 of file FourVectorHLTOnline.h.

References trigger::TriggerObject::eta(), FourVectorHLTOnline::fTriggerObj, gen::k, trigger::TriggerObject::phi(), and trigger::TriggerObject::pt().

761 {
762 
763  //if(! isTriggerType(v_->getObjectType()) ) return;
764 
765  // Get keys of objects passed by the last filter
766  const trigger::Keys & k = fv->fTriggerObj->filterKeys(hltIndex);
767 
768  const trigger::TriggerObjectCollection & toc(fv->fTriggerObj->getObjects());
769 
770  unsigned int NOn=0;
771 
772  // Loop over HLT objects
773  for (trigger::Keys::const_iterator ki = k.begin(); ki !=k.end(); ++ki ) {
774 
775  trigger::TriggerObject onlineFV = toc[*ki];
776 
777  if (fabs(onlineFV.eta()) <= EtaMax_ && onlineFV.pt() >= EtMin_)
778  {
779 
780  NOn++;
781 
782  v_->getOnEtOnHisto()->Fill(onlineFV.pt());
783  v_->getOnOneOverEtOnHisto()->Fill(1./onlineFV.pt());
784  v_->getOnEtaVsOnPhiOnHisto()->Fill(onlineFV.eta(), onlineFV.phi());
785 
786  }
787  else {
788 
789  return;
790 
791  }
792 
793  matchOnlineL1(onlineFV,l1Index, fv, NOn);
794 
795  } // end loop over HLT objects
796 
797  if(NOn>0) v_->getNOnHisto()->Fill(NOn);
798 
799 }
edm::Handle< trigger::TriggerEvent > fTriggerObj
float phi() const
Definition: TriggerObject.h:58
void matchOnlineL1(const trigger::TriggerObject &onlineFV, const int &l1Index, FourVectorHLTOnline *fv, const int &NOn)
float eta() const
Definition: TriggerObject.h:57
Single trigger physics object (e.g., an isolated muon)
Definition: TriggerObject.h:22
FourVectorHLTOnline::PathInfoCollection::iterator v_
int k[5][pyjets_maxn]
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
Definition: TriggerObject.h:81
std::vector< size_type > Keys
template<class T >
void objMonData< T >::monitorOnline ( const int  hltIndex,
const int  l1Index,
FourVectorHLTOffline fv 
)
virtual

Implements BaseMonitor.

Definition at line 1199 of file FourVectorHLTOffline.h.

References trigger::TriggerObject::eta(), FourVectorHLTOffline::fTriggerObj, gen::k, trigger::TriggerObject::phi(), and trigger::TriggerObject::pt().

1200 {
1201 
1202  if(! isTriggerType(v_->getObjectType()) ) return;
1203 
1204  // Get keys of objects passed by the last filter
1205  const trigger::Keys & k = fv->fTriggerObj->filterKeys(hltIndex);
1206 
1207  const trigger::TriggerObjectCollection & toc(fv->fTriggerObj->getObjects());
1208 
1209  unsigned int NOn=0;
1210 
1211  // Loop over HLT objects
1212  for (trigger::Keys::const_iterator ki = k.begin(); ki !=k.end(); ++ki ) {
1213 
1214  trigger::TriggerObject onlineFV = toc[*ki];
1215 
1216  NOn++;
1217 
1218  v_->getOnEtOnHisto()->Fill(onlineFV.pt());
1219  v_->getOnOneOverEtOnHisto()->Fill(1./onlineFV.pt());
1220  v_->getOnEtaVsOnPhiOnHisto()->Fill(onlineFV.eta(), onlineFV.phi());
1221 
1222  matchOnlineL1(onlineFV,l1Index, fv, NOn);
1223  matchOnlineOffline(onlineFV,fv, NOn);
1224 
1225  } // end loop over HLT objects
1226 
1227  if(NOn>0) v_->getNOnHisto()->Fill(NOn);
1228 
1229 }
bool isTriggerType(int t)
float phi() const
Definition: TriggerObject.h:58
void matchOnlineL1(const trigger::TriggerObject &onlineFV, const int &l1Index, FourVectorHLTOnline *fv, const int &NOn)
float eta() const
Definition: TriggerObject.h:57
Single trigger physics object (e.g., an isolated muon)
Definition: TriggerObject.h:22
FourVectorHLTOnline::PathInfoCollection::iterator v_
void matchOnlineOffline(const trigger::TriggerObject &onlineFV, FourVectorHLTOffline *fv, const int &NOn)
int k[5][pyjets_maxn]
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
Definition: TriggerObject.h:81
std::vector< size_type > Keys
edm::Handle< trigger::TriggerEvent > fTriggerObj
template<class T >
void objMonData< T >::pushL1TriggerType ( int  trigType)
inline

Definition at line 616 of file FourVectorHLTOnline.h.

References objMonData< T >::l1triggerType_.

616 { l1triggerType_.push_back(trigType); }
std::vector< int > l1triggerType_
template<class T >
void objMonData< T >::pushL1TriggerType ( int  trigType)
inline

Definition at line 764 of file FourVectorHLTOffline.h.

References objMonData< T >::l1triggerType_.

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

Definition at line 614 of file FourVectorHLTOnline.h.

References objMonData< T >::triggerType_.

614 { triggerType_.push_back(trigType); }
std::vector< int > triggerType_
template<class T >
void objMonData< T >::pushTriggerType ( int  trigType)
inline

Definition at line 762 of file FourVectorHLTOffline.h.

References objMonData< T >::triggerType_.

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

Definition at line 642 of file FourVectorHLTOnline.h.

References objMonData< T >::BJetsFlag_, and archive::flag.

Referenced by FourVectorHLTOnline::analyze().

643  {
644  BJetsFlag_ = flag;
645  }
template<class T >
void objMonData< T >::setBJetsFlag ( bool  flag)
inline

Definition at line 800 of file FourVectorHLTOffline.h.

References objMonData< T >::BJetsFlag_, and archive::flag.

801  {
802  BJetsFlag_ = flag;
803  }
template<class T >
void objMonData< T >::setL1TriggerType ( const std::vector< int > &  trigType)
inline

Definition at line 615 of file FourVectorHLTOnline.h.

References objMonData< T >::l1triggerType_.

615 { l1triggerType_ = trigType; }
std::vector< int > l1triggerType_
template<class T >
void objMonData< T >::setL1TriggerType ( const std::vector< int > &  trigType)
inline

Definition at line 763 of file FourVectorHLTOffline.h.

References objMonData< T >::l1triggerType_.

763 { l1triggerType_ = trigType; }
std::vector< int > l1triggerType_
template<class T >
void objMonData< T >::setL2MuFlag ( bool  flag)
inline

Definition at line 804 of file FourVectorHLTOffline.h.

References objMonData< T >::fL2MuFlag, and archive::flag.

805  {
806  fL2MuFlag = flag;
807  }
template<class T >
void objMonData< T >::setLimits ( float  etaMax,
float  etMin,
float  drMatch 
)
inline

Definition at line 607 of file FourVectorHLTOnline.h.

References objMonData< T >::DRMatch_, objMonData< T >::EtaMax_, and objMonData< T >::EtMin_.

Referenced by FourVectorHLTOnline::analyze(), and FourVectorHLTOffline::analyze().

608  {
609  EtaMax_= etaMax;
610  EtMin_= etMin;
611  DRMatch_= drMatch;
612  }
template<class T >
void objMonData< T >::setLimits ( float  etaMax,
float  etMin,
float  drMatch,
float  l1drMatch,
float  dRRange,
float  thresholdFactor 
)
inline

Definition at line 752 of file FourVectorHLTOffline.h.

References objMonData< T >::DRMatch_, objMonData< T >::DRRange_, objMonData< T >::EtaMax_, objMonData< T >::EtMin_, objMonData< T >::L1DRMatch_, and objMonData< T >::thresholdFactor_.

753  {
754  EtaMax_= etaMax;
755  EtMin_= etMin;
756  DRMatch_= drMatch;
757  L1DRMatch_= l1drMatch;
758  DRRange_ = dRRange;
759  thresholdFactor_ = thresholdFactor;
760  }
template<class T >
void objMonData< T >::setPath ( FourVectorHLTOnline::PathInfoCollection::iterator  v)
inlinevirtual

Implements BaseMonitor.

Definition at line 617 of file FourVectorHLTOnline.h.

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

617 { v_ = v; }
FourVectorHLTOnline::PathInfoCollection::iterator v_
template<class T >
void objMonData< T >::setPath ( FourVectorHLTOffline::PathInfoCollection::iterator  v)
inlinevirtual

Implements BaseMonitor.

Definition at line 765 of file FourVectorHLTOffline.h.

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

765 { v_ = v; }
FourVectorHLTOnline::PathInfoCollection::iterator v_
template<class T >
void objMonData< T >::setReco ( edm::Handle< T offColl)
inline

Definition at line 618 of file FourVectorHLTOnline.h.

References objMonData< T >::offColl_.

Referenced by FourVectorHLTOnline::analyze(), and FourVectorHLTOffline::analyze().

618 { offColl_ = offColl; }
edm::Handle< T > offColl_
template<class T >
void objMonData< T >::setReco ( edm::Handle< T offColl)
inline

Definition at line 766 of file FourVectorHLTOffline.h.

References objMonData< T >::offColl_.

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

Definition at line 767 of file FourVectorHLTOffline.h.

References objMonData< T >::offCollB_.

Referenced by FourVectorHLTOffline::analyze().

767 { offCollB_ = offCollB; }
edm::Handle< reco::JetTagCollection > offCollB_
template<class T >
void objMonData< T >::setRecoEle ( edm::Handle< reco::GsfElectronCollection offCollEle)
inline

Definition at line 769 of file FourVectorHLTOffline.h.

References objMonData< T >::offCollEle_.

769 { offCollEle_ = offCollEle; }
edm::Handle< reco::GsfElectronCollection > offCollEle_
template<class T >
void objMonData< T >::setRecoMu ( edm::Handle< reco::MuonCollection offCollMu)
inline

Definition at line 768 of file FourVectorHLTOffline.h.

References objMonData< T >::offCollMu_.

768 { offCollMu_ = offCollMu; }
edm::Handle< reco::MuonCollection > offCollMu_
template<class T >
void objMonData< T >::setTriggerType ( const std::vector< int > &  trigType)
inline

Definition at line 613 of file FourVectorHLTOnline.h.

References objMonData< T >::triggerType_.

613 { triggerType_ = trigType; }
std::vector< int > triggerType_
template<class T >
void objMonData< T >::setTriggerType ( const std::vector< int > &  trigType)
inline

Definition at line 761 of file FourVectorHLTOffline.h.

References objMonData< T >::triggerType_.

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

Member Data Documentation

template<class T >
bool objMonData< T >::BJetsFlag_
private
template<class T >
float objMonData< T >::DRMatch_
private

Definition at line 656 of file FourVectorHLTOnline.h.

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

template<class T >
float objMonData< T >::DRRange_
private

Definition at line 820 of file FourVectorHLTOffline.h.

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

template<class T >
float objMonData< T >::EtaMax_
private
template<class T >
float objMonData< T >::EtMin_
private
template<class T >
bool objMonData< T >::fL2MuFlag
private
template<class T >
bool objMonData< T >::GenJetsFlag_
private

Definition at line 658 of file FourVectorHLTOnline.h.

Referenced by objMonData< T >::objMonData().

template<class T >
float objMonData< T >::L1DRMatch_
private

Definition at line 819 of file FourVectorHLTOffline.h.

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

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

Definition at line 635 of file FourVectorHLTOnline.h.

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

Definition at line 634 of file FourVectorHLTOnline.h.

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

Definition at line 664 of file FourVectorHLTOnline.h.

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

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

Definition at line 831 of file FourVectorHLTOffline.h.

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

template<class T >
edm::Handle<reco::GsfElectronCollection> objMonData< T >::offCollEle_
private

Definition at line 833 of file FourVectorHLTOffline.h.

Referenced by objMonData< T >::setRecoEle().

template<class T >
edm::Handle<reco::MuonCollection> objMonData< T >::offCollMu_
private

Definition at line 832 of file FourVectorHLTOffline.h.

Referenced by objMonData< T >::setRecoMu().

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

Definition at line 639 of file FourVectorHLTOnline.h.

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

Definition at line 638 of file FourVectorHLTOnline.h.

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

Definition at line 637 of file FourVectorHLTOnline.h.

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

Definition at line 636 of file FourVectorHLTOnline.h.

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

Definition at line 650 of file FourVectorHLTOnline.h.

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

Definition at line 651 of file FourVectorHLTOnline.h.

template<class T >
float objMonData< T >::thresholdFactor_
private

Definition at line 821 of file FourVectorHLTOffline.h.

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

template<class T >
std::vector< int > objMonData< T >::triggerType_
private
template<class T >
FourVectorHLTOnline::PathInfoCollection::iterator objMonData< T >::v_
private

Definition at line 666 of file FourVectorHLTOnline.h.

Referenced by objMonData< T >::setPath().

template<class T >
FourVectorHLTOffline::PathInfoCollection::iterator objMonData< T >::v_
private

Definition at line 835 of file FourVectorHLTOffline.h.