ROOT logo
using namespace std;
#include <iostream>
#include <iomanip>
#include <math.h>
// Root includes
#include "TObjString.h"
#include "TF1.h"
#include "TH1.h"
#include "TH2.h"
#include "TList.h"
// Hydra includes
#include "hqahistograms.h"
#include "QAsectioncolors.h"
#include "hqafitfunctions.h"

//-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-//
//*-- Author : Dan Magestro (magestro@gsi.de)
//*-- Modified : 24/01/2002
//*-- Modified : 20/01/2004 Jacek Otwinowski
//*-- Modified : 23/01/2004 A.Sadovski
//*-- Modified : 04/01/2005 Jacek Otwinowski
//*-- Modified : 08/02/2005 A.Sadovski
//*-- Modified : 18/05/2006 J.Pietraszko
//-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-//

//_HADES_CLASS_DESCRIPTION
//////////////////////////////////////////////////////////////////////////////
//
// HQAHistograms
//
// Contains general histograms for use by HQAMaker.
//
// BEGIN_HTML<b><font color="maroon">For more information, see the <a href="http://www-hades.gsi.de/computing/qa/">QA home page</a>.</font></b> END_HTML
//
//////////////////////////////////////////////////////////////////////////////


ClassImp(HQAHistograms)

HQAHistograms::HQAHistograms()
{

   histList = new TList();
   resetPointers();
}

void HQAHistograms::resetPointers()
{
   // --- Zero all histogram pointers

   //---- Start histograms
   stLatchHist = 0;
   stCal_stripMod0 = 0;
   stCal_stripMod1 = 0;
   vtCal_strip = 0;
   stCal_tof = 0;
   vtCal_tof = 0;
   for (Int_t ss = 0; ss < 8; ss++) {
       stCal_tof_strip[ss] =0;
       vtCal_tof_strip[ss] =0;
   }

   stHit_tof_vs_startstripe = 0;
   stHit_vs_stStrip = 0;
   for (Int_t ss = 0; ss < 9; ss++) {
      stHit_vs_stStrip_Trigg[ss] = 0;
   }

   //---- Daq Scalers histograms
   for (Int_t ii = 0; ii < 8; ii++) {
      //histReduce[ii] = 0;
      //histInput[ii] = 0;
      //histStartScaler[ii] = 0;
      //histVetoScaler[ii] = 0;
   }

   histInputScaler    =0;
   histDownScaler     =0;
   histGatedScaler    =0;
   histAcceptScaler   =0;
   histStartScaler    =0;
   histVetoScaler     =0;
   histTofScaler      =0;
   histRpcScaler      =0;

   histAllScalerCh    =0;
   histAllScalerTrend =0;

   stVertexXY = 0;
   stVertexZ = 0;
   

   //---- Rich histograms
   richCal_row = 0;
   richCal_column = 0;
   richCal_nSec = 0;

   richHit_scat = 0;
   richHit_nSec = 0;

   richHit_phi = 0;
   richHit_theta = 0;
   richHit_radius = 0;
   richHit_centroid = 0;
   richHit_chargeAmpl = 0;
   richHit_ringCol = 0;
   richHit_ringRow = 0;
   richHit_ringLocMax4 = 0;

   richHit_houTraVsPatMat = 0;
   richHit_patMatVsTheta = 0;
   richHit_houTraVsTheta = 0;
   richHit_chargeAmplVsTheta = 0;
   richHit_radiusVsTheta = 0;

   for(Int_t i=0;i<6;i++)
   {
       richHit_AverCharge[i] =0;
   }
   for(Int_t i=0;i<6;i++)
   {
       richHit_NumPads[i] =0;
   }
   for(Int_t i=0;i<6;i++)
   {
       richHit_NumRings[i] =0;
   }
   //---- Mdc histograms
   mdcRaw_mboVsSector_m0 = 0;
   mdcRaw_mboVsSector_m1 = 0;
   mdcRaw_mboVsSector_m2 = 0;
   mdcRaw_mboVsSector_m3 = 0;

   mdcCal1_nVsSector_m0 = 0;
   mdcCal1_nVsSector_m1 = 0;
   mdcCal1_nVsSector_m2 = 0;
   mdcCal1_nVsSector_m3 = 0;

   mdcCal1_time1VsSector_m0 = 0;
   mdcCal1_time1VsSector_m1 = 0;
   mdcCal1_time1VsSector_m2 = 0;
   mdcCal1_time1VsSector_m3 = 0;

   mdcCal1_tatVsSector_m0 = 0;
   mdcCal1_tatVsSector_m1 = 0;
   mdcCal1_tatVsSector_m2 = 0;
   mdcCal1_tatVsSector_m3 = 0;

   mdcHit_scat_m0 = 0;
   mdcHit_scat_m1 = 0;
   mdcHit_scat_m2 = 0;
   mdcHit_scat_m3 = 0;


   for(Int_t i=0; i<6; i++)
   {
       for(Int_t j=0; j<2; j++)
       {
           mdcSeg_Chi2[i][j]=0;
       }

       for(Int_t j=0; j<4; j++)
       {
	   for(Int_t k=0; k<6; k++)
	   {
               mdcCal1_t2mt1_V2[i][j][k]=0;
               mdcCal1_t1_V2[i][j][k]=0;
	   }
       }
   }


   //---- Tof histograms
   tofHit_scat = 0;
   tofHit_tof = 0;
   tofHit_nSec = 0;
   tofHit_phi = 0;
   tofHit_theta = 0;

   for (Int_t s = 0; s < 6; s++) {
       tofHit_n[s]=0;
   }
   tofHit_tot = 0;

   //---- Rpc histograms
   //rpcHit_n     = 0;
   rpcHit_nSec  = 0;
   rpcHit_scat  = 0;
   rpcHit_tof   = 0;
   rpcHit_phi   = 0;
   rpcHit_theta = 0;

   for (Int_t s = 0; s < 6; s++) {
       rpcHit_n[s]=0;
   }
   rpcHit_tot = 0;

   //---- Shower histograms
   shoHit_chargeVsSector_m0 = 0;
   shoHit_chargeVsSector_m1 = 0;
   shoHit_chargeVsSector_m2 = 0;

   shoHit_rowVsSector_m0 = 0;
   shoHit_rowVsSector_m1 = 0;
   shoHit_rowVsSector_m2 = 0;

   shoHit_colVsSector_m0 = 0;
   shoHit_colVsSector_m1 = 0;
   shoHit_colVsSector_m2 = 0;

   shoHit_sectorVsModule = 0;
   shoHit_scat = 0;
   shoHit_nSec = 0;
   shoHit_phi = 0;
   shoHit_theta = 0;

   shoHitTof_scat = 0;
   shoHitTof_nSec = 0;
   shoHit_nCol = 0;
   shoHit_nRow = 0;

   for (Int_t s = 0; s < 6; s++)
   {
       shoHit_n[s]= 0;

       for (Int_t m = 0; m < 3; m++)
       {
	   shoHitSums[s][m] = 0;
           shoHit_nm[s][m] = 0;
       }
   }

   //---- ForwardWall histograms
   hWallCellSmall  = 0;
   hWallCellMedium = 0;
   hWallCellLarge  = 0;
   hMultWall       = 0;
   hWallCellTime   = 0;
   hWallCellAdc    = 0;

   hWallHitNumI    = 0;
   hWallHitNumII   = 0;
   hWallHitNumIII  = 0;
   hWallHitNumIV   = 0;
   hWallXY         = 0;


   hEmcRawMult          = 0;
   hEmcRawPattern       = 0;
   hEmcRawTimeCell      = 0;
   hEmcRawWidthCell     = 0;
   hEmcCalMult          = 0;
   hEmcCalTime          = 0;
   hEmcCalEnergy        = 0;
   hEmcCalTimeCell      = 0;
   hEmcCalEnergyCell    = 0;
   hEmcCalCol           = 0;
   hEmcCalRow           = 0;
   hEmcCalRowCol        = 0;
   hEmcClusMult         = 0;
   hEmcClusSize         = 0;
   hEmcClusTime         = 0;
   hEmcClusEnergy       = 0;
   hEmcClusTimeCell     = 0;
   hEmcClusEnergyCell   = 0;
   hEmcClusPhi          = 0;
   hEmcClusTheta        = 0;
   hEmcClusThetaPhi     = 0;
   hEmcClusXYlab        = 0;

   //---- Tracking histograms
   splineTrack_scat           = 0;
   splineTrack_massCharge     = 0;
   rungeKuttaTrack_scat       = 0;
   rungeKuttaTrack_massCharge = 0;
   for (Int_t s = 0; s < 6; s++) {
      trackingSpline_sys0[ s] = 0;
      trackingRK_sys0[     s] = 0;
      trackingSpline_sys1[ s] = 0;
      trackingRK_sys1[     s] = 0;
   }

   // Rich-MDC histograms

   richmdc_lep = 0;
   for (Int_t s = 0; s < 6; s++) {
      richmdc_dtheta[s] = 0;
      richmdc_dphi[s] = 0;
   }


   // Matching histograms (received on 4-Feb-2005 from P.Tlusty )
   hsecspline           = 0;
   hsecspline0          = 0;
   hsecspline1          = 0;

   for (Int_t s = 0; s < 6; s++) {
       hXdiffTof[s]=0;
       hYdiffTof[s]=0;
   }

   for (Int_t s = 0; s < 6; s++) {
       hXdiffsho[s]=0;
       hYdiffsho[s]=0;
   }

   for (Int_t s = 0; s < 6; s++) {
       hXdiffRpc[s]=0;
       hYdiffRpc[s]=0;
   }


   
   hXdiffvsRpcsector=0;
   hYdiffvsRpcsector=0;
   hXdiffvsRpc=0;
   hYdiffvsRpc=0;
   hRpc_quality=0;



   hXdiffvsshowersector = 0;
   hYdiffvsshowersector = 0;
   hshower_quality      = 0;
   htof_quality         = 0;
   hXdiffvstofstrip     = 0;
   hYdiffvstofstrip     = 0;


   hXdiffvsshowersectorRK = NULL;
   hXdiffvstofstripRK = NULL;
   hYdiffvsshowersectorRK = NULL;
   hYdiffvstofstripRK = NULL;
   hshower_qualityRK = NULL;
   htof_qualityRK = NULL;


   hXdiffvstofstripRK_neg = NULL;
   hYdiffvstofstripRK_neg = NULL;
   hXdiffvsthetaRK_neg = NULL;
   hYdiffvsthetaRK_neg = NULL;

    hXdiffvsshoColRK = NULL;
   hXdiffvsshoRowRK = NULL;
   hYdiffvsshoColRK = NULL;
   hYdiffvsshoRowRK = NULL;

   hXdiffvsshoCol = NULL;
   hXdiffvsshoRow = NULL;
   hYdiffvsshoCol = NULL;
   hYdiffvsshoRow = NULL;

   hparticle_multrk                   = NULL;
   hparticle_lepton_tof_vs_rod_sys0   = NULL;
   hparticle_lepton_tof_vs_rod_sys1   = NULL;
   hparticle_lepton_tof_vs_startstrip_sys0= NULL;
   hparticle_lepton_tof_vs_startstrip_sys1= NULL;
   hparticle_lepton_tof_all_sys0= NULL;                 
   hparticle_lepton_tof_all_sys1= NULL;
   for(Int_t i=0; i<NSTART_STRIPS; i++)
   {
       hparticle_lepton_tof_vs_start_sys0[i]= NULL;
       hparticle_lepton_tof_vs_start_sys1[i]= NULL;
   }
   
   hparticle_pi_tof_vs_rod_sys0   = NULL;
   hparticle_pi_tof_vs_rod_sys1   = NULL;

   hparticle_pi_metahit_vs_phi_sys1   = NULL;
   hparticle_pi_eloss_vs_rod_sys1   = NULL;
   hparticle_p_eloss_vs_rod_sys1   = NULL;


   hparticle_pi_tof_vs_startstrip_sys0= NULL;
   hparticle_pi_tof_vs_startstrip_sys1= NULL;
   hparticle_pi_tof_all_sys0= NULL;
   hparticle_pi_tof_all_sys1= NULL;
   for(Int_t i=0; i<NSTART_STRIPS; i++)
   {
       hparticle_pi_tof_vs_start_sys0[i]= NULL;
       hparticle_pi_tof_vs_startMod0_sys0[i]= NULL;
       hparticle_pi_tof_vs_startMod1_sys0[i]= NULL;
       hparticle_pi_tof_vs_start_sys1[i]= NULL;
   }





   hparticle_RK_phi                   = NULL;
   hparticle_RK_neg_phi               = NULL;

   for (Int_t i = 0; i < 6; ++i) {
      hparticle_RK_theta_sec[i]       = NULL;
      hparticle_RK_neg_theta_sec[i]   = NULL;
      hparticle_rk_momdif_sys0_sec[i] = NULL;
      hparticle_rk_momdif_sys1_sec[i] = NULL;

      hparticle_MetaMatchQualTof[i] = NULL;
      hparticle_MetaMatchQualRpc[i] = NULL;
      hparticle_MetaMatchQualShw[i] = NULL;

      for(Int_t j=0; j<2; j++)
      {
	  hparticle_mult[i][j] = 0;
          hparticle_mult_select[i][j] = 0;
      }
   }
   for (Int_t s = 0; s < 6; ++s) {
      shorpcXdiff_pre[s] = 0;
      shorpcXdiff_post1[s] = 0;
      shorpcXdiff_post2[s] = 0;
      shorpcYdiff_pre[s] = 0;
      shorpcYdiff_post1[s] = 0;
      shorpcYdiff_post2[s] = 0;
      shorpcXvs_pre[s] = 0;
      shorpcXvs_post1[s] = 0;
      shorpcXvs_post2[s] = 0;
      shorpcYvs_pre[s] = 0;
      shorpcYvs_post1[s] = 0;
      shorpcYvs_post2[s] = 0;
   }

   hparticle_mass = 0;

   hparticle_TofdEdx=0;
}

void HQAHistograms::activateHist()
{
   // This function removes histograms from the histList TList which
   // are not listed in QAhists.h.

   TList *activeList = new TList();

   const Char_t *hists[1000] = {
#include "QAhists.h"
   };

   // Convert Char_t to TList of TObjStrings
   for (Int_t i = 0; hists[i] != 0; i++)
      activeList->Add(new TObjString(hists[i]));

   // Iterate over histList, remove entries which aren't in activeList
   TIter next(histList);
   while (TH1 *hist = (TH1*) next()) {
       if (! activeList->Contains(hist->GetName()))
       {
           //cout<<"  -- removing from the list: "<<hist->GetName()<<endl;
  	       histList->Remove(hist);
       }
   }
   activeList->Delete();
   delete activeList;
}

void HQAHistograms::bookHist()
{
   // Book histograms and define axis titles and options for drawing


   bookHistStart();
   bookHistRich();
   bookHistMdc();
   bookHistTof();
   bookHistRpc();
   bookHistShower();
   bookHistWall();
   bookHistEmc();
   bookHistMatching();
   bookHistTracking();
   bookHistRichMDC();
   bookHistShowerRpc();
   bookHistPid();
   bookHistDaqScalers();

   activateHist();
}

void HQAHistograms::bookHistStart()
{
   Char_t name[256];
   Char_t title[256];

   stLatchHist = new TH1F("stLatchHist", "Trigger Pattern (from 0, norm.)", 32, 0, 32);
   stLatchHist->SetXTitle("Trigger Input");
   histList->Add(stLatchHist, "start--gridx--gridy");


   stCal_stripMod0 = new TH1F("stCal_stripMod0", "StCalMod0: strip pattern", NSTART_STRIPS, 0, NSTART_STRIPS);
   stCal_stripMod0->SetXTitle("strip number");
   histList->Add(stCal_stripMod0, "start--gridx");

   stCal_stripMod1 = new TH1F("stCal_stripMod1", "StCalMod1: strip pattern", NSTART_STRIPS, 0, NSTART_STRIPS);
   stCal_stripMod1->SetXTitle("strip number");
   histList->Add(stCal_stripMod1, "start--gridx");

   vtCal_strip = new TH1F("vtCal_strip", "VtCal: strip pattern", NSTART_STRIPS, 0, NSTART_STRIPS);
   vtCal_strip->SetXTitle("strip number");
   histList->Add(vtCal_strip, "start--gridx");

   stCal_tof = new TH1F("stCal_tof", "startCal: time of flight", 300, -10.0, 10.0);
   stCal_tof->SetXTitle("time of flight");
   histList->Add(stCal_tof, "start--gridx");

   vtCal_tof = new TH1F("vtCal_tof", "vetoCal: time of flight", 300, -10.0, 10.0);
   vtCal_tof->SetXTitle("time of flight");
   vtCal_tof->SetLineColor(2);
   histList->Add(vtCal_tof, "start--gridx--same");

   for (Int_t im = 0; im < NSTART_STRIPS; im++) {
       sprintf(title, "StCal_Time for Strip %i", im);
       sprintf(name, "stCal_tof_strip[%i]", im);
       stCal_tof_strip[im] = new TH1F(name,title,300,-10.0,10.0);
       histList->Add(stCal_tof_strip[im], "start");

       sprintf(title, "VtCal_Time for Strip %i", im);
       sprintf(name, "vtCal_tof_strip[%i]", im);
       vtCal_tof_strip[im] = new TH1F(name,title,300,-10.0,10.0);
       histList->Add(vtCal_tof_strip[im], "start");
   }

   stHit_tof = new TH1F("stHit_tof", "startHit: time of flight", 300, -10.0, 10.0);
   stHit_tof->SetXTitle("time of flight");
   histList->Add(stHit_tof, "start--gridx");

   sprintf(name, "stHit_tof_vs_startstripe");
   sprintf(title, "Start-Tof: stHit_tofTOF_vs_startstripe");
   stHit_tof_vs_startstripe = new TH2F(name, title, NSTART_STRIPS, 0, NSTART_STRIPS, 300, 0, 30);
   stHit_tof_vs_startstripe->SetXTitle("start stripe");
   stHit_tof_vs_startstripe->SetYTitle("tof");
   histList->Add(stHit_tof_vs_startstripe, "start--gridx");

   sprintf(name, "stHit_vs_stStrip");
   sprintf(title, "StartHitTime vs StartHitStrip");
   stHit_vs_stStrip = new TH2F(name, title, NSTART_STRIPS, 0, NSTART_STRIPS, 400, -15, 15);
   stHit_vs_stStrip->SetXTitle("Start Strip");
   stHit_vs_stStrip->SetYTitle("StartHit Time");
   histList->Add(stHit_vs_stStrip, "start--gridx--gridy");

   stVertexXY = new TH2F("stVertexXY", "Vertex: X vs Y", 500, -10, 10, 500, -10, 10);
   stVertexXY->SetXTitle("Vertex X[mm]");
   stVertexXY->SetYTitle("Vertex Y[mm]");
   histList->Add(stVertexXY, "start--gridx--gridy");

   stVertexZ = new TH1F("stVertexZ", "Vertex: Z", 500, -100, 20);
   stVertexZ->SetXTitle("Vertex Z[mm]");
   histList->Add(stVertexZ, "start--gridx--gridy");

   for (Int_t im = 0; im < 9; im++) {
      sprintf(title, "StartTime vs StartStrip for Trigger:%i", im);
      sprintf(name, "stHit_vs_stStrip_Trigg[%i]", im);
      stHit_vs_stStrip_Trigg[im] = new TH2F(name, title, NSTART_STRIPS, 0, NSTART_STRIPS, 157, -5, 5);
      histList->Add(stHit_vs_stStrip_Trigg[im], "start--notshown");
   }

   for (Int_t im = 0; im < NSTART_STRIPS; im++) { // plot StTime - VtoTime
      sprintf(title, "Stm0_T - Vt_%i_T vs StartStrip", im);
      sprintf(name, "Stm0Vtdiff_vs_stStrip[%i]", im);
      Stm0Vtdiff_vs_stStrip[im] = new TH2F(name, title, NSTART_STRIPS, 0, NSTART_STRIPS, 1000, -5, 5);
      histList->Add(Stm0Vtdiff_vs_stStrip[im], "start--gridx--gridy");

      sprintf(title, "Stm1_T - Vt_%i_T vs StartStrip", im);
      sprintf(name, "Stm1Vtdiff_vs_stStrip[%i]", im);
      Stm1Vtdiff_vs_stStrip[im] = new TH2F(name, title, NSTART_STRIPS, 0, NSTART_STRIPS, 1000, -5, 5);
      histList->Add(Stm1Vtdiff_vs_stStrip[im], "start--gridx--gridy");
   }


}

void HQAHistograms::bookHistRich()
{
   Char_t name[256];
   Char_t title[256];

   richCal_row = new TH1F("richCal_row", "richCal: row", 90, 0, 90);
   richCal_row->SetXTitle("Row");
   histList->Add(richCal_row, "rich--");

   richCal_column = new TH1F("richCal_column", "richCal: column", 92, 0, 92);
   richCal_column->SetXTitle("Column");
   histList->Add(richCal_column, "rich--");

   richCal_nSec = new TH1F("richCal_nSec", "richCal: fired pads by sector", 6, -0.5, 5.5);
   histList->Add(richCal_nSec, "rich--");

   richHit_nSec = new TH1F("richHit_nSec", "richHit: hits by sector", 6, -0.5, 5.5);
   histList->Add(richHit_nSec, "rich--");

   richHit_scat = new TH2F("richHit_scat", "richHit: hit distribution in lab frame", 105, -1.05, 1.05, 105, -1.05, 1.05);
   richHit_scat->SetXTitle("Relative X_{lab}");
   richHit_scat->SetXTitle("Relative Y_{lab}");
   histList->Add(richHit_scat, "rich--nobox");

   richHit_phi = new TH1F("richHit_phi", "richHit: #Phi", 120, 0., 360.);
   richHit_phi->SetXTitle("#Phi (deg)");
   histList->Add(richHit_phi, "rich--");

   richHit_theta = new TH1F("richHit_theta", "richHit: #Theta", 80, 10., 90.);
   richHit_theta->SetXTitle("#Theta (deg)");
   histList->Add(richHit_theta, "rich--");

   richHit_radius = new TH1F("richHit_radius", "richHit: Ring radius", 80, 2, 6);
   richHit_radius->SetXTitle("Radius (pad)");
   histList->Add(richHit_radius, "rich--");

   richHit_centroid = new TH1F("richHit_centroid", "richHit: Ring centroid", 100, 0, 4);
   richHit_centroid->SetXTitle("Centroid (a.u.)");
   histList->Add(richHit_centroid, "rich--");

   richHit_chargeAmpl = new TH1F("richHit_chargeAmpl", "richHit: Ring amplitude", 100, 0, 10000);
   richHit_chargeAmpl->SetXTitle("Amplitude (ADC channel)");
   histList->Add(richHit_chargeAmpl, "rich--");

   richHit_ringCol = new TH1F("richHit_ringCol", "richHit: column", 92, 0, 92);
   richHit_ringCol->SetXTitle("column");
   histList->Add(richHit_ringCol, "rich--");

   richHit_ringRow = new TH1F("richHit_ringRow", "richHit: row", 90, 0, 90);
   richHit_ringRow->SetXTitle("row");
   histList->Add(richHit_ringRow, "rich--");

   richHit_ringLocMax4 = new TH1F("richHit_ringLocMax4", "richHit: Ring Loc Max4", 15, 0, 15);
   histList->Add(richHit_ringLocMax4, "rich--");

   richHit_houTraVsPatMat = new TH2F("richHit_houTraVsPatMat", "richHit: ring algorithm comparison", 100, 0, 200, 100, 0, 800);
   richHit_houTraVsPatMat->SetXTitle("Hough Trans.");
   richHit_houTraVsPatMat->SetYTitle("Pattern Matrix");
   histList->Add(richHit_houTraVsPatMat, "rich--");

   richHit_patMatVsTheta = new TH2F("richHit_patMatVsTheta", "richHit: #Theta vs. PM", 100, 200, 800, 90, 0, 90);
   richHit_patMatVsTheta->SetXTitle("Pattern Matrix");
   richHit_patMatVsTheta->SetYTitle("#Theta (deg)");
   histList->Add(richHit_patMatVsTheta, "rich--");

   richHit_houTraVsTheta = new TH2F("richHit_houTraVsTheta", "richHit: #Theta vs. HT", 100, 0, 200, 90, 0, 90);
   richHit_houTraVsTheta->SetXTitle("Hough Trans.");
   richHit_houTraVsTheta->SetYTitle("#Theta (deg)");
   histList->Add(richHit_houTraVsTheta, "rich--");

   richHit_chargeAmplVsTheta = new TH2F("richHit_chargeAmplVsTheta", "richHit: #theta vs. ring amplitude", 100, 0, 10000, 90, 0, 90);
   richHit_chargeAmplVsTheta->SetXTitle("Amplitude (ADC channel)");
   richHit_chargeAmplVsTheta->SetYTitle("#Theta (deg)");
   histList->Add(richHit_chargeAmplVsTheta, "rich--");

   richHit_radiusVsTheta = new TH2F("richHit_radiusVsTheta", "richHit: #Theta vs. radius", 40, 2, 6, 90, 0, 90);
   richHit_radiusVsTheta->SetXTitle("Radius");
   richHit_radiusVsTheta->SetYTitle("#Theta (deg)");
   histList->Add(richHit_radiusVsTheta, "rich--");

   for(Int_t i=0; i<6; i++)
   {
       sprintf(title, "richHit: RingAmpl per Num. of pads in ring, Sec[%i]", i);
       sprintf(name, "richHit_AverCharge[%i]", i);
       richHit_AverCharge[i] = new TH1F(name, title, 250, 0, 500);
       richHit_AverCharge[i]->SetXTitle("Amplitude (ADC channel)/Num of fired pads");
       richHit_AverCharge[i]->SetYTitle("counts");
       richHit_AverCharge[i]->SetLineColor(SectColor[i]);
       if(i==0)
       {
           histList->Add(richHit_AverCharge[i], "rich--6sec");
       }
       else
       {
	   histList->Add(richHit_AverCharge[i], "rich--same--6sec");
       }
   }

   for(Int_t i=0; i<6; i++)
   {
       sprintf(title, "richHit: Nr of pads per ring, Sec[%i]", i);
       sprintf(name, "richHit_NumPads[%i]", i);
       richHit_NumPads[i] = new TH1F(name, title, 50, -0.5, 49.5);
       richHit_NumPads[i]->SetXTitle("Num of pads per Ring");
       richHit_NumPads[i]->SetYTitle("counts");
       richHit_NumPads[i]->SetLineColor(SectColor[i]);
       if(i==0)
       {
           histList->Add(richHit_NumPads[i], "rich--6sec");
       }
       else
       {
	   histList->Add(richHit_NumPads[i], "rich--same--6sec");
       }
   }

   for(Int_t i=0; i<6; i++)
   {
       sprintf(title, "richHit: Nr of rings, Sec[%i]", i);
       sprintf(name, "richHit_NumRings[%i]", i);
       richHit_NumRings[i] = new TH1F(name, title, 20, -0.5, 19.5);
       richHit_NumRings[i]->SetXTitle("Num of Rings per event");
       richHit_NumRings[i]->SetYTitle("counts");
       richHit_NumRings[i]->SetLineColor(SectColor[i]);
       if(i==0)
       {
           histList->Add(richHit_NumRings[i], "rich--6sec");
       }
       else
       {
	   histList->Add(richHit_NumRings[i], "rich--same--6sec");
       }
   }
}

void HQAHistograms::bookHistMdc()
{

   mdcRaw_mboVsSector_m0 = new TH2F("mdcRaw_mboVsSector_m0", "mdcRaw: Plane I, sector vs. mbo mult.", 14, -0.5, 15.5, 6, -0.5, 5.5);
   mdcRaw_mboVsSector_m0->SetXTitle("mbo #");
   mdcRaw_mboVsSector_m0->SetYTitle("sector");
   histList->Add(mdcRaw_mboVsSector_m0, "mdc--logz");

   mdcRaw_mboVsSector_m1 = new TH2F("mdcRaw_mboVsSector_m1", "mdcRaw: Plane II, sector vs. mbo mult.", 16, -0.5, 15.5, 6, -0.5, 5.5);
   mdcRaw_mboVsSector_m1->SetXTitle("mbo #");
   mdcRaw_mboVsSector_m1->SetYTitle("sector");
   histList->Add(mdcRaw_mboVsSector_m1, "mdc--logz");

   mdcRaw_mboVsSector_m2 = new TH2F("mdcRaw_mboVsSector_m2", "mdcRaw: Plane III, sector vs. mbo mult.", 16, -0.5, 15.5, 6, -0.5, 5.5);
   mdcRaw_mboVsSector_m2->SetXTitle("mbo #");
   mdcRaw_mboVsSector_m2->SetYTitle("sector");
   histList->Add(mdcRaw_mboVsSector_m2, "mdc--logz");

   mdcRaw_mboVsSector_m3 = new TH2F("mdcRaw_mboVsSector_m3", "mdcRaw: Plane IV, sector vs. mbo mult.", 16, -0.5, 15.5, 6, -0.5, 5.5);
   mdcRaw_mboVsSector_m3->SetXTitle("mbo #");
   mdcRaw_mboVsSector_m3->SetYTitle("sector");
   histList->Add(mdcRaw_mboVsSector_m3, "mdc--logz");

   mdcCal1_nVsSector_m0 = new TH2F("mdcCal1_nVsSector_m0", "mdcCal1: Plane I, sector vs. multiplicity", 51, -0.5, 50.5, 6, -0.5, 5.5);
   mdcCal1_nVsSector_m0->SetXTitle("# fired wires");
   histList->Add(mdcCal1_nVsSector_m0, "mdc--logz,sectorhist");

   mdcCal1_nVsSector_m1 = new TH2F("mdcCal1_nVsSector_m1", "mdcCal1: Plane II, sector vs. multiplicity", 51, -0.5, 50.5, 6, -0.5, 5.5);
   mdcCal1_nVsSector_m1->SetXTitle("# fired wires");
   histList->Add(mdcCal1_nVsSector_m1, "mdc--logz,sectorhist");

   mdcCal1_nVsSector_m2 = new TH2F("mdcCal1_nVsSector_m2", "mdcCal1: Plane III, sector vs. multiplicity", 51, -0.5, 50.5, 6, -0.5, 5.5);
   mdcCal1_nVsSector_m2->SetXTitle("# fired wires");
   histList->Add(mdcCal1_nVsSector_m2, "mdc--logz,sectorhist");

   mdcCal1_nVsSector_m3 = new TH2F("mdcCal1_nVsSector_m3", "mdcCal1: Plane IV, sector vs. multiplicity", 51, -0.5, 50.5, 6, -0.5, 5.5);
   mdcCal1_nVsSector_m3->SetXTitle("# fired wires");
   histList->Add(mdcCal1_nVsSector_m3, "mdc--logz,sectorhist");

   mdcCal1_time1VsSector_m0 = new TH2F("mdcCal1_time1VsSector_m0", "mdcCal1: Plane I, sector vs. time1", 200, 0., 1000., 6, -0.5, 5.5);
   mdcCal1_time1VsSector_m0->SetXTitle("time1 (ns)");
   histList->Add(mdcCal1_time1VsSector_m0, "mdc--sectorhist");

   mdcCal1_time1VsSector_m1 = new TH2F("mdcCal1_time1VsSector_m1", "mdcCal1: Plane II, sector vs. time1", 200, 0., 1000., 6, -0.5, 5.5);
   mdcCal1_time1VsSector_m1->SetXTitle("time1 (ns)");
   histList->Add(mdcCal1_time1VsSector_m1, "mdc--sectorhist");

   mdcCal1_time1VsSector_m2 = new TH2F("mdcCal1_time1VsSector_m2", "mdcCal1: Plane III, sector vs. time1", 200, 0., 1000., 6, -0.5, 5.5);
   mdcCal1_time1VsSector_m2->SetXTitle("time1 (ns)");
   histList->Add(mdcCal1_time1VsSector_m2, "mdc--sectorhist");

   mdcCal1_time1VsSector_m3 = new TH2F("mdcCal1_time1VsSector_m3", "mdcCal1: Plane IV, sector vs. time1", 200, 0., 1000., 6, -0.5, 5.5);
   mdcCal1_time1VsSector_m3->SetXTitle("time1 (ns)");
   histList->Add(mdcCal1_time1VsSector_m3, "mdc--sectorhist");

   mdcCal1_tatVsSector_m0 = new TH2F("mdcCal1_tatVsSector_m0", "mdcCal1: Plane I, sector vs. t.a.t.", 150, 0., 300., 6, -0.5, 5.5);
   mdcCal1_tatVsSector_m0->SetXTitle("time above threshold (ns)");
   mdcCal1_tatVsSector_m0->SetYTitle("sector");
   histList->Add(mdcCal1_tatVsSector_m0, "mdc--");

   mdcCal1_tatVsSector_m1 = new TH2F("mdcCal1_tatVsSector_m1", "mdcCal1: Plane II, sector vs. t.a.t.", 150, 0., 300., 6, -0.5, 5.5);
   mdcCal1_tatVsSector_m1->SetXTitle("time above threshold (ns)");
   mdcCal1_tatVsSector_m1->SetYTitle("sector");
   histList->Add(mdcCal1_tatVsSector_m1, "mdc--");

   mdcCal1_tatVsSector_m2 = new TH2F("mdcCal1_tatVsSector_m2", "mdcCal1: Plane III, sector vs. t.a.t.", 150, 0., 300., 6, -0.5, 5.5);
   mdcCal1_tatVsSector_m2->SetXTitle("time above threshold (ns)");
   mdcCal1_tatVsSector_m2->SetYTitle("sector");
   histList->Add(mdcCal1_tatVsSector_m2, "mdc--");

   mdcCal1_tatVsSector_m3 = new TH2F("mdcCal1_tatVsSector_m3", "mdcCal1: Plane IV, sector vs. t.a.t.", 150, 0., 300., 6, -0.5, 5.5);
   mdcCal1_tatVsSector_m3->SetXTitle("time above threshold (ns)");
   mdcCal1_tatVsSector_m3->SetYTitle("sector");
   histList->Add(mdcCal1_tatVsSector_m3, "mdc--");


   //***************************************************
   // time above threshold vs. drift time = t2-t1 vs. t1
   // here: 24 2-dim histograms, one could also think of one histogram per plane (=chamber type) = 4 2-dim histos
   //
   Char_t title[100], name[100];
   Float_t t1tatx[2] = {   0., 500.};
   Float_t t1taty[2] = { -20., 1000.};
   Int_t   t1tatn[2] = { 250 , 370 };
   //
   //Sector-color description
   //                     blue,  red ,black, green,magn,yell
   //Int_t   SectColor[6]={   4 ,  2   ,  1  ,  8   , 6  ,  5 };
#include "QAsectioncolors.h"
   //Char_t *SectDescr[6]={ "s1", "s3" ,"s6" , "s2" ,"s4","s5"};
   //please be careful every time with "same" option for
   //overlayed histograms: by definition D.Magestro made
   //normal 1-dim plot to be blue-colored. So first color
   //of any overlayed histogramm should be blue, otherwise
   //it will be blue anyway whyle printing histograms (finalisation
   //stage), so better if we agree to keep "blue" color to be
   //always first in a color pallete of any overlayed plots
   for (Int_t im = 0; im < 4; im++) {
      sprintf(title, "(t2-t1) vs. t1 for plane%i", im);
      sprintf(name, "mdcCal1_t2mt1_vs_t1_plane[%i]", im);
      mdcCal1_t2mt1_vs_t1_plane[im] = new TH2F(name, title, t1tatn[0], t1tatx[0], t1tatx[1], t1tatn[1], t1taty[0], t1taty[1]);
      mdcCal1_t2mt1_vs_t1_plane[im]->SetXTitle("t2-t1 (ns)");
      mdcCal1_t2mt1_vs_t1_plane[im]->SetYTitle("t1 (ns)");
      histList->Add(mdcCal1_t2mt1_vs_t1_plane[im], "mdc--planehist");
   }

   for (Int_t im = 0; im < 4; im++) {
      for (Int_t is = 0; is < 6; is++) {
         //bi-plots--
         sprintf(title, "(t2-t1) vs. t1 for sector%i module%i", is, im);
         sprintf(name, "mdcCal1_t2mt1_vs_t1[%i][%i]", is, im);
         mdcCal1_t2mt1_vs_t1[is][im] = new TH2F(name, title, t1tatn[0], t1tatx[0], t1tatx[1], t1tatn[1], t1taty[0], t1taty[1]);
         mdcCal1_t2mt1_vs_t1[is][im]->SetXTitle("t2-t1 (ns)");
         mdcCal1_t2mt1_vs_t1[is][im]->SetYTitle("t1 (ns)");
         if (is == 0) {
            histList->Add(mdcCal1_t2mt1_vs_t1[is][im], "mdc--newpage");
         } else {
            histList->Add(mdcCal1_t2mt1_vs_t1[is][im], "mdc--");
         }
      }
   }

   for (Int_t im = 0; im < 4; im++) {
      for (Int_t is = 0; is < 6; is++) {
         //dN/d[t1]
         //sprintf(title,"t1 for sector%i module%i",is,im);
         sprintf(title, "Drift time for mod%i s%i", im, is);
         sprintf(name, "mdcCal1_t1[%i][%i]", is, im);
         mdcCal1_t1[is][im] = new TH1F(name, title, t1tatn[1], t1taty[0], t1taty[1]);
         mdcCal1_t1[is][im]->SetXTitle("t1 (ns)");
         mdcCal1_t1[is][im]->SetYTitle("dN/d[t1]");
         mdcCal1_t1[is][im]->SetLineColor(SectColor[is]);
         mdcCal1_t1[is][im]->SetLineWidth(8);
         //if(is==0 && im==0){histList->Add(mdcCal1_t1[is][im],"mdc--newpage");}
         //else{
         if (is == 0) {
            histList->Add(mdcCal1_t1[is][im], "mdc--6sec");
         } else {
            histList->Add(mdcCal1_t1[is][im], "mdc--same--6sec");
         }
         //}
      }
   }

   for (Int_t im = 0; im < 4; im++) {
      for (Int_t is = 0; is < 6; is++) {
         //single-plots--
         //dN/d[t2-t1]
         //sprintf(title,"(t2-t1) for sector%i module%i",is,im);
         sprintf(title, "Time above threshold for mod%i s%i", im, is);
         sprintf(name, "mdcCal1_t2mt1[%i][%i]", is, im);
         mdcCal1_t2mt1[is][im] = new TH1F(name, title, t1tatn[0], t1tatx[0], t1tatx[1]);
         mdcCal1_t2mt1[is][im]->SetXTitle("t2-t1 (ns)");
         mdcCal1_t2mt1[is][im]->SetYTitle("dN/d[t2-t1] (ns)");
         mdcCal1_t2mt1[is][im]->SetLineColor(SectColor[is]);
         mdcCal1_t2mt1[is][im]->SetLineWidth(8);
         if (is == 0 && im == 0) {
            histList->Add(mdcCal1_t2mt1[is][im], "mdc--newpage");
         } else {
            if (is == 0) {
               histList->Add(mdcCal1_t2mt1[is][im], "mdc--6sec");
            } else {
               histList->Add(mdcCal1_t2mt1[is][im], "mdc--same--6sec");
            }
	 }
      }
   }

   for (Int_t im = 0; im < 4; im++) {
       for (Int_t il = 0; il < 6; il++) {
	   for (Int_t is=0; is < 6; is++)
	   {
	       sprintf(title, "Time above threshold for mod%i s%i lay%i", im, is, il);
	       sprintf(name, "mdcCal1_t2mt1_V2[%i][%i][%i]", is, im,il);
	       mdcCal1_t2mt1_V2[is][im][il]= new TH1F(name, title, t1tatn[0], t1tatx[0], t1tatx[1]);
               mdcCal1_t2mt1_V2[is][im][il]->SetLineColor(SectColor[is]);

	       if(is==0){
		   histList->Add(mdcCal1_t2mt1_V2[is][im][il], "mdc--6sec");
	       } else {
		   histList->Add(mdcCal1_t2mt1_V2[is][im][il], "mdc--same--6sec");
	       }
	   }
       }
   }

   for (Int_t im = 0; im < 4; im++) {
       for (Int_t il = 0; il < 6; il++) {
	   for (Int_t is=0; is < 6; is++)
	   {
	       sprintf(title, "Drift time for mod%i s%i lay%i", im, is, il);
	       sprintf(name, "mdcCal1_t1_V2[%i][%i][%i]", is, im,il);
	       mdcCal1_t1_V2[is][im][il]= new TH1F(name, title, t1tatn[0], t1taty[0], t1taty[1]);
               mdcCal1_t1_V2[is][im][il]->SetLineColor(SectColor[is]);

	       if(is==0){
	       histList->Add(mdcCal1_t1_V2[is][im][il], "mdc--6sec");
	       } else {
		   histList->Add(mdcCal1_t1_V2[is][im][il], "mdc--same--6sec");
	       }
	   }
       }
   }

   for (Int_t ig = 0; ig < 2; ig++) {
       for (Int_t is = 0; is < 6; is++) {

	   sprintf(title, "#chi² seg%i sec%i", ig, is);
	   sprintf(name, "mdcSeg_Chi2[%i][%i]", is, ig);
	   mdcSeg_Chi2[is][ig]= new TH1F(name, title, 220,-10,100);
	   mdcSeg_Chi2[is][ig]->SetLineColor(SectColor[is]);

	   if(is==0){
	       histList->Add(mdcSeg_Chi2[is][ig], "mdc--6sec");
	   } else {
	       histList->Add(mdcSeg_Chi2[is][ig], "mdc--same--6sec");
	   }
       }
   }


   //***************************************************


   mdcHit_scat_m0 = new TH2F("mdcHit_scat_m0", "mdcHit: Plane I, hit distribution", 100, -900, 900, 100, -900, 900);
   mdcHit_scat_m0->SetXTitle("view from target");
   histList->Add(mdcHit_scat_m0, "mdc--newpage");

   mdcHit_scat_m1 = new TH2F("mdcHit_scat_m1", "mdcHit: Plane II, hit distribution", 100, -1000, 1000, 100, -1000, 1000);
   mdcHit_scat_m1->SetXTitle("view from target");
   histList->Add(mdcHit_scat_m1, "mdc--");

   mdcHit_scat_m2 = new TH2F("mdcHit_scat_m2", "mdcHit: Plane III, hit distribution", 100, -2000, 2000, 100, -2000, 2000);
   mdcHit_scat_m2->SetXTitle("view from target");
   histList->Add(mdcHit_scat_m2, "mdc--");

   mdcHit_scat_m3 = new TH2F("mdcHit_scat_m3", "mdcHit: Plane IV, hit distribution", 100, -2500, 2500, 100, -2500, 2500);
   mdcHit_scat_m3->SetXTitle("view from target");
   histList->Add(mdcHit_scat_m3, "mdc--");

   //***************************************************
   //                 blue ,magn,yell, red , gray , green  , lightgray
   Int_t   color[8] = {  4   , 6 ,  5 ,   2  ,  12  ,   8 , kOrange+2   ,  32    };
   //Char_t *descr[7]={"All","t1","t2","t1t2","wire","t1+t12","bump","cutall"};
   for (Int_t i = 0; i < 8; i++) {
      sprintf(title, "Events and cut counts %i", i);
      sprintf(name, "mdcCutCounts[%i]", i);
      mdcCutCounts[i] = new TH1F(name, title, 24, 0., 24.);
      mdcCutCounts[i]->SetXTitle("p1{s1,s2,...,s6}, p2{s1,...,s6},...,p4{s1..}");
      mdcCutCounts[i]->SetYTitle("Counts");
      mdcCutCounts[i]->SetLineColor(color[i]);
      mdcCutCounts[i]->SetLineWidth(8);
      if (i == 0) {
         mdcCutCounts[i]->SetFillColor(color[i]);
      }
      if (i == 0) {
         histList->Add(mdcCutCounts[i], "mdc--");
      } else {
         histList->Add(mdcCutCounts[i], "mdc--same");
      }

   }
   //***************************************************


}

void HQAHistograms::bookHistTof()
{
   Char_t name[256];
   Char_t title[256];

   tofHit_scat = new TH2F("tofHit_scat", "tofHit: hit distribution in lab frame", 100, -2750, 2750, 100, -2750, 2750);
   tofHit_scat->SetXTitle("X_{lab} (mm)");
   tofHit_scat->SetYTitle("Y_{lab} (mm)");
   histList->Add(tofHit_scat, "tof--nobox");

   tofHit_tof = new TH1F("tofHit_tof", "tofHit: time of flight", 200, 0., 50.);
   tofHit_tof->SetXTitle("time of flight (ns)");
   histList->Add(tofHit_tof, "tof--");

   tofHit_theta = new TH1F("tofHit_theta", "tofHit: theta angle", 50, 40., 90.);
   tofHit_theta->SetXTitle("#theta (degrees)");
   histList->Add(tofHit_theta, "tof--");

   tofHit_phi = new TH1F("tofHit_phi", "tofHit: phi angle", 120, 0., 360.);
   tofHit_phi->SetXTitle("#phi (degrees)");
   histList->Add(tofHit_phi, "tof--");

   /*??tofHit_n = new TH1F("tofHit_n", "tofHit: hit multiplicity", 51, -0.5, 50.5);
   tofHit_n->SetXTitle("num hits");
   histList->Add(tofHit_n, "tof--");
   */
   for (Int_t is = 0; is < 6; is++)
   {
       sprintf(title, "tofHit: hit multiplicity");
       sprintf(name, "tofHit_n[%i]", is);
       tofHit_n[is] = new TH1F(name, title, 51, -0.5, 50.5);
       tofHit_n[is]->SetXTitle("num hits");
       tofHit_n[is]->SetYTitle("counts");
       tofHit_n[is]->SetLineColor(SectColor[is]);
       tofHit_n[is]->SetLineWidth(8);
       if (is == 0) {
	   histList->Add(tofHit_n[is], "tof--6sec");
       } else {
	   histList->Add(tofHit_n[is], "tof--same--6sec");
       }
   }

   tofHit_tot = new TH1F("tofHit_tot","tofHit: total hit multiplicity",101, -0.5, 100.5);
   tofHit_tot ->SetXTitle("num hits");
   tofHit_tot ->SetYTitle("counts");
   histList->Add(tofHit_tot, "tof--");

   tofHit_nSec = new TH1F("tofHit_nSec", "tofHit: num hits/event/sector", 6, -0.5, 5.5);
   tofHit_nSec->SetXTitle("sector");
   tofHit_nSec->SetYTitle("counts");
   histList->Add(tofHit_nSec, "tof--");

}


void HQAHistograms::bookHistRpc()
{
   Char_t name[256];
   Char_t title[256];

   rpcHit_scat = new TH2F("rpcHit_scat", "rpcHit: hit distribution in lab frame", 100, -2750, 2750, 100, -2750, 2750);
   rpcHit_scat->SetXTitle("X_{lab} (mm)");
   rpcHit_scat->SetYTitle("Y_{lab} (mm)");
   histList->Add(rpcHit_scat, "rpc--nobox");

   rpcHit_tof = new TH1F("rpcHit_tof", "rpcHit: time of flight", 200, -20., 60.);
   rpcHit_tof->SetXTitle("time of flight (ns)");
   histList->Add(rpcHit_tof, "rpc--");

   rpcHit_theta = new TH1F("rpcHit_theta", "rpcHit: theta angle", 40, 10., 50.);
   rpcHit_theta->SetXTitle("#theta (degrees)");
   histList->Add(rpcHit_theta, "rpc--");

   rpcHit_phi = new TH1F("rpcHit_phi", "rpcHit: phi angle", 120, 0., 360.);
   rpcHit_phi->SetXTitle("#phi (degrees)");
   histList->Add(rpcHit_phi, "rpc--");

  /*?? rpcHit_n = new TH1F("rpcHit_n", "rpcHit: hit multiplicity", 71, -0.5, 70.5);
   rpcHit_n->SetXTitle("num hits");
   histList->Add(rpcHit_n, "rpc--");*/

   for (Int_t is = 0; is < 6; is++)
   {
       sprintf(title, "rpcHit: hit multiplicity");
       sprintf(name, "rpcHit_n[%i]", is);
       rpcHit_n[is] = new TH1F(name, title, 71, -0.5, 70.5);
       rpcHit_n[is]->SetXTitle("num hits");
       rpcHit_n[is]->SetYTitle("counts");
       rpcHit_n[is]->SetLineColor(SectColor[is]);
       rpcHit_n[is]->SetLineWidth(8);
       if (is == 0) {
	   histList->Add(rpcHit_n[is], "rpc--6sec");
       } else {
	   histList->Add(rpcHit_n[is], "rpc--same--6sec");
       }
   }

   rpcHit_tot = new TH1F("rpcHit_tot","rpcHit: total hit multiplicity",101, -1, 201);
   rpcHit_tot ->SetXTitle("num hits");
   rpcHit_tot ->SetYTitle("counts");
   histList->Add(rpcHit_tot, "rpc--");

   rpcHit_nSec = new TH1F("rpcHit_nSec", "rpcHit: num hits/event/sector", 6, -0.5, 5.5);
   rpcHit_nSec->SetXTitle("sector");
   rpcHit_nSec->SetYTitle("counts");
   histList->Add(rpcHit_nSec, "rpc--");

}


void HQAHistograms::bookHistShower()
{
   Char_t name[256];
   Char_t title[256];

   shoHit_scat = new TH2F("shoHit_scat", "showerHit (LAB)", 100, -2100, 2100, 100, -2100, 2100);
   shoHit_scat->SetXTitle("X_{lab} (mm)");
   shoHit_scat->SetYTitle("Y_{lab} (mm)");
   histList->Add(shoHit_scat, "shower--nobox");

   shoHit_sectorVsModule = new TH2F("shoHit_sectorVsModule" , "showerHit: Sectors vs. Modules", 11, -0.25, 5.25, 5, -0.25, 2.25);
   shoHit_sectorVsModule->SetXTitle("sector");
   shoHit_sectorVsModule->SetYTitle("module");
   shoHit_sectorVsModule->GetXaxis()->SetTitleOffset(4);
   shoHit_sectorVsModule->GetYaxis()->SetTitleOffset(4);
   histList->Add(shoHit_sectorVsModule, "shower--lego2");

   shoHit_theta = new TH1F("shoHit_theta", "showerHit: theta angle", 50, 5., 55.);
   shoHit_theta->SetXTitle("#theta (degrees)");
   histList->Add(shoHit_theta, "shower--");

   shoHit_phi = new TH1F("shoHit_phi", "showerHit: phi angle", 120, 0., 360.);
   shoHit_phi->SetXTitle("#phi (degrees)");
   histList->Add(shoHit_phi, "shower--");

   //?? where are they
   shoHit_chargeVsSector_m0 = new TH2F("shoHit_chargeVsSector_m0" , "showerHit: Mod 0, charge on loc. max.", 100, 0., 100., 6, -0.5, 5.5);
   shoHit_chargeVsSector_m0->SetXTitle("charge on loc. max.");
   histList->Add(shoHit_chargeVsSector_m0, "shower--logz,sectorhist");

   shoHit_chargeVsSector_m1 = new TH2F("shoHit_chargeVsSector_m1" , "showerHit: Mod 1, charge on loc. max.", 100, 0., 100., 6, -0.5, 5.5);
   shoHit_chargeVsSector_m1->SetXTitle("charge on loc. max.");
   histList->Add(shoHit_chargeVsSector_m1, "shower--logz,sectorhist");

   shoHit_chargeVsSector_m2 = new TH2F("shoHit_chargeVsSector_m2" , "showerHit: Mod 2, charge on loc. max.", 100, 0., 100., 6, -0.5, 5.5);
   shoHit_chargeVsSector_m2->SetXTitle("charge on loc. max.");
   histList->Add(shoHit_chargeVsSector_m2, "shower--logz,sectorhist");

   shoHit_rowVsSector_m0 = new TH2F("shoHit_rowVsSector_m0" , "showerHit: Mod 0, sector vs. row", 32, 0., 32., 6, -0.5, 5.5);
   shoHit_rowVsSector_m0->SetXTitle("charge on loc. max.");
   histList->Add(shoHit_rowVsSector_m0, "shower--logz,sectorhist");

   shoHit_rowVsSector_m1 = new TH2F("shoHit_rowVsSector_m1" , "showerHit: Mod 1, sector vs. row", 32, 0., 32., 6, -0.5, 5.5);
   shoHit_rowVsSector_m1->SetXTitle("charge on loc. max.");
   histList->Add(shoHit_rowVsSector_m1, "shower--logz,sectorhist");

   shoHit_rowVsSector_m2 = new TH2F("shoHit_rowVsSector_m2" , "showerHit: Mod 2, sector vs. row", 32, 0., 32., 6, -0.5, 5.5);
   shoHit_rowVsSector_m2->SetXTitle("charge on loc. max.");
   histList->Add(shoHit_rowVsSector_m2, "shower--logz,sectorhist");

   shoHit_colVsSector_m0 = new TH2F("shoHit_colVsSector_m0" , "showerHit: Mod 0, sector vs. col", 32, 0., 32., 6, -0.5, 5.5);
   shoHit_colVsSector_m0->SetXTitle("charge on loc. max.");
   histList->Add(shoHit_colVsSector_m0, "shower--logz,sectorhist");

   shoHit_colVsSector_m1 = new TH2F("shoHit_colVsSector_m1" , "showerHit: Mod 1, sector vs. col", 32, 0., 32., 6, -0.5, 5.5);
   shoHit_colVsSector_m1->SetXTitle("charge on loc. max.");
   histList->Add(shoHit_colVsSector_m1, "shower--logz,sectorhist");

   shoHit_colVsSector_m2 = new TH2F("shoHit_colVsSector_m2" , "showerHit: Mod 2, sector vs. col", 32, 0., 32., 6, -0.5, 5.5);
   shoHit_colVsSector_m2->SetXTitle("charge on loc. max.");
   histList->Add(shoHit_colVsSector_m2, "shower--logz,sectorhist");

   shoHit_nRow = new TH1F("shoHit_nRow", "ShowerHit: Rows (All sectors)", 32, 0, 31);
   shoHit_nRow->SetXTitle("Row");
   histList->Add(shoHit_nRow, "shower--");

   shoHit_nCol = new TH1F("shoHit_nCol", "ShowerHit: Cols (All sectors)", 32, 0, 31);
   shoHit_nCol->SetXTitle("Col");
   histList->Add(shoHit_nCol, "shower--");

   for (Int_t is = 0; is < 6; is++)
   {
       sprintf(title, "ShowerHit: hit multiplicity");
       sprintf(name, "ShowerHit_n[%i]", is);
       shoHit_n[is] = new TH1F(name, title, 51, -0.5, 50.5);
       shoHit_n[is]->SetXTitle("num hits");
       shoHit_n[is]->SetYTitle("counts");
       shoHit_n[is]->SetLineColor(SectColor[is]);
       shoHit_n[is]->SetLineWidth(8);
       if (is == 0) {
	   histList->Add(shoHit_n[is], "shower--6sec");
       } else {
	   histList->Add(shoHit_n[is], "shower--same--6sec");
       }
   }

   Int_t   color[3] = {  4   , 30 ,  6 };
   Char_t buf[80];
   Char_t buf1[80];
   for (Int_t s = 0; s < 6; s++) {
      for (Int_t m = 0; m < 3; m++) {
         sprintf(buf, "showersums_%i_%i", s, m);
         sprintf(buf1, "Shower Sums (Normalized): Sector %i", s);
         shoHitSums[s][m] = new TH1F(buf, buf1, 200, 0, 400);
         shoHitSums[s][m]->SetXTitle("Charge");
         shoHitSums[s][m]->SetLineColor(color[m]);
         shoHitSums[s][m]->SetLineWidth(8);
         if (s == 0 && m == 0) {
            histList->Add(shoHitSums[s][m], "shower--newpage--3mod");
         } else {
            if (m == 0) histList->Add(shoHitSums[s][m], "shower--3mod");
            else histList->Add(shoHitSums[s][m], "shower--same--3mod");
         }
      }
   }

   for (Int_t s = 0; s < 6; s++) {
      for (Int_t m = 0; m < 3; m++) {
         sprintf(buf, "shoHit_nm_%i_%i", s, m);
         sprintf(buf1, "Shower Multiplicity: Sector %i", s);
         shoHit_nm[s][m] = new TH1F(buf, buf1, 51, -0.5, 50.5);
         shoHit_nm[s][m]->SetXTitle("num hits");
         shoHit_nm[s][m]->SetLineColor(color[m]);
         shoHit_nm[s][m]->SetLineWidth(8);
         if (s == 0 && m == 0) {
            histList->Add(shoHit_nm[s][m], "shower--newpage--3mod");
         } else {
            if (m == 0) histList->Add(shoHit_nm[s][m], "shower--3mod");
            else histList->Add(shoHit_nm[s][m], "shower--same--3mod");
         }
      }
   }




   shoHit_nSec = new TH1F("shoHit_nSec", "showerHit: num hits/event/sector", 6, -0.5, 5.5);
   shoHit_nSec->SetXTitle("sector");
   histList->Add(shoHit_nSec, "shower--logy");

   shoHitTof_scat = new TH2F("shoHitTof_scat", "showerHitTof (LAB) ", 100, -2100, 2100, 100, -2100, 2100);
   shoHitTof_scat->SetXTitle("X_{lab} (mm)");
   shoHitTof_scat->SetYTitle("Y_{lab} (mm)");
   histList->Add(shoHitTof_scat, "shower--nobox");

   shoHitTof_nSec = new TH1F("shoHitTof_nSec", "showerHitTof: num hits/event/sector", 6, -0.5, 5.5);
   shoHitTof_nSec->SetXTitle("sector");
   histList->Add(shoHitTof_nSec, "shower--logy");
}

void HQAHistograms::bookHistWall()
{

   hWallCellSmall  = new TH1F("hWallCellSmall" , "Wall cell Small"     , 144,    0. , 144.);
   hWallCellSmall->SetXTitle("cell Numb");
   histList->Add(hWallCellSmall, "wall--");

   hWallCellMedium = new TH1F("hWallCellMedium", "Wall cell Medium"    , 64,   144., 208.);
   hWallCellMedium->SetXTitle("cell Numb");
   histList->Add(hWallCellMedium, "wall--");

   hWallCellLarge  = new TH1F("hWallCellLarge" , "Wall cell Large"     , 92,   210., 302.);
   hWallCellLarge->SetXTitle("cell Numb");
   histList->Add(hWallCellLarge, "wall--");

   hMultWall       = new TH1F("hMultWall"      , "Wall mult"           , 120,    0. ,  120.);
   hMultWall->SetXTitle("multiplicity");
   histList->Add(hMultWall, "wall--");

   //hWallCellTime   = new TH2F("hWallCellTime"  , "Wall Time vs Cell"   ,302,    0. , 302,    30,   0., 60.);
   hWallCellTime   = new TH2F("hWallCellTime"  , "Wall Time vs Cell"   , 151,    0. , 302,   120,   0., 60.);
   hWallCellTime->SetXTitle("cell");
   hWallCellTime->SetYTitle("time [ns]");
   histList->Add(hWallCellTime, "wall--");

   //hWallCellAdc    = new TH2F("hWallCellAdc"   , "Wall Charge vs Cell" ,302,    0. , 302,   120,   0., 60.);
   hWallCellAdc    = new TH2F("hWallCellAdc"   , "Wall Charge vs Cell" , 151,    0. , 302,    30,   0., 150.);
   hWallCellAdc->SetXTitle("cell");
   hWallCellAdc->SetYTitle("ADC");
   histList->Add(hWallCellAdc, "wall--");

   hWallHitNumI    = new TH1F("hWallHitNumI"   , "Number of hits I   quarter", 40, 0, 40); //  1-6 ; 61-66
   hWallHitNumI->SetXTitle("cell");
   histList->Add(hWallHitNumI, "wall--");

   hWallHitNumII   = new TH1F("hWallHitNumII"  , "Number of hits II  quarter", 40, 0, 40); //  7-12; 67-72
   hWallHitNumII->SetXTitle("cell");
   histList->Add(hWallHitNumII, "wall--");

   hWallHitNumIII  = new TH1F("hWallHitNumIII" , "Number of hits III quarter", 40, 0, 40); // 73-78;133-138
   hWallHitNumIII->SetXTitle("cell");
   histList->Add(hWallHitNumIII, "wall--");

   hWallHitNumIV   = new TH1F("hWallHitNumIV"  , "Number of hits IV  quarter", 40, 0, 40); // 79-84;139-144
   hWallHitNumIV->SetXTitle("cell");
   histList->Add(hWallHitNumIV, "wall--");

   hWallXY         = new TH2F("hWallXY"        , "Wall X vs Wall Y"    , 120, -120., 120., 120, -120., 120.);
   hWallXY->SetXTitle("x");
   hWallXY->SetYTitle("y");
   histList->Add(hWallXY, "wall--");

   ////histProfTofino->TH1::SetStats(kFALSE);

}

void HQAHistograms::bookHistEmc()
{
   hEmcRawMult = new TH1I("hEmcRawMult", "RAW Multiplicty;Multiplcity;Counts", 50, 0, 50);
   hEmcRawPattern = new TH1I("hEmcRawPattern", "RAW Multiplicity;Cell-Sector;Counts", 1200, 0, 1200);
   hEmcRawTimeCell = new TH2I("hEmcRawTimeCell", "RAW Time;Cell-Sector;Time", 1200, 0, 1200, 500, -500, 500);
   hEmcRawWidthCell = new TH2I("hEmcRawWidthCell", "RAW Width;Cell-Sector;Width", 1200, 0, 1200, 100, 0, 1000);
   hEmcCalMult = new TH1I("hEmcCalMult", "CAL Multiplcity;Multiplcity;Counts", 50, 0, 50);
   hEmcCalTime = new TH1I("hEmcCalTime", "CAL Time;Time;Counts", 1000, -500, 500);
   hEmcCalEnergy = new TH1I("hEmcCalEnergy", "CAL Energy;Energy;Counts", 100, 0, 1000);
   hEmcCalTimeCell = new TH2I("hEmcCalTimeCell", "CAL Time;Cell-Sector;Time", 1200, 0, 1200, 500, -500, 500);
   hEmcCalEnergyCell = new TH2I("hEmcCalEnergyCell", "CAL Energy;Cell-Sector;Energy", 1200, 0, 1200, 100, 0, 5000);
   hEmcCalCol = new TH1I("hEmcCalCol", "CAL Col;Column,Counts", 17, 0, 17);
   hEmcCalRow = new TH1I("hEmcCalRow", "CAL Row;Row;Counts", 15, 0, 15);
   hEmcCalRowCol = new TH2I("hEmcCalRowCol", "CAL Row vs Col;Col;Row", 6*18, 0, 6*18, 15, 0, 15);
   hEmcClusMult = new TH1I("hEmcClusMult", "CLUS Multiplcity;Multiplcity;Counts", 50, 0, 50);
   hEmcClusSize = new TH1I("hEmcClusSize", "CLUS Size;Size;Counts", 25, 0, 25);
   hEmcClusTime = new TH1I("hEmcClusTime", "CLUS Time;Time;Counts", 500, -500, 500);
   hEmcClusEnergy = new TH1I("hEmcClusEnergy", "CLUS Energy;Energy;Counts", 100, 0, 5000);
   hEmcClusTimeCell = new TH2I("hEmcClusTimeCell", "CLUS Time;Cell-Sector;Time", 1200, 0, 1200, 500, -500, 500);
   hEmcClusEnergyCell = new TH2I("hEmcClusEnergyCell", "CLUS Energy;Cell-Sector;Energy", 1200, 0, 1200, 100, 0, 5000);
   hEmcClusPhi = new TH1I("hEmcClusPhi", "CLUS Phi;Phi;Counts", 360, 0, 360);
   hEmcClusTheta = new TH1I("hEmcClusTheta", "CLUS Theta;Theta;Counts", 90, 0, 90);
   hEmcClusThetaPhi = new TH2I("hEmcClusThetaPhi", "CLUS Theta vs Phi;Phi;Theta", 360, 0, 260, 90, 0, 90);
   hEmcClusXYlab = new TH2I("hEmcClusXYlab", "CLUS X-Y;X;Y", 100, -10000, 10000, 100, -10000, 10000);

   histList->Add(hEmcRawMult, "emc--");
   histList->Add(hEmcRawPattern, "emc--");
   histList->Add(hEmcRawTimeCell, "emc--");
   histList->Add(hEmcRawWidthCell, "emc--");
   histList->Add(hEmcCalMult, "emc--");
   histList->Add(hEmcCalTime, "emc--");
   histList->Add(hEmcCalEnergy, "emc--");
   histList->Add(hEmcCalTimeCell, "emc--");
   histList->Add(hEmcCalEnergyCell, "emc--");
   histList->Add(hEmcCalCol, "emc--");
   histList->Add(hEmcCalRow, "emc--");
   histList->Add(hEmcCalRowCol, "emc--");
   histList->Add(hEmcClusMult, "emc--");
   histList->Add(hEmcClusSize, "emc--");
   histList->Add(hEmcClusTime, "emc--");
   histList->Add(hEmcClusEnergy, "emc--");
   histList->Add(hEmcClusTimeCell, "emc--");
   histList->Add(hEmcClusEnergyCell, "emc--");
   histList->Add(hEmcClusPhi, "emc--");
   histList->Add(hEmcClusTheta, "emc--");
   histList->Add(hEmcClusThetaPhi, "emc--");
   histList->Add(hEmcClusXYlab, "emc--");
}


void HQAHistograms::bookHistRichMDC()
{
   Char_t name[256], title[256];
   Int_t   SectColor[6] = {   4 ,  2   ,  1  ,  8   , 6  ,  5 };

   for (Int_t s = 0; s < 6; s++) {
      sprintf(name, "richmdc_dtheta_sec%d", s);
      sprintf(title, "Rich-Mdc: #Delta #Theta sec%d", s);
      richmdc_dtheta[s] = new TH1F(name, title, 80, -40, 40);

      richmdc_dtheta[s]->SetXTitle("#Delta #Theta [deg]");
      richmdc_dtheta[s]->SetYTitle("counts/event");
      richmdc_dtheta[s]->SetLineColor(SectColor[s]);
      richmdc_dtheta[s]->SetLineWidth(4);

      if (s == 0) histList->Add(richmdc_dtheta[s], "richmdc--6sec");
      else histList->Add(richmdc_dtheta[s], "richmdc--same--6sec");

   }

   for (Int_t s = 0; s < 6; s++) {
      sprintf(name, "richmdc_dphi_sec%d", s);
      sprintf(title, "Ric-Mdc: #Delta #Phi sec%d", s);
      richmdc_dphi[s] = new TH1F(name, title, 80, -40, 40);
      richmdc_dphi[s]->SetXTitle("#Delta #Phi*sin#Theta [deg]");
      richmdc_dphi[s]->SetYTitle("counts/event");
      richmdc_dphi[s]->SetLineColor(SectColor[s]);
      richmdc_dphi[s]->SetLineWidth(4);

      if (s == 0) histList->Add(richmdc_dphi[s], "richmdc--6sec");
      else  histList->Add(richmdc_dphi[s], "richmdc--same--6sec");
   }

   //richmdc_lep = new TH1F("richmdc_lep", "#splitline{Rich-Mdc: leptons}{|#Delta #Theta|<5 deg, |#Delta #Phi|<5 deg}", 6, 0, 6);
   richmdc_lep = new TH1F("richmdc_lep", "Rich-Mdc: leptons |#Delta #Theta|<5 deg, |#Delta #Phi|<5 deg", 6, 0, 6);
   richmdc_lep->SetXTitle("sector");
   richmdc_lep->SetYTitle("leptons/event");
   richmdc_lep->SetLineWidth(4);
   histList->Add(richmdc_lep, "richmdc--");
}



void HQAHistograms::bookHistMatching()
{

#include "QAsectioncolors.h"
   Char_t title[100], name[100];

   //°°°°°°°°°°°°°°°°°°°°°°°°°°
   //°°°spline-sector-hists°°°°
   //°°°°°°°°°°°°°°°°°°°°°°°°°°

   hsecspline  = new TH1F("hsecspline"          , "spline sec"               , 6, 0, 6);
   hsecspline0 = new TH1F("hsecspline0"         , "spline sec, sys 0"        , 6, 0, 6);
   hsecspline1 = new TH1F("hsecspline1"         , "spline sec, sys 1"        , 6, 0, 6);

   hsecspline ->SetXTitle("sector");
   hsecspline ->SetYTitle("N");
   histList->Add(hsecspline , "metamatching--gridx");
   hsecspline0->SetXTitle("sector");
   hsecspline0->SetYTitle("N");
   histList->Add(hsecspline0, "metamatching--gridx");
   hsecspline1->SetXTitle("sector");
   hsecspline1->SetYTitle("N");
   histList->Add(hsecspline1, "metamatching--gridx");


   //°°°°°°°°°°°°°°°°°°°°°°°°°°
   //°°°Tof-Meta-hists°°°°°°°°°
   //°°°°°°°°°°°°°°°°°°°°°°°°°°

   hXdiffvstofstrip     = new TH2F("hXdiffvstofstrip"    , "Xdiff vs tofstrip"        , 384, 0, 384, 200, -200, 200);
   hYdiffvstofstrip     = new TH2F("hYdiffvstofstrip"    , "Ydiff vs tofstrip"        , 384, 0, 384, 200, -200, 200);
   htof_quality         = new TH2F("htof_quality"        , "quality vs sector, TOF" , 6, 0, 6, 110, -1, 10);


   hXdiffvstofstrip    ->SetXTitle("tofstrip");
   hXdiffvstofstrip    ->SetYTitle("Xdiff");
   histList->Add(hXdiffvstofstrip    , "metamatching--gridx--gridy--newpage");
   hYdiffvstofstrip    ->SetXTitle("tofstrip");
   hYdiffvstofstrip    ->SetYTitle("Ydiff");
   histList->Add(hYdiffvstofstrip    , "metamatching--gridx--gridy");
   htof_quality        ->SetXTitle("sector");
   htof_quality        ->SetYTitle("Quality");
   histList->Add(htof_quality        , "metamatching--gridx--gridy");

   for (Int_t is = 0; is < 6; is++)
   {
       sprintf(title, "#Delta X MetaMatch, Tof");
       sprintf(name, "hXdiffTof[%i]", is);
       hXdiffTof[is] = new TH1F(name, title, 200, -150, 150);
       hXdiffTof[is]->SetXTitle("#Delta X (TOFhit - MetaMatch)");
       hXdiffTof[is]->SetYTitle("counts");
       hXdiffTof[is]->SetLineColor(SectColor[is]);
       hXdiffTof[is]->SetLineWidth(8);
       if (is == 0) {
	   histList->Add(hXdiffTof[is], "metamatching--6sec");
       } else {
	   histList->Add(hXdiffTof[is], "metamatching--same--6sec");
       }
   }
   for (Int_t is = 0; is < 6; is++)
   {
       sprintf(title, "#Delta Y MetaMatch, Tof");
       sprintf(name, "hYdiffTof[%i]", is);
       hYdiffTof[is] = new TH1F(name, title, 200, -100, 100);
       hYdiffTof[is]->SetXTitle("#Delta Y (TOFhit - MetaMatch)");
       hYdiffTof[is]->SetYTitle("counts");
       hYdiffTof[is]->SetLineColor(SectColor[is]);
       hYdiffTof[is]->SetLineWidth(8);
       if (is == 0) {
	   histList->Add(hYdiffTof[is], "metamatching--6sec");
       } else {
	   histList->Add(hYdiffTof[is], "metamatching--same--6sec");
       }
   }

   //####### RK Tof ###########

   hXdiffvstofstripRK     = new TH2F("hXdiffvstofstripRK"    , "Xdiff vs tofstrip, RK"        , 384, 0, 384, 200, -200, 200);
   hYdiffvstofstripRK     = new TH2F("hYdiffvstofstripRK"    , "Ydiff vs tofstrip,RK"        , 384, 0, 384, 200, -200, 200);
   htof_qualityRK         = new TH2F("htof_qualityRK"        , "quality vs sector, TOF, RK" , 6, 0, 6, 110, -1, 10);

   hXdiffvstofstripRK     -> SetXTitle("tofstrip");
   hXdiffvstofstripRK     -> SetYTitle("Xdiff");
   histList               -> Add(hXdiffvstofstripRK, "metamatching--gridx--gridy");
   hYdiffvstofstripRK     -> SetXTitle("tofstrip");
   hYdiffvstofstripRK     -> SetYTitle("Ydiff");
   histList               -> Add(hYdiffvstofstripRK, "metamatching--gridx--gridy");
   htof_qualityRK         -> SetXTitle("sector");
   htof_qualityRK         -> SetYTitle("Quality");
   histList               -> Add(htof_qualityRK, "metamatching--gridx--gridy");

   hXdiffvstofstripRK_neg     = new TH2F("hXdiffvstofstripRK_neg"    , "Xdiff vs tofstrip, RK neg"        , 384, 0, 384, 200, -200, 200);
   hYdiffvstofstripRK_neg     = new TH2F("hYdiffvstofstripRK_neg"    , "Ydiff vs tofstrip,RK neg"        , 384, 0, 384, 200, -200, 200);
   hXdiffvsthetaRK_neg     = new TH2F("hXdiffvsthetaRK_neg"    , "Xdiff vs theta, RK neg"        , 600, 0, 600, 200, -200, 200);
   hYdiffvsthetaRK_neg     = new TH2F("hYdiffvsthetaRK_neg"    , "Ydiff vs theta,RK neg"        , 600, 0, 600, 200, -200, 200);

   hXdiffvstofstripRK_neg     -> SetXTitle("tofstrip");
   hXdiffvstofstripRK_neg     -> SetYTitle("Xdiff");
   histList               -> Add(hXdiffvstofstripRK_neg, "metamatching--gridx--gridy");
   hYdiffvstofstripRK_neg     -> SetXTitle("tofstrip");
   hYdiffvstofstripRK_neg     -> SetYTitle("Ydiff");
   histList               -> Add(hYdiffvstofstripRK_neg, "metamatching--gridx--gridy");
   hXdiffvsthetaRK_neg     -> SetXTitle("theta");
   hXdiffvsthetaRK_neg     -> SetYTitle("Xdiff");
   histList               -> Add(hXdiffvsthetaRK_neg, "metamatching--gridx--gridy");
   hYdiffvsthetaRK_neg     -> SetXTitle("theta");
   hYdiffvsthetaRK_neg     -> SetYTitle("Ydiff");
   histList               -> Add(hYdiffvsthetaRK_neg, "metamatching--gridx--gridy");


   //°°°°°°°°°°°°°°°°°°°°°°°°°°
   //°°°Shower-Meta-hists°°°°°°
   //°°°°°°°°°°°°°°°°°°°°°°°°°°

   hXdiffvsshowersector = new TH2F("hXdiffvsshowersector", "Xdiff vs sector, shower"   , 6, 0, 6, 200, -200, 200);
   hYdiffvsshowersector = new TH2F("hYdiffvsshowersector", "Ydiff vs sector, shower"   , 6, 0, 6, 200, -200, 200);
   hshower_quality      = new TH2F("hshower_quality"     , "quality vs sector, shower" , 6, 0, 6, 100, 0, 10);

   hXdiffvsshowersector->SetXTitle("sector");
   hXdiffvsshowersector->SetYTitle("Xdiff");
   histList->Add(hXdiffvsshowersector, "metamatching--gridx--gridy--newpage");
   hYdiffvsshowersector->SetXTitle("sector");
   hYdiffvsshowersector->SetYTitle("Ydiff");
   histList->Add(hYdiffvsshowersector, "metamatching--gridx--gridy");
   hshower_quality     ->SetXTitle("sector");
   hshower_quality     ->SetYTitle("Quality");
   histList->Add(hshower_quality     , "metamatching--gridx--gridy");
   
   hXdiffvsshw = new TH2F("hXdiffvsshw", "Xdiff/ShwSigma_vs_Sect, shower", 6, 0, 6, 200, -6, 6);
   hYdiffvsshw = new TH2F("hYdiffvsshw", "Ydiff/ShwSigma_vs_Sect, shower", 6, 0, 6, 200, -6, 6);

   hXdiffvsshw->SetXTitle("sector");
   hXdiffvsshw->SetYTitle("Xdiff/ShwSigmaX");
   histList->Add(hXdiffvsshw, "metamatching--gridx--gridy");

   hYdiffvsshw->SetXTitle("sector");
   hYdiffvsshw->SetYTitle("Ydiff/ShwSigmaY");
   histList->Add(hYdiffvsshw, "metamatching--gridx--gridy");

   hXdiffvsshoCol = new TH2F("hXdiffvsshoCol", "Xdiff vs Shw Col"   , 198, 0, 198, 100, -100, 100);
   hXdiffvsshoRow = new TH2F("hXdiffvsshoRow", "Xdiff vs Shw Row"   , 198, 0, 198, 100, -100, 100);
   hYdiffvsshoCol = new TH2F("hYdiffvsshoCol", "Ydiff vs Shw Col"   , 198, 0, 198, 100, -100, 100);
   hYdiffvsshoRow = new TH2F("hYdiffvsshoRow", "Ydiff vs Shw Row"   , 198, 0, 198, 100, -100, 100);
   

   hXdiffvsshoCol ->SetXTitle("COL + 33 * SEC");
   hXdiffvsshoCol ->SetYTitle("Xdiff");
   histList->Add(hXdiffvsshoCol, "metamatching--gridx--gridy");
   hXdiffvsshoRow ->SetXTitle("ROW + 33 * SEC");
   hXdiffvsshoRow ->SetYTitle("Xdiff");
   histList->Add(hXdiffvsshoRow, "metamatching--gridx--gridy");
   hYdiffvsshoCol ->SetXTitle("COL + 33 * SEC");
   hYdiffvsshoCol ->SetYTitle("Ydiff");
   histList->Add(hYdiffvsshoCol, "metamatching--gridx--gridy");
   hYdiffvsshoRow ->SetXTitle("ROW + 33 * SEC");
   hYdiffvsshoRow ->SetYTitle("Ydiff");
   histList->Add(hYdiffvsshoRow, "metamatching--gridx--gridy");

   

   for (Int_t is = 0; is < 6; is++)
   {
       sprintf(title, "#Delta X MetaMatch, shower");
       sprintf(name, "hXdiffsho[%i]", is);
       hXdiffsho[is] = new TH1F(name, title, 200, -25, 25);
       hXdiffsho[is]->SetXTitle("#Delta X (Shohit - MetaMatch)");
       hXdiffsho[is]->SetYTitle("counts");
       hXdiffsho[is]->SetLineColor(SectColor[is]);
       hXdiffsho[is]->SetLineWidth(8);
       if (is == 0) {
	   histList->Add(hXdiffsho[is], "metamatching--6sec");
       } else {
	   histList->Add(hXdiffsho[is], "metamatching--same--6sec");
       }
   }
   for (Int_t is = 0; is < 6; is++)
   {
       sprintf(title, "#Delta Y MetaMatch, shower");
       sprintf(name, "hYdiffsho[%i]", is);
       hYdiffsho[is] = new TH1F(name, title, 200, -25, 25);
       hYdiffsho[is]->SetXTitle("#Delta Y (Shohit - MetaMatch)");
       hYdiffsho[is]->SetYTitle("counts");
       hYdiffsho[is]->SetLineColor(SectColor[is]);
       hYdiffsho[is]->SetLineWidth(8);
       if (is == 0) {
	   histList->Add(hYdiffsho[is], "metamatching--6sec");
       } else {
	   histList->Add(hYdiffsho[is], "metamatching--same--6sec");
       }
   }


   //####### RK Shower ###########

   hXdiffvsshowersectorRK = new TH2F("hXdiffvsshowersectorRK", "Xdiff vs sector, shower, RK"   , 6, 0, 6, 200, -200, 200);
   hYdiffvsshowersectorRK = new TH2F("hYdiffvsshowersectorRK", "Ydiff vs sector, shower, RK"   , 6, 0, 6, 200, -200, 200);
   hshower_qualityRK      = new TH2F("hshower_qualityRK"     , "quality vs sector, shower, RK" , 6, 0, 6, 100, 0, 10);
   hXdiffvsshowersectorRK -> SetXTitle("sector");
   hXdiffvsshowersectorRK -> SetYTitle("Xdiff");
   histList               -> Add(hXdiffvsshowersectorRK, "metamatching--gridx--gridy");
   hYdiffvsshowersectorRK -> SetXTitle("sector");
   hYdiffvsshowersectorRK -> SetYTitle("Ydiff");
   histList               -> Add(hYdiffvsshowersectorRK, "metamatching--gridx--gridy");
   hshower_qualityRK      -> SetXTitle("sector");
   hshower_qualityRK      -> SetYTitle("Quality");
   histList               -> Add(hshower_qualityRK, "metamatching--gridx--gridy");

   hXdiffvsshoColRK = new TH2F("hXdiffvsshoColRK", "Xdiff vs Shw Col, RK"   , 198, 0, 198, 100, -100, 100);
   hXdiffvsshoRowRK = new TH2F("hXdiffvsshoRowRK", "Xdiff vs Shw Row, RK"   , 198, 0, 198, 100, -100, 100);
   hYdiffvsshoColRK = new TH2F("hYdiffvsshoColRK", "Ydiff vs Shw Col, RK"   , 198, 0, 198, 100, -100, 100);
   hYdiffvsshoRowRK = new TH2F("hYdiffvsshoRowRK", "Ydiff vs Shw Row, RK"   , 198, 0, 198, 100, -100, 100);

   hXdiffvsshoColRK -> SetXTitle("COL + 33 * SEC");
   hXdiffvsshoColRK -> SetYTitle("Xdiff");
   histList       -> Add(hXdiffvsshoColRK, "metamatching--gridx--gridy");
   hXdiffvsshoRowRK -> SetXTitle("ROW + 33 * SEC");
   hXdiffvsshoRowRK -> SetYTitle("Xdiff");
   histList       -> Add(hXdiffvsshoRowRK, "metamatching--gridx--gridy");
   hYdiffvsshoColRK -> SetXTitle("COL + 33 * SEC");
   hYdiffvsshoColRK -> SetYTitle("Ydiff");
   histList       -> Add(hYdiffvsshoColRK, "metamatching--gridx--gridy");
   hYdiffvsshoRowRK -> SetXTitle("ROW + 33 * SEC");
   hYdiffvsshoRowRK -> SetYTitle("Ydiff");
   histList         -> Add(hYdiffvsshoRowRK, "metamatching--gridx--gridy");
   


   



   //°°°°°°°°°°°°°°°°°°°°°°°°°°
   //°°°Rpc-Meta-hists°°°°°°°°°
   //°°°°°°°°°°°°°°°°°°°°°°°°°°
   hXdiffvsRpcsector = new TH2F("hXdiffvsRpcsector", "Xdiff vs sector, Rpc"   , 6, 0, 6, 200, -100, 100);
   hYdiffvsRpcsector = new TH2F("hYdiffvsRpcsector", "Ydiff vs sector, Rpc"   , 6, 0, 6, 200, -100, 100);
   hXdiffvsRpc        = new TH2F("hXdiffvsRpc", "Xdiff/RpcSigma vs sector, Rpc"   , 6, 0, 6, 200, -10, 10);
   hYdiffvsRpc        = new TH2F("hYdiffvsRpc", "Ydiff/RpcSigma vs sector, Rpc"   , 6, 0, 6, 200, -10, 10);
   hRpc_quality       = new TH2F("hRpc_quality"     , "quality vs sector, Rpc"    , 6, 0, 6, 100, -10, 10);

   hXdiffvsRpcsector -> SetXTitle("sector");
   hXdiffvsRpcsector -> SetYTitle("XDiff");
   histList -> Add(hXdiffvsRpcsector, "metamatching--gridx--gridy--newpage");
   hYdiffvsRpcsector -> SetXTitle("sector");
   hYdiffvsRpcsector -> SetYTitle("YDiff");
   histList -> Add(hYdiffvsRpcsector, "metamatching--gridx--gridy");
   hXdiffvsRpc -> SetXTitle("sector");
   hXdiffvsRpc -> SetYTitle("XDiff/SigmaRpc");
   histList         -> Add(hXdiffvsRpc, "metamatching--gridx--gridy");
   hYdiffvsRpc -> SetXTitle("sector");
   hYdiffvsRpc -> SetYTitle("YDiff/SigmaRpc");
   histList         -> Add(hYdiffvsRpc, "metamatching--gridx--gridy");
   hRpc_quality        ->SetXTitle("sector");
   hRpc_quality        ->SetYTitle("Quality");
   histList->Add(hRpc_quality        , "metamatching--gridx--gridy");


   for (Int_t is = 0; is < 6; is++)
   {
       sprintf(title, "#Delta X MetaMatch, Rpc");
       sprintf(name, "hXdiffRpc[%i]", is);
       hXdiffRpc[is] = new TH1F(name, title, 200, -25, 25);
       hXdiffRpc[is]->SetXTitle("#Delta X (Rpchit - MetaMatch)");
       hXdiffRpc[is]->SetYTitle("counts");
       hXdiffRpc[is]->SetLineColor(SectColor[is]);
       hXdiffRpc[is]->SetLineWidth(8);
       if (is == 0) {
	   histList->Add(hXdiffRpc[is], "metamatching--6sec");
       } else {
	   histList->Add(hXdiffRpc[is], "metamatching--same--6sec");
       }
   }
   for (Int_t is = 0; is < 6; is++)
   {
       sprintf(title, "#Delta Y MetaMatch, Rpc");
       sprintf(name, "hYdiffRpc[%i]", is);
       hYdiffRpc[is] = new TH1F(name, title, 200, -100, 100);
       hYdiffRpc[is]->SetXTitle("#Delta Y (Rpchit - MetaMatch)");
       hYdiffRpc[is]->SetYTitle("counts");
       hYdiffRpc[is]->SetLineColor(SectColor[is]);
       hYdiffRpc[is]->SetLineWidth(8);
       if (is == 0) {
	   histList->Add(hYdiffRpc[is], "metamatching--6sec");
       } else {
	   histList->Add(hYdiffRpc[is], "metamatching--same--6sec");
       }
   }


   
}


void HQAHistograms::bookHistTracking()
{

   Char_t name[256];
   Char_t title[256];

   splineTrack_scat = new TH2F("splineTrack_scat", "splineTrack (LAB) ", 105, -1.05, 1.05, 105, -1.05, 1.05);
   splineTrack_scat->SetXTitle("sin(theta)*sin(phi-90)");
   splineTrack_scat->SetYTitle("sin(theta)*cos(phi-90)");
   histList->Add(splineTrack_scat, "tracking--nobox");

   splineTrack_massCharge = new TH1F("splineTrack_massCharge", "splineTrack: mass * charge", 125, -500., 2000.);
   splineTrack_massCharge->SetXTitle("mass*charge");
   histList->Add(splineTrack_massCharge, "tracking--");

   rungeKuttaTrack_scat = new TH2F("rungeKuttaTrack_scat", "Runge Kutta (LAB)", 105, -1.05, 1.05, 105, -1.05, 1.05);
   rungeKuttaTrack_scat->SetXTitle("sin(theta)*sin(phi-90)");
   rungeKuttaTrack_scat->SetYTitle("sin(theta)*cos(phi-90)");
   histList->Add(rungeKuttaTrack_scat, "tracking--nobox");

   rungeKuttaTrack_massCharge = new TH1F("rungeKuttaTrack_massCharge", "Runge Kutta: mass * charge", 125, -500., 2000.);
   rungeKuttaTrack_massCharge->SetXTitle("mass*charge");
   histList->Add(rungeKuttaTrack_massCharge, "tracking--");

   for (Int_t s = 0; s < 6; s++) { //for RPC/SHOWER
      sprintf(name , "trackingSpline_sys0[%d]", s);
      sprintf(title, "Mass SplineTrack123(4) sec%d (mass for TOFINO)", s);
      trackingSpline_sys0[s] = new TH1F(name, title, 125, -500, 2000);

      trackingSpline_sys0[s]->SetXTitle("M [MeV]");
      trackingSpline_sys0[s]->SetYTitle("counts/event");
      trackingSpline_sys0[s]->SetLineColor(SectColor[s]);
      trackingSpline_sys0[s]->SetLineWidth(4);

      if (s == 0) {
         histList->Add(trackingSpline_sys0[s], "tracking--6sec");
      } else      {
         histList->Add(trackingSpline_sys0[s], "tracking--same--6sec");
      }
   }

   for (Int_t s = 0; s < 6; s++) { //for TOF
      sprintf(name , "trackingSpline_sys1[%d]", s);
      sprintf(title, "Mass SplineTrack123(4) sec%d (mass for TOF)", s);
      trackingSpline_sys1[s] = new TH1F(name, title, 125, -500, 2000);

      trackingSpline_sys1[s]->SetXTitle("M [MeV]");
      trackingSpline_sys1[s]->SetYTitle("counts/event");
      trackingSpline_sys1[s]->SetLineColor(SectColor[s]);
      trackingSpline_sys1[s]->SetLineWidth(4);

      if (s == 0) {
         histList->Add(trackingSpline_sys1[s], "tracking--6sec");
      } else      {
         histList->Add(trackingSpline_sys1[s], "tracking--same--6sec");
      }
   }

   for (Int_t s = 0; s < 6; s++) { //for RPC/SHOWER
      sprintf(name , "trackingRK_sys0[%d]", s);
      sprintf(title, "Mass Runge.K.Track123(4) sec%d (mass for TOFINO)", s);
      trackingRK_sys0[s] = new TH1F(name, title, 125, -500, 2000);

      trackingRK_sys0[s]->SetXTitle("M [MeV]");
      trackingRK_sys0[s]->SetYTitle("counts/event");
      trackingRK_sys0[s]->SetLineColor(SectColor[s]);
      trackingRK_sys0[s]->SetLineWidth(4);

      if (s == 0) {
         histList->Add(trackingRK_sys0[s], "tracking--6sec");
      } else      {
         histList->Add(trackingRK_sys0[s], "tracking--same--6sec");
      }
   }

   for (Int_t s = 0; s < 6; s++) { //for TOF
      sprintf(name , "trackingRK_sys1[%d]", s);
      sprintf(title, "Mass Runge.K.Track123(4) sec%d (mass for TOF)", s);
      trackingRK_sys1[s] = new TH1F(name, title, 125, -500, 2000);

      trackingRK_sys1[s]->SetXTitle("M [MeV]");
      trackingRK_sys1[s]->SetYTitle("counts/event");
      trackingRK_sys1[s]->SetLineColor(SectColor[s]);
      trackingRK_sys1[s]->SetLineWidth(4);

      if (s == 0) {
         histList->Add(trackingRK_sys1[s], "tracking--6sec");
      } else      {
         histList->Add(trackingRK_sys1[s], "tracking--same--6sec");
      }
   }

}

void HQAHistograms::bookHistPid()
{

   Int_t   SelectColor[16] = { 4, 1, 2, 3, 6, 7, 14, 17, 11, 12, 13, 15, 16, 18, 22, 33 };

   Text_t buffer[80], buffer2[80];

   //multiplicities
   hparticle_multrk = new TH1F("hparticle_multrk", "rk mult", 65, -0.5, 64.5);
   hparticle_multrk->SetXTitle("Runge-Kutta Mult.");
   histList->Add(hparticle_multrk, "particlecand--");


   //lepton times
   hparticle_lepton_tof_vs_rod_sys0 = new TH2F("hparticle_lepton_tof_vs_rod_sys0", "Pid tof for leptons RK - sys0", 1152, 0, 1152, 200, -30., 20.);
   hparticle_lepton_tof_vs_rod_sys0->SetXTitle("RPC Cell");
   hparticle_lepton_tof_vs_rod_sys0->SetYTitle("TOF for electrons");
   histList->Add(hparticle_lepton_tof_vs_rod_sys0, "particlecand--");

   hparticle_lepton_tof_vs_rod_sys1 = new TH2F("hparticle_lepton_tof_vs_rod_sys1", "Pid tof for leptons RK - sys1", 384, 0, 384, 200, 0., 20.);
   hparticle_lepton_tof_vs_rod_sys1->SetXTitle("Tof rod");
   hparticle_lepton_tof_vs_rod_sys1->SetYTitle("TOF for electrons");
   histList->Add(hparticle_lepton_tof_vs_rod_sys1, "particlecand--");

   hparticle_lepton_tof_vs_startstrip_sys0 = new TH2F("hparticle_lepton_tof_vs_startstrip_sys0", "Pid tof for leptons RK vs start strip sys0", NSTART_STRIPS, 0, NSTART_STRIPS, 200, 0., 20.);
   hparticle_lepton_tof_vs_startstrip_sys0->SetXTitle("Start Strip");
   hparticle_lepton_tof_vs_startstrip_sys0->SetYTitle("TOF for electrons");
   histList->Add(hparticle_lepton_tof_vs_startstrip_sys0, "particlecand--");

   hparticle_lepton_tof_vs_startstrip_sys1= new TH2F("hparticle_lepton_tof_vs_startstrip_sys1", "Pid tof for leptons RK vs start strip sys1", NSTART_STRIPS, 0, NSTART_STRIPS, 200, 0., 20.);
   hparticle_lepton_tof_vs_startstrip_sys1->SetXTitle("Start Strip");
   hparticle_lepton_tof_vs_startstrip_sys1->SetYTitle("TOF for electrons");
   histList->Add(hparticle_lepton_tof_vs_startstrip_sys1, "particlecand--");


   hparticle_lepton_tof_all_sys0 = new TH1F("hparticle_lepton_tof_all_sys0", "Pid tof for leptons RK sys0 sum", 200, 0., 20.);
   hparticle_lepton_tof_all_sys0 ->SetXTitle("normalized tof");
   hparticle_lepton_tof_all_sys0 ->SetYTitle("counts");
   histList->Add(hparticle_lepton_tof_all_sys0, "particlecand--");

   hparticle_lepton_tof_all_sys1 = new TH1F("hparticle_lepton_tof_all_sys1", "Pid tof for leptons RK sys1 sum ", 200, 0., 20.);
   hparticle_lepton_tof_all_sys1 ->SetXTitle("normalized tof");
   hparticle_lepton_tof_all_sys1 ->SetYTitle("counts");
   histList->Add(hparticle_lepton_tof_all_sys1, "particlecand--");

   for(Int_t i=0; i<NSTART_STRIPS; i++)
   {
       sprintf(buffer,"hparticle_lepton_tof_vs_start_sys0[%i]",i);
       hparticle_lepton_tof_vs_start_sys0[i] = new TH1F(buffer,"Pid tof for leptons RK sys0 per start strip",100,0.,20.);
       hparticle_lepton_tof_vs_start_sys0[i] ->SetLineColor(SelectColor[i%16]);
       hparticle_lepton_tof_vs_start_sys0[i] ->SetXTitle("normalized tof");
       hparticle_lepton_tof_vs_start_sys0[i] ->SetYTitle("counts");
       if(i==0)
       {
	   histList->Add(hparticle_lepton_tof_vs_start_sys0[i],"particlecand--");
       }
       else
       {
           histList->Add(hparticle_lepton_tof_vs_start_sys0[i],"particlecand--same");
       }
   }

   for(Int_t i=0; i<NSTART_STRIPS; i++)
   {
       sprintf(buffer,"hparticle_lepton_tof_vs_start_sys1[%i]",i);
       hparticle_lepton_tof_vs_start_sys1[i] = new TH1F(buffer,"Pid tof for leptons RK sys1 per start strip",100,0.,20.);
       hparticle_lepton_tof_vs_start_sys1[i] ->SetLineColor(SelectColor[i%16]);
       hparticle_lepton_tof_vs_start_sys1[i] ->SetXTitle("normalized tof");
       hparticle_lepton_tof_vs_start_sys1[i] ->SetYTitle("counts");
       if(i==0)
       {
	   histList->Add(hparticle_lepton_tof_vs_start_sys1[i],"particlecand--");
       }
       else
       {
           histList->Add(hparticle_lepton_tof_vs_start_sys1[i],"particlecand--same");
       }
   }


   //pion times
   hparticle_pi_tof_vs_rod_sys0 = new TH2F("hparticle_pi_tof_vs_rod_sys0", "Pid tof for pions RK - sys0", 1152, 0, 1152, 200, -10., 10.);
   hparticle_pi_tof_vs_rod_sys0->SetXTitle("RPC Cell");
   hparticle_pi_tof_vs_rod_sys0->SetYTitle("TOF for pions");
   histList->Add(hparticle_pi_tof_vs_rod_sys0, "particlecand--");

   hparticle_pi_tof_vs_rod_sys1 = new TH2F("hparticle_pi_tof_vs_rod_sys1", "Pid tof for pions RK - sys1", 384, 0, 384, 200, -10., 10.);
   hparticle_pi_tof_vs_rod_sys1->SetXTitle("Tof rod");
   hparticle_pi_tof_vs_rod_sys1->SetYTitle("TOF for pions");
   histList->Add(hparticle_pi_tof_vs_rod_sys1, "particlecand--");

   hparticle_pi_eloss_vs_rod_sys1 = new TH2F("hparticle_pi_eloss_vs_rod_sys1", "Pid eloss for pions RK - sys1", 384, 0, 384, 100, 0., 10.);
   hparticle_pi_eloss_vs_rod_sys1->SetXTitle("Tof rod");
   hparticle_pi_eloss_vs_rod_sys1->SetYTitle("Eloss for pions");
   histList->Add(hparticle_pi_eloss_vs_rod_sys1, "particlecand--");

   hparticle_p_eloss_vs_rod_sys1 = new TH2F("hparticle_p_eloss_vs_rod_sys1", "Pid eloss forprotons RK - sys1", 384, 0, 384, 100, 0., 10.);
   hparticle_p_eloss_vs_rod_sys1->SetXTitle("Tof rod");
   hparticle_p_eloss_vs_rod_sys1->SetYTitle("Eloss for protons");
   histList->Add(hparticle_p_eloss_vs_rod_sys1, "particlecand--");

   hparticle_pi_metahit_vs_phi_sys1 = new TH2F("hparticle_pi_metahit_vs_phi_sys1", "Pid pions RK metahit vs phi - sys1", 360, 0, 360, 64, 0., 64.);
   hparticle_pi_metahit_vs_phi_sys1->SetXTitle("track phi");
   hparticle_pi_metahit_vs_phi_sys1->SetYTitle("TOF rod");
   histList->Add(hparticle_pi_metahit_vs_phi_sys1, "particlecand--");

   hparticle_pi_tof_vs_startstrip_sys0 = new TH2F("hparticle_pi_tof_vs_startstrip_sys0", "Pid tof for pion RK vs start strip sys0", NSTART_STRIPS, 0, NSTART_STRIPS, 200, -10., 10.);
   hparticle_pi_tof_vs_startstrip_sys0->SetXTitle("Start Strip");
   hparticle_pi_tof_vs_startstrip_sys0->SetYTitle("TOF for pions");
   histList->Add(hparticle_pi_tof_vs_startstrip_sys0, "particlecand--");

   hparticle_pi_tof_vs_startstrip_sys1= new TH2F("hparticle_pi_tof_vs_startstrip_sys1", "Pid tof for pion RK vs start strip sys1", NSTART_STRIPS, 0, NSTART_STRIPS, 200, -10., 10.);
   hparticle_pi_tof_vs_startstrip_sys1->SetXTitle("Start Strip");
   hparticle_pi_tof_vs_startstrip_sys1->SetYTitle("TOF for pions");
   histList->Add(hparticle_pi_tof_vs_startstrip_sys1, "particlecand--");


   hparticle_pi_tof_GaussFit_all_sys0 = new TF1("hparticle_pi_tof_GaussFit_all_sys0",GaussFitFunc,-20,20,3);
   hparticle_pi_tof_GaussFit_all_sys0 -> SetLineColor(2);

   hparticle_pi_tof_all_sys0 = new TH1F("hparticle_pi_tof_all_sys0", "Pid tof for pion RK sys0 sum", 800, -10., 10.);
   hparticle_pi_tof_all_sys0 ->SetXTitle("TOF for pions");
   hparticle_pi_tof_all_sys0 ->SetYTitle("counts");
   histList->Add(hparticle_pi_tof_all_sys0, "particlecand--");

   hparticle_pi_tof_GaussFit_all_sys1 = new TF1("hparticle_pi_tof_GaussFit_all_sys1",GaussFitFunc,-20,20,3);
   hparticle_pi_tof_GaussFit_all_sys1 -> SetLineColor(2);

   hparticle_pi_tof_all_sys1 = new TH1F("hparticle_pi_tof_all_sys1", "Pid tof for pion RK sys1 sum ", 800, -10., 10.);
   hparticle_pi_tof_all_sys1 ->SetXTitle("TOF for pions");
   hparticle_pi_tof_all_sys1 ->SetYTitle("counts");
   histList->Add(hparticle_pi_tof_all_sys1, "particlecand--");

   for(Int_t i=0; i<NSTART_STRIPS; i++)
   {
       sprintf(buffer,"hparticle_pi_tof_GaussFit_sys0[%i]",i);
       hparticle_pi_tof_GaussFit_sys0[i] = new TF1(buffer,GaussFitFunc,-20,20,3);
       hparticle_pi_tof_GaussFit_sys0[i] -> SetLineColor(SelectColor[i%16]);

       sprintf(buffer,"hparticle_pi_tof_vs_start_sys0[%i]",i);
       hparticle_pi_tof_vs_start_sys0[i] = new TH1F(buffer,"Pid tof for pion RK sys0 per start strip",400,-10.,10.);
       hparticle_pi_tof_vs_start_sys0[i] ->SetLineColor(SelectColor[i%16]);
       hparticle_pi_tof_vs_start_sys0[i] ->SetXTitle("TOF for pions");
       hparticle_pi_tof_vs_start_sys0[i] ->SetYTitle("counts");


       if(i==0)
       {
	       histList->Add(hparticle_pi_tof_vs_start_sys0[i],"particlecand--");
       }
       else
       {
           histList->Add(hparticle_pi_tof_vs_start_sys0[i],"particlecand--same");
       }
   }


   for(Int_t i=0; i<NSTART_STRIPS; i++)
   {
       sprintf(buffer,"hparticle_pi_tof_vs_startMod0_sys0[%i]",i);
       hparticle_pi_tof_vs_startMod0_sys0[i] = new TH1F(buffer,"Pid tof for pion RK sys0 per startMod0 strip",400,-10.,10.);
       hparticle_pi_tof_vs_startMod0_sys0[i] ->SetLineColor(SelectColor[i%16]);
       hparticle_pi_tof_vs_startMod0_sys0[i] ->SetXTitle("TOF for pions");
       hparticle_pi_tof_vs_startMod0_sys0[i] ->SetYTitle("counts");

       if(i==0)
       {
           histList->Add(hparticle_pi_tof_vs_startMod0_sys0[i],"particlecand--");
       }
       else
       {
           histList->Add(hparticle_pi_tof_vs_startMod0_sys0[i],"particlecand--same");
       }

   }


   for(Int_t i=0; i<NSTART_STRIPS; i++)
   {
       sprintf(buffer,"hparticle_pi_tof_vs_startMod1_sys0[%i]",i);
       hparticle_pi_tof_vs_startMod1_sys0[i] = new TH1F(buffer,"Pid tof for pion RK sys0 per startMod1 strip",400,-10.,10.);
       hparticle_pi_tof_vs_startMod1_sys0[i] ->SetLineColor(SelectColor[i%16]);
       hparticle_pi_tof_vs_startMod1_sys0[i] ->SetXTitle("TOF for pions");
       hparticle_pi_tof_vs_startMod1_sys0[i] ->SetYTitle("counts");


       if(i==0)
       {
           histList->Add(hparticle_pi_tof_vs_startMod1_sys0[i],"particlecand--");
       }
       else
       {
           histList->Add(hparticle_pi_tof_vs_startMod1_sys0[i],"particlecand--same");
       }
   }


   for(Int_t i=0; i<NSTART_STRIPS; i++)
   {
       sprintf(buffer,"hparticle_pi_tof_GaussFit_sys1[%i]",i);
       hparticle_pi_tof_GaussFit_sys1[i] = new TF1(buffer,GaussFitFunc,-20,20,3);
       hparticle_pi_tof_GaussFit_sys1[i] -> SetLineColor(SelectColor[i%16]);

       sprintf(buffer,"hparticle_pi_tof_vs_start_sys1[%i]",i);
       hparticle_pi_tof_vs_start_sys1[i] = new TH1F(buffer,"Pid tof for pion RK sys1 per start strip",400,-10.,10.);
       hparticle_pi_tof_vs_start_sys1[i] ->SetLineColor(SelectColor[i%16]);
       hparticle_pi_tof_vs_start_sys1[i] ->SetXTitle("TOF for pions");
       hparticle_pi_tof_vs_start_sys1[i] ->SetYTitle("counts");
       if(i==0)
       {
	   histList->Add(hparticle_pi_tof_vs_start_sys1[i],"particlecand--");
       }
       else
       {
           histList->Add(hparticle_pi_tof_vs_start_sys1[i],"particlecand--same");
       }
   }
   

   


   //theta and phi

   //RK histos
   for (Int_t i = 0; i < 6; i++) {
      sprintf(buffer, "hparticle_RK_theta_sec%i", i);
      hparticle_RK_theta_sec[i] = new TH1F(buffer, buffer, 50, 0, 100);
      hparticle_RK_theta_sec[i]->SetLineColor(SectColor[i]);
      hparticle_RK_theta_sec[i]->SetXTitle("#Theta [degrees]");
      if (i == 0) histList->Add(hparticle_RK_theta_sec[i], "particlecand--6sec");
      else     histList->Add(hparticle_RK_theta_sec[i], "particlecand--same--6sec");
   }
   hparticle_RK_phi = new TH1F("hparticle_RK_phi", "hparticle_RK_phi", 120, 0, 360);
   hparticle_RK_phi->SetXTitle("#phi (degrees)");
   histList->Add(hparticle_RK_phi, "particlecand--");

   //RK neg, mom>300
   for (Int_t i = 0; i < 6; i++) {
      sprintf(buffer, "hparticle_RK_neg_theta_sec%i", i);
      sprintf(buffer2, "hparticle_RK_theta_sec%i, neg, mom>300", i);
      hparticle_RK_neg_theta_sec[i] = new TH1F(buffer, buffer2, 50, 0, 100);
      hparticle_RK_neg_theta_sec[i]->SetLineColor(SectColor[i]);
      hparticle_RK_neg_theta_sec[i]->SetXTitle("#Theta [degrees]");
      if (i == 0) histList->Add(hparticle_RK_neg_theta_sec[i], "particlecand--6sec");
      else     histList->Add(hparticle_RK_neg_theta_sec[i], "particlecand--same--6sec");

   }
   hparticle_RK_neg_phi = new TH1F("hparticle_RK_neg_phi", "hparticle_RK_phi, neg, mom>300", 120, 0, 360);
   hparticle_RK_neg_phi->SetXTitle("#phi (degrees)");
   histList->Add(hparticle_RK_neg_phi, "particlecand--");

   //proton momentum calculated from velocity vs reconstructed momentum
   for (Int_t i = 0; i < 6; i++) {
      sprintf(buffer, "hparticle_rk_proton_momdif_sys0_sec%i", i);
      hparticle_rk_momdif_sys0_sec[i] = new TH2F(buffer, buffer, 100, 0, 1000, 50, -200, 200);
      histList->Add(hparticle_rk_momdif_sys0_sec[i], "particlecand--");

      sprintf(buffer, "hparticle_rk_proton_momdif_sys1_sec%i", i);
      hparticle_rk_momdif_sys1_sec[i] = new TH2F(buffer, buffer, 100, 0, 1000, 50, -200, 200);
      histList->Add(hparticle_rk_momdif_sys1_sec[i], "particlecand--");
   }

   //MetaMatching for Tof, Rpc and Shower
   for (Int_t i = 0; i < 6; i++)
   {
       sprintf(buffer, "hparticle_MetaMatchQualTof[%i]", i);
       sprintf(buffer2, "ParticleCand MetaMatchTof, sec%i", i);
       hparticle_MetaMatchQualTof[i] = new TH1F(buffer, buffer2, 60, -10, 10);
       hparticle_MetaMatchQualTof[i]->SetXTitle("MetaMatchQuality");
       hparticle_MetaMatchQualTof[i]->SetLineColor(SectColor[i]);
       hparticle_MetaMatchQualTof[i]->SetYTitle("counts");
       if(i==0)
       {
	   histList->Add(hparticle_MetaMatchQualTof[i], "particlecand--6sec");
       }
       else
       {
	   histList->Add(hparticle_MetaMatchQualTof[i], "particlecand--6sec--same");
       }
   }

   for (Int_t i = 0; i < 6; i++)
   {
       sprintf(buffer, "hparticle_MetaMatchQualRpc[%i]", i);
       sprintf(buffer2, "ParticleCand MetaMatchRpc, sec%i", i);
       hparticle_MetaMatchQualRpc[i] = new TH1F(buffer, buffer2, 60, -10, 10);
       hparticle_MetaMatchQualRpc[i]->SetXTitle("MetaMatchQuality");
       hparticle_MetaMatchQualRpc[i]->SetLineColor(SectColor[i]);
       hparticle_MetaMatchQualRpc[i]->SetYTitle("counts");
       if(i==0)
       {
	   histList->Add(hparticle_MetaMatchQualRpc[i], "particlecand--6sec");
       }
       else
       {
	   histList->Add(hparticle_MetaMatchQualRpc[i], "particlecand--6sec--same");
       }
   }

   for (Int_t i = 0; i < 6; i++)
   {
       sprintf(buffer, "hparticle_MetaMatchQualShw[%i]", i);
       sprintf(buffer2, "ParticleCand MetaMatchShw, sec%i", i);
       hparticle_MetaMatchQualShw[i] = new TH1F(buffer, buffer2, 60, -10, 10);
       hparticle_MetaMatchQualShw[i]->SetXTitle("MetaMatchQuality");
       hparticle_MetaMatchQualShw[i]->SetLineColor(SectColor[i]);
       hparticle_MetaMatchQualShw[i]->SetYTitle("counts");
       if(i==0)
       {
	   histList->Add(hparticle_MetaMatchQualShw[i], "particlecand--6sec");
       }
       else
       {
	   histList->Add(hparticle_MetaMatchQualShw[i], "particlecand--6sec--same");
       }
   }

   for(Int_t s=0; s<2; s++)
   {
       for (Int_t i = 0; i < 6; i++)
       {
	   sprintf(buffer, "hparticle_mult[%i][%i]", i, s);
	   sprintf(buffer2, "Multiplicity, sec%i, syst%i", i, s);
	   hparticle_mult[i][s] = new TH1F(buffer, buffer2, 55, -4.5, 50.5);
	   hparticle_mult[i][s] ->SetXTitle("num hits");
	   hparticle_mult[i][s] ->SetLineColor(SectColor[i]);
	   hparticle_mult[i][s] ->SetYTitle("counts");
	   if(i==0)
	   {
	       histList->Add(hparticle_mult[i][s], "particlecand--6sec");
	   }
	   else
	   {
	       histList->Add(hparticle_mult[i][s], "particlecand--6sec--same");
	   }
       }
   }

   for(Int_t s=0; s<2; s++)
   {
       for (Int_t i = 0; i < 6; i++)
       {
	   sprintf(buffer, "hparticle_mult_select[%i][%i]", i, s);
	   sprintf(buffer2, "Multiplicity of accepted tracks, sec%i, syst%i", i, s);
	   hparticle_mult_select[i][s] = new TH1F(buffer, buffer2, 55, -4.5, 50.5);
	   hparticle_mult_select[i][s] ->SetXTitle("num hits");
	   hparticle_mult_select[i][s] ->SetLineColor(SectColor[i]);
	   hparticle_mult_select[i][s] ->SetYTitle("counts");
	   if(i==0)
	   {
	       histList->Add(hparticle_mult_select[i][s], "particlecand--6sec");
	   }
	   else
	   {
	       histList->Add(hparticle_mult_select[i][s], "particlecand--6sec--same");
	   }
       }
   }



   //Particle Mass Spectrum ##########################################################################
   hparticle_mass_GaussFit = new TF1("hparticle_mass_GaussFit",GaussFitFunc,-3000,6000,3);
   hparticle_mass_GaussFit -> SetLineColor(2);
   hparticle_mass_GaussFit_1 = new TF1("hparticle_mass_GaussFit_1",GaussFitFunc,-3000,6000,3);
   hparticle_mass_GaussFit_1 -> SetLineColor(2);
   hparticle_mass_GaussFit_2 = new TF1("hparticle_mass_GaussFit_2",GaussFitFunc,-3000,6000,3);
   hparticle_mass_GaussFit_2 -> SetLineColor(2);

   hparticle_mass = new TH1F("hparticle_mass","hparticle_mass",1000,-3000,3000);
   hparticle_mass->SetXTitle("mass/polarity [MeV/c²]");
   hparticle_mass->SetYTitle("counts");
   hparticle_mass->SetLineColor(1);
   histList->Add(hparticle_mass, "particlecand--logy");

   hparticle_mass_RPC_GaussFit = new TF1("hparticle_mass_RPC_GaussFit",GaussFitFunc,-3000,6000,3);
   hparticle_mass_RPC_GaussFit -> SetLineColor(2);
   hparticle_mass_RPC_GaussFit_1 = new TF1("hparticle_mass_RPC_GaussFit_1",GaussFitFunc,-3000,6000,3);
   hparticle_mass_RPC_GaussFit_1 -> SetLineColor(2);
   hparticle_mass_RPC_GaussFit_2 = new TF1("hparticle_mass_RPC_GaussFit_2",GaussFitFunc,-3000,6000,3);
   hparticle_mass_RPC_GaussFit_2 -> SetLineColor(2);

   hparticle_mass_RPC = new TH1F("hparticle_mass_RPC","hparticle_mass_RPC",1000,-3000,3000);
   histList->Add(hparticle_mass_RPC, "particlecand--same");

   hparticle_mass_TOF_GaussFit = new TF1("hparticle_mass_TOF_GaussFit",GaussFitFunc,-3000,6000,3);
   hparticle_mass_TOF_GaussFit -> SetLineColor(2);
   hparticle_mass_TOF_GaussFit_1 = new TF1("hparticle_mass_TOF_GaussFit_1",GaussFitFunc,-3000,6000,3);
   hparticle_mass_TOF_GaussFit_1 -> SetLineColor(2);
   hparticle_mass_TOF_GaussFit_2 = new TF1("hparticle_mass_TOF_GaussFit_2",GaussFitFunc,-3000,6000,3);
   hparticle_mass_TOF_GaussFit_2 -> SetLineColor(2);

   hparticle_mass_TOF = new TH1F("hparticle_mass_TOF","hparticle_mass_TOF",1000,-3000,3000);
   hparticle_mass_TOF -> SetLineColor(6);
   histList->Add(hparticle_mass_TOF, "particlecand--same");
   //################################################################################################


   hparticle_TofdEdx = new TH1F("hparticle_TofdEdx","dEdx in Tof",200,-10,30);
   hparticle_TofdEdx->SetXTitle("Tof dEdx");
   hparticle_TofdEdx->SetYTitle("counts");
   histList->Add(hparticle_TofdEdx, "particlecand");
}



void HQAHistograms::bookHistDaqScalers()
{

   Int_t nHistRange = 10000;

   histInputScaler  = new TH1F("histInputScaler","Triggerbox In",8,0.5,8.5);
   histDownScaler   = new TH1F("histDownScaler","Triggerbox Down",8,0.5,8.5);
   histGatedScaler  = new TH1F("histGatedScaler","Gated",8,0.5,8.5);
   histAcceptScaler = new TH1F("histAcceptScaler","Accepted",8,0.5,8.5);

   histStartScaler  = new TH1F("histStartScaler","PatternStart",9,0.5,9.5);
   histVetoScaler   = new TH1F("histVetoScaler","PatternVeto",8,0.5,8.5);
   histTofScaler    = new TH1F("histTofScaler","PatternTof",6,0.5,6.5);
   histRpcScaler    = new TH1F("histRpcScaler","PatternRpc",6,0.5,6.5);

   histAllScalerCh  = new TH1F("histAllScalerCh","All scaler channels",150,0.5,150.5);
   histAllScalerCh -> SetXTitle("Scaler Channel");
   histAllScalerCh -> SetYTitle("Counts");
   histAllScalerTrend = new TH2F("histAllScalerTrend","histAllScalerTrend",nHistRange,0,nHistRange,150,0,150);
   histAllScalerTrend  -> SetXTitle("CalEvent Nb.");
   histAllScalerTrend  -> SetYTitle("Scaler Channel");

//      histAcceptScalerTrend[chan]-> SetXTitle("CalEvent Nb.");
//      histAcceptScalerTrend[chan]-> SetYTitle("Counts");


   //add them to the list:
   histList->Add(histInputScaler, "daqscl--gridx--gridy");
   histList->Add(histDownScaler, "daqscl--gridx--gridy");
   histList->Add(histGatedScaler, "daqscl--gridx--gridy");
   histList->Add(histAcceptScaler, "daqscl--gridx--gridy");
   histList->Add(histStartScaler, "daqscl--gridx--gridy");
   histList->Add(histVetoScaler, "daqscl--gridx--gridy");
   histList->Add(histTofScaler, "daqscl--gridx--gridy");
   histList->Add(histRpcScaler, "daqscl--gridx--gridy");

   histList->Add(histAllScalerCh, "daqscl--gridx--gridy");
   histList->Add(histAllScalerTrend, "daqscl--gridx--gridy");

/*
   for (chan = 0; chan < 8; chan++) {
      sprintf(title, "histInputScalerTrend_ch%i", chan);
      sprintf(name, "histInputScalerTrend[%i]", chan);
      histInputScalerTrend[chan] = new TH1F(name, title, nHistRange, 0, nHistRange);
      histInputScalerTrend[chan]->SetXTitle("CalEvent Nb.");
      histInputScalerTrend[chan]->SetYTitle("Counts");
      histList->Add(histInputScalerTrend[chan], "daqscl--gridx--gridy");

      sprintf(title, "histDownScalerTrend_ch%i", chan);
      sprintf(name, "histDownScalerTrend[%i]", chan);
      histDownScalerTrend[chan] = new TH1F(name, title, nHistRange, 0, nHistRange);
      histDownScalerTrend[chan]-> SetXTitle("CalEvent Nb.");
      histDownScalerTrend[chan]-> SetYTitle("Counts");
      histList->Add(histDownScalerTrend[chan], "daqscl--gridx--gridy");

      sprintf(title, "histGatedScalerTrend_ch%i", chan);
      sprintf(name, "histGatedScalerTrend[%i]", chan);
      histGatedScalerTrend[chan] = new TH1F(name, title, nHistRange, 0, nHistRange);
      histGatedScalerTrend[chan]-> SetXTitle("CalEvent Nb.");
      histGatedScalerTrend[chan]-> SetYTitle("Counts");
      histList->Add(histGatedScalerTrend[chan], "daqscl--gridx--gridy");

      sprintf(title, "histAcceptScalerTrend_ch%i", chan);
      sprintf(name, "histAcceptScalerTrend[%i]", chan);
      histAcceptScalerTrend[chan] = new TH1F(name, title, nHistRange, 0, nHistRange);
      histAcceptScalerTrend[chan]-> SetXTitle("CalEvent Nb.");
      histAcceptScalerTrend[chan]-> SetYTitle("Counts");
      histList->Add(histAcceptScalerTrend[chan], "daqscl--gridx--gridy");


      sprintf(title, "Scaler_Start_CH_%i", chan);
      sprintf(name, "histStartScaler[%i]", chan);
      histStartScaler[chan] = new TH1F(name, title, nHistRange, 0, nHistRange);
      histStartScaler[chan]-> SetXTitle("CalEvent Nb.");
      histStartScaler[chan]-> SetYTitle("Counts");
      histList->Add(histStartScaler[chan], "daqscl--gridx--gridy-notshown");

      sprintf(title, "Scaler_Veto_CH_%i", chan);
      sprintf(name, "histVetoScaler[%i]", chan);
      histVetoScaler[chan] = new TH1F(name, title, nHistRange, 0, nHistRange);
      histVetoScaler[chan]-> SetXTitle("CalEvent Nb.");
      histVetoScaler[chan]-> SetYTitle("Counts");
      histList->Add(histVetoScaler[chan], "daqscl--gridx--gridy--notshown");

   }
*/



} // end of bookHistDaqScalers

void HQAHistograms::bookHistShowerRpc()
{

   for (Int_t s = 0; s < 6; ++s) {
      shorpcXdiff_pre[s] = new TH1F(Form("shorpcXdiff_pre_s%d", s), "Shower Pre and RPC X hit correlation", 100, -250, 250);
      shorpcXdiff_pre[s]->SetXTitle("X difference (mm)");
      shorpcXdiff_pre[s]->SetYTitle("yield");
      shorpcXdiff_pre[s]->SetLineColor(SectColor[s]);
      if (s == 0) {
         histList->Add(shorpcXdiff_pre[s], "showerrpc--6sec");
      } else {
         histList->Add(shorpcXdiff_pre[s], "showerrpc--same--6sec");
      }
   }
   for (Int_t s = 0; s < 6; ++s) {
      shorpcYdiff_pre[s] = new TH1F(Form("shorpcYdiff_pre_s%d", s), "Shower Pre and RPC Y hit correlation", 100, -250, 250);
      shorpcYdiff_pre[s]->SetXTitle("Y difference (mm)");
      shorpcYdiff_pre[s]->SetYTitle("yield");
      shorpcYdiff_pre[s]->SetLineColor(SectColor[s]);
      if (s == 0) {
         histList->Add(shorpcYdiff_pre[s], "showerrpc--6sec");
      } else {
         histList->Add(shorpcYdiff_pre[s], "showerrpc--same--6sec");
      }
   }
   for (Int_t s = 0; s < 6; ++s) {
      shorpcXdiff_post1[s] = new TH1F(Form("shorpcXdiff_post1_s%d", s), "Shower Post I and RPC X hit correlation", 100, -250, 250);
      shorpcXdiff_post1[s]->SetXTitle("X difference (mm)");
      shorpcXdiff_post1[s]->SetYTitle("yield");
      shorpcXdiff_post1[s]->SetLineColor(SectColor[s]);
      if (s == 0) {
         histList->Add(shorpcXdiff_post1[s], "showerrpc--6sec");
      } else {
         histList->Add(shorpcXdiff_post1[s], "showerrpc--same--6sec");
      }
   }
   for (Int_t s = 0; s < 6; ++s) {
      shorpcYdiff_post1[s] = new TH1F(Form("shorpcYdiff_post1_s%d", s), "Shower Post I and RPC Y hit correlation", 100, -250, 250);
      shorpcYdiff_post1[s]->SetXTitle("Y difference (mm)");
      shorpcYdiff_post1[s]->SetYTitle("yield");
      shorpcYdiff_post1[s]->SetLineColor(SectColor[s]);
      if (s == 0) {
         histList->Add(shorpcYdiff_post1[s], "showerrpc--6sec");
      } else {
         histList->Add(shorpcYdiff_post1[s], "showerrpc--same--6sec");
      }
   }
   for (Int_t s = 0; s < 6; ++s) {
      shorpcXdiff_post2[s] = new TH1F(Form("shorpcXdiff_post2_s%d", s), "Shower Post II and RPC X hit correlation", 100, -250, 250);
      shorpcXdiff_post2[s]->SetXTitle("X difference (mm)");
      shorpcXdiff_post2[s]->SetYTitle("yield");
      shorpcXdiff_post2[s]->SetLineColor(SectColor[s]);
      if (s == 0) {
         histList->Add(shorpcXdiff_post2[s], "showerrpc--6sec");
      } else {
         histList->Add(shorpcXdiff_post2[s], "showerrpc--same--6sec");
      }
   }
   for (Int_t s = 0; s < 6; ++s) {
      shorpcYdiff_post2[s] = new TH1F(Form("shorpcYdiff_post2_s%d", s), "Shower Post II and RPC Y hit correlation", 100, -250, 250);
      shorpcYdiff_post2[s]->SetXTitle("Y difference (mm)");
      shorpcYdiff_post2[s]->SetYTitle("yield");
      shorpcYdiff_post2[s]->SetLineColor(SectColor[s]);
      if (s == 0) {
         histList->Add(shorpcYdiff_post2[s], "showerrpc--6sec");
      } else {
         histList->Add(shorpcYdiff_post2[s], "showerrpc--same--6sec");
      }
   }

   for (Int_t s = 0; s < 6; ++s) {
      shorpcXvs_pre[s] = new TH2F(Form("shorpcXvs_pre_s%d", s),
                                  Form("Shower Pre vs RPC X hit position sector %d", s), 32, -800, 800, 32, -800, 800);
      shorpcXvs_pre[s]->SetXTitle("X in Pre (mm)");
      shorpcXvs_pre[s]->SetYTitle("X in RPC (mm)");
      histList->Add(shorpcXvs_pre[s], "showerrpc--");

      shorpcXvs_post1[s] = new TH2F(Form("shorpcXvs_post1_s%d", s),
                                    Form("Shower Post I vs RPC X hit position sector %d", s), 32, -800, 800, 32, -800, 800);
      shorpcXvs_post1[s]->SetXTitle("X in Post I (mm)");
      shorpcXvs_post1[s]->SetYTitle("X in RPC (mm)");
      histList->Add(shorpcXvs_post1[s], "showerrpc--");

      shorpcXvs_post2[s] = new TH2F(Form("shorpcXvs_post2_s%d", s),
                                    Form("Shower Post II vs RPC X hit position sector %d", s), 32, -800, 800, 32, -800, 800);
      shorpcXvs_post2[s]->SetXTitle("X in Post II (mm)");
      shorpcXvs_post2[s]->SetYTitle("X in RPC (mm)");
      histList->Add(shorpcXvs_post2[s], "showerrpc--");

      shorpcYvs_pre[s] = new TH2F(Form("shorpcYvs_pre_s%d", s),
                                  Form("Shower Pre vs RPC Y hit position sector %d", s), 32, -800, 800, 32, -800, 800);
      shorpcYvs_pre[s]->SetXTitle("Y in Pre (mm)");
      shorpcYvs_pre[s]->SetYTitle("Y in RPC (mm)");
      histList->Add(shorpcYvs_pre[s], "showerrpc--");

      shorpcYvs_post1[s] = new TH2F(Form("shorpcYvs_post1_s%d", s),
                                    Form("Shower Post I vs RPC Y hit position sector %d", s), 32, -800, 800, 32, -800, 800);
      shorpcYvs_post1[s]->SetXTitle("Y in Post I (mm)");
      shorpcYvs_post1[s]->SetYTitle("Y in RPC (mm)");
      histList->Add(shorpcYvs_post1[s], "showerrpc--");

      shorpcYvs_post2[s] = new TH2F(Form("shorpcYvs_post2_s%d", s),
                                    Form("Shower Post II vs RPC Y hit position sector %d", s), 32, -800, 800, 32, -800, 800);
      shorpcYvs_post2[s]->SetXTitle("Y in Post II (mm)");
      shorpcYvs_post2[s]->SetYTitle("Y in RPC (mm)");
      histList->Add(shorpcYvs_post2[s], "showerrpc--");
   }

}




 hqahistograms.cc:1
 hqahistograms.cc:2
 hqahistograms.cc:3
 hqahistograms.cc:4
 hqahistograms.cc:5
 hqahistograms.cc:6
 hqahistograms.cc:7
 hqahistograms.cc:8
 hqahistograms.cc:9
 hqahistograms.cc:10
 hqahistograms.cc:11
 hqahistograms.cc:12
 hqahistograms.cc:13
 hqahistograms.cc:14
 hqahistograms.cc:15
 hqahistograms.cc:16
 hqahistograms.cc:17
 hqahistograms.cc:18
 hqahistograms.cc:19
 hqahistograms.cc:20
 hqahistograms.cc:21
 hqahistograms.cc:22
 hqahistograms.cc:23
 hqahistograms.cc:24
 hqahistograms.cc:25
 hqahistograms.cc:26
 hqahistograms.cc:27
 hqahistograms.cc:28
 hqahistograms.cc:29
 hqahistograms.cc:30
 hqahistograms.cc:31
 hqahistograms.cc:32
 hqahistograms.cc:33
 hqahistograms.cc:34
 hqahistograms.cc:35
 hqahistograms.cc:36
 hqahistograms.cc:37
 hqahistograms.cc:38
 hqahistograms.cc:39
 hqahistograms.cc:40
 hqahistograms.cc:41
 hqahistograms.cc:42
 hqahistograms.cc:43
 hqahistograms.cc:44
 hqahistograms.cc:45
 hqahistograms.cc:46
 hqahistograms.cc:47
 hqahistograms.cc:48
 hqahistograms.cc:49
 hqahistograms.cc:50
 hqahistograms.cc:51
 hqahistograms.cc:52
 hqahistograms.cc:53
 hqahistograms.cc:54
 hqahistograms.cc:55
 hqahistograms.cc:56
 hqahistograms.cc:57
 hqahistograms.cc:58
 hqahistograms.cc:59
 hqahistograms.cc:60
 hqahistograms.cc:61
 hqahistograms.cc:62
 hqahistograms.cc:63
 hqahistograms.cc:64
 hqahistograms.cc:65
 hqahistograms.cc:66
 hqahistograms.cc:67
 hqahistograms.cc:68
 hqahistograms.cc:69
 hqahistograms.cc:70
 hqahistograms.cc:71
 hqahistograms.cc:72
 hqahistograms.cc:73
 hqahistograms.cc:74
 hqahistograms.cc:75
 hqahistograms.cc:76
 hqahistograms.cc:77
 hqahistograms.cc:78
 hqahistograms.cc:79
 hqahistograms.cc:80
 hqahistograms.cc:81
 hqahistograms.cc:82
 hqahistograms.cc:83
 hqahistograms.cc:84
 hqahistograms.cc:85
 hqahistograms.cc:86
 hqahistograms.cc:87
 hqahistograms.cc:88
 hqahistograms.cc:89
 hqahistograms.cc:90
 hqahistograms.cc:91
 hqahistograms.cc:92
 hqahistograms.cc:93
 hqahistograms.cc:94
 hqahistograms.cc:95
 hqahistograms.cc:96
 hqahistograms.cc:97
 hqahistograms.cc:98
 hqahistograms.cc:99
 hqahistograms.cc:100
 hqahistograms.cc:101
 hqahistograms.cc:102
 hqahistograms.cc:103
 hqahistograms.cc:104
 hqahistograms.cc:105
 hqahistograms.cc:106
 hqahistograms.cc:107
 hqahistograms.cc:108
 hqahistograms.cc:109
 hqahistograms.cc:110
 hqahistograms.cc:111
 hqahistograms.cc:112
 hqahistograms.cc:113
 hqahistograms.cc:114
 hqahistograms.cc:115
 hqahistograms.cc:116
 hqahistograms.cc:117
 hqahistograms.cc:118
 hqahistograms.cc:119
 hqahistograms.cc:120
 hqahistograms.cc:121
 hqahistograms.cc:122
 hqahistograms.cc:123
 hqahistograms.cc:124
 hqahistograms.cc:125
 hqahistograms.cc:126
 hqahistograms.cc:127
 hqahistograms.cc:128
 hqahistograms.cc:129
 hqahistograms.cc:130
 hqahistograms.cc:131
 hqahistograms.cc:132
 hqahistograms.cc:133
 hqahistograms.cc:134
 hqahistograms.cc:135
 hqahistograms.cc:136
 hqahistograms.cc:137
 hqahistograms.cc:138
 hqahistograms.cc:139
 hqahistograms.cc:140
 hqahistograms.cc:141
 hqahistograms.cc:142
 hqahistograms.cc:143
 hqahistograms.cc:144
 hqahistograms.cc:145
 hqahistograms.cc:146
 hqahistograms.cc:147
 hqahistograms.cc:148
 hqahistograms.cc:149
 hqahistograms.cc:150
 hqahistograms.cc:151
 hqahistograms.cc:152
 hqahistograms.cc:153
 hqahistograms.cc:154
 hqahistograms.cc:155
 hqahistograms.cc:156
 hqahistograms.cc:157
 hqahistograms.cc:158
 hqahistograms.cc:159
 hqahistograms.cc:160
 hqahistograms.cc:161
 hqahistograms.cc:162
 hqahistograms.cc:163
 hqahistograms.cc:164
 hqahistograms.cc:165
 hqahistograms.cc:166
 hqahistograms.cc:167
 hqahistograms.cc:168
 hqahistograms.cc:169
 hqahistograms.cc:170
 hqahistograms.cc:171
 hqahistograms.cc:172
 hqahistograms.cc:173
 hqahistograms.cc:174
 hqahistograms.cc:175
 hqahistograms.cc:176
 hqahistograms.cc:177
 hqahistograms.cc:178
 hqahistograms.cc:179
 hqahistograms.cc:180
 hqahistograms.cc:181
 hqahistograms.cc:182
 hqahistograms.cc:183
 hqahistograms.cc:184
 hqahistograms.cc:185
 hqahistograms.cc:186
 hqahistograms.cc:187
 hqahistograms.cc:188
 hqahistograms.cc:189
 hqahistograms.cc:190
 hqahistograms.cc:191
 hqahistograms.cc:192
 hqahistograms.cc:193
 hqahistograms.cc:194
 hqahistograms.cc:195
 hqahistograms.cc:196
 hqahistograms.cc:197
 hqahistograms.cc:198
 hqahistograms.cc:199
 hqahistograms.cc:200
 hqahistograms.cc:201
 hqahistograms.cc:202
 hqahistograms.cc:203
 hqahistograms.cc:204
 hqahistograms.cc:205
 hqahistograms.cc:206
 hqahistograms.cc:207
 hqahistograms.cc:208
 hqahistograms.cc:209
 hqahistograms.cc:210
 hqahistograms.cc:211
 hqahistograms.cc:212
 hqahistograms.cc:213
 hqahistograms.cc:214
 hqahistograms.cc:215
 hqahistograms.cc:216
 hqahistograms.cc:217
 hqahistograms.cc:218
 hqahistograms.cc:219
 hqahistograms.cc:220
 hqahistograms.cc:221
 hqahistograms.cc:222
 hqahistograms.cc:223
 hqahistograms.cc:224
 hqahistograms.cc:225
 hqahistograms.cc:226
 hqahistograms.cc:227
 hqahistograms.cc:228
 hqahistograms.cc:229
 hqahistograms.cc:230
 hqahistograms.cc:231
 hqahistograms.cc:232
 hqahistograms.cc:233
 hqahistograms.cc:234
 hqahistograms.cc:235
 hqahistograms.cc:236
 hqahistograms.cc:237
 hqahistograms.cc:238
 hqahistograms.cc:239
 hqahistograms.cc:240
 hqahistograms.cc:241
 hqahistograms.cc:242
 hqahistograms.cc:243
 hqahistograms.cc:244
 hqahistograms.cc:245
 hqahistograms.cc:246
 hqahistograms.cc:247
 hqahistograms.cc:248
 hqahistograms.cc:249
 hqahistograms.cc:250
 hqahistograms.cc:251
 hqahistograms.cc:252
 hqahistograms.cc:253
 hqahistograms.cc:254
 hqahistograms.cc:255
 hqahistograms.cc:256
 hqahistograms.cc:257
 hqahistograms.cc:258
 hqahistograms.cc:259
 hqahistograms.cc:260
 hqahistograms.cc:261
 hqahistograms.cc:262
 hqahistograms.cc:263
 hqahistograms.cc:264
 hqahistograms.cc:265
 hqahistograms.cc:266
 hqahistograms.cc:267
 hqahistograms.cc:268
 hqahistograms.cc:269
 hqahistograms.cc:270
 hqahistograms.cc:271
 hqahistograms.cc:272
 hqahistograms.cc:273
 hqahistograms.cc:274
 hqahistograms.cc:275
 hqahistograms.cc:276
 hqahistograms.cc:277
 hqahistograms.cc:278
 hqahistograms.cc:279
 hqahistograms.cc:280
 hqahistograms.cc:281
 hqahistograms.cc:282
 hqahistograms.cc:283
 hqahistograms.cc:284
 hqahistograms.cc:285
 hqahistograms.cc:286
 hqahistograms.cc:287
 hqahistograms.cc:288
 hqahistograms.cc:289
 hqahistograms.cc:290
 hqahistograms.cc:291
 hqahistograms.cc:292
 hqahistograms.cc:293
 hqahistograms.cc:294
 hqahistograms.cc:295
 hqahistograms.cc:296
 hqahistograms.cc:297
 hqahistograms.cc:298
 hqahistograms.cc:299
 hqahistograms.cc:300
 hqahistograms.cc:301
 hqahistograms.cc:302
 hqahistograms.cc:303
 hqahistograms.cc:304
 hqahistograms.cc:305
 hqahistograms.cc:306
 hqahistograms.cc:307
 hqahistograms.cc:308
 hqahistograms.cc:309
 hqahistograms.cc:310
 hqahistograms.cc:311
 hqahistograms.cc:312
 hqahistograms.cc:313
 hqahistograms.cc:314
 hqahistograms.cc:315
 hqahistograms.cc:316
 hqahistograms.cc:317
 hqahistograms.cc:318
 hqahistograms.cc:319
 hqahistograms.cc:320
 hqahistograms.cc:321
 hqahistograms.cc:322
 hqahistograms.cc:323
 hqahistograms.cc:324
 hqahistograms.cc:325
 hqahistograms.cc:326
 hqahistograms.cc:327
 hqahistograms.cc:328
 hqahistograms.cc:329
 hqahistograms.cc:330
 hqahistograms.cc:331
 hqahistograms.cc:332
 hqahistograms.cc:333
 hqahistograms.cc:334
 hqahistograms.cc:335
 hqahistograms.cc:336
 hqahistograms.cc:337
 hqahistograms.cc:338
 hqahistograms.cc:339
 hqahistograms.cc:340
 hqahistograms.cc:341
 hqahistograms.cc:342
 hqahistograms.cc:343
 hqahistograms.cc:344
 hqahistograms.cc:345
 hqahistograms.cc:346
 hqahistograms.cc:347
 hqahistograms.cc:348
 hqahistograms.cc:349
 hqahistograms.cc:350
 hqahistograms.cc:351
 hqahistograms.cc:352
 hqahistograms.cc:353
 hqahistograms.cc:354
 hqahistograms.cc:355
 hqahistograms.cc:356
 hqahistograms.cc:357
 hqahistograms.cc:358
 hqahistograms.cc:359
 hqahistograms.cc:360
 hqahistograms.cc:361
 hqahistograms.cc:362
 hqahistograms.cc:363
 hqahistograms.cc:364
 hqahistograms.cc:365
 hqahistograms.cc:366
 hqahistograms.cc:367
 hqahistograms.cc:368
 hqahistograms.cc:369
 hqahistograms.cc:370
 hqahistograms.cc:371
 hqahistograms.cc:372
 hqahistograms.cc:373
 hqahistograms.cc:374
 hqahistograms.cc:375
 hqahistograms.cc:376
 hqahistograms.cc:377
 hqahistograms.cc:378
 hqahistograms.cc:379
 hqahistograms.cc:380
 hqahistograms.cc:381
 hqahistograms.cc:382
 hqahistograms.cc:383
 hqahistograms.cc:384
 hqahistograms.cc:385
 hqahistograms.cc:386
 hqahistograms.cc:387
 hqahistograms.cc:388
 hqahistograms.cc:389
 hqahistograms.cc:390
 hqahistograms.cc:391
 hqahistograms.cc:392
 hqahistograms.cc:393
 hqahistograms.cc:394
 hqahistograms.cc:395
 hqahistograms.cc:396
 hqahistograms.cc:397
 hqahistograms.cc:398
 hqahistograms.cc:399
 hqahistograms.cc:400
 hqahistograms.cc:401
 hqahistograms.cc:402
 hqahistograms.cc:403
 hqahistograms.cc:404
 hqahistograms.cc:405
 hqahistograms.cc:406
 hqahistograms.cc:407
 hqahistograms.cc:408
 hqahistograms.cc:409
 hqahistograms.cc:410
 hqahistograms.cc:411
 hqahistograms.cc:412
 hqahistograms.cc:413
 hqahistograms.cc:414
 hqahistograms.cc:415
 hqahistograms.cc:416
 hqahistograms.cc:417
 hqahistograms.cc:418
 hqahistograms.cc:419
 hqahistograms.cc:420
 hqahistograms.cc:421
 hqahistograms.cc:422
 hqahistograms.cc:423
 hqahistograms.cc:424
 hqahistograms.cc:425
 hqahistograms.cc:426
 hqahistograms.cc:427
 hqahistograms.cc:428
 hqahistograms.cc:429
 hqahistograms.cc:430
 hqahistograms.cc:431
 hqahistograms.cc:432
 hqahistograms.cc:433
 hqahistograms.cc:434
 hqahistograms.cc:435
 hqahistograms.cc:436
 hqahistograms.cc:437
 hqahistograms.cc:438
 hqahistograms.cc:439
 hqahistograms.cc:440
 hqahistograms.cc:441
 hqahistograms.cc:442
 hqahistograms.cc:443
 hqahistograms.cc:444
 hqahistograms.cc:445
 hqahistograms.cc:446
 hqahistograms.cc:447
 hqahistograms.cc:448
 hqahistograms.cc:449
 hqahistograms.cc:450
 hqahistograms.cc:451
 hqahistograms.cc:452
 hqahistograms.cc:453
 hqahistograms.cc:454
 hqahistograms.cc:455
 hqahistograms.cc:456
 hqahistograms.cc:457
 hqahistograms.cc:458
 hqahistograms.cc:459
 hqahistograms.cc:460
 hqahistograms.cc:461
 hqahistograms.cc:462
 hqahistograms.cc:463
 hqahistograms.cc:464
 hqahistograms.cc:465
 hqahistograms.cc:466
 hqahistograms.cc:467
 hqahistograms.cc:468
 hqahistograms.cc:469
 hqahistograms.cc:470
 hqahistograms.cc:471
 hqahistograms.cc:472
 hqahistograms.cc:473
 hqahistograms.cc:474
 hqahistograms.cc:475
 hqahistograms.cc:476
 hqahistograms.cc:477
 hqahistograms.cc:478
 hqahistograms.cc:479
 hqahistograms.cc:480
 hqahistograms.cc:481
 hqahistograms.cc:482
 hqahistograms.cc:483
 hqahistograms.cc:484
 hqahistograms.cc:485
 hqahistograms.cc:486
 hqahistograms.cc:487
 hqahistograms.cc:488
 hqahistograms.cc:489
 hqahistograms.cc:490
 hqahistograms.cc:491
 hqahistograms.cc:492
 hqahistograms.cc:493
 hqahistograms.cc:494
 hqahistograms.cc:495
 hqahistograms.cc:496
 hqahistograms.cc:497
 hqahistograms.cc:498
 hqahistograms.cc:499
 hqahistograms.cc:500
 hqahistograms.cc:501
 hqahistograms.cc:502
 hqahistograms.cc:503
 hqahistograms.cc:504
 hqahistograms.cc:505
 hqahistograms.cc:506
 hqahistograms.cc:507
 hqahistograms.cc:508
 hqahistograms.cc:509
 hqahistograms.cc:510
 hqahistograms.cc:511
 hqahistograms.cc:512
 hqahistograms.cc:513
 hqahistograms.cc:514
 hqahistograms.cc:515
 hqahistograms.cc:516
 hqahistograms.cc:517
 hqahistograms.cc:518
 hqahistograms.cc:519
 hqahistograms.cc:520
 hqahistograms.cc:521
 hqahistograms.cc:522
 hqahistograms.cc:523
 hqahistograms.cc:524
 hqahistograms.cc:525
 hqahistograms.cc:526
 hqahistograms.cc:527
 hqahistograms.cc:528
 hqahistograms.cc:529
 hqahistograms.cc:530
 hqahistograms.cc:531
 hqahistograms.cc:532
 hqahistograms.cc:533
 hqahistograms.cc:534
 hqahistograms.cc:535
 hqahistograms.cc:536
 hqahistograms.cc:537
 hqahistograms.cc:538
 hqahistograms.cc:539
 hqahistograms.cc:540
 hqahistograms.cc:541
 hqahistograms.cc:542
 hqahistograms.cc:543
 hqahistograms.cc:544
 hqahistograms.cc:545
 hqahistograms.cc:546
 hqahistograms.cc:547
 hqahistograms.cc:548
 hqahistograms.cc:549
 hqahistograms.cc:550
 hqahistograms.cc:551
 hqahistograms.cc:552
 hqahistograms.cc:553
 hqahistograms.cc:554
 hqahistograms.cc:555
 hqahistograms.cc:556
 hqahistograms.cc:557
 hqahistograms.cc:558
 hqahistograms.cc:559
 hqahistograms.cc:560
 hqahistograms.cc:561
 hqahistograms.cc:562
 hqahistograms.cc:563
 hqahistograms.cc:564
 hqahistograms.cc:565
 hqahistograms.cc:566
 hqahistograms.cc:567
 hqahistograms.cc:568
 hqahistograms.cc:569
 hqahistograms.cc:570
 hqahistograms.cc:571
 hqahistograms.cc:572
 hqahistograms.cc:573
 hqahistograms.cc:574
 hqahistograms.cc:575
 hqahistograms.cc:576
 hqahistograms.cc:577
 hqahistograms.cc:578
 hqahistograms.cc:579
 hqahistograms.cc:580
 hqahistograms.cc:581
 hqahistograms.cc:582
 hqahistograms.cc:583
 hqahistograms.cc:584
 hqahistograms.cc:585
 hqahistograms.cc:586
 hqahistograms.cc:587
 hqahistograms.cc:588
 hqahistograms.cc:589
 hqahistograms.cc:590
 hqahistograms.cc:591
 hqahistograms.cc:592
 hqahistograms.cc:593
 hqahistograms.cc:594
 hqahistograms.cc:595
 hqahistograms.cc:596
 hqahistograms.cc:597
 hqahistograms.cc:598
 hqahistograms.cc:599
 hqahistograms.cc:600
 hqahistograms.cc:601
 hqahistograms.cc:602
 hqahistograms.cc:603
 hqahistograms.cc:604
 hqahistograms.cc:605
 hqahistograms.cc:606
 hqahistograms.cc:607
 hqahistograms.cc:608
 hqahistograms.cc:609
 hqahistograms.cc:610
 hqahistograms.cc:611
 hqahistograms.cc:612
 hqahistograms.cc:613
 hqahistograms.cc:614
 hqahistograms.cc:615
 hqahistograms.cc:616
 hqahistograms.cc:617
 hqahistograms.cc:618
 hqahistograms.cc:619
 hqahistograms.cc:620
 hqahistograms.cc:621
 hqahistograms.cc:622
 hqahistograms.cc:623
 hqahistograms.cc:624
 hqahistograms.cc:625
 hqahistograms.cc:626
 hqahistograms.cc:627
 hqahistograms.cc:628
 hqahistograms.cc:629
 hqahistograms.cc:630
 hqahistograms.cc:631
 hqahistograms.cc:632
 hqahistograms.cc:633
 hqahistograms.cc:634
 hqahistograms.cc:635
 hqahistograms.cc:636
 hqahistograms.cc:637
 hqahistograms.cc:638
 hqahistograms.cc:639
 hqahistograms.cc:640
 hqahistograms.cc:641
 hqahistograms.cc:642
 hqahistograms.cc:643
 hqahistograms.cc:644
 hqahistograms.cc:645
 hqahistograms.cc:646
 hqahistograms.cc:647
 hqahistograms.cc:648
 hqahistograms.cc:649
 hqahistograms.cc:650
 hqahistograms.cc:651
 hqahistograms.cc:652
 hqahistograms.cc:653
 hqahistograms.cc:654
 hqahistograms.cc:655
 hqahistograms.cc:656
 hqahistograms.cc:657
 hqahistograms.cc:658
 hqahistograms.cc:659
 hqahistograms.cc:660
 hqahistograms.cc:661
 hqahistograms.cc:662
 hqahistograms.cc:663
 hqahistograms.cc:664
 hqahistograms.cc:665
 hqahistograms.cc:666
 hqahistograms.cc:667
 hqahistograms.cc:668
 hqahistograms.cc:669
 hqahistograms.cc:670
 hqahistograms.cc:671
 hqahistograms.cc:672
 hqahistograms.cc:673
 hqahistograms.cc:674
 hqahistograms.cc:675
 hqahistograms.cc:676
 hqahistograms.cc:677
 hqahistograms.cc:678
 hqahistograms.cc:679
 hqahistograms.cc:680
 hqahistograms.cc:681
 hqahistograms.cc:682
 hqahistograms.cc:683
 hqahistograms.cc:684
 hqahistograms.cc:685
 hqahistograms.cc:686
 hqahistograms.cc:687
 hqahistograms.cc:688
 hqahistograms.cc:689
 hqahistograms.cc:690
 hqahistograms.cc:691
 hqahistograms.cc:692
 hqahistograms.cc:693
 hqahistograms.cc:694
 hqahistograms.cc:695
 hqahistograms.cc:696
 hqahistograms.cc:697
 hqahistograms.cc:698
 hqahistograms.cc:699
 hqahistograms.cc:700
 hqahistograms.cc:701
 hqahistograms.cc:702
 hqahistograms.cc:703
 hqahistograms.cc:704
 hqahistograms.cc:705
 hqahistograms.cc:706
 hqahistograms.cc:707
 hqahistograms.cc:708
 hqahistograms.cc:709
 hqahistograms.cc:710
 hqahistograms.cc:711
 hqahistograms.cc:712
 hqahistograms.cc:713
 hqahistograms.cc:714
 hqahistograms.cc:715
 hqahistograms.cc:716
 hqahistograms.cc:717
 hqahistograms.cc:718
 hqahistograms.cc:719
 hqahistograms.cc:720
 hqahistograms.cc:721
 hqahistograms.cc:722
 hqahistograms.cc:723
 hqahistograms.cc:724
 hqahistograms.cc:725
 hqahistograms.cc:726
 hqahistograms.cc:727
 hqahistograms.cc:728
 hqahistograms.cc:729
 hqahistograms.cc:730
 hqahistograms.cc:731
 hqahistograms.cc:732
 hqahistograms.cc:733
 hqahistograms.cc:734
 hqahistograms.cc:735
 hqahistograms.cc:736
 hqahistograms.cc:737
 hqahistograms.cc:738
 hqahistograms.cc:739
 hqahistograms.cc:740
 hqahistograms.cc:741
 hqahistograms.cc:742
 hqahistograms.cc:743
 hqahistograms.cc:744
 hqahistograms.cc:745
 hqahistograms.cc:746
 hqahistograms.cc:747
 hqahistograms.cc:748
 hqahistograms.cc:749
 hqahistograms.cc:750
 hqahistograms.cc:751
 hqahistograms.cc:752
 hqahistograms.cc:753
 hqahistograms.cc:754
 hqahistograms.cc:755
 hqahistograms.cc:756
 hqahistograms.cc:757
 hqahistograms.cc:758
 hqahistograms.cc:759
 hqahistograms.cc:760
 hqahistograms.cc:761
 hqahistograms.cc:762
 hqahistograms.cc:763
 hqahistograms.cc:764
 hqahistograms.cc:765
 hqahistograms.cc:766
 hqahistograms.cc:767
 hqahistograms.cc:768
 hqahistograms.cc:769
 hqahistograms.cc:770
 hqahistograms.cc:771
 hqahistograms.cc:772
 hqahistograms.cc:773
 hqahistograms.cc:774
 hqahistograms.cc:775
 hqahistograms.cc:776
 hqahistograms.cc:777
 hqahistograms.cc:778
 hqahistograms.cc:779
 hqahistograms.cc:780
 hqahistograms.cc:781
 hqahistograms.cc:782
 hqahistograms.cc:783
 hqahistograms.cc:784
 hqahistograms.cc:785
 hqahistograms.cc:786
 hqahistograms.cc:787
 hqahistograms.cc:788
 hqahistograms.cc:789
 hqahistograms.cc:790
 hqahistograms.cc:791
 hqahistograms.cc:792
 hqahistograms.cc:793
 hqahistograms.cc:794
 hqahistograms.cc:795
 hqahistograms.cc:796
 hqahistograms.cc:797
 hqahistograms.cc:798
 hqahistograms.cc:799
 hqahistograms.cc:800
 hqahistograms.cc:801
 hqahistograms.cc:802
 hqahistograms.cc:803
 hqahistograms.cc:804
 hqahistograms.cc:805
 hqahistograms.cc:806
 hqahistograms.cc:807
 hqahistograms.cc:808
 hqahistograms.cc:809
 hqahistograms.cc:810
 hqahistograms.cc:811
 hqahistograms.cc:812
 hqahistograms.cc:813
 hqahistograms.cc:814
 hqahistograms.cc:815
 hqahistograms.cc:816
 hqahistograms.cc:817
 hqahistograms.cc:818
 hqahistograms.cc:819
 hqahistograms.cc:820
 hqahistograms.cc:821
 hqahistograms.cc:822
 hqahistograms.cc:823
 hqahistograms.cc:824
 hqahistograms.cc:825
 hqahistograms.cc:826
 hqahistograms.cc:827
 hqahistograms.cc:828
 hqahistograms.cc:829
 hqahistograms.cc:830
 hqahistograms.cc:831
 hqahistograms.cc:832
 hqahistograms.cc:833
 hqahistograms.cc:834
 hqahistograms.cc:835
 hqahistograms.cc:836
 hqahistograms.cc:837
 hqahistograms.cc:838
 hqahistograms.cc:839
 hqahistograms.cc:840
 hqahistograms.cc:841
 hqahistograms.cc:842
 hqahistograms.cc:843
 hqahistograms.cc:844
 hqahistograms.cc:845
 hqahistograms.cc:846
 hqahistograms.cc:847
 hqahistograms.cc:848
 hqahistograms.cc:849
 hqahistograms.cc:850
 hqahistograms.cc:851
 hqahistograms.cc:852
 hqahistograms.cc:853
 hqahistograms.cc:854
 hqahistograms.cc:855
 hqahistograms.cc:856
 hqahistograms.cc:857
 hqahistograms.cc:858
 hqahistograms.cc:859
 hqahistograms.cc:860
 hqahistograms.cc:861
 hqahistograms.cc:862
 hqahistograms.cc:863
 hqahistograms.cc:864
 hqahistograms.cc:865
 hqahistograms.cc:866
 hqahistograms.cc:867
 hqahistograms.cc:868
 hqahistograms.cc:869
 hqahistograms.cc:870
 hqahistograms.cc:871
 hqahistograms.cc:872
 hqahistograms.cc:873
 hqahistograms.cc:874
 hqahistograms.cc:875
 hqahistograms.cc:876
 hqahistograms.cc:877
 hqahistograms.cc:878
 hqahistograms.cc:879
 hqahistograms.cc:880
 hqahistograms.cc:881
 hqahistograms.cc:882
 hqahistograms.cc:883
 hqahistograms.cc:884
 hqahistograms.cc:885
 hqahistograms.cc:886
 hqahistograms.cc:887
 hqahistograms.cc:888
 hqahistograms.cc:889
 hqahistograms.cc:890
 hqahistograms.cc:891
 hqahistograms.cc:892
 hqahistograms.cc:893
 hqahistograms.cc:894
 hqahistograms.cc:895
 hqahistograms.cc:896
 hqahistograms.cc:897
 hqahistograms.cc:898
 hqahistograms.cc:899
 hqahistograms.cc:900
 hqahistograms.cc:901
 hqahistograms.cc:902
 hqahistograms.cc:903
 hqahistograms.cc:904
 hqahistograms.cc:905
 hqahistograms.cc:906
 hqahistograms.cc:907
 hqahistograms.cc:908
 hqahistograms.cc:909
 hqahistograms.cc:910
 hqahistograms.cc:911
 hqahistograms.cc:912
 hqahistograms.cc:913
 hqahistograms.cc:914
 hqahistograms.cc:915
 hqahistograms.cc:916
 hqahistograms.cc:917
 hqahistograms.cc:918
 hqahistograms.cc:919
 hqahistograms.cc:920
 hqahistograms.cc:921
 hqahistograms.cc:922
 hqahistograms.cc:923
 hqahistograms.cc:924
 hqahistograms.cc:925
 hqahistograms.cc:926
 hqahistograms.cc:927
 hqahistograms.cc:928
 hqahistograms.cc:929
 hqahistograms.cc:930
 hqahistograms.cc:931
 hqahistograms.cc:932
 hqahistograms.cc:933
 hqahistograms.cc:934
 hqahistograms.cc:935
 hqahistograms.cc:936
 hqahistograms.cc:937
 hqahistograms.cc:938
 hqahistograms.cc:939
 hqahistograms.cc:940
 hqahistograms.cc:941
 hqahistograms.cc:942
 hqahistograms.cc:943
 hqahistograms.cc:944
 hqahistograms.cc:945
 hqahistograms.cc:946
 hqahistograms.cc:947
 hqahistograms.cc:948
 hqahistograms.cc:949
 hqahistograms.cc:950
 hqahistograms.cc:951
 hqahistograms.cc:952
 hqahistograms.cc:953
 hqahistograms.cc:954
 hqahistograms.cc:955
 hqahistograms.cc:956
 hqahistograms.cc:957
 hqahistograms.cc:958
 hqahistograms.cc:959
 hqahistograms.cc:960
 hqahistograms.cc:961
 hqahistograms.cc:962
 hqahistograms.cc:963
 hqahistograms.cc:964
 hqahistograms.cc:965
 hqahistograms.cc:966
 hqahistograms.cc:967
 hqahistograms.cc:968
 hqahistograms.cc:969
 hqahistograms.cc:970
 hqahistograms.cc:971
 hqahistograms.cc:972
 hqahistograms.cc:973
 hqahistograms.cc:974
 hqahistograms.cc:975
 hqahistograms.cc:976
 hqahistograms.cc:977
 hqahistograms.cc:978
 hqahistograms.cc:979
 hqahistograms.cc:980
 hqahistograms.cc:981
 hqahistograms.cc:982
 hqahistograms.cc:983
 hqahistograms.cc:984
 hqahistograms.cc:985
 hqahistograms.cc:986
 hqahistograms.cc:987
 hqahistograms.cc:988
 hqahistograms.cc:989
 hqahistograms.cc:990
 hqahistograms.cc:991
 hqahistograms.cc:992
 hqahistograms.cc:993
 hqahistograms.cc:994
 hqahistograms.cc:995
 hqahistograms.cc:996
 hqahistograms.cc:997
 hqahistograms.cc:998
 hqahistograms.cc:999
 hqahistograms.cc:1000
 hqahistograms.cc:1001
 hqahistograms.cc:1002
 hqahistograms.cc:1003
 hqahistograms.cc:1004
 hqahistograms.cc:1005
 hqahistograms.cc:1006
 hqahistograms.cc:1007
 hqahistograms.cc:1008
 hqahistograms.cc:1009
 hqahistograms.cc:1010
 hqahistograms.cc:1011
 hqahistograms.cc:1012
 hqahistograms.cc:1013
 hqahistograms.cc:1014
 hqahistograms.cc:1015
 hqahistograms.cc:1016
 hqahistograms.cc:1017
 hqahistograms.cc:1018
 hqahistograms.cc:1019
 hqahistograms.cc:1020
 hqahistograms.cc:1021
 hqahistograms.cc:1022
 hqahistograms.cc:1023
 hqahistograms.cc:1024
 hqahistograms.cc:1025
 hqahistograms.cc:1026
 hqahistograms.cc:1027
 hqahistograms.cc:1028
 hqahistograms.cc:1029
 hqahistograms.cc:1030
 hqahistograms.cc:1031
 hqahistograms.cc:1032
 hqahistograms.cc:1033
 hqahistograms.cc:1034
 hqahistograms.cc:1035
 hqahistograms.cc:1036
 hqahistograms.cc:1037
 hqahistograms.cc:1038
 hqahistograms.cc:1039
 hqahistograms.cc:1040
 hqahistograms.cc:1041
 hqahistograms.cc:1042
 hqahistograms.cc:1043
 hqahistograms.cc:1044
 hqahistograms.cc:1045
 hqahistograms.cc:1046
 hqahistograms.cc:1047
 hqahistograms.cc:1048
 hqahistograms.cc:1049
 hqahistograms.cc:1050
 hqahistograms.cc:1051
 hqahistograms.cc:1052
 hqahistograms.cc:1053
 hqahistograms.cc:1054
 hqahistograms.cc:1055
 hqahistograms.cc:1056
 hqahistograms.cc:1057
 hqahistograms.cc:1058
 hqahistograms.cc:1059
 hqahistograms.cc:1060
 hqahistograms.cc:1061
 hqahistograms.cc:1062
 hqahistograms.cc:1063
 hqahistograms.cc:1064
 hqahistograms.cc:1065
 hqahistograms.cc:1066
 hqahistograms.cc:1067
 hqahistograms.cc:1068
 hqahistograms.cc:1069
 hqahistograms.cc:1070
 hqahistograms.cc:1071
 hqahistograms.cc:1072
 hqahistograms.cc:1073
 hqahistograms.cc:1074
 hqahistograms.cc:1075
 hqahistograms.cc:1076
 hqahistograms.cc:1077
 hqahistograms.cc:1078
 hqahistograms.cc:1079
 hqahistograms.cc:1080
 hqahistograms.cc:1081
 hqahistograms.cc:1082
 hqahistograms.cc:1083
 hqahistograms.cc:1084
 hqahistograms.cc:1085
 hqahistograms.cc:1086
 hqahistograms.cc:1087
 hqahistograms.cc:1088
 hqahistograms.cc:1089
 hqahistograms.cc:1090
 hqahistograms.cc:1091
 hqahistograms.cc:1092
 hqahistograms.cc:1093
 hqahistograms.cc:1094
 hqahistograms.cc:1095
 hqahistograms.cc:1096
 hqahistograms.cc:1097
 hqahistograms.cc:1098
 hqahistograms.cc:1099
 hqahistograms.cc:1100
 hqahistograms.cc:1101
 hqahistograms.cc:1102
 hqahistograms.cc:1103
 hqahistograms.cc:1104
 hqahistograms.cc:1105
 hqahistograms.cc:1106
 hqahistograms.cc:1107
 hqahistograms.cc:1108
 hqahistograms.cc:1109
 hqahistograms.cc:1110
 hqahistograms.cc:1111
 hqahistograms.cc:1112
 hqahistograms.cc:1113
 hqahistograms.cc:1114
 hqahistograms.cc:1115
 hqahistograms.cc:1116
 hqahistograms.cc:1117
 hqahistograms.cc:1118
 hqahistograms.cc:1119
 hqahistograms.cc:1120
 hqahistograms.cc:1121
 hqahistograms.cc:1122
 hqahistograms.cc:1123
 hqahistograms.cc:1124
 hqahistograms.cc:1125
 hqahistograms.cc:1126
 hqahistograms.cc:1127
 hqahistograms.cc:1128
 hqahistograms.cc:1129
 hqahistograms.cc:1130
 hqahistograms.cc:1131
 hqahistograms.cc:1132
 hqahistograms.cc:1133
 hqahistograms.cc:1134
 hqahistograms.cc:1135
 hqahistograms.cc:1136
 hqahistograms.cc:1137
 hqahistograms.cc:1138
 hqahistograms.cc:1139
 hqahistograms.cc:1140
 hqahistograms.cc:1141
 hqahistograms.cc:1142
 hqahistograms.cc:1143
 hqahistograms.cc:1144
 hqahistograms.cc:1145
 hqahistograms.cc:1146
 hqahistograms.cc:1147
 hqahistograms.cc:1148
 hqahistograms.cc:1149
 hqahistograms.cc:1150
 hqahistograms.cc:1151
 hqahistograms.cc:1152
 hqahistograms.cc:1153
 hqahistograms.cc:1154
 hqahistograms.cc:1155
 hqahistograms.cc:1156
 hqahistograms.cc:1157
 hqahistograms.cc:1158
 hqahistograms.cc:1159
 hqahistograms.cc:1160
 hqahistograms.cc:1161
 hqahistograms.cc:1162
 hqahistograms.cc:1163
 hqahistograms.cc:1164
 hqahistograms.cc:1165
 hqahistograms.cc:1166
 hqahistograms.cc:1167
 hqahistograms.cc:1168
 hqahistograms.cc:1169
 hqahistograms.cc:1170
 hqahistograms.cc:1171
 hqahistograms.cc:1172
 hqahistograms.cc:1173
 hqahistograms.cc:1174
 hqahistograms.cc:1175
 hqahistograms.cc:1176
 hqahistograms.cc:1177
 hqahistograms.cc:1178
 hqahistograms.cc:1179
 hqahistograms.cc:1180
 hqahistograms.cc:1181
 hqahistograms.cc:1182
 hqahistograms.cc:1183
 hqahistograms.cc:1184
 hqahistograms.cc:1185
 hqahistograms.cc:1186
 hqahistograms.cc:1187
 hqahistograms.cc:1188
 hqahistograms.cc:1189
 hqahistograms.cc:1190
 hqahistograms.cc:1191
 hqahistograms.cc:1192
 hqahistograms.cc:1193
 hqahistograms.cc:1194
 hqahistograms.cc:1195
 hqahistograms.cc:1196
 hqahistograms.cc:1197
 hqahistograms.cc:1198
 hqahistograms.cc:1199
 hqahistograms.cc:1200
 hqahistograms.cc:1201
 hqahistograms.cc:1202
 hqahistograms.cc:1203
 hqahistograms.cc:1204
 hqahistograms.cc:1205
 hqahistograms.cc:1206
 hqahistograms.cc:1207
 hqahistograms.cc:1208
 hqahistograms.cc:1209
 hqahistograms.cc:1210
 hqahistograms.cc:1211
 hqahistograms.cc:1212
 hqahistograms.cc:1213
 hqahistograms.cc:1214
 hqahistograms.cc:1215
 hqahistograms.cc:1216
 hqahistograms.cc:1217
 hqahistograms.cc:1218
 hqahistograms.cc:1219
 hqahistograms.cc:1220
 hqahistograms.cc:1221
 hqahistograms.cc:1222
 hqahistograms.cc:1223
 hqahistograms.cc:1224
 hqahistograms.cc:1225
 hqahistograms.cc:1226
 hqahistograms.cc:1227
 hqahistograms.cc:1228
 hqahistograms.cc:1229
 hqahistograms.cc:1230
 hqahistograms.cc:1231
 hqahistograms.cc:1232
 hqahistograms.cc:1233
 hqahistograms.cc:1234
 hqahistograms.cc:1235
 hqahistograms.cc:1236
 hqahistograms.cc:1237
 hqahistograms.cc:1238
 hqahistograms.cc:1239
 hqahistograms.cc:1240
 hqahistograms.cc:1241
 hqahistograms.cc:1242
 hqahistograms.cc:1243
 hqahistograms.cc:1244
 hqahistograms.cc:1245
 hqahistograms.cc:1246
 hqahistograms.cc:1247
 hqahistograms.cc:1248
 hqahistograms.cc:1249
 hqahistograms.cc:1250
 hqahistograms.cc:1251
 hqahistograms.cc:1252
 hqahistograms.cc:1253
 hqahistograms.cc:1254
 hqahistograms.cc:1255
 hqahistograms.cc:1256
 hqahistograms.cc:1257
 hqahistograms.cc:1258
 hqahistograms.cc:1259
 hqahistograms.cc:1260
 hqahistograms.cc:1261
 hqahistograms.cc:1262
 hqahistograms.cc:1263
 hqahistograms.cc:1264
 hqahistograms.cc:1265
 hqahistograms.cc:1266
 hqahistograms.cc:1267
 hqahistograms.cc:1268
 hqahistograms.cc:1269
 hqahistograms.cc:1270
 hqahistograms.cc:1271
 hqahistograms.cc:1272
 hqahistograms.cc:1273
 hqahistograms.cc:1274
 hqahistograms.cc:1275
 hqahistograms.cc:1276
 hqahistograms.cc:1277
 hqahistograms.cc:1278
 hqahistograms.cc:1279
 hqahistograms.cc:1280
 hqahistograms.cc:1281
 hqahistograms.cc:1282
 hqahistograms.cc:1283
 hqahistograms.cc:1284
 hqahistograms.cc:1285
 hqahistograms.cc:1286
 hqahistograms.cc:1287
 hqahistograms.cc:1288
 hqahistograms.cc:1289
 hqahistograms.cc:1290
 hqahistograms.cc:1291
 hqahistograms.cc:1292
 hqahistograms.cc:1293
 hqahistograms.cc:1294
 hqahistograms.cc:1295
 hqahistograms.cc:1296
 hqahistograms.cc:1297
 hqahistograms.cc:1298
 hqahistograms.cc:1299
 hqahistograms.cc:1300
 hqahistograms.cc:1301
 hqahistograms.cc:1302
 hqahistograms.cc:1303
 hqahistograms.cc:1304
 hqahistograms.cc:1305
 hqahistograms.cc:1306
 hqahistograms.cc:1307
 hqahistograms.cc:1308
 hqahistograms.cc:1309
 hqahistograms.cc:1310
 hqahistograms.cc:1311
 hqahistograms.cc:1312
 hqahistograms.cc:1313
 hqahistograms.cc:1314
 hqahistograms.cc:1315
 hqahistograms.cc:1316
 hqahistograms.cc:1317
 hqahistograms.cc:1318
 hqahistograms.cc:1319
 hqahistograms.cc:1320
 hqahistograms.cc:1321
 hqahistograms.cc:1322
 hqahistograms.cc:1323
 hqahistograms.cc:1324
 hqahistograms.cc:1325
 hqahistograms.cc:1326
 hqahistograms.cc:1327
 hqahistograms.cc:1328
 hqahistograms.cc:1329
 hqahistograms.cc:1330
 hqahistograms.cc:1331
 hqahistograms.cc:1332
 hqahistograms.cc:1333
 hqahistograms.cc:1334
 hqahistograms.cc:1335
 hqahistograms.cc:1336
 hqahistograms.cc:1337
 hqahistograms.cc:1338
 hqahistograms.cc:1339
 hqahistograms.cc:1340
 hqahistograms.cc:1341
 hqahistograms.cc:1342
 hqahistograms.cc:1343
 hqahistograms.cc:1344
 hqahistograms.cc:1345
 hqahistograms.cc:1346
 hqahistograms.cc:1347
 hqahistograms.cc:1348
 hqahistograms.cc:1349
 hqahistograms.cc:1350
 hqahistograms.cc:1351
 hqahistograms.cc:1352
 hqahistograms.cc:1353
 hqahistograms.cc:1354
 hqahistograms.cc:1355
 hqahistograms.cc:1356
 hqahistograms.cc:1357
 hqahistograms.cc:1358
 hqahistograms.cc:1359
 hqahistograms.cc:1360
 hqahistograms.cc:1361
 hqahistograms.cc:1362
 hqahistograms.cc:1363
 hqahistograms.cc:1364
 hqahistograms.cc:1365
 hqahistograms.cc:1366
 hqahistograms.cc:1367
 hqahistograms.cc:1368
 hqahistograms.cc:1369
 hqahistograms.cc:1370
 hqahistograms.cc:1371
 hqahistograms.cc:1372
 hqahistograms.cc:1373
 hqahistograms.cc:1374
 hqahistograms.cc:1375
 hqahistograms.cc:1376
 hqahistograms.cc:1377
 hqahistograms.cc:1378
 hqahistograms.cc:1379
 hqahistograms.cc:1380
 hqahistograms.cc:1381
 hqahistograms.cc:1382
 hqahistograms.cc:1383
 hqahistograms.cc:1384
 hqahistograms.cc:1385
 hqahistograms.cc:1386
 hqahistograms.cc:1387
 hqahistograms.cc:1388
 hqahistograms.cc:1389
 hqahistograms.cc:1390
 hqahistograms.cc:1391
 hqahistograms.cc:1392
 hqahistograms.cc:1393
 hqahistograms.cc:1394
 hqahistograms.cc:1395
 hqahistograms.cc:1396
 hqahistograms.cc:1397
 hqahistograms.cc:1398
 hqahistograms.cc:1399
 hqahistograms.cc:1400
 hqahistograms.cc:1401
 hqahistograms.cc:1402
 hqahistograms.cc:1403
 hqahistograms.cc:1404
 hqahistograms.cc:1405
 hqahistograms.cc:1406
 hqahistograms.cc:1407
 hqahistograms.cc:1408
 hqahistograms.cc:1409
 hqahistograms.cc:1410
 hqahistograms.cc:1411
 hqahistograms.cc:1412
 hqahistograms.cc:1413
 hqahistograms.cc:1414
 hqahistograms.cc:1415
 hqahistograms.cc:1416
 hqahistograms.cc:1417
 hqahistograms.cc:1418
 hqahistograms.cc:1419
 hqahistograms.cc:1420
 hqahistograms.cc:1421
 hqahistograms.cc:1422
 hqahistograms.cc:1423
 hqahistograms.cc:1424
 hqahistograms.cc:1425
 hqahistograms.cc:1426
 hqahistograms.cc:1427
 hqahistograms.cc:1428
 hqahistograms.cc:1429
 hqahistograms.cc:1430
 hqahistograms.cc:1431
 hqahistograms.cc:1432
 hqahistograms.cc:1433
 hqahistograms.cc:1434
 hqahistograms.cc:1435
 hqahistograms.cc:1436
 hqahistograms.cc:1437
 hqahistograms.cc:1438
 hqahistograms.cc:1439
 hqahistograms.cc:1440
 hqahistograms.cc:1441
 hqahistograms.cc:1442
 hqahistograms.cc:1443
 hqahistograms.cc:1444
 hqahistograms.cc:1445
 hqahistograms.cc:1446
 hqahistograms.cc:1447
 hqahistograms.cc:1448
 hqahistograms.cc:1449
 hqahistograms.cc:1450
 hqahistograms.cc:1451
 hqahistograms.cc:1452
 hqahistograms.cc:1453
 hqahistograms.cc:1454
 hqahistograms.cc:1455
 hqahistograms.cc:1456
 hqahistograms.cc:1457
 hqahistograms.cc:1458
 hqahistograms.cc:1459
 hqahistograms.cc:1460
 hqahistograms.cc:1461
 hqahistograms.cc:1462
 hqahistograms.cc:1463
 hqahistograms.cc:1464
 hqahistograms.cc:1465
 hqahistograms.cc:1466
 hqahistograms.cc:1467
 hqahistograms.cc:1468
 hqahistograms.cc:1469
 hqahistograms.cc:1470
 hqahistograms.cc:1471
 hqahistograms.cc:1472
 hqahistograms.cc:1473
 hqahistograms.cc:1474
 hqahistograms.cc:1475
 hqahistograms.cc:1476
 hqahistograms.cc:1477
 hqahistograms.cc:1478
 hqahistograms.cc:1479
 hqahistograms.cc:1480
 hqahistograms.cc:1481
 hqahistograms.cc:1482
 hqahistograms.cc:1483
 hqahistograms.cc:1484
 hqahistograms.cc:1485
 hqahistograms.cc:1486
 hqahistograms.cc:1487
 hqahistograms.cc:1488
 hqahistograms.cc:1489
 hqahistograms.cc:1490
 hqahistograms.cc:1491
 hqahistograms.cc:1492
 hqahistograms.cc:1493
 hqahistograms.cc:1494
 hqahistograms.cc:1495
 hqahistograms.cc:1496
 hqahistograms.cc:1497
 hqahistograms.cc:1498
 hqahistograms.cc:1499
 hqahistograms.cc:1500
 hqahistograms.cc:1501
 hqahistograms.cc:1502
 hqahistograms.cc:1503
 hqahistograms.cc:1504
 hqahistograms.cc:1505
 hqahistograms.cc:1506
 hqahistograms.cc:1507
 hqahistograms.cc:1508
 hqahistograms.cc:1509
 hqahistograms.cc:1510
 hqahistograms.cc:1511
 hqahistograms.cc:1512
 hqahistograms.cc:1513
 hqahistograms.cc:1514
 hqahistograms.cc:1515
 hqahistograms.cc:1516
 hqahistograms.cc:1517
 hqahistograms.cc:1518
 hqahistograms.cc:1519
 hqahistograms.cc:1520
 hqahistograms.cc:1521
 hqahistograms.cc:1522
 hqahistograms.cc:1523
 hqahistograms.cc:1524
 hqahistograms.cc:1525
 hqahistograms.cc:1526
 hqahistograms.cc:1527
 hqahistograms.cc:1528
 hqahistograms.cc:1529
 hqahistograms.cc:1530
 hqahistograms.cc:1531
 hqahistograms.cc:1532
 hqahistograms.cc:1533
 hqahistograms.cc:1534
 hqahistograms.cc:1535
 hqahistograms.cc:1536
 hqahistograms.cc:1537
 hqahistograms.cc:1538
 hqahistograms.cc:1539
 hqahistograms.cc:1540
 hqahistograms.cc:1541
 hqahistograms.cc:1542
 hqahistograms.cc:1543
 hqahistograms.cc:1544
 hqahistograms.cc:1545
 hqahistograms.cc:1546
 hqahistograms.cc:1547
 hqahistograms.cc:1548
 hqahistograms.cc:1549
 hqahistograms.cc:1550
 hqahistograms.cc:1551
 hqahistograms.cc:1552
 hqahistograms.cc:1553
 hqahistograms.cc:1554
 hqahistograms.cc:1555
 hqahistograms.cc:1556
 hqahistograms.cc:1557
 hqahistograms.cc:1558
 hqahistograms.cc:1559
 hqahistograms.cc:1560
 hqahistograms.cc:1561
 hqahistograms.cc:1562
 hqahistograms.cc:1563
 hqahistograms.cc:1564
 hqahistograms.cc:1565
 hqahistograms.cc:1566
 hqahistograms.cc:1567
 hqahistograms.cc:1568
 hqahistograms.cc:1569
 hqahistograms.cc:1570
 hqahistograms.cc:1571
 hqahistograms.cc:1572
 hqahistograms.cc:1573
 hqahistograms.cc:1574
 hqahistograms.cc:1575
 hqahistograms.cc:1576
 hqahistograms.cc:1577
 hqahistograms.cc:1578
 hqahistograms.cc:1579
 hqahistograms.cc:1580
 hqahistograms.cc:1581
 hqahistograms.cc:1582
 hqahistograms.cc:1583
 hqahistograms.cc:1584
 hqahistograms.cc:1585
 hqahistograms.cc:1586
 hqahistograms.cc:1587
 hqahistograms.cc:1588
 hqahistograms.cc:1589
 hqahistograms.cc:1590
 hqahistograms.cc:1591
 hqahistograms.cc:1592
 hqahistograms.cc:1593
 hqahistograms.cc:1594
 hqahistograms.cc:1595
 hqahistograms.cc:1596
 hqahistograms.cc:1597
 hqahistograms.cc:1598
 hqahistograms.cc:1599
 hqahistograms.cc:1600
 hqahistograms.cc:1601
 hqahistograms.cc:1602
 hqahistograms.cc:1603
 hqahistograms.cc:1604
 hqahistograms.cc:1605
 hqahistograms.cc:1606
 hqahistograms.cc:1607
 hqahistograms.cc:1608
 hqahistograms.cc:1609
 hqahistograms.cc:1610
 hqahistograms.cc:1611
 hqahistograms.cc:1612
 hqahistograms.cc:1613
 hqahistograms.cc:1614
 hqahistograms.cc:1615
 hqahistograms.cc:1616
 hqahistograms.cc:1617
 hqahistograms.cc:1618
 hqahistograms.cc:1619
 hqahistograms.cc:1620
 hqahistograms.cc:1621
 hqahistograms.cc:1622
 hqahistograms.cc:1623
 hqahistograms.cc:1624
 hqahistograms.cc:1625
 hqahistograms.cc:1626
 hqahistograms.cc:1627
 hqahistograms.cc:1628
 hqahistograms.cc:1629
 hqahistograms.cc:1630
 hqahistograms.cc:1631
 hqahistograms.cc:1632
 hqahistograms.cc:1633
 hqahistograms.cc:1634
 hqahistograms.cc:1635
 hqahistograms.cc:1636
 hqahistograms.cc:1637
 hqahistograms.cc:1638
 hqahistograms.cc:1639
 hqahistograms.cc:1640
 hqahistograms.cc:1641
 hqahistograms.cc:1642
 hqahistograms.cc:1643
 hqahistograms.cc:1644
 hqahistograms.cc:1645
 hqahistograms.cc:1646
 hqahistograms.cc:1647
 hqahistograms.cc:1648
 hqahistograms.cc:1649
 hqahistograms.cc:1650
 hqahistograms.cc:1651
 hqahistograms.cc:1652
 hqahistograms.cc:1653
 hqahistograms.cc:1654
 hqahistograms.cc:1655
 hqahistograms.cc:1656
 hqahistograms.cc:1657
 hqahistograms.cc:1658
 hqahistograms.cc:1659
 hqahistograms.cc:1660
 hqahistograms.cc:1661
 hqahistograms.cc:1662
 hqahistograms.cc:1663
 hqahistograms.cc:1664
 hqahistograms.cc:1665
 hqahistograms.cc:1666
 hqahistograms.cc:1667
 hqahistograms.cc:1668
 hqahistograms.cc:1669
 hqahistograms.cc:1670
 hqahistograms.cc:1671
 hqahistograms.cc:1672
 hqahistograms.cc:1673
 hqahistograms.cc:1674
 hqahistograms.cc:1675
 hqahistograms.cc:1676
 hqahistograms.cc:1677
 hqahistograms.cc:1678
 hqahistograms.cc:1679
 hqahistograms.cc:1680
 hqahistograms.cc:1681
 hqahistograms.cc:1682
 hqahistograms.cc:1683
 hqahistograms.cc:1684
 hqahistograms.cc:1685
 hqahistograms.cc:1686
 hqahistograms.cc:1687
 hqahistograms.cc:1688
 hqahistograms.cc:1689
 hqahistograms.cc:1690
 hqahistograms.cc:1691
 hqahistograms.cc:1692
 hqahistograms.cc:1693
 hqahistograms.cc:1694
 hqahistograms.cc:1695
 hqahistograms.cc:1696
 hqahistograms.cc:1697
 hqahistograms.cc:1698
 hqahistograms.cc:1699
 hqahistograms.cc:1700
 hqahistograms.cc:1701
 hqahistograms.cc:1702
 hqahistograms.cc:1703
 hqahistograms.cc:1704
 hqahistograms.cc:1705
 hqahistograms.cc:1706
 hqahistograms.cc:1707
 hqahistograms.cc:1708
 hqahistograms.cc:1709
 hqahistograms.cc:1710
 hqahistograms.cc:1711
 hqahistograms.cc:1712
 hqahistograms.cc:1713
 hqahistograms.cc:1714
 hqahistograms.cc:1715
 hqahistograms.cc:1716
 hqahistograms.cc:1717
 hqahistograms.cc:1718
 hqahistograms.cc:1719
 hqahistograms.cc:1720
 hqahistograms.cc:1721
 hqahistograms.cc:1722
 hqahistograms.cc:1723
 hqahistograms.cc:1724
 hqahistograms.cc:1725
 hqahistograms.cc:1726
 hqahistograms.cc:1727
 hqahistograms.cc:1728
 hqahistograms.cc:1729
 hqahistograms.cc:1730
 hqahistograms.cc:1731
 hqahistograms.cc:1732
 hqahistograms.cc:1733
 hqahistograms.cc:1734
 hqahistograms.cc:1735
 hqahistograms.cc:1736
 hqahistograms.cc:1737
 hqahistograms.cc:1738
 hqahistograms.cc:1739
 hqahistograms.cc:1740
 hqahistograms.cc:1741
 hqahistograms.cc:1742
 hqahistograms.cc:1743
 hqahistograms.cc:1744
 hqahistograms.cc:1745
 hqahistograms.cc:1746
 hqahistograms.cc:1747
 hqahistograms.cc:1748
 hqahistograms.cc:1749
 hqahistograms.cc:1750
 hqahistograms.cc:1751
 hqahistograms.cc:1752
 hqahistograms.cc:1753
 hqahistograms.cc:1754
 hqahistograms.cc:1755
 hqahistograms.cc:1756
 hqahistograms.cc:1757
 hqahistograms.cc:1758
 hqahistograms.cc:1759
 hqahistograms.cc:1760
 hqahistograms.cc:1761
 hqahistograms.cc:1762
 hqahistograms.cc:1763
 hqahistograms.cc:1764
 hqahistograms.cc:1765
 hqahistograms.cc:1766
 hqahistograms.cc:1767
 hqahistograms.cc:1768
 hqahistograms.cc:1769
 hqahistograms.cc:1770
 hqahistograms.cc:1771
 hqahistograms.cc:1772
 hqahistograms.cc:1773
 hqahistograms.cc:1774
 hqahistograms.cc:1775
 hqahistograms.cc:1776
 hqahistograms.cc:1777
 hqahistograms.cc:1778
 hqahistograms.cc:1779
 hqahistograms.cc:1780
 hqahistograms.cc:1781
 hqahistograms.cc:1782
 hqahistograms.cc:1783
 hqahistograms.cc:1784
 hqahistograms.cc:1785
 hqahistograms.cc:1786
 hqahistograms.cc:1787
 hqahistograms.cc:1788
 hqahistograms.cc:1789
 hqahistograms.cc:1790
 hqahistograms.cc:1791
 hqahistograms.cc:1792
 hqahistograms.cc:1793
 hqahistograms.cc:1794
 hqahistograms.cc:1795
 hqahistograms.cc:1796
 hqahistograms.cc:1797
 hqahistograms.cc:1798
 hqahistograms.cc:1799
 hqahistograms.cc:1800
 hqahistograms.cc:1801
 hqahistograms.cc:1802
 hqahistograms.cc:1803
 hqahistograms.cc:1804
 hqahistograms.cc:1805
 hqahistograms.cc:1806
 hqahistograms.cc:1807
 hqahistograms.cc:1808
 hqahistograms.cc:1809
 hqahistograms.cc:1810
 hqahistograms.cc:1811
 hqahistograms.cc:1812
 hqahistograms.cc:1813
 hqahistograms.cc:1814
 hqahistograms.cc:1815
 hqahistograms.cc:1816
 hqahistograms.cc:1817
 hqahistograms.cc:1818
 hqahistograms.cc:1819
 hqahistograms.cc:1820
 hqahistograms.cc:1821
 hqahistograms.cc:1822
 hqahistograms.cc:1823
 hqahistograms.cc:1824
 hqahistograms.cc:1825
 hqahistograms.cc:1826
 hqahistograms.cc:1827
 hqahistograms.cc:1828
 hqahistograms.cc:1829
 hqahistograms.cc:1830
 hqahistograms.cc:1831
 hqahistograms.cc:1832
 hqahistograms.cc:1833
 hqahistograms.cc:1834
 hqahistograms.cc:1835
 hqahistograms.cc:1836
 hqahistograms.cc:1837
 hqahistograms.cc:1838
 hqahistograms.cc:1839
 hqahistograms.cc:1840
 hqahistograms.cc:1841
 hqahistograms.cc:1842
 hqahistograms.cc:1843
 hqahistograms.cc:1844
 hqahistograms.cc:1845
 hqahistograms.cc:1846
 hqahistograms.cc:1847
 hqahistograms.cc:1848
 hqahistograms.cc:1849
 hqahistograms.cc:1850
 hqahistograms.cc:1851
 hqahistograms.cc:1852
 hqahistograms.cc:1853
 hqahistograms.cc:1854
 hqahistograms.cc:1855
 hqahistograms.cc:1856
 hqahistograms.cc:1857
 hqahistograms.cc:1858
 hqahistograms.cc:1859
 hqahistograms.cc:1860
 hqahistograms.cc:1861
 hqahistograms.cc:1862
 hqahistograms.cc:1863
 hqahistograms.cc:1864
 hqahistograms.cc:1865
 hqahistograms.cc:1866
 hqahistograms.cc:1867
 hqahistograms.cc:1868
 hqahistograms.cc:1869
 hqahistograms.cc:1870
 hqahistograms.cc:1871
 hqahistograms.cc:1872
 hqahistograms.cc:1873
 hqahistograms.cc:1874
 hqahistograms.cc:1875
 hqahistograms.cc:1876
 hqahistograms.cc:1877
 hqahistograms.cc:1878
 hqahistograms.cc:1879
 hqahistograms.cc:1880
 hqahistograms.cc:1881
 hqahistograms.cc:1882
 hqahistograms.cc:1883
 hqahistograms.cc:1884
 hqahistograms.cc:1885
 hqahistograms.cc:1886
 hqahistograms.cc:1887
 hqahistograms.cc:1888
 hqahistograms.cc:1889
 hqahistograms.cc:1890
 hqahistograms.cc:1891
 hqahistograms.cc:1892
 hqahistograms.cc:1893
 hqahistograms.cc:1894
 hqahistograms.cc:1895
 hqahistograms.cc:1896
 hqahistograms.cc:1897
 hqahistograms.cc:1898
 hqahistograms.cc:1899
 hqahistograms.cc:1900
 hqahistograms.cc:1901
 hqahistograms.cc:1902
 hqahistograms.cc:1903
 hqahistograms.cc:1904
 hqahistograms.cc:1905
 hqahistograms.cc:1906
 hqahistograms.cc:1907
 hqahistograms.cc:1908
 hqahistograms.cc:1909
 hqahistograms.cc:1910
 hqahistograms.cc:1911
 hqahistograms.cc:1912
 hqahistograms.cc:1913
 hqahistograms.cc:1914
 hqahistograms.cc:1915
 hqahistograms.cc:1916
 hqahistograms.cc:1917
 hqahistograms.cc:1918
 hqahistograms.cc:1919
 hqahistograms.cc:1920
 hqahistograms.cc:1921
 hqahistograms.cc:1922
 hqahistograms.cc:1923
 hqahistograms.cc:1924
 hqahistograms.cc:1925
 hqahistograms.cc:1926
 hqahistograms.cc:1927
 hqahistograms.cc:1928
 hqahistograms.cc:1929
 hqahistograms.cc:1930
 hqahistograms.cc:1931
 hqahistograms.cc:1932
 hqahistograms.cc:1933
 hqahistograms.cc:1934
 hqahistograms.cc:1935
 hqahistograms.cc:1936
 hqahistograms.cc:1937
 hqahistograms.cc:1938
 hqahistograms.cc:1939
 hqahistograms.cc:1940
 hqahistograms.cc:1941
 hqahistograms.cc:1942
 hqahistograms.cc:1943
 hqahistograms.cc:1944
 hqahistograms.cc:1945
 hqahistograms.cc:1946
 hqahistograms.cc:1947
 hqahistograms.cc:1948
 hqahistograms.cc:1949
 hqahistograms.cc:1950
 hqahistograms.cc:1951
 hqahistograms.cc:1952
 hqahistograms.cc:1953
 hqahistograms.cc:1954
 hqahistograms.cc:1955
 hqahistograms.cc:1956
 hqahistograms.cc:1957
 hqahistograms.cc:1958
 hqahistograms.cc:1959
 hqahistograms.cc:1960
 hqahistograms.cc:1961
 hqahistograms.cc:1962
 hqahistograms.cc:1963
 hqahistograms.cc:1964
 hqahistograms.cc:1965
 hqahistograms.cc:1966
 hqahistograms.cc:1967
 hqahistograms.cc:1968
 hqahistograms.cc:1969
 hqahistograms.cc:1970
 hqahistograms.cc:1971
 hqahistograms.cc:1972
 hqahistograms.cc:1973
 hqahistograms.cc:1974
 hqahistograms.cc:1975
 hqahistograms.cc:1976
 hqahistograms.cc:1977
 hqahistograms.cc:1978
 hqahistograms.cc:1979
 hqahistograms.cc:1980
 hqahistograms.cc:1981
 hqahistograms.cc:1982
 hqahistograms.cc:1983
 hqahistograms.cc:1984
 hqahistograms.cc:1985
 hqahistograms.cc:1986
 hqahistograms.cc:1987
 hqahistograms.cc:1988
 hqahistograms.cc:1989
 hqahistograms.cc:1990
 hqahistograms.cc:1991
 hqahistograms.cc:1992
 hqahistograms.cc:1993
 hqahistograms.cc:1994
 hqahistograms.cc:1995
 hqahistograms.cc:1996
 hqahistograms.cc:1997
 hqahistograms.cc:1998
 hqahistograms.cc:1999
 hqahistograms.cc:2000
 hqahistograms.cc:2001
 hqahistograms.cc:2002
 hqahistograms.cc:2003
 hqahistograms.cc:2004
 hqahistograms.cc:2005
 hqahistograms.cc:2006
 hqahistograms.cc:2007
 hqahistograms.cc:2008
 hqahistograms.cc:2009
 hqahistograms.cc:2010
 hqahistograms.cc:2011
 hqahistograms.cc:2012
 hqahistograms.cc:2013
 hqahistograms.cc:2014
 hqahistograms.cc:2015
 hqahistograms.cc:2016
 hqahistograms.cc:2017
 hqahistograms.cc:2018
 hqahistograms.cc:2019
 hqahistograms.cc:2020
 hqahistograms.cc:2021
 hqahistograms.cc:2022
 hqahistograms.cc:2023
 hqahistograms.cc:2024
 hqahistograms.cc:2025
 hqahistograms.cc:2026
 hqahistograms.cc:2027
 hqahistograms.cc:2028
 hqahistograms.cc:2029
 hqahistograms.cc:2030
 hqahistograms.cc:2031
 hqahistograms.cc:2032
 hqahistograms.cc:2033
 hqahistograms.cc:2034
 hqahistograms.cc:2035
 hqahistograms.cc:2036
 hqahistograms.cc:2037
 hqahistograms.cc:2038
 hqahistograms.cc:2039
 hqahistograms.cc:2040
 hqahistograms.cc:2041
 hqahistograms.cc:2042
 hqahistograms.cc:2043
 hqahistograms.cc:2044
 hqahistograms.cc:2045
 hqahistograms.cc:2046
 hqahistograms.cc:2047
 hqahistograms.cc:2048
 hqahistograms.cc:2049
 hqahistograms.cc:2050
 hqahistograms.cc:2051
 hqahistograms.cc:2052
 hqahistograms.cc:2053
 hqahistograms.cc:2054
 hqahistograms.cc:2055
 hqahistograms.cc:2056
 hqahistograms.cc:2057
 hqahistograms.cc:2058
 hqahistograms.cc:2059
 hqahistograms.cc:2060
 hqahistograms.cc:2061
 hqahistograms.cc:2062
 hqahistograms.cc:2063
 hqahistograms.cc:2064
 hqahistograms.cc:2065
 hqahistograms.cc:2066
 hqahistograms.cc:2067
 hqahistograms.cc:2068
 hqahistograms.cc:2069
 hqahistograms.cc:2070
 hqahistograms.cc:2071
 hqahistograms.cc:2072
 hqahistograms.cc:2073
 hqahistograms.cc:2074
 hqahistograms.cc:2075
 hqahistograms.cc:2076
 hqahistograms.cc:2077
 hqahistograms.cc:2078
 hqahistograms.cc:2079
 hqahistograms.cc:2080
 hqahistograms.cc:2081
 hqahistograms.cc:2082
 hqahistograms.cc:2083
 hqahistograms.cc:2084
 hqahistograms.cc:2085
 hqahistograms.cc:2086
 hqahistograms.cc:2087
 hqahistograms.cc:2088
 hqahistograms.cc:2089
 hqahistograms.cc:2090
 hqahistograms.cc:2091
 hqahistograms.cc:2092
 hqahistograms.cc:2093
 hqahistograms.cc:2094
 hqahistograms.cc:2095
 hqahistograms.cc:2096
 hqahistograms.cc:2097
 hqahistograms.cc:2098
 hqahistograms.cc:2099
 hqahistograms.cc:2100
 hqahistograms.cc:2101
 hqahistograms.cc:2102
 hqahistograms.cc:2103
 hqahistograms.cc:2104
 hqahistograms.cc:2105
 hqahistograms.cc:2106
 hqahistograms.cc:2107
 hqahistograms.cc:2108
 hqahistograms.cc:2109
 hqahistograms.cc:2110
 hqahistograms.cc:2111
 hqahistograms.cc:2112
 hqahistograms.cc:2113
 hqahistograms.cc:2114
 hqahistograms.cc:2115
 hqahistograms.cc:2116
 hqahistograms.cc:2117
 hqahistograms.cc:2118
 hqahistograms.cc:2119
 hqahistograms.cc:2120
 hqahistograms.cc:2121
 hqahistograms.cc:2122
 hqahistograms.cc:2123
 hqahistograms.cc:2124
 hqahistograms.cc:2125
 hqahistograms.cc:2126
 hqahistograms.cc:2127
 hqahistograms.cc:2128
 hqahistograms.cc:2129
 hqahistograms.cc:2130
 hqahistograms.cc:2131
 hqahistograms.cc:2132
 hqahistograms.cc:2133
 hqahistograms.cc:2134
 hqahistograms.cc:2135
 hqahistograms.cc:2136
 hqahistograms.cc:2137
 hqahistograms.cc:2138
 hqahistograms.cc:2139
 hqahistograms.cc:2140
 hqahistograms.cc:2141
 hqahistograms.cc:2142
 hqahistograms.cc:2143
 hqahistograms.cc:2144
 hqahistograms.cc:2145
 hqahistograms.cc:2146
 hqahistograms.cc:2147
 hqahistograms.cc:2148
 hqahistograms.cc:2149
 hqahistograms.cc:2150
 hqahistograms.cc:2151
 hqahistograms.cc:2152
 hqahistograms.cc:2153
 hqahistograms.cc:2154
 hqahistograms.cc:2155
 hqahistograms.cc:2156
 hqahistograms.cc:2157
 hqahistograms.cc:2158
 hqahistograms.cc:2159
 hqahistograms.cc:2160
 hqahistograms.cc:2161
 hqahistograms.cc:2162
 hqahistograms.cc:2163
 hqahistograms.cc:2164
 hqahistograms.cc:2165
 hqahistograms.cc:2166
 hqahistograms.cc:2167
 hqahistograms.cc:2168
 hqahistograms.cc:2169
 hqahistograms.cc:2170
 hqahistograms.cc:2171
 hqahistograms.cc:2172
 hqahistograms.cc:2173
 hqahistograms.cc:2174
 hqahistograms.cc:2175
 hqahistograms.cc:2176
 hqahistograms.cc:2177
 hqahistograms.cc:2178
 hqahistograms.cc:2179
 hqahistograms.cc:2180
 hqahistograms.cc:2181
 hqahistograms.cc:2182
 hqahistograms.cc:2183
 hqahistograms.cc:2184
 hqahistograms.cc:2185
 hqahistograms.cc:2186
 hqahistograms.cc:2187
 hqahistograms.cc:2188
 hqahistograms.cc:2189
 hqahistograms.cc:2190
 hqahistograms.cc:2191
 hqahistograms.cc:2192
 hqahistograms.cc:2193
 hqahistograms.cc:2194
 hqahistograms.cc:2195
 hqahistograms.cc:2196
 hqahistograms.cc:2197
 hqahistograms.cc:2198
 hqahistograms.cc:2199
 hqahistograms.cc:2200
 hqahistograms.cc:2201
 hqahistograms.cc:2202
 hqahistograms.cc:2203
 hqahistograms.cc:2204
 hqahistograms.cc:2205
 hqahistograms.cc:2206
 hqahistograms.cc:2207
 hqahistograms.cc:2208
 hqahistograms.cc:2209
 hqahistograms.cc:2210
 hqahistograms.cc:2211
 hqahistograms.cc:2212
 hqahistograms.cc:2213
 hqahistograms.cc:2214
 hqahistograms.cc:2215
 hqahistograms.cc:2216
 hqahistograms.cc:2217
 hqahistograms.cc:2218
 hqahistograms.cc:2219
 hqahistograms.cc:2220
 hqahistograms.cc:2221
 hqahistograms.cc:2222
 hqahistograms.cc:2223
 hqahistograms.cc:2224
 hqahistograms.cc:2225
 hqahistograms.cc:2226
 hqahistograms.cc:2227
 hqahistograms.cc:2228
 hqahistograms.cc:2229
 hqahistograms.cc:2230
 hqahistograms.cc:2231
 hqahistograms.cc:2232
 hqahistograms.cc:2233
 hqahistograms.cc:2234
 hqahistograms.cc:2235
 hqahistograms.cc:2236
 hqahistograms.cc:2237
 hqahistograms.cc:2238
 hqahistograms.cc:2239
 hqahistograms.cc:2240
 hqahistograms.cc:2241
 hqahistograms.cc:2242
 hqahistograms.cc:2243
 hqahistograms.cc:2244
 hqahistograms.cc:2245
 hqahistograms.cc:2246
 hqahistograms.cc:2247
 hqahistograms.cc:2248
 hqahistograms.cc:2249
 hqahistograms.cc:2250
 hqahistograms.cc:2251
 hqahistograms.cc:2252
 hqahistograms.cc:2253
 hqahistograms.cc:2254
 hqahistograms.cc:2255
 hqahistograms.cc:2256
 hqahistograms.cc:2257
 hqahistograms.cc:2258
 hqahistograms.cc:2259
 hqahistograms.cc:2260
 hqahistograms.cc:2261
 hqahistograms.cc:2262
 hqahistograms.cc:2263
 hqahistograms.cc:2264
 hqahistograms.cc:2265
 hqahistograms.cc:2266
 hqahistograms.cc:2267
 hqahistograms.cc:2268
 hqahistograms.cc:2269
 hqahistograms.cc:2270
 hqahistograms.cc:2271
 hqahistograms.cc:2272
 hqahistograms.cc:2273
 hqahistograms.cc:2274
 hqahistograms.cc:2275
 hqahistograms.cc:2276
 hqahistograms.cc:2277
 hqahistograms.cc:2278
 hqahistograms.cc:2279
 hqahistograms.cc:2280
 hqahistograms.cc:2281
 hqahistograms.cc:2282
 hqahistograms.cc:2283
 hqahistograms.cc:2284
 hqahistograms.cc:2285
 hqahistograms.cc:2286
 hqahistograms.cc:2287
 hqahistograms.cc:2288
 hqahistograms.cc:2289
 hqahistograms.cc:2290
 hqahistograms.cc:2291
 hqahistograms.cc:2292
 hqahistograms.cc:2293
 hqahistograms.cc:2294
 hqahistograms.cc:2295
 hqahistograms.cc:2296
 hqahistograms.cc:2297
 hqahistograms.cc:2298
 hqahistograms.cc:2299
 hqahistograms.cc:2300
 hqahistograms.cc:2301
 hqahistograms.cc:2302
 hqahistograms.cc:2303
 hqahistograms.cc:2304
 hqahistograms.cc:2305
 hqahistograms.cc:2306
 hqahistograms.cc:2307
 hqahistograms.cc:2308
 hqahistograms.cc:2309
 hqahistograms.cc:2310
 hqahistograms.cc:2311
 hqahistograms.cc:2312
 hqahistograms.cc:2313
 hqahistograms.cc:2314
 hqahistograms.cc:2315
 hqahistograms.cc:2316
 hqahistograms.cc:2317
 hqahistograms.cc:2318
 hqahistograms.cc:2319
 hqahistograms.cc:2320
 hqahistograms.cc:2321
 hqahistograms.cc:2322
 hqahistograms.cc:2323
 hqahistograms.cc:2324
 hqahistograms.cc:2325
 hqahistograms.cc:2326
 hqahistograms.cc:2327
 hqahistograms.cc:2328
 hqahistograms.cc:2329
 hqahistograms.cc:2330
 hqahistograms.cc:2331
 hqahistograms.cc:2332
 hqahistograms.cc:2333
 hqahistograms.cc:2334
 hqahistograms.cc:2335
 hqahistograms.cc:2336
 hqahistograms.cc:2337
 hqahistograms.cc:2338
 hqahistograms.cc:2339
 hqahistograms.cc:2340
 hqahistograms.cc:2341
 hqahistograms.cc:2342
 hqahistograms.cc:2343
 hqahistograms.cc:2344
 hqahistograms.cc:2345
 hqahistograms.cc:2346
 hqahistograms.cc:2347
 hqahistograms.cc:2348
 hqahistograms.cc:2349
 hqahistograms.cc:2350
 hqahistograms.cc:2351
 hqahistograms.cc:2352
 hqahistograms.cc:2353
 hqahistograms.cc:2354
 hqahistograms.cc:2355
 hqahistograms.cc:2356
 hqahistograms.cc:2357
 hqahistograms.cc:2358
 hqahistograms.cc:2359
 hqahistograms.cc:2360
 hqahistograms.cc:2361
 hqahistograms.cc:2362
 hqahistograms.cc:2363
 hqahistograms.cc:2364
 hqahistograms.cc:2365
 hqahistograms.cc:2366
 hqahistograms.cc:2367
 hqahistograms.cc:2368
 hqahistograms.cc:2369
 hqahistograms.cc:2370