CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Types | Private Attributes
L1TRateHelper::L1TRateHelper Class Reference

#include <L1TRateHelper.h>

Public Member Functions

void addOrbit (int orbit)
 Adds event with specified orbit. If the event for some reason comes late (after removal of coresponding entry from m_rateMap), it wont be accounted. More...
 
int getEarliestTime ()
 gets time of earliest event (orbit) recorded in event. Returned time -1 is invalid More...
 
int getLastTime ()
 gets time of latest event (orbit) recorded in event. Returned time -1 is invalid More...
 
int getTimeForOrbit (int orbit)
 
 L1TRateHelper ()
 
std::pair< int, int > removeAndGetRateForEarliestTime ()
 

Private Types

typedef std::map< int,
TRateStruct, TRateStruct
TRateMap
 

Private Attributes

int m_lastRemovedOrbit
 
TRateMap m_rateMap
 
int m_timeStart
 

Detailed Description

Definition at line 31 of file L1TRateHelper.h.

Member Typedef Documentation

Definition at line 59 of file L1TRateHelper.h.

Constructor & Destructor Documentation

L1TRateHelper::L1TRateHelper::L1TRateHelper ( )
inline

Definition at line 34 of file L1TRateHelper.h.

Member Function Documentation

void L1TRateHelper::L1TRateHelper::addOrbit ( int  orbit)
inline

Adds event with specified orbit. If the event for some reason comes late (after removal of coresponding entry from m_rateMap), it wont be accounted.

Definition at line 44 of file L1TRateHelper.h.

References m_lastRemovedOrbit, and m_rateMap.

Referenced by L1TRPCTF::analyze().

44 { if (orbit > m_lastRemovedOrbit) m_rateMap[orbit].add(orbit);};
int L1TRateHelper::L1TRateHelper::getEarliestTime ( )
inline

gets time of earliest event (orbit) recorded in event. Returned time -1 is invalid

Definition at line 47 of file L1TRateHelper.h.

References m_rateMap.

Referenced by L1TRPCTF::fillRateHistos().

47  {
48  if (m_rateMap.begin() == m_rateMap.end() ) return -1;
49  return m_rateMap.begin()->second.getTime();
50  };
int L1TRateHelper::L1TRateHelper::getLastTime ( )
inline

gets time of latest event (orbit) recorded in event. Returned time -1 is invalid

Definition at line 53 of file L1TRateHelper.h.

References m_rateMap.

53  {
54  if (m_rateMap.begin() == m_rateMap.end() ) return -1;
55  return m_rateMap.rbegin()->second.getTime();
56  };
int L1TRateHelper::L1TRateHelper::getTimeForOrbit ( int  orbit)
inline

Definition at line 59 of file L1TRateHelper.h.

Referenced by L1TRPCTF::fillRateHistos().

59 {return TRateStruct::getTimeForOrbit(orbit); };
static int getTimeForOrbit(const int &orbit)
Definition: L1TRateHelper.h:19
std::pair< int, int > L1TRateHelper::L1TRateHelper::removeAndGetRateForEarliestTime ( )

returns time (in pair.first) and rate for earliest record, removes earliest record from map. Time here is measured wrt to first record removed (first call of removeAndGetRateForEarliestTime will get time value equal to 1). As consequence: time returned in pair.second is shifted wrt to time from getEarliestTime, getLastTime, getTimeForOrbit methods

Definition at line 7 of file L1TRateHelper.cc.

References m_lastRemovedOrbit, m_rateMap, and m_timeStart.

Referenced by L1TRPCTF::fillRateHistos().

7  {
8  if (m_rateMap.begin() == m_rateMap.end() )
9  return std::make_pair(-1,-1);
10 
11  if (m_timeStart==-1) {
12  m_timeStart = m_rateMap.begin()->second.getTime()-1; // so time will start from 1
13  }
14  int r1 = m_rateMap.begin()->second.getTime()-m_timeStart;
15  int r2 = m_rateMap.begin()->second.m_events;
16  m_lastRemovedOrbit = m_rateMap.begin()->second.m_orbitHigh;
17  m_rateMap.erase(m_rateMap.begin());
18  return std::make_pair(r1,r2);
19 }

Member Data Documentation

int L1TRateHelper::L1TRateHelper::m_lastRemovedOrbit
private

Definition at line 64 of file L1TRateHelper.h.

Referenced by addOrbit(), and removeAndGetRateForEarliestTime().

TRateMap L1TRateHelper::L1TRateHelper::m_rateMap
private
int L1TRateHelper::L1TRateHelper::m_timeStart
private

Definition at line 65 of file L1TRateHelper.h.

Referenced by removeAndGetRateForEarliestTime().