CMS 3D CMS Logo

Classes | Public Member Functions | Private Attributes

LumiSummary Class Reference

#include <LumiSummary.h>

List of all members.

Classes

class  HLT
class  L1

Public Member Functions

float avgInsDelLumi () const
float avgInsDelLumiErr () const
float avgInsRecLumi () const
float avgInsRecLumiErr () const
unsigned long long bitzerocount () const
void copyHLTData (const std::vector< HLT > &hltdata)
void copyL1Data (const std::vector< L1 > &l1data)
unsigned long long deadcount () const
float deadFrac () const
HLT hltinfo (unsigned int idx) const
float intgDelLumi () const
float intgRecLumi () const
bool isProductEqual (LumiSummary const &next) const
bool isValid () const
L1 l1info (unsigned int idx) const
float liveFrac () const
unsigned int lsNumber () const
short lumiSecQual () const
float lumiSectionLength () const
 LumiSummary (float avginsdellumi, float avginsdellumierr, short lumisecqual, unsigned long long deadcount, unsigned long long bitzerocount, unsigned int lsnumber, const std::vector< L1 > &l1in, const std::vector< HLT > &hltin, unsigned int startorbit, unsigned int numorbit, const std::string &lumiversion)
 set default constructor
 LumiSummary ()
 default constructor
std::string lumiVersion () const
size_t nHLTPath () const
size_t nTriggerLine () const
unsigned int numOrbit () const
void setBitZeroCount (unsigned long long bitzerocount)
void setDeadCount (unsigned long long deadcount)
void setlsnumber (unsigned int lsnumber)
void setLumiData (float instlumi, float instlumierr, short lumiquality)
void setLumiVersion (const std::string &lumiversion)
void setOrbitData (unsigned int startorbit, unsigned int numorbit)
unsigned int startOrbit () const
void swapHLTData (std::vector< HLT > &hltdata)
void swapL1Data (std::vector< L1 > &l1data)
 ~LumiSummary ()
 destructor

Private Attributes

float avginsdellumi_
float avginsdellumierr_
unsigned long long bitzerocount_
unsigned long long deadcount_
std::vector< HLThltdata_
std::vector< L1l1data_
unsigned int lsnumber_
short lumisecqual_
std::string lumiversion_
unsigned int numorbit_
unsigned int startorbit_

Detailed Description

LumiSummary holds Summary information averaged over all bunch crossings for the given luminosity section LS

Author:
Valerie Halyo David Dagenhart Zhen Xie
Version:
1st Version June 7 2007
Id:
LumiSummary.h,v 1.20 2012/02/28 15:06:03 xiezhen Exp

Definition at line 21 of file LumiSummary.h.


Constructor & Destructor Documentation

LumiSummary::LumiSummary ( ) [inline]

default constructor

Definition at line 38 of file LumiSummary.h.

References hltdata_, and l1data_.

                 :
      lumiversion_("-1"),
      avginsdellumi_(0.0),
      avginsdellumierr_(0.0),
      lumisecqual_(0),
      deadcount_(0),
      bitzerocount_(),
      lsnumber_(0),
      startorbit_(0),
      numorbit_(0)
    { 
      hltdata_.reserve(100);
      l1data_.reserve(192);
    }
LumiSummary::LumiSummary ( float  avginsdellumi,
float  avginsdellumierr,
short  lumisecqual,
unsigned long long  deadcount,
unsigned long long  bitzerocount,
unsigned int  lsnumber,
const std::vector< L1 > &  l1in,
const std::vector< HLT > &  hltin,
unsigned int  startorbit,
unsigned int  numorbit,
const std::string &  lumiversion 
) [inline]

set default constructor

Definition at line 54 of file LumiSummary.h.

                                             :
      lumiversion_(lumiversion),
      avginsdellumi_(avginsdellumi), 
      avginsdellumierr_(avginsdellumierr), 
      lumisecqual_(lumisecqual),
      deadcount_(deadcount), bitzerocount_(bitzerocount), lsnumber_(lsnumber),
      hltdata_(hltin), l1data_(l1in),
      startorbit_(startorbit),numorbit_(numorbit)
      { }
LumiSummary::~LumiSummary ( ) [inline]

destructor

Definition at line 75 of file LumiSummary.h.

{}

Member Function Documentation

float LumiSummary::avgInsDelLumi ( ) const

average inst lumi,delivered, unit Hz/ub, uncalibrated for lumiversion v2

Definition at line 10 of file LumiSummary.cc.

References avginsdellumi_, and lumiversion_.

Referenced by avgInsRecLumi(), intgDelLumi(), and operator<<().

                               { 
  size_t iIndex=lumiversion_.rfind("v");
  if(iIndex != std::string::npos){//i.e. not "-1" and not "DIP", "-1" and "DIP" lumi are already corrected and unit conversion included in the raw data. 
    return avginsdellumi_*1000.0;
  }
  return avginsdellumi_;
}
float LumiSummary::avgInsDelLumiErr ( ) const

average inst lumi error, empty for lumiversion v2

Definition at line 22 of file LumiSummary.cc.

References avginsdellumierr_.

Referenced by operator<<().

                                  { 
  return  avginsdellumierr_;
}
float LumiSummary::avgInsRecLumi ( ) const

avg inst lumi corrected by deadtime

Definition at line 99 of file LumiSummary.cc.

References avgInsDelLumi(), and liveFrac().

Referenced by intgRecLumi(), and operator<<().

                                 {
  return this->avgInsDelLumi() * liveFrac(); 
}
float LumiSummary::avgInsRecLumiErr ( ) const

avg inst lumi error corrected by deadtime

Definition at line 103 of file LumiSummary.cc.

References avginsdellumierr_, and liveFrac().

Referenced by operator<<().

                                    {
  return avginsdellumierr_ * liveFrac(); 
}
unsigned long long LumiSummary::bitzerocount ( ) const

trigger normalization bit count*prescale

Definition at line 38 of file LumiSummary.cc.

References bitzerocount_.

Referenced by operator<<(), and setBitZeroCount().

                               {
  return bitzerocount_;
}
void LumiSummary::copyHLTData ( const std::vector< HLT > &  hltdata)

Definition at line 163 of file LumiSummary.cc.

References hltdata_.

                                                     {
  hltdata_.assign(hltdata.begin(),hltdata.end());
}
void LumiSummary::copyL1Data ( const std::vector< L1 > &  l1data)

Definition at line 159 of file LumiSummary.cc.

References l1data_.

                                                  {
  l1data_.assign(l1data.begin(),l1data.end());
}
unsigned long long LumiSummary::deadcount ( ) const

trigger DeadtimeBeamActive count

Definition at line 34 of file LumiSummary.cc.

References deadcount_.

Referenced by operator<<(), and setDeadCount().

                            {
  return deadcount_;
}
float LumiSummary::deadFrac ( ) const

the fraction trigger is not active= trigger DeadtimeBeamActive/BitZero special values: if trigger data absent for this LS, return deadfraction 1.0 if bitzero=0 return -1.0 meaning no beam

Definition at line 42 of file LumiSummary.cc.

References bitzerocount_, deadcount_, l1data_, and lumiversion_.

Referenced by liveFrac(), and operator<<().

                            {
  //definition: deadcount/bitzerocount
  //if no trigger data, return deadfraction 1.0,mask out this LS
  //if bitzerocount=0, return -1.0 meaning no beam
  if(lumiversion_=="DIP"){
    return float(deadcount_)/float(bitzerocount_);
  }
  if (l1data_.size()==0) return 1.0;
  if (bitzerocount_==0) return -1.0;
  return float(deadcount_)/float(bitzerocount_);
}
LumiSummary::HLT LumiSummary::hltinfo ( unsigned int  idx) const

Definition at line 87 of file LumiSummary.cc.

References hltdata_.

Referenced by operator<<().

                                           {
  return hltdata_.at(idx);
}
float LumiSummary::intgDelLumi ( ) const

delivered luminosity integrated over LS , unit /ub, uncalibrated for lumiversion v2

Definition at line 18 of file LumiSummary.cc.

References avgInsDelLumi(), and lumiSectionLength().

Referenced by operator<<().

                             {
  return this->avgInsDelLumi()*float(this->lumiSectionLength());
}
float LumiSummary::intgRecLumi ( ) const

recorded luminosity integrated over LS

Definition at line 26 of file LumiSummary.cc.

References avgInsRecLumi(), and lumiSectionLength().

                             {
  return this->avgInsRecLumi()*float(this->lumiSectionLength());
}
bool LumiSummary::isProductEqual ( LumiSummary const &  next) const

Definition at line 107 of file LumiSummary.cc.

References avginsdellumi_, avginsdellumierr_, deadcount_, hltdata_, l1data_, lsnumber_, lumisecqual_, lumiversion_, numorbit_, and startorbit_.

                                                         {
  return (avginsdellumi_ == next.avginsdellumi_ &&
          avginsdellumierr_ == next.avginsdellumierr_ &&
          lumisecqual_ == next.lumisecqual_ &&
          deadcount_ == next.deadcount_ &&
          lsnumber_ == next.lsnumber_ &&
          startorbit_== next.startorbit_ &&
          numorbit_==next.numorbit_&&
          l1data_.size() == next.l1data_.size() &&
          hltdata_.size() == next.hltdata_.size() &&
          lumiversion_ == next.lumiversion_ );
}
bool LumiSummary::isValid ( void  ) const

data are valid only if run exists from all sources lumi,trg ,hlt

Definition at line 79 of file LumiSummary.cc.

References avginsdellumi_.

Referenced by operator<<().

                           {
  return avginsdellumi_>0;
}
LumiSummary::L1 LumiSummary::l1info ( unsigned int  idx) const

Definition at line 83 of file LumiSummary.cc.

References l1data_.

Referenced by operator<<().

                                        {
  return l1data_.at(idx);
}
float LumiSummary::liveFrac ( ) const

the fraction trigger is active= 1-deadfraction special values: if deadfraction<0(no beam) livefraction=0

Definition at line 54 of file LumiSummary.cc.

References deadFrac().

Referenced by avgInsRecLumi(), avgInsRecLumiErr(), and operator<<().

                            { 
  //1-deadfraction
  //else if deadfraction<0 meaning no beam, live fraction=0
  //
  if (deadFrac()<0) return 0;
  return 1-deadFrac();
}
unsigned int LumiSummary::lsNumber ( ) const

Definition at line 67 of file LumiSummary.cc.

References lsnumber_.

Referenced by operator<<().

                           {
  return lsnumber_; 
}
short LumiSummary::lumiSecQual ( ) const

Definition at line 30 of file LumiSummary.cc.

References lumisecqual_.

Referenced by operator<<().

                              {
  return lumisecqual_; 
}
float LumiSummary::lumiSectionLength ( ) const

lumi section length in seconds numorbits*3564*25e-09

Definition at line 62 of file LumiSummary.cc.

References numorbit_.

Referenced by intgDelLumi(), and intgRecLumi().

                                     {
  //numorbits*3564*24.95e-09
  return numorbit_*3564.0*24.95e-9;
}
std::string LumiSummary::lumiVersion ( ) const

lumi data version. special values: "-1" means not all lumi,trigger,hlt data exist, therefore invalid

Definition at line 120 of file LumiSummary.cc.

References lumiversion_.

Referenced by operator<<().

                             {
  return lumiversion_;
}
size_t LumiSummary::nHLTPath ( ) const

Definition at line 95 of file LumiSummary.cc.

References hltdata_.

Referenced by operator<<().

                          {
  return hltdata_.size();
}
size_t LumiSummary::nTriggerLine ( ) const

Definition at line 91 of file LumiSummary.cc.

References l1data_.

Referenced by operator<<().

                              {
  return l1data_.size();
}
unsigned int LumiSummary::numOrbit ( ) const

Definition at line 75 of file LumiSummary.cc.

References numorbit_.

Referenced by operator<<().

                           {
  return numorbit_;
}
void LumiSummary::setBitZeroCount ( unsigned long long  bitzerocount)
void LumiSummary::setDeadCount ( unsigned long long  deadcount)
void LumiSummary::setlsnumber ( unsigned int  lsnumber)

Definition at line 142 of file LumiSummary.cc.

References lsnumber_.

Referenced by ExpressLumiProducer::writeProductsForEntry(), and LumiProducer::writeProductsForEntry().

                                             {
  lsnumber_=lsnumber;
}
void LumiSummary::setLumiData ( float  instlumi,
float  instlumierr,
short  lumiquality 
)
void LumiSummary::setLumiVersion ( const std::string &  lumiversion)

Definition at line 124 of file LumiSummary.cc.

References lumiversion_.

Referenced by ExpressLumiProducer::writeProductsForEntry(), and LumiProducer::writeProductsForEntry().

                                                       {
  lumiversion_=lumiversion;
}
void LumiSummary::setOrbitData ( unsigned int  startorbit,
unsigned int  numorbit 
)

Definition at line 146 of file LumiSummary.cc.

References numorbit_, and startorbit_.

Referenced by ExpressLumiProducer::writeProductsForEntry(), and LumiProducer::writeProductsForEntry().

                                                                      {
  startorbit_=startorbit;
  numorbit_=numorbit;
}
unsigned int LumiSummary::startOrbit ( ) const

Definition at line 71 of file LumiSummary.cc.

References startorbit_.

Referenced by operator<<().

                             {
  return startorbit_; 
}
void LumiSummary::swapHLTData ( std::vector< HLT > &  hltdata)

Definition at line 155 of file LumiSummary.cc.

References hltdata_.

Referenced by LumiProducer::writeProductsForEntry().

                                               {
  hltdata_.swap(hltdata);
}
void LumiSummary::swapL1Data ( std::vector< L1 > &  l1data)

Definition at line 151 of file LumiSummary.cc.

References l1data_.

Referenced by LumiProducer::writeProductsForEntry().

                                            {
  l1data_.swap(l1data);
}

Member Data Documentation

float LumiSummary::avginsdellumi_ [private]

Definition at line 159 of file LumiSummary.h.

Referenced by avgInsDelLumi(), isProductEqual(), isValid(), and setLumiData().

Definition at line 161 of file LumiSummary.h.

Referenced by avgInsDelLumiErr(), avgInsRecLumiErr(), isProductEqual(), and setLumiData().

unsigned long long LumiSummary::bitzerocount_ [private]

Definition at line 165 of file LumiSummary.h.

Referenced by bitzerocount(), deadFrac(), and setBitZeroCount().

unsigned long long LumiSummary::deadcount_ [private]

Definition at line 164 of file LumiSummary.h.

Referenced by deadcount(), deadFrac(), isProductEqual(), and setDeadCount().

std::vector<HLT> LumiSummary::hltdata_ [private]

Definition at line 168 of file LumiSummary.h.

Referenced by copyHLTData(), hltinfo(), isProductEqual(), LumiSummary(), nHLTPath(), and swapHLTData().

std::vector<L1> LumiSummary::l1data_ [private]
unsigned int LumiSummary::lsnumber_ [private]

Definition at line 166 of file LumiSummary.h.

Referenced by isProductEqual(), lsNumber(), and setlsnumber().

short LumiSummary::lumisecqual_ [private]

Definition at line 163 of file LumiSummary.h.

Referenced by isProductEqual(), lumiSecQual(), and setLumiData().

std::string LumiSummary::lumiversion_ [private]

Definition at line 157 of file LumiSummary.h.

Referenced by avgInsDelLumi(), deadFrac(), isProductEqual(), lumiVersion(), and setLumiVersion().

unsigned int LumiSummary::numorbit_ [private]

Definition at line 174 of file LumiSummary.h.

Referenced by isProductEqual(), lumiSectionLength(), numOrbit(), and setOrbitData().

unsigned int LumiSummary::startorbit_ [private]

Definition at line 172 of file LumiSummary.h.

Referenced by isProductEqual(), setOrbitData(), and startOrbit().