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 1675 of file FourVectorHLTOffline.h.

1676 {
1677 
1678  fillL1OffMatch(fv);
1679 
1680 }
void fillL1OffMatch(FourVectorHLTOffline *fv)
template<class T >
void objMonData< T >::fillL1OffMatch ( FourVectorHLTOffline fv)

Definition at line 1448 of file FourVectorHLTOffline.h.

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

1449 {
1450 
1451  float NL1Off=0;
1452 
1453  if(L1OffDRMatchSet.size() > 1) {
1454 
1455  LogDebug("FourVectorHLTOffline") << " Cleaning L1Off mmset" << std::endl;
1457 
1458  }
1459  // clean the set L1-Off
1460  // now fill histos
1461  for ( mmset::iterator setIter = L1OffDRMatchSet.begin( ); setIter != L1OffDRMatchSet.end( ); setIter++ )
1462  {
1463 
1464  fimmap tempMap = *setIter;
1465 
1466  fimmap::iterator it = tempMap.begin();
1467  int i = (*it).second ;
1468  float dR = (*it).first;
1469  v_->getOffDRL1OffHisto()->Fill(dR);
1470 
1471  if (dR > L1DRMatch_) continue;
1472  if( offCollB_.isValid()) {
1473 
1474  typedef typename reco::JetTagCollection::const_iterator const_iterator;
1475  const_iterator iter = offCollB_->begin();
1476  for (int count = 0; count < i; count++) iter++;
1477 
1478 
1479  NL1Off++;
1480  v_->getOffEtL1OffHisto()->Fill((*iter).first->pt());
1481  if((*iter).first->pt() >= thresholdFactor_*v_->getHltThreshold())
1482  v_->getOffEtaVsOffPhiL1OffHisto()->Fill((*iter).first->eta(),(*iter).first->phi());
1483 
1484 
1485  }
1486  else if( offCollMu_.isValid()) {
1487 
1488  typedef typename reco::MuonCollection::const_iterator const_iterator;
1489  const_iterator iter = offCollMu_->begin();
1490  for (int count = 0; count < i; count++) iter++;
1491 
1492 
1493  NL1Off++;
1494  v_->getOffEtL1OffHisto()->Fill(iter->pt());
1495  if(iter->pt() >= thresholdFactor_*v_->getHltThreshold())
1496  v_->getOffEtaVsOffPhiL1OffHisto()->Fill(iter->outerTrack()->innerPosition().eta(),iter->outerTrack()->innerPosition().phi());
1497 
1498  }
1499  else if( offCollEle_.isValid()) {
1500 
1501  typedef typename reco::GsfElectronCollection::const_iterator const_iterator;
1502  const_iterator iter = offCollEle_->begin();
1503  for (int count = 0; count < i; count++) iter++;
1504 
1505 
1506  NL1Off++;
1507  v_->getOffEtL1OffHisto()->Fill(iter->superCluster()->energy()*sin(iter->superCluster()->position().Theta()));
1508  if(iter->pt() >= thresholdFactor_*v_->getHltThreshold())
1509  v_->getOffEtaVsOffPhiL1OffHisto()->Fill(iter->eta(),iter->phi());
1510 
1511  }
1512  else if( offColl_.isValid()) {
1513 
1514  typedef typename T::const_iterator const_iterator;
1515  const_iterator iter = offColl_->begin();
1516  for (int count = 0; count < i; count++) iter++;
1517 
1518 
1519  NL1Off++;
1520  v_->getOffEtL1OffHisto()->Fill(iter->pt());
1521  if(iter->pt() >= thresholdFactor_*v_->getHltThreshold())
1522  v_->getOffEtaVsOffPhiL1OffHisto()->Fill(iter->eta(),iter->phi());
1523 
1524  }
1525 
1526  }
1527 
1528  if(NL1Off > 0) v_->getNL1OffHisto()->Fill(NL1Off);
1529 
1530 }
#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 1621 of file FourVectorHLTOffline.h.

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

1622 {
1623 
1624  const trigger::TriggerObjectCollection & toc(fv->fTriggerObj->getObjects());
1625  const trigger::Keys & l1k = fv->fTriggerObj->filterKeys(l1Index);
1626 
1627  unsigned int NOnL1=0;
1628 
1629  // clean the set On-L1
1630  if(OnL1DRMatchSet.size() > 1) {
1631 
1632  LogDebug("FourVectorHLTOffline") << " Cleaning L1On mmset" << std::endl;
1634 
1635  }
1636  // now fill histos
1637  for ( mmset::iterator setIter = OnL1DRMatchSet.begin( ); setIter != OnL1DRMatchSet.end( ); setIter++ )
1638  {
1639 
1640  fimmap tempMap = *setIter;
1641 
1642  fimmap::iterator it = tempMap.begin();
1643  int i = (*it).second ;
1644  float dR = (*it).first;
1645  v_->getL1DROnL1Histo()->Fill(dR);
1646 
1647  if (dR > L1DRMatch_) continue;
1648 
1649  trigger::Keys::const_iterator l1ki = l1k.begin();
1650  for (int count = 0; count < i; count++) l1ki++;
1651 
1652  NOnL1++;
1653  v_->getL1EtL1OnHisto()->Fill(toc[*l1ki].pt());
1654  v_->getL1EtaVsL1PhiL1OnHisto()->Fill(toc[*l1ki].eta(),toc[*l1ki].phi());
1655 
1656  }
1657 
1658  v_->getNL1OnHisto()->Fill(NOnL1);
1659 
1660 }
#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 1663 of file FourVectorHLTOffline.h.

References FourVectorHLTOffline::fTriggerObj.

1664 {
1665 
1666  if(! isTriggerType(v_->getObjectType()) ) return;
1667  fillOnOffMatch(fv);
1668 
1669  if ( l1Index >= fv->fTriggerObj->sizeFilters() ) return;
1670  fillOnL1Match(l1Index, fv);
1671 
1672 }
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 1534 of file FourVectorHLTOffline.h.

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

1535 {
1536 
1537  unsigned int NOnOff=0;
1538 
1539  // clean the set L1-Off
1540  if(OnOffDRMatchSet.size() > 1){
1541 
1542  LogDebug("FourVectorHLTOffline") << " Cleaning OnOff mmset" << std::endl;
1544 
1545  }
1546  // now fill histos
1547  for ( mmset::iterator setIter = OnOffDRMatchSet.begin( ); setIter != OnOffDRMatchSet.end( ); setIter++ )
1548  {
1549 
1550 
1551  fimmap tempMap = *setIter;
1552 
1553  fimmap::iterator it = tempMap.begin();
1554  int i = (*it).second ;
1555  float dR = (*it).first;
1556  v_->getOffDROnOffHisto()->Fill(dR);
1557 
1558 
1559  if (dR > DRMatch_) continue;
1560 
1561  if( offCollB_.isValid()) {
1562 
1563 
1564  typedef typename reco::JetTagCollection::const_iterator const_iterator;
1565  const_iterator iter = offCollB_->begin();
1566  for (int count = 0; count < i; count++) iter++;
1567 
1568 
1569  NOnOff++;
1570  v_->getOffEtOnOffHisto()->Fill((*iter).first->pt());
1571  if((*iter).first->pt() >= thresholdFactor_*v_->getHltThreshold())
1572  v_->getOffEtaVsOffPhiOnOffHisto()->Fill((*iter).first->eta(),(*iter).first->phi());
1573 
1574  }
1575  else if( offCollMu_.isValid() && fL2MuFlag) {
1576 
1577  typedef typename reco::MuonCollection::const_iterator const_iterator;
1578  const_iterator iter = offCollMu_->begin();
1579  for (int count = 0; count < i; count++) iter++;
1580 
1581 
1582  NOnOff++;
1583  v_->getOffEtOnOffHisto()->Fill(iter->pt());
1584  if(iter->pt() >= thresholdFactor_*v_->getHltThreshold())
1585  v_->getOffEtaVsOffPhiOnOffHisto()->Fill(iter->outerTrack()->innerPosition().eta(),iter->outerTrack()->innerPosition().phi());
1586 
1587  }
1588  else if( offCollEle_.isValid()) {
1589 
1590  typedef typename reco::GsfElectronCollection::const_iterator const_iterator;
1591  const_iterator iter = offCollEle_->begin();
1592  for (int count = 0; count < i; count++) iter++;
1593 
1594  NOnOff++;
1595  v_->getOffEtOnOffHisto()->Fill(iter->superCluster()->energy()*sin(iter->superCluster()->position().Theta()));
1596  if(iter->superCluster()->energy()*fabs(sin(iter->superCluster()->position().Theta())) >= thresholdFactor_*v_->getHltThreshold())
1597  v_->getOffEtaVsOffPhiOnOffHisto()->Fill(iter->eta(),iter->phi());
1598 
1599  }
1600  else if( offColl_.isValid()) {
1601 
1602  typedef typename T::const_iterator const_iterator;
1603  const_iterator iter = offColl_->begin();
1604  for (int count = 0; count < i; count++) iter++;
1605 
1606  NOnOff++;
1607  v_->getOffEtOnOffHisto()->Fill(iter->pt());
1608  if(iter->pt() >= thresholdFactor_*v_->getHltThreshold())
1609  v_->getOffEtaVsOffPhiOnOffHisto()->Fill(iter->eta(),iter->phi());
1610 
1611  }
1612 
1613  }
1614 
1615  v_->getNOnOffHisto()->Fill(NOnOff);
1616 
1617 }
#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 997 of file FourVectorHLTOffline.h.

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

998 {
999 
1000  fimmap L1OffDRMatchMap;
1001 
1002  if (offCollB_.isValid()) {
1003 
1004  int j=0;
1005  typedef typename reco::JetTagCollection::const_iterator const_iterator;
1006  for( const_iterator iter = offCollB_->begin(), iend = offCollB_->end(); iter != iend; ++iter )
1007  {
1008 
1009  float recoEta = (*iter).first->eta();
1010  float recoPhi = (*iter).first->phi();
1011  float recoPt = (*iter).first->pt();
1012 
1013  if (fabs(recoEta) <= EtaMax_ && recoPt >= EtMin_ )
1014  {
1015 
1016  // fill UM histos (no matching required)
1017  if (v_->getOffEtL1OffUMHisto() != 0) {
1018  if(NL1 == 1) {
1019 
1020  NL1OffUM++;
1021  v_->getOffEtL1OffUMHisto()->Fill(recoPt);
1022 
1023  if(recoPt >= thresholdFactor_*v_->getHltThreshold())
1024  v_->getOffEtaVsOffPhiL1OffUMHisto()->Fill(recoEta,recoPhi);
1025 
1026  }
1027  }
1028 
1029  // make maps of matched objects
1030  float dR = reco::deltaR(recoEta,recoPhi,l1FV.eta(),l1FV.phi());
1031  if ( dR < DRRange_)
1032  {
1033 
1034  L1OffDRMatchMap.insert(std::pair<float,int>(dR,j));
1035 
1036  }
1037 
1038  }
1039 
1040  j++;
1041 
1042  }
1043 
1044  }
1045  else if (offCollMu_.isValid()) {
1046 
1047  int j=0;
1048  typedef typename reco::MuonCollection::const_iterator const_iterator;
1049  for( const_iterator iter = offCollMu_->begin(), iend = offCollMu_->end(); iter != iend; ++iter )
1050  {
1051 
1052  // get Eta, Phi of the MuonDetectorTrack,
1053  // looking at the detector most inner Position
1054  // This should be close to what L1 sees
1055  float recoEta = iter->outerTrack()->innerPosition().eta();
1056  float recoPhi = iter->outerTrack()->innerPosition().phi();
1057  float recoPt = iter->pt();
1058 
1059  if (fabs(recoEta) <= EtaMax_ && recoPt >= EtMin_ )
1060  {
1061 
1062  // fill UM histos (no matching required)
1063  if (v_->getOffEtL1OffUMHisto() != 0) {
1064  if(NL1 == 1) {
1065 
1066  NL1OffUM++;
1067  v_->getOffEtL1OffUMHisto()->Fill(recoPt);
1068 
1069  if(recoPt >= thresholdFactor_*v_->getHltThreshold())
1070  v_->getOffEtaVsOffPhiL1OffUMHisto()->Fill(recoEta,recoPhi);
1071 
1072  }
1073  }
1074 
1075  // make maps of matched objects
1076  float dR = reco::deltaR(recoEta,recoPhi,l1FV.eta(),l1FV.phi());
1077  if ( dR < DRRange_)
1078  {
1079 
1080  L1OffDRMatchMap.insert(std::pair<float,int>(dR,j));
1081 
1082  }
1083 
1084  }
1085 
1086  j++;
1087 
1088  }
1089 
1090  }
1091  else if (offCollEle_.isValid()) {
1092 
1093  int j=0;
1094  typedef typename reco::GsfElectronCollection::const_iterator const_iterator;
1095  for( const_iterator iter = offCollEle_->begin(), iend = offCollEle_->end(); iter != iend; ++iter )
1096  {
1097 
1098  if (fabs(iter->eta()) <= EtaMax_ && iter->superCluster()->energy()*sin(iter->superCluster()->position().Theta()) >= EtMin_ )
1099  {
1100 
1101  if ( v_->getOffEtL1OffUMHisto() != 0) {
1102  // fill UM histos (no matching required)
1103  if(NL1 == 1) {
1104 
1105  NL1OffUM++;
1106  v_->getOffEtL1OffUMHisto()->Fill(iter->superCluster()->energy()*sin(iter->superCluster()->position().Theta()));
1107 
1108  if(iter->superCluster()->energy()*sin(iter->superCluster()->position().Theta()) >= thresholdFactor_*v_->getHltThreshold())
1109  v_->getOffEtaVsOffPhiL1OffUMHisto()->Fill(iter->eta(),iter->phi());
1110 
1111  }
1112  }
1113 
1114  // make maps of matched objects
1115  float dR = reco::deltaR(iter->eta(),iter->phi(),l1FV.eta(),l1FV.phi());
1116  if ( dR < DRRange_)
1117  {
1118 
1119  L1OffDRMatchMap.insert(std::pair<float,int>(dR,j));
1120 
1121  }
1122 
1123  }
1124 
1125  j++;
1126 
1127  }
1128 
1129  }
1130  else if (offColl_.isValid()) {
1131 
1132  int j=0;
1133  typedef typename T::const_iterator const_iterator;
1134  for( const_iterator iter = offColl_->begin(), iend = offColl_->end(); iter != iend; ++iter )
1135  {
1136 
1137  if (fabs(iter->eta()) <= EtaMax_ && iter->pt() >= EtMin_ )
1138  {
1139 
1140  // fill UM histos (no matching required)
1141  if (v_->getOffEtL1OffUMHisto()!= 0 ) {
1142  if(NL1 == 1) {
1143 
1144  NL1OffUM++;
1145  v_->getOffEtL1OffUMHisto()->Fill(iter->pt());
1146 
1147  if(iter->pt() >= thresholdFactor_*v_->getHltThreshold())
1148  v_->getOffEtaVsOffPhiL1OffUMHisto()->Fill(iter->eta(),iter->phi());
1149 
1150  }
1151  }
1152 
1153  // make maps of matched objects
1154  float dR = reco::deltaR(iter->eta(),iter->phi(),l1FV.eta(),l1FV.phi());
1155  if ( dR < DRRange_)
1156  {
1157 
1158  L1OffDRMatchMap.insert(std::pair<float,int>(dR,j));
1159 
1160  }
1161 
1162  }
1163 
1164  j++;
1165 
1166  }
1167 
1168  }
1169  if(! L1OffDRMatchMap.empty()) L1OffDRMatchSet.insert(L1OffDRMatchMap);
1170 
1171 }
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 1208 of file FourVectorHLTOffline.h.

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

1209 {
1210 
1211  if ( l1Index >= fv->fTriggerObj->sizeFilters() ) return;
1212 
1213  unsigned int NOnL1UM=0;
1214 
1215  const trigger::TriggerObjectCollection & toc(fv->fTriggerObj->getObjects());
1216  const trigger::Vids & idtype = fv->fTriggerObj->filterIds(l1Index);
1217  const trigger::Keys & l1k = fv->fTriggerObj->filterKeys(l1Index);
1218 
1219  fimmap OnL1DRMatchMap;
1220  int j=0;
1221  trigger::Vids::const_iterator idtypeiter = idtype.begin();
1222  for (trigger::Keys::const_iterator l1ki = l1k.begin(); l1ki !=l1k.end(); ++l1ki )
1223  {
1224 
1225  if(isL1TriggerType(*idtypeiter))
1226  {
1227 
1228  trigger::TriggerObject l1FV = toc[*l1ki];
1229 
1230  // fill UM histos (no matching required)
1231  if (v_->getL1EtL1OnUMHisto() != 0) {
1232  if(NOn == 1) {
1233 
1234  NOnL1UM++;
1235  v_->getL1EtL1OnUMHisto()->Fill(l1FV.pt());
1236  v_->getL1EtaVsL1PhiL1OnUMHisto()->Fill(l1FV.eta(),l1FV.phi());
1237 
1238  }
1239  }
1240 
1241  float dR = reco::deltaR(l1FV.eta(),l1FV.phi(),onlineFV.eta(),onlineFV.phi());
1242 
1243  if ( dR < DRRange_)
1244  {
1245 
1246  OnL1DRMatchMap.insert(std::pair<float,int>(dR,j));
1247 
1248  }
1249 
1250  } // end if isL1TriggerType
1251 
1252  ++idtypeiter;
1253  j++;
1254 
1255  } // end for
1256 
1257  if(! OnL1DRMatchMap.empty()) OnL1DRMatchSet.insert(OnL1DRMatchMap);
1258 
1259 }
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 1263 of file FourVectorHLTOffline.h.

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

1264 {
1265 
1266  unsigned int NOnOffUM=0;
1267 
1268  fimmap OnOffDRMatchMap;
1269 
1270  if (offCollB_.isValid()) {
1271 
1272  int j=0;
1273  typedef typename reco::JetTagCollection::const_iterator const_iterator;
1274  for( const_iterator iter = offCollB_->begin(), iend = offCollB_->end(); iter != iend; ++iter )
1275  {
1276 
1277  float recoEta = (*iter).first->eta();
1278  float recoPhi = (*iter).first->phi();
1279  float recoPt = (*iter).first->pt();
1280 
1281  if (fabs(recoEta) <= EtaMax_ && recoPt >= EtMin_ )
1282  {
1283 
1284 
1285  // fill UM histos (no matching required)
1286  if (v_->getOffEtOnOffUMHisto() != 0) {
1287  if(NOn == 1) {
1288 
1289  NOnOffUM++;
1290  v_->getOffEtOnOffUMHisto()->Fill(recoPt);
1291 
1292  if(recoPt >= thresholdFactor_*v_->getHltThreshold())
1293  v_->getOffEtaVsOffPhiOnOffUMHisto()->Fill(recoEta,recoPhi);
1294 
1295  }
1296  }
1297 
1298  // make maps of matched objects
1299  float dR = reco::deltaR(recoEta,recoPhi,onlineFV.eta(),onlineFV.phi());
1300  if ( dR < DRRange_)
1301  {
1302 
1303  OnOffDRMatchMap.insert(std::pair<float,int>(dR,j));
1304 
1305  }
1306 
1307  }
1308 
1309  j++;
1310 
1311  }
1312 
1313  }
1314  else if (offCollMu_.isValid() && fL2MuFlag) {
1315 
1316  int j=0;
1317  typedef typename reco::MuonCollection::const_iterator const_iterator;
1318  for( const_iterator iter = offCollMu_->begin(), iend = offCollMu_->end(); iter != iend; ++iter )
1319  {
1320 
1321  // get Eta, Phi of the MuonDetectorTrack,
1322  // looking at the detector most inner Position
1323  // This should be close to what L1 sees
1324  float recoEta = iter->outerTrack()->innerPosition().eta();
1325  float recoPhi = iter->outerTrack()->innerPosition().phi();
1326  float recoPt = iter->pt();
1327 
1328  if (fabs(recoEta) <= EtaMax_ && recoPt >= EtMin_ )
1329  {
1330  // fill UM histos (no matching required)
1331  if (v_->getOffEtOnOffUMHisto() != 0) {
1332  if(NOn == 1) {
1333 
1334  NOnOffUM++;
1335  v_->getOffEtOnOffUMHisto()->Fill(iter->pt());
1336 
1337  if(recoPt >= thresholdFactor_*v_->getHltThreshold())
1338  v_->getOffEtaVsOffPhiOnOffUMHisto()->Fill(iter->eta(),iter->phi());
1339 
1340  }
1341  }
1342 
1343  // make maps of matched objects
1344  float dR = reco::deltaR(recoEta,recoPhi,onlineFV.eta(),onlineFV.phi());
1345  if ( dR < DRRange_)
1346  {
1347 
1348  OnOffDRMatchMap.insert(std::pair<float,int>(dR,j));
1349 
1350  }
1351 
1352  }
1353 
1354  j++;
1355 
1356 
1357  }
1358 
1359  }
1360  else if (offCollEle_.isValid()) {
1361 
1362  int j=0;
1363 
1364  typedef typename reco::GsfElectronCollection::const_iterator const_iterator;
1365  for( const_iterator iter = offCollEle_->begin(), iend = offCollEle_->end(); iter != iend; ++iter )
1366  {
1367 
1368  if (fabs(iter->eta()) <= EtaMax_ && iter->superCluster()->energy()*sin(iter->superCluster()->position().Theta()) >= EtMin_ )
1369  {
1370 
1371  // fill UM histos (no matching required)
1372  if (v_->getOffEtOnOffUMHisto() != 0) {
1373  if(NOn == 1) {
1374 
1375  NOnOffUM++;
1376  v_->getOffEtOnOffUMHisto()->Fill(iter->superCluster()->energy()*sin(iter->superCluster()->position().Theta()));
1377 
1378  if(iter->superCluster()->energy()*sin(iter->superCluster()->position().Theta()) >= thresholdFactor_*v_->getHltThreshold())
1379  v_->getOffEtaVsOffPhiOnOffUMHisto()->Fill(iter->eta(),iter->phi());
1380 
1381  }
1382  }
1383 
1384  // make maps of matched objects
1385  float dR = reco::deltaR(iter->eta(),iter->phi(),onlineFV.eta(),onlineFV.phi());
1386  if ( dR < DRRange_)
1387  {
1388 
1389  OnOffDRMatchMap.insert(std::pair<float,int>(dR,j));
1390 
1391  }
1392 
1393  }
1394 
1395  j++;
1396 
1397 
1398  }
1399 
1400  }
1401  else if (offColl_.isValid()) {
1402 
1403  int j=0;
1404 
1405  typedef typename T::const_iterator const_iterator;
1406  for( const_iterator iter = offColl_->begin(), iend = offColl_->end(); iter != iend; ++iter )
1407  {
1408 
1409  if (fabs(iter->eta()) <= EtaMax_ && iter->pt() >= EtMin_ )
1410  {
1411 
1412  // fill UM histos (no matching required)
1413  if (v_->getOffEtOnOffUMHisto() != 0) {
1414  if(NOn == 1) {
1415 
1416  NOnOffUM++;
1417  v_->getOffEtOnOffUMHisto()->Fill(iter->pt());
1418 
1419  if(iter->pt() >= thresholdFactor_*v_->getHltThreshold())
1420  v_->getOffEtaVsOffPhiOnOffUMHisto()->Fill(iter->eta(),iter->phi());
1421 
1422  }
1423  }
1424 
1425  // make maps of matched objects
1426  float dR = reco::deltaR(iter->eta(),iter->phi(),onlineFV.eta(),onlineFV.phi());
1427  if ( dR < DRRange_)
1428  {
1429 
1430  OnOffDRMatchMap.insert(std::pair<float,int>(dR,j));
1431 
1432  }
1433 
1434  }
1435 
1436  j++;
1437 
1438 
1439  }
1440 
1441  }
1442 
1443  if(! OnOffDRMatchMap.empty()) OnOffDRMatchSet.insert(OnOffDRMatchMap);
1444 
1445 }
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 953 of file FourVectorHLTOffline.h.

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

954 {
955 
956  if ( l1Index >= fv->fTriggerObj->sizeFilters() ) return;
957 
958  unsigned int NL1=0;
959  unsigned int NL1OffUM=0;
960 
961  const trigger::TriggerObjectCollection & toc(fv->fTriggerObj->getObjects());
962  const trigger::Vids & idtype = fv->fTriggerObj->filterIds(l1Index);
963  const trigger::Keys & l1k = fv->fTriggerObj->filterKeys(l1Index);
964  bool l1accept = l1k.size() > 0;
965 
966  if(!l1accept) return;
967 
968  trigger::Vids::const_iterator idtypeiter = idtype.begin();
969 
970  for (trigger::Keys::const_iterator l1ki = l1k.begin(); l1ki !=l1k.end(); ++l1ki ) {
971 
972  trigger::TriggerObject l1FV = toc[*l1ki];
973 
974  if(isL1TriggerType(*idtypeiter))
975  {
976 
977  NL1++;
978 
979  v_->getL1EtL1Histo()->Fill(l1FV.pt());
980  v_->getL1EtaVsL1PhiL1Histo()->Fill(l1FV.eta(), l1FV.phi());
981 
982  matchL1Offline(l1FV, fv, NL1, NL1OffUM);
983 
984  } // end if isL1TriggerType
985 
986  ++idtypeiter;
987 
988  } // end for l1ki
989 
990  if(NL1 > 0) v_->getNL1Histo()->Fill(NL1);
991  if(NL1OffUM > 0) v_->getNL1OffUMHisto()->Fill(NL1OffUM);
992 
993 }
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 855 of file FourVectorHLTOffline.h.

References funct::sin().

856 {
857 
858  if(! isTriggerType(v_->getObjectType()) ) return;
859 
860  unsigned int NOff = 0;
861 
862  if( offCollB_.isValid()) {
863  typedef typename reco::JetTagCollection::const_iterator const_iterator;
864  for( const_iterator iter = offCollB_->begin(), iend = offCollB_->end(); iter != iend; ++iter )
865  {
866 
867  float recoEta = (*iter).first->eta();
868  float recoPhi = (*iter).first->phi();
869  float recoPt = (*iter).first->pt();
870 
871 
872  if (fabs(recoEta) <= EtaMax_ && recoPt >= EtMin_ )
873  {
874 
875  NOff++;
876  v_->getOffEtOffHisto()->Fill(recoPt);
877  if(recoPt >= thresholdFactor_*v_->getHltThreshold())
878  v_->getOffEtaVsOffPhiOffHisto()->Fill(recoEta, recoPhi);
879 
880  }
881  /*
882  else {
883 
884  continue;
885 
886  }
887  */
888 
889  }
890 
891  }
892  else if(offCollEle_.isValid()) {
893 
894  typedef typename reco::GsfElectronCollection::const_iterator const_iterator;
895  for( const_iterator iter = offCollEle_->begin(), iend = offCollEle_->end(); iter != iend; ++iter )
896  {
897 
898  if (fabs(iter->eta()) <= EtaMax_ && iter->superCluster()->energy()*sin(iter->superCluster()->position().Theta()) >= EtMin_ )
899  {
900 
901  NOff++;
902  v_->getOffEtOffHisto()->Fill(iter->superCluster()->energy()*sin(iter->superCluster()->position().Theta()));
903 
904  if(iter->pt() >= thresholdFactor_*v_->getHltThreshold())
905  v_->getOffEtaVsOffPhiOffHisto()->Fill(iter->eta(), iter->phi());
906 
907  }
908  /*
909  else {
910 
911  continue;
912 
913  }
914  */
915 
916  }
917 
918  } // end else if
919  else if(offColl_.isValid()) {
920 
921  typedef typename T::const_iterator const_iterator;
922  for( const_iterator iter = offColl_->begin(), iend = offColl_->end(); iter != iend; ++iter )
923  {
924 
925  if (fabs(iter->eta()) <= EtaMax_ && iter->pt() >= EtMin_ )
926  {
927 
928  NOff++;
929  v_->getOffEtOffHisto()->Fill(iter->pt());
930 
931  if(iter->pt() >= thresholdFactor_*v_->getHltThreshold())
932  v_->getOffEtaVsOffPhiOffHisto()->Fill(iter->eta(), iter->phi());
933 
934  }
935  /*
936  else {
937 
938  continue;
939 
940  }
941  */
942 
943  }
944 
945  } // end else if
946 
947  if(NOff>0)v_->getNOffHisto()->Fill(NOff);
948 
949 }
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 1175 of file FourVectorHLTOffline.h.

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

1176 {
1177 
1178  if(! isTriggerType(v_->getObjectType()) ) return;
1179 
1180  // Get keys of objects passed by the last filter
1181  const trigger::Keys & k = fv->fTriggerObj->filterKeys(hltIndex);
1182 
1183  const trigger::TriggerObjectCollection & toc(fv->fTriggerObj->getObjects());
1184 
1185  unsigned int NOn=0;
1186 
1187  // Loop over HLT objects
1188  for (trigger::Keys::const_iterator ki = k.begin(); ki !=k.end(); ++ki ) {
1189 
1190  trigger::TriggerObject onlineFV = toc[*ki];
1191 
1192  NOn++;
1193 
1194  v_->getOnEtOnHisto()->Fill(onlineFV.pt());
1195  v_->getOnOneOverEtOnHisto()->Fill(1./onlineFV.pt());
1196  v_->getOnEtaVsOnPhiOnHisto()->Fill(onlineFV.eta(), onlineFV.phi());
1197 
1198  matchOnlineL1(onlineFV,l1Index, fv, NOn);
1199  matchOnlineOffline(onlineFV,fv, NOn);
1200 
1201  } // end loop over HLT objects
1202 
1203  if(NOn>0) v_->getNOnHisto()->Fill(NOn);
1204 
1205 }
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 740 of file FourVectorHLTOffline.h.

References objMonData< T >::l1triggerType_.

740 { 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 738 of file FourVectorHLTOffline.h.

References objMonData< T >::triggerType_.

738 { 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_.

Referenced by FourVectorHLTOnline::analyze().

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

Definition at line 776 of file FourVectorHLTOffline.h.

References objMonData< T >::BJetsFlag_.

777  {
778  BJetsFlag_ = flag;
779  }
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 739 of file FourVectorHLTOffline.h.

References objMonData< T >::l1triggerType_.

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

Definition at line 780 of file FourVectorHLTOffline.h.

References objMonData< T >::fL2MuFlag.

781  {
782  fL2MuFlag = flag;
783  }
template<class T >
void objMonData< T >::setLimits ( float  etaMax,
float  etMin,
float  drMatch 
)
inline
template<class T >
void objMonData< T >::setLimits ( float  etaMax,
float  etMin,
float  drMatch,
float  l1drMatch,
float  dRRange,
float  thresholdFactor 
)
inline
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 741 of file FourVectorHLTOffline.h.

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

741 { 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 742 of file FourVectorHLTOffline.h.

References objMonData< T >::offColl_.

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

Definition at line 743 of file FourVectorHLTOffline.h.

References objMonData< T >::offCollB_.

Referenced by FourVectorHLTOffline::analyze().

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

Definition at line 745 of file FourVectorHLTOffline.h.

References objMonData< T >::offCollEle_.

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

Definition at line 744 of file FourVectorHLTOffline.h.

References objMonData< T >::offCollMu_.

744 { 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 737 of file FourVectorHLTOffline.h.

References objMonData< T >::triggerType_.

737 { 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 796 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 795 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 807 of file FourVectorHLTOffline.h.

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

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

Definition at line 809 of file FourVectorHLTOffline.h.

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

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

Definition at line 808 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 797 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 811 of file FourVectorHLTOffline.h.