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 (std::vector< int > trigType)
 
void setL1TriggerType (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 (std::vector< int > trigType)
 
void setTriggerType (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< T > offColl_
 
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 591 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 902 of file FourVectorHLTOnline.h.

903 {
904 
905  L1OffDRMatchSet.clear();
906  L1MCDRMatchSet.clear();
907  OnOffDRMatchSet.clear();
908  OnMCDRMatchSet.clear();
909  OnL1DRMatchSet.clear();
910  OffMCDRMatchSet.clear();
911 
912 }
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 1654 of file FourVectorHLTOffline.h.

1655 {
1656 
1657  fillL1OffMatch(fv);
1658 
1659 }
void fillL1OffMatch(FourVectorHLTOffline *fv)
template<class T >
void objMonData< T >::fillL1OffMatch ( FourVectorHLTOffline fv)

Definition at line 1427 of file FourVectorHLTOffline.h.

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

1428 {
1429 
1430  float NL1Off=0;
1431 
1432  if(L1OffDRMatchSet.size() > 1) {
1433 
1434  LogDebug("FourVectorHLTOffline") << " Cleaning L1Off mmset" << std::endl;
1436 
1437  }
1438  // clean the set L1-Off
1439  // now fill histos
1440  for ( mmset::iterator setIter = L1OffDRMatchSet.begin( ); setIter != L1OffDRMatchSet.end( ); setIter++ )
1441  {
1442 
1443  fimmap tempMap = *setIter;
1444 
1445  fimmap::iterator it = tempMap.begin();
1446  int i = (*it).second ;
1447  float dR = (*it).first;
1448  v_->getOffDRL1OffHisto()->Fill(dR);
1449 
1450  if (dR > L1DRMatch_) continue;
1451  if( offCollB_.isValid()) {
1452 
1453  typedef typename reco::JetTagCollection::const_iterator const_iterator;
1454  const_iterator iter = offCollB_->begin();
1455  for (int count = 0; count < i; count++) iter++;
1456 
1457 
1458  NL1Off++;
1459  v_->getOffEtL1OffHisto()->Fill((*iter).first->pt());
1460  if((*iter).first->pt() >= thresholdFactor_*v_->getHltThreshold())
1461  v_->getOffEtaVsOffPhiL1OffHisto()->Fill((*iter).first->eta(),(*iter).first->phi());
1462 
1463 
1464  }
1465  else if( offCollMu_.isValid()) {
1466 
1467  typedef typename reco::MuonCollection::const_iterator const_iterator;
1468  const_iterator iter = offCollMu_->begin();
1469  for (int count = 0; count < i; count++) iter++;
1470 
1471 
1472  NL1Off++;
1473  v_->getOffEtL1OffHisto()->Fill(iter->pt());
1474  if(iter->pt() >= thresholdFactor_*v_->getHltThreshold())
1475  v_->getOffEtaVsOffPhiL1OffHisto()->Fill(iter->outerTrack()->innerPosition().eta(),iter->outerTrack()->innerPosition().phi());
1476 
1477  }
1478  else if( offCollEle_.isValid()) {
1479 
1480  typedef typename reco::GsfElectronCollection::const_iterator const_iterator;
1481  const_iterator iter = offCollEle_->begin();
1482  for (int count = 0; count < i; count++) iter++;
1483 
1484 
1485  NL1Off++;
1486  v_->getOffEtL1OffHisto()->Fill(iter->superCluster()->energy()*sin(iter->superCluster()->position().Theta()));
1487  if(iter->pt() >= thresholdFactor_*v_->getHltThreshold())
1488  v_->getOffEtaVsOffPhiL1OffHisto()->Fill(iter->eta(),iter->phi());
1489 
1490  }
1491  else if( offColl_.isValid()) {
1492 
1493  typedef typename T::const_iterator const_iterator;
1494  const_iterator iter = offColl_->begin();
1495  for (int count = 0; count < i; count++) iter++;
1496 
1497 
1498  NL1Off++;
1499  v_->getOffEtL1OffHisto()->Fill(iter->pt());
1500  if(iter->pt() >= thresholdFactor_*v_->getHltThreshold())
1501  v_->getOffEtaVsOffPhiL1OffHisto()->Fill(iter->eta(),iter->phi());
1502 
1503  }
1504 
1505  }
1506 
1507  if(NL1Off > 0) v_->getNL1OffHisto()->Fill(NL1Off);
1508 
1509 }
#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 849 of file FourVectorHLTOnline.h.

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

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

Definition at line 1600 of file FourVectorHLTOffline.h.

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

1601 {
1602 
1603  const trigger::TriggerObjectCollection & toc(fv->fTriggerObj->getObjects());
1604  const trigger::Keys & l1k = fv->fTriggerObj->filterKeys(l1Index);
1605 
1606  unsigned int NOnL1=0;
1607 
1608  // clean the set On-L1
1609  if(OnL1DRMatchSet.size() > 1) {
1610 
1611  LogDebug("FourVectorHLTOffline") << " Cleaning L1On mmset" << std::endl;
1613 
1614  }
1615  // now fill histos
1616  for ( mmset::iterator setIter = OnL1DRMatchSet.begin( ); setIter != OnL1DRMatchSet.end( ); setIter++ )
1617  {
1618 
1619  fimmap tempMap = *setIter;
1620 
1621  fimmap::iterator it = tempMap.begin();
1622  int i = (*it).second ;
1623  float dR = (*it).first;
1624  v_->getL1DROnL1Histo()->Fill(dR);
1625 
1626  if (dR > L1DRMatch_) continue;
1627 
1628  trigger::Keys::const_iterator l1ki = l1k.begin();
1629  for (int count = 0; count < i; count++) l1ki++;
1630 
1631  NOnL1++;
1632  v_->getL1EtL1OnHisto()->Fill(toc[*l1ki].pt());
1633  v_->getL1EtaVsL1PhiL1OnHisto()->Fill(toc[*l1ki].eta(),toc[*l1ki].phi());
1634 
1635  }
1636 
1637  v_->getNL1OnHisto()->Fill(NOnL1);
1638 
1639 }
#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:83
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 891 of file FourVectorHLTOnline.h.

References FourVectorHLTOnline::fTriggerObj.

892 {
893 
894 
895  if ( l1Index >= fv->fTriggerObj->sizeFilters() ) return;
896  fillOnL1Match(l1Index, fv);
897 
898 }
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 1642 of file FourVectorHLTOffline.h.

References FourVectorHLTOffline::fTriggerObj.

1643 {
1644 
1645  if(! isTriggerType(v_->getObjectType()) ) return;
1646  fillOnOffMatch(fv);
1647 
1648  if ( l1Index >= fv->fTriggerObj->sizeFilters() ) return;
1649  fillOnL1Match(l1Index, fv);
1650 
1651 }
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 1513 of file FourVectorHLTOffline.h.

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

1514 {
1515 
1516  unsigned int NOnOff=0;
1517 
1518  // clean the set L1-Off
1519  if(OnOffDRMatchSet.size() > 1){
1520 
1521  LogDebug("FourVectorHLTOffline") << " Cleaning OnOff mmset" << std::endl;
1523 
1524  }
1525  // now fill histos
1526  for ( mmset::iterator setIter = OnOffDRMatchSet.begin( ); setIter != OnOffDRMatchSet.end( ); setIter++ )
1527  {
1528 
1529 
1530  fimmap tempMap = *setIter;
1531 
1532  fimmap::iterator it = tempMap.begin();
1533  int i = (*it).second ;
1534  float dR = (*it).first;
1535  v_->getOffDROnOffHisto()->Fill(dR);
1536 
1537 
1538  if (dR > DRMatch_) continue;
1539 
1540  if( offCollB_.isValid()) {
1541 
1542 
1543  typedef typename reco::JetTagCollection::const_iterator const_iterator;
1544  const_iterator iter = offCollB_->begin();
1545  for (int count = 0; count < i; count++) iter++;
1546 
1547 
1548  NOnOff++;
1549  v_->getOffEtOnOffHisto()->Fill((*iter).first->pt());
1550  if((*iter).first->pt() >= thresholdFactor_*v_->getHltThreshold())
1551  v_->getOffEtaVsOffPhiOnOffHisto()->Fill((*iter).first->eta(),(*iter).first->phi());
1552 
1553  }
1554  else if( offCollMu_.isValid() && fL2MuFlag) {
1555 
1556  typedef typename reco::MuonCollection::const_iterator const_iterator;
1557  const_iterator iter = offCollMu_->begin();
1558  for (int count = 0; count < i; count++) iter++;
1559 
1560 
1561  NOnOff++;
1562  v_->getOffEtOnOffHisto()->Fill(iter->pt());
1563  if(iter->pt() >= thresholdFactor_*v_->getHltThreshold())
1564  v_->getOffEtaVsOffPhiOnOffHisto()->Fill(iter->outerTrack()->innerPosition().eta(),iter->outerTrack()->innerPosition().phi());
1565 
1566  }
1567  else if( offCollEle_.isValid()) {
1568 
1569  typedef typename reco::GsfElectronCollection::const_iterator const_iterator;
1570  const_iterator iter = offCollEle_->begin();
1571  for (int count = 0; count < i; count++) iter++;
1572 
1573  NOnOff++;
1574  v_->getOffEtOnOffHisto()->Fill(iter->superCluster()->energy()*sin(iter->superCluster()->position().Theta()));
1575  if(iter->superCluster()->energy()*fabs(sin(iter->superCluster()->position().Theta())) >= thresholdFactor_*v_->getHltThreshold())
1576  v_->getOffEtaVsOffPhiOnOffHisto()->Fill(iter->eta(),iter->phi());
1577 
1578  }
1579  else if( offColl_.isValid()) {
1580 
1581  typedef typename T::const_iterator const_iterator;
1582  const_iterator iter = offColl_->begin();
1583  for (int count = 0; count < i; count++) iter++;
1584 
1585  NOnOff++;
1586  v_->getOffEtOnOffHisto()->Fill(iter->pt());
1587  if(iter->pt() >= thresholdFactor_*v_->getHltThreshold())
1588  v_->getOffEtaVsOffPhiOnOffHisto()->Fill(iter->eta(),iter->phi());
1589 
1590  }
1591 
1592  }
1593 
1594  v_->getNOnOffHisto()->Fill(NOnOff);
1595 
1596 }
#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 678 of file FourVectorHLTOnline.h.

679 {
680  bool rc = false;
681 
682  for(std::vector<int>::const_iterator it = l1triggerType_.begin(); it != l1triggerType_.end(); ++it)
683  {
684 
685  if(fabs(t) == fabs(*it)) { rc = true; break; }
686 
687  } // end for
688 
689  return rc;
690 
691 }
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 659 of file FourVectorHLTOnline.h.

660 {
661  bool rc = false;
662 
663  for(std::vector<int>::const_iterator it = triggerType_.begin(); it != triggerType_.end(); ++it)
664  {
665 
666  if(t == *it) { rc = true; break; }
667 
668  } // end for
669 
670  if (t==0) rc = true;
671 
672  return rc;
673 
674 }
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 994 of file FourVectorHLTOffline.h.

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

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

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

790 {
791 
792  if ( l1Index >= fv->fTriggerObj->sizeFilters() ) return;
793 
794  unsigned int NOnL1UM=0;
795 
796  const trigger::TriggerObjectCollection & toc(fv->fTriggerObj->getObjects());
797  const trigger::Vids & idtype = fv->fTriggerObj->filterIds(l1Index);
798  const trigger::Keys & l1k = fv->fTriggerObj->filterKeys(l1Index);
799 
800  fimmap OnL1DRMatchMap;
801  int j=0;
802  trigger::Vids::const_iterator idtypeiter = idtype.begin();
803  for (trigger::Keys::const_iterator l1ki = l1k.begin(); l1ki !=l1k.end(); ++l1ki )
804  {
805 
806 
807 
808  if(isL1TriggerType(*idtypeiter))
809  {
810 
811  trigger::TriggerObject l1FV = toc[*l1ki];
812 
813  if ( fabs(l1FV.eta()) <= EtaMax_ && l1FV.pt() >= EtMin_ )
814  {
815 
816  // fill UM histos (no matching required)
817  if(NOn == 1) {
818 
819  NOnL1UM++;
820  v_->getL1EtL1OnUMHisto()->Fill(l1FV.pt());
821  v_->getL1EtaVsL1PhiL1OnUMHisto()->Fill(l1FV.eta(),l1FV.phi());
822 
823  }
824 
825 
826  float dR = reco::deltaR(l1FV.eta(),l1FV.phi(),onlineFV.eta(),onlineFV.phi());
827 
828  if ( dR < 1.0)
829  {
830 
831  OnL1DRMatchMap.insert(std::pair<float,int>(dR,j));
832 
833  }
834 
835  } // end if l1FV eta, pt
836 
837  } // end if isL1TriggerType
838 
839  ++idtypeiter;
840  j++;
841 
842  } // end for
843 
844  if(! OnL1DRMatchMap.empty()) OnL1DRMatchSet.insert(OnL1DRMatchMap);
845 
846 }
edm::Handle< trigger::TriggerEvent > fTriggerObj
bool isL1TriggerType(int t)
float phi() const
Definition: TriggerObject.h:60
std::multimap< float, int > fimmap
float eta() const
Definition: TriggerObject.h:59
double deltaR(double eta1, double phi1, double eta2, double phi2)
Definition: deltaR.h:19
Single trigger physics object (e.g., an isolated muon)
Definition: TriggerObject.h:24
FourVectorHLTOnline::PathInfoCollection::iterator v_
int j
Definition: DBlmapReader.cc:9
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
Definition: TriggerObject.h:83
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 1197 of file FourVectorHLTOffline.h.

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

1198 {
1199 
1200  if ( l1Index >= fv->fTriggerObj->sizeFilters() ) return;
1201 
1202  unsigned int NOnL1UM=0;
1203 
1204  const trigger::TriggerObjectCollection & toc(fv->fTriggerObj->getObjects());
1205  const trigger::Vids & idtype = fv->fTriggerObj->filterIds(l1Index);
1206  const trigger::Keys & l1k = fv->fTriggerObj->filterKeys(l1Index);
1207 
1208  fimmap OnL1DRMatchMap;
1209  int j=0;
1210  trigger::Vids::const_iterator idtypeiter = idtype.begin();
1211  for (trigger::Keys::const_iterator l1ki = l1k.begin(); l1ki !=l1k.end(); ++l1ki )
1212  {
1213 
1214  if(isL1TriggerType(*idtypeiter))
1215  {
1216 
1217  trigger::TriggerObject l1FV = toc[*l1ki];
1218 
1219  // fill UM histos (no matching required)
1220  if(NOn == 1) {
1221 
1222  NOnL1UM++;
1223  v_->getL1EtL1OnUMHisto()->Fill(l1FV.pt());
1224  v_->getL1EtaVsL1PhiL1OnUMHisto()->Fill(l1FV.eta(),l1FV.phi());
1225 
1226  }
1227 
1228 
1229  float dR = reco::deltaR(l1FV.eta(),l1FV.phi(),onlineFV.eta(),onlineFV.phi());
1230 
1231  if ( dR < DRRange_)
1232  {
1233 
1234  OnL1DRMatchMap.insert(std::pair<float,int>(dR,j));
1235 
1236  }
1237 
1238  } // end if isL1TriggerType
1239 
1240  ++idtypeiter;
1241  j++;
1242 
1243  } // end for
1244 
1245  if(! OnL1DRMatchMap.empty()) OnL1DRMatchSet.insert(OnL1DRMatchMap);
1246 
1247 }
bool isL1TriggerType(int t)
float phi() const
Definition: TriggerObject.h:60
std::multimap< float, int > fimmap
float eta() const
Definition: TriggerObject.h:59
double deltaR(double eta1, double phi1, double eta2, double phi2)
Definition: deltaR.h:19
Single trigger physics object (e.g., an isolated muon)
Definition: TriggerObject.h:24
FourVectorHLTOnline::PathInfoCollection::iterator v_
int j
Definition: DBlmapReader.cc:9
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
Definition: TriggerObject.h:83
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 1251 of file FourVectorHLTOffline.h.

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

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

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

696 {
697 
698  if ( l1Index >= fv->fTriggerObj->sizeFilters() ) return;
699 
700  unsigned int NL1=0;
701  unsigned int NL1OffUM=0;
702 
703  const trigger::TriggerObjectCollection & toc(fv->fTriggerObj->getObjects());
704  const trigger::Vids & idtype = fv->fTriggerObj->filterIds(l1Index);
705  const trigger::Keys & l1k = fv->fTriggerObj->filterKeys(l1Index);
706  bool l1accept = l1k.size() > 0;
707 
708  if(!l1accept) return;
709 
710  trigger::Vids::const_iterator idtypeiter = idtype.begin();
711 
712  for (trigger::Keys::const_iterator l1ki = l1k.begin(); l1ki !=l1k.end(); ++l1ki ) {
713 
714  trigger::TriggerObject l1FV = toc[*l1ki];
715  if(isL1TriggerType(*idtypeiter))
716  {
717 
718 
719 
720  if (fabs(l1FV.eta()) <= EtaMax_ && l1FV.pt() >= EtMin_)
721  {
722 
723  NL1++;
724 
725  v_->getL1EtL1Histo()->Fill(l1FV.pt());
726  v_->getL1EtaVsL1PhiL1Histo()->Fill(l1FV.eta(), l1FV.phi());
727 
728  }
729  else {
730 
731  continue;
732 
733  }
734 
735  } // end if isL1TriggerType
736  ++idtypeiter;
737 
738  } // end for l1ki
739 
740  if(NL1 > 0) v_->getNL1Histo()->Fill(NL1);
741  if(NL1OffUM > 0) v_->getNL1OffUMHisto()->Fill(NL1OffUM);
742 
743 }
edm::Handle< trigger::TriggerEvent > fTriggerObj
bool isL1TriggerType(int t)
float phi() const
Definition: TriggerObject.h:60
float eta() const
Definition: TriggerObject.h:59
Single trigger physics object (e.g., an isolated muon)
Definition: TriggerObject.h:24
FourVectorHLTOnline::PathInfoCollection::iterator v_
std::vector< TriggerObject > TriggerObjectCollection
collection of trigger physics objects (e.g., all isolated muons)
Definition: TriggerObject.h:83
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 950 of file FourVectorHLTOffline.h.

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

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

References funct::sin().

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

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

748 {
749 
750  //if(! isTriggerType(v_->getObjectType()) ) return;
751 
752  // Get keys of objects passed by the last filter
753  const trigger::Keys & k = fv->fTriggerObj->filterKeys(hltIndex);
754 
755  const trigger::TriggerObjectCollection & toc(fv->fTriggerObj->getObjects());
756 
757  unsigned int NOn=0;
758 
759  // Loop over HLT objects
760  for (trigger::Keys::const_iterator ki = k.begin(); ki !=k.end(); ++ki ) {
761 
762  trigger::TriggerObject onlineFV = toc[*ki];
763 
764  if (fabs(onlineFV.eta()) <= EtaMax_ && onlineFV.pt() >= EtMin_)
765  {
766 
767  NOn++;
768 
769  v_->getOnEtOnHisto()->Fill(onlineFV.pt());
770  v_->getOnOneOverEtOnHisto()->Fill(1./onlineFV.pt());
771  v_->getOnEtaVsOnPhiOnHisto()->Fill(onlineFV.eta(), onlineFV.phi());
772 
773  }
774  else {
775 
776  return;
777 
778  }
779 
780  matchOnlineL1(onlineFV,l1Index, fv, NOn);
781 
782  } // end loop over HLT objects
783 
784  if(NOn>0) v_->getNOnHisto()->Fill(NOn);
785 
786 }
edm::Handle< trigger::TriggerEvent > fTriggerObj
float phi() const
Definition: TriggerObject.h:60
void matchOnlineL1(const trigger::TriggerObject &onlineFV, const int &l1Index, FourVectorHLTOnline *fv, const int &NOn)
float eta() const
Definition: TriggerObject.h:59
Single trigger physics object (e.g., an isolated muon)
Definition: TriggerObject.h:24
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:83
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 1164 of file FourVectorHLTOffline.h.

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

1165 {
1166 
1167  if(! isTriggerType(v_->getObjectType()) ) return;
1168 
1169  // Get keys of objects passed by the last filter
1170  const trigger::Keys & k = fv->fTriggerObj->filterKeys(hltIndex);
1171 
1172  const trigger::TriggerObjectCollection & toc(fv->fTriggerObj->getObjects());
1173 
1174  unsigned int NOn=0;
1175 
1176  // Loop over HLT objects
1177  for (trigger::Keys::const_iterator ki = k.begin(); ki !=k.end(); ++ki ) {
1178 
1179  trigger::TriggerObject onlineFV = toc[*ki];
1180 
1181  NOn++;
1182 
1183  v_->getOnEtOnHisto()->Fill(onlineFV.pt());
1184  v_->getOnOneOverEtOnHisto()->Fill(1./onlineFV.pt());
1185  v_->getOnEtaVsOnPhiOnHisto()->Fill(onlineFV.eta(), onlineFV.phi());
1186 
1187  matchOnlineL1(onlineFV,l1Index, fv, NOn);
1188  matchOnlineOffline(onlineFV,fv, NOn);
1189 
1190  } // end loop over HLT objects
1191 
1192  if(NOn>0) v_->getNOnHisto()->Fill(NOn);
1193 
1194 }
bool isTriggerType(int t)
float phi() const
Definition: TriggerObject.h:60
void matchOnlineL1(const trigger::TriggerObject &onlineFV, const int &l1Index, FourVectorHLTOnline *fv, const int &NOn)
float eta() const
Definition: TriggerObject.h:59
Single trigger physics object (e.g., an isolated muon)
Definition: TriggerObject.h:24
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:83
std::vector< size_type > Keys
edm::Handle< trigger::TriggerEvent > fTriggerObj
template<class T >
void objMonData< T >::pushL1TriggerType ( int  trigType)
inline

Definition at line 603 of file FourVectorHLTOnline.h.

References objMonData< T >::l1triggerType_.

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

Definition at line 737 of file FourVectorHLTOffline.h.

References objMonData< T >::l1triggerType_.

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

Definition at line 601 of file FourVectorHLTOnline.h.

References objMonData< T >::triggerType_.

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

Definition at line 735 of file FourVectorHLTOffline.h.

References objMonData< T >::triggerType_.

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

Definition at line 629 of file FourVectorHLTOnline.h.

References objMonData< T >::BJetsFlag_.

Referenced by FourVectorHLTOnline::analyze().

630  {
631  BJetsFlag_ = flag;
632  }
long int flag
Definition: mlp_lapack.h:47
template<class T >
void objMonData< T >::setBJetsFlag ( bool  flag)
inline

Definition at line 773 of file FourVectorHLTOffline.h.

References objMonData< T >::BJetsFlag_.

774  {
775  BJetsFlag_ = flag;
776  }
long int flag
Definition: mlp_lapack.h:47
template<class T >
void objMonData< T >::setL1TriggerType ( std::vector< int >  trigType)
inline

Definition at line 602 of file FourVectorHLTOnline.h.

References objMonData< T >::l1triggerType_.

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

Definition at line 736 of file FourVectorHLTOffline.h.

References objMonData< T >::l1triggerType_.

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

Definition at line 777 of file FourVectorHLTOffline.h.

References objMonData< T >::fL2MuFlag.

778  {
779  fL2MuFlag = flag;
780  }
long int flag
Definition: mlp_lapack.h:47
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 604 of file FourVectorHLTOnline.h.

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

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

Implements BaseMonitor.

Definition at line 738 of file FourVectorHLTOffline.h.

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

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

Definition at line 605 of file FourVectorHLTOnline.h.

References objMonData< T >::offColl_.

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

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

Definition at line 739 of file FourVectorHLTOffline.h.

References objMonData< T >::offColl_.

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

Definition at line 740 of file FourVectorHLTOffline.h.

References objMonData< T >::offCollB_.

Referenced by FourVectorHLTOffline::analyze().

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

Definition at line 742 of file FourVectorHLTOffline.h.

References objMonData< T >::offCollEle_.

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

Definition at line 741 of file FourVectorHLTOffline.h.

References objMonData< T >::offCollMu_.

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

Definition at line 600 of file FourVectorHLTOnline.h.

References objMonData< T >::triggerType_.

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

Definition at line 734 of file FourVectorHLTOffline.h.

References objMonData< T >::triggerType_.

734 { 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 643 of file FourVectorHLTOnline.h.

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

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

Definition at line 793 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 645 of file FourVectorHLTOnline.h.

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

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

Definition at line 792 of file FourVectorHLTOffline.h.

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

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

Definition at line 622 of file FourVectorHLTOnline.h.

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

Definition at line 621 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 651 of file FourVectorHLTOnline.h.

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

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

Definition at line 804 of file FourVectorHLTOffline.h.

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

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

Definition at line 806 of file FourVectorHLTOffline.h.

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

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

Definition at line 805 of file FourVectorHLTOffline.h.

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

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

Definition at line 626 of file FourVectorHLTOnline.h.

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

Definition at line 625 of file FourVectorHLTOnline.h.

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

Definition at line 624 of file FourVectorHLTOnline.h.

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

Definition at line 623 of file FourVectorHLTOnline.h.

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

Definition at line 637 of file FourVectorHLTOnline.h.

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

Definition at line 638 of file FourVectorHLTOnline.h.

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

Definition at line 794 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 653 of file FourVectorHLTOnline.h.

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

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

Definition at line 808 of file FourVectorHLTOffline.h.