4. Histograms with variable partitions and Profile histograms

Table of Contents

Variable partition histograms
Profile Histograms

Variable partition histograms

HTL supports 1D and 2D histograms with variable partitions. The partitions are specified as a vector of real numbers (float or double types).

Persistent case

vector <float>  points_on_X(10); // Vector of 10 real numbers 
points_on_X[0] = 0.0; points_on_X[1] = 1.0; 
points_on_X[2] = 3.5; points_on_X [3] = 4.0; 
points_on_X[4] = 5.5; points_on_X[5] = 9.0; 
points_on_X[6] = 10.; points_on_X[7] = 15.; 
points_on_X[8] = 19.; points_on_X[9] = 20.; 

HepRef(PHisto1DVar) histo = 
  new (db_) PHisto1DVar( "Histo1DVar", points_on_X ); 

vector <float>  points_on_Y(10); 
points_on_Y[0] = 0.0; points_on_Y[1] = 1.0; 
points_on_Y[2] = 2.5; points_on_Y[3] = 4.0; 
points_on_Y[4] = 6.0; points_on_Y[5] = 9.0; 
points_on_Y[6] = 12.; points_on_Y[7] = 14.; 
points_on_Y[8] = 18.; points_on_Y[9] = 20.; 

HepRef(PHisto2DVar) histo = 
  new (db_) PHisto2DVar( "Histo2DVar", points_on_X, points_on_Y ); 

Transient case

T_Points_Vector points_on_X(10); // Vector of 10 real numbers 
points_on_X[0] = 0.0; points_on_X[1] = 1.0; 
points_on_X[2] = 3.5; points_on_X[3] = 4.0; 
points_on_X[4] = 5.5; points_on_X[5] = 9.0; 
points_on_X[6] = 10.; points_on_X[7] = 15.; 
points_on_X[8] = 19.; points_on_X[9] = 20.; 

Histo1DVar *histo = new Histo1DVar( "Histo1DVar", points_on_X ); 

T_Points_Vector points_on_Y(10); 
points_on_Y[0] = 0.0; points_on_Y[1] = 1.0; 
points_on_Y[2] = 2.5; points_on_Y[3] = 4.0; 
points_on_Y[4] = 6.0; points_on_Y[5] = 9.0; 
points_on_Y[6] = 12.; points_on_Y[7] = 14.; 
points_on_Y[8] = 18.; points_on_Y[9] = 20.; 

Histo2DVar *histo2 = new Histo2DVar( "Histo2DVar", points_on_X, points_on_Y ); 

Both the class names and type of vector used depends on whether transient or persistent histograms are involved.