CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Attributes
cond::payloadInspector::Histogram2D< PayloadType > Class Template Reference

#include <PayloadInspector.h>

Inheritance diagram for cond::payloadInspector::Histogram2D< PayloadType >:
cond::payloadInspector::Plot3D< PayloadType, float, float, float > cond::payloadInspector::PlotBase

Public Types

typedef Plot3D< PayloadType, float, float, float > Base
 

Public Member Functions

bool fill (const std::vector< std::tuple< cond::Time_t, cond::Hash > > &iovs) override
 
void fillWithValue (float xvalue, float yvalue, float weight=1)
 
virtual std::tuple< float, float > getFromPayload (PayloadType &payload)
 
 Histogram2D (const std::string &title, const std::string &xLabel, size_t nxbins, float xmin, float xmax, const std::string &yLabel, size_t nybins, float ymin, float ymax)
 
void init () override
 
 ~Histogram2D () override=default
 
- Public Member Functions inherited from cond::payloadInspector::Plot3D< PayloadType, float, float, float >
std::shared_ptr< PayloadType > fetchPayload (const cond::Hash &payloadHash)
 
 Plot3D (const std::string &type, const std::string &title, const std::string xLabel, const std::string &yLabel, const std::string &zLabel)
 
std::string processData (const std::vector< std::tuple< cond::Time_t, cond::Hash > > &iovs) override
 
std::string serializeData ()
 
 ~Plot3D () override=default
 
- Public Member Functions inherited from cond::payloadInspector::PlotBase
std::string data () const
 
cond::persistency::Session dbSession ()
 
template<typename PayloadType >
std::shared_ptr< PayloadType > fetchPayload (const cond::Hash &payloadHash)
 
cond::Tag_t getTagInfo (const std::string &tag)
 
bool isSingleIov () const
 
bool isTwoTags () const
 
std::string payloadType () const
 
 PlotBase ()
 
bool process (const std::string &connectionString, const std::string &tag, const std::string &timeType, cond::Time_t begin, cond::Time_t end)
 
bool processTwoTags (const std::string &connectionString, const std::string &tag0, const std::string &tag1, cond::Time_t time0, cond::Time_t time1)
 
void setSingleIov (bool flag)
 
void setTwoTags (bool flag)
 
std::string title () const
 
std::string type () const
 
virtual ~PlotBase ()=default
 

Private Attributes

size_t m_nxbins
 
size_t m_nybins
 
float m_xbinSize = 0
 
float m_xmax
 
float m_xmin
 
float m_ybinSize = 0
 
float m_ymax
 
float m_ymin
 

Additional Inherited Members

- Protected Attributes inherited from cond::payloadInspector::Plot3D< PayloadType, float, float, float >
std::vector< std::tuple< float, float, float > > m_plotData
 
- Protected Attributes inherited from cond::payloadInspector::PlotBase
PlotAnnotations m_plotAnnotations
 
std::string m_tag0 = ""
 
std::string m_tag1 = ""
 

Detailed Description

template<typename PayloadType>
class cond::payloadInspector::Histogram2D< PayloadType >

Definition at line 497 of file PayloadInspector.h.

Member Typedef Documentation

template<typename PayloadType >
typedef Plot3D<PayloadType,float,float,float > cond::payloadInspector::Histogram2D< PayloadType >::Base

Definition at line 499 of file PayloadInspector.h.

Constructor & Destructor Documentation

template<typename PayloadType >
cond::payloadInspector::Histogram2D< PayloadType >::Histogram2D ( const std::string &  title,
const std::string &  xLabel,
size_t  nxbins,
float  xmin,
float  xmax,
const std::string &  yLabel,
size_t  nybins,
float  ymin,
float  ymax 
)
inline
template<typename PayloadType >
cond::payloadInspector::Histogram2D< PayloadType >::~Histogram2D ( )
overridedefault

Member Function Documentation

template<typename PayloadType >
bool cond::payloadInspector::Histogram2D< PayloadType >::fill ( const std::vector< std::tuple< cond::Time_t, cond::Hash > > &  iovs)
inlineoverridevirtual

Implements cond::payloadInspector::Plot3D< PayloadType, float, float, float >.

Definition at line 535 of file PayloadInspector.h.

References jets_cff::payload.

535  {
536  for( auto iov : iovs ) {
537  std::shared_ptr<PayloadType> payload = Base::fetchPayload( std::get<1>(iov) );
538  if( payload.get() ){
539  std::tuple<float,float> value = getFromPayload( *payload );
540  fillWithValue( std::get<0>(value),std::get<1>(value) );
541  }
542  }
543  return true;
544  }
void fillWithValue(float xvalue, float yvalue, float weight=1)
Definition: value.py:1
virtual std::tuple< float, float > getFromPayload(PayloadType &payload)
std::shared_ptr< PayloadType > fetchPayload(const cond::Hash &payloadHash)
template<typename PayloadType >
void cond::payloadInspector::Histogram2D< PayloadType >::fillWithValue ( float  xvalue,
float  yvalue,
float  weight = 1 
)
inline

Definition at line 525 of file PayloadInspector.h.

References relativeConstraints::empty.

525  {
526  // ignoring underflow/overflows ( they can be easily added - the total entries as well )
527  if( !Base::m_plotData.empty() && xvalue < m_xmax && xvalue >= m_xmin && yvalue < m_ymax && yvalue >= m_ymin ){
528  size_t ixbin = (xvalue-m_xmin)/m_xbinSize;
529  size_t iybin = (yvalue-m_ymin)/m_ybinSize;
530  std::get<2>(Base::m_plotData[iybin*m_nxbins+ixbin])+=weight;
531  }
532  }
std::vector< std::tuple< float, float, float > > m_plotData
Definition: weight.py:1
template<typename PayloadType >
virtual std::tuple<float,float> cond::payloadInspector::Histogram2D< PayloadType >::getFromPayload ( PayloadType &  payload)
inlinevirtual

Definition at line 547 of file PayloadInspector.h.

547  {
548  float x = 0;
549  float y = 0;
550  return std::make_tuple(x,y);
551  }
template<typename PayloadType >
void cond::payloadInspector::Histogram2D< PayloadType >::init ( void  )
inlineoverridevirtual

Reimplemented from cond::payloadInspector::PlotBase.

Definition at line 508 of file PayloadInspector.h.

References mps_fire::i.

508  {
509  Base::m_plotData.clear();
510  float xbinSize = (m_xmax-m_xmin)/m_nxbins;
511  float ybinSize = (m_ymax-m_ymin)/m_nybins;
512  if( xbinSize>0 && ybinSize>0){
513  m_xbinSize = xbinSize;
514  m_ybinSize = ybinSize;
516  for( size_t i=0;i<m_nybins;i++ ){
517  for( size_t j=0;j<m_nxbins;j++ ){
518  Base::m_plotData[i*m_nxbins+j] = std::make_tuple( m_xmin+j*m_xbinSize, m_ymin+i*m_ybinSize, 0 );
519  }
520  }
521  }
522  }
std::vector< std::tuple< float, float, float > > m_plotData

Member Data Documentation

template<typename PayloadType >
size_t cond::payloadInspector::Histogram2D< PayloadType >::m_nxbins
private

Definition at line 554 of file PayloadInspector.h.

template<typename PayloadType >
size_t cond::payloadInspector::Histogram2D< PayloadType >::m_nybins
private

Definition at line 559 of file PayloadInspector.h.

template<typename PayloadType >
float cond::payloadInspector::Histogram2D< PayloadType >::m_xbinSize = 0
private

Definition at line 555 of file PayloadInspector.h.

template<typename PayloadType >
float cond::payloadInspector::Histogram2D< PayloadType >::m_xmax
private

Definition at line 557 of file PayloadInspector.h.

template<typename PayloadType >
float cond::payloadInspector::Histogram2D< PayloadType >::m_xmin
private

Definition at line 556 of file PayloadInspector.h.

template<typename PayloadType >
float cond::payloadInspector::Histogram2D< PayloadType >::m_ybinSize = 0
private

Definition at line 558 of file PayloadInspector.h.

template<typename PayloadType >
float cond::payloadInspector::Histogram2D< PayloadType >::m_ymax
private

Definition at line 561 of file PayloadInspector.h.

template<typename PayloadType >
float cond::payloadInspector::Histogram2D< PayloadType >::m_ymin
private

Definition at line 560 of file PayloadInspector.h.