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
perftools::detail::Hist Struct Reference

Public Member Functions

void fill (EdmEventSize::BranchRecord const &br)
 
void finalize ()
 
 Hist (int itop)
 

Public Attributes

TH1F compressed
 
TAxis * cxAxis
 
int top
 
TH1F uncompressed
 
TAxis * uxAxis
 
int x
 

Detailed Description

Definition at line 174 of file EdmEventSize.cc.

Constructor & Destructor Documentation

perftools::detail::Hist::Hist ( int  itop)
inlineexplicit

Definition at line 176 of file EdmEventSize.cc.

176  :
177  top(itop),
178  uncompressed( "uncompressed", "branch sizes", top, -0.5, - 0.5 + top ),
179  compressed( "compressed", "branch sizes", top, -0.5, - 0.5 + top ),
180  cxAxis(compressed.GetXaxis()),
181  uxAxis(uncompressed.GetXaxis()),
182  x(0) {}

Member Function Documentation

void perftools::detail::Hist::fill ( EdmEventSize::BranchRecord const &  br)
inline

Definition at line 184 of file EdmEventSize.cc.

References perftools::EdmEventSize::BranchRecord::compr_size, compressed, cxAxis, perftools::EdmEventSize::BranchRecord::name, top, perftools::EdmEventSize::BranchRecord::uncompr_size, uncompressed, uxAxis, and x.

Referenced by perftools::EdmEventSize::produceHistos().

184  {
185  if ( x < top ) {
186  cxAxis->SetBinLabel( x + 1, br.name.c_str() );
187  uxAxis->SetBinLabel( x + 1, br.name.c_str() );
188  compressed.Fill( x, br.compr_size );
189  uncompressed.Fill( x, br.uncompr_size );
190  x++;
191  }
192  }
void perftools::detail::Hist::finalize ( void  )
inline

Definition at line 194 of file EdmEventSize.cc.

References compressed, cxAxis, i, max(), top, uncompressed, and uxAxis.

Referenced by perftools::EdmEventSize::produceHistos().

194  {
195  double mn = std::numeric_limits<double>::max();
196  for( int i = 1; i <= top; ++i ) {
197  double cm = compressed.GetMinimum( i ), um = uncompressed.GetMinimum( i );
198  if ( cm > 0 && cm < mn ) mn = cm;
199  if ( um > 0 && um < mn ) mn = um;
200  }
201  mn *= 0.8;
202  double mx = max( compressed.GetMaximum(), uncompressed.GetMaximum() );
203  mx *= 1.2;
204  uncompressed.SetMinimum( mn );
205  uncompressed.SetMaximum( mx );
206  compressed.SetMinimum( mn );
207  // compressed.SetMaximum( mx );
208  cxAxis->SetLabelOffset( -0.32 );
209  cxAxis->LabelsOption( "v" );
210  cxAxis->SetLabelSize( 0.03 );
211  uxAxis->SetLabelOffset( -0.32 );
212  uxAxis->LabelsOption( "v" );
213  uxAxis->SetLabelSize( 0.03 );
214  compressed.GetYaxis()->SetTitle( "Bytes" );
215  compressed.SetFillColor( kBlue );
216  compressed.SetLineWidth( 2 );
217  uncompressed.GetYaxis()->SetTitle( "Bytes" );
218  uncompressed.SetFillColor( kRed );
219  uncompressed.SetLineWidth( 2 );
220 
221  }
int i
Definition: DBlmapReader.cc:9
const T & max(const T &a, const T &b)

Member Data Documentation

TH1F perftools::detail::Hist::compressed

Definition at line 225 of file EdmEventSize.cc.

Referenced by fill(), finalize(), and perftools::EdmEventSize::produceHistos().

TAxis* perftools::detail::Hist::cxAxis

Definition at line 226 of file EdmEventSize.cc.

Referenced by fill(), and finalize().

int perftools::detail::Hist::top

Definition at line 223 of file EdmEventSize.cc.

Referenced by fill(), and finalize().

TH1F perftools::detail::Hist::uncompressed

Definition at line 224 of file EdmEventSize.cc.

Referenced by fill(), finalize(), and perftools::EdmEventSize::produceHistos().

TAxis* perftools::detail::Hist::uxAxis

Definition at line 227 of file EdmEventSize.cc.

Referenced by fill(), and finalize().

int perftools::detail::Hist::x