ROOT logo
///////////////////////////////////////////////////////////////////////////////////////////////
//                                                                                           //
//    DIGHistograms                                                                          //
//                                                                                           //
//      histograms list stored in TObjArray                                                  //
//                                                                                           //
//                                                                                           //
//                                                                                           //
//                                                                                           //
//                                                                                           //
//                                                                                           //
///////////////////////////////////////////////////////////////////////////////////////////////
#include <dighistograms.h>


#include <TROOT.h> // for gROOT object
#include <TMath.h>
#include <TMatrixD.h>
#include <TCanvas.h>
#include <TGraph.h>
#include <TAxis.h>
#include <TRandom3.h>
#include <TFile.h>
#include <TTree.h>
#include <TBranch.h>
#include <TClonesArray.h>

//include other classes.h:


using namespace std;

//==============================================================================
ClassImp(DIGHistograms)
//______________________________________________________________________________
//  
DIGHistograms::DIGHistograms()  
{
  //
  // default constructor
  //
}  
//______________________________________________________________________________
//  
DIGHistograms::DIGHistograms(Int_t myNumberOfConfigurations)  
{
  fNumberOfConfigs = myNumberOfConfigurations;
}  
//______________________________________________________________________________
//  
DIGHistograms::~DIGHistograms() {  
  //
  // virtual destructor
  //
}
//______________________________________________________________________________
//  
DIGHistograms::DIGHistograms(DIGHistograms & adighisto)
{
  fNumberOfConfigs = adighisto.GetNumberOfConfigurations();

}
//______________________________________________________________________________
//  
void DIGHistograms::Clear(const Option_t *) 
{
  //  delete pointers.  fDIGParticleArray->Clear("C");

}
//______________________________________________________________________________
//  
void DIGHistograms::PrintInfo() {
  std::cout<<"---------DIGHistograms properties------------- "<<endl;
  //std::cout<<"fEntryX fEntryY fExitX fExitY fEnergy_deposited"<<endl;
  // std::cout<<fEntryX<<" "<< fEntryY<<" "<<fExitX <<" "<<fExitY <<" "<<fEnergy_deposited <<endl;
}
//______________________________________________________________________________
//  
void DIGHistograms::SetNumberOfConfigurations(Int_t myNumberOfConfigurations){
  fNumberOfConfigs=myNumberOfConfigurations;
}  
//______________________________________________________________________________
//  
void DIGHistograms::BookHistograms(Int_t myNumberOfConfigurations){

  SetNumberOfConfigurations(myNumberOfConfigurations);
  //-----------multiplicity
  Ar_h1_multiplicity_with_threshold_01 = new TObjArray(fNumberOfConfigs);
  Ar_h1_multiplicity_with_threshold_02 = new TObjArray(fNumberOfConfigs);
  Ar_h1_multiplicity_with_threshold_03 = new TObjArray(fNumberOfConfigs);
  Ar_h1_multiplicity_with_threshold_04 = new TObjArray(fNumberOfConfigs);
  Ar_h1_multiplicity_with_threshold_05 = new TObjArray(fNumberOfConfigs);
  Ar_h1_multiplicity_with_threshold_06 = new TObjArray(fNumberOfConfigs);
  Ar_h1_multiplicity_with_threshold_07 = new TObjArray(fNumberOfConfigs);
  Ar_h1_multiplicity_with_threshold_08 = new TObjArray(fNumberOfConfigs);
  Ar_h1_multiplicity_with_threshold_09 = new TObjArray(fNumberOfConfigs);
  Ar_h1_multiplicity_with_threshold_10 = new TObjArray(fNumberOfConfigs);

  //-----------cluster
  Ar_h1_Cluster_SeedDigitalCharge                 = new TObjArray(fNumberOfConfigs);
  Ar_h1_Cluster_TotalDigitalCharge                = new TObjArray(fNumberOfConfigs);
  Ar_h1_Cluster_9x9DigitalCharge                  = new TObjArray(fNumberOfConfigs);
  Ar_h1_Cluster_1stCrownDigitalCharge             = new TObjArray(fNumberOfConfigs);
  Ar_h1_Cluster_2ndCrownDigitalCharge             = new TObjArray(fNumberOfConfigs);
  Ar_h1_Cluster_4NeighboursDigitalCharge          = new TObjArray(fNumberOfConfigs);
  Ar_h1_Cluster_SeedOverTotalDigitalCharge        = new TObjArray(fNumberOfConfigs);
  Ar_h1_Cluster_1stCrownOverTotalDigitalCharge    = new TObjArray(fNumberOfConfigs);
  Ar_h1_Cluster_2ndCrownOverTotalDigitalCharge    = new TObjArray(fNumberOfConfigs);
  Ar_h1_Cluster_4NeighboursOverTotalDigitalCharge = new TObjArray(fNumberOfConfigs);

  Ar_h1_test = new TObjArray(fNumberOfConfigs);

  //-----------particle
  Ar_h1_Particle_TotalAnalogCharge     = new TObjArray(fNumberOfConfigs);
  Ar_h1_Particle_TotalDigitalCharge    = new TObjArray(fNumberOfConfigs);
  Ar_h1_Particle_Energy_deposited      = new TObjArray(fNumberOfConfigs);
  Ar_h2_Particle_EnergyDeposited_vs_TotalAnalogCharge     = new TObjArray(fNumberOfConfigs);
  Ar_h2_Particle_TotalDigitalCharge_vs_TotalAnalogCharge  = new TObjArray(fNumberOfConfigs);

  //-----------Resolution
  Ar_h1_Resolution_ResidualX_CoG_true = new TObjArray(fNumberOfConfigs);
  Ar_h1_Resolution_ResidualY_CoG_true = new TObjArray(fNumberOfConfigs);
  Ar_h1_Resolution_Residualdist_CoG_true = new TObjArray(fNumberOfConfigs);
  Ar_h2_Resolution_TruePosition = new TObjArray(fNumberOfConfigs);
  Ar_h2_Resolution_TruePosition_modulo = new TObjArray(fNumberOfConfigs);
  Ar_h2_Resolution_CoG = new TObjArray(fNumberOfConfigs);
  Ar_h2_Resolution_CoG_modulo = new TObjArray(fNumberOfConfigs);


  Ar_h1_Charge_Q_over_Qtot_vs_distance = new TObjArray(fNumberOfConfigs);
  Ar_h2_Charge_Q_over_Qtot_vs_distance = new TObjArray(fNumberOfConfigs);







  TH1F *h1temp = 0;
  TH2F *h2temp = 0;
  Char_t titre[150] ;
  // sprintf(titre," Charge in %d pixels",i+1); 
  Int_t Nbin_mult = 50;

  for (Int_t i = 0; i < fNumberOfConfigs ; i++){  

    //-----------multiplicity
    sprintf(titre,"multiplicity_with_threshold_01_conf%d",i);
    h1temp= new TH1F(titre,titre,Nbin_mult,0,Nbin_mult);
    Ar_h1_multiplicity_with_threshold_01->Add(h1temp);
    sprintf(titre,"multiplicity_with_threshold_02_conf%d",i);
    h1temp= new TH1F(titre,titre,Nbin_mult,0,Nbin_mult);
    Ar_h1_multiplicity_with_threshold_02->Add(h1temp);
    sprintf(titre,"multiplicity_with_threshold_03_conf%d",i);
    h1temp= new TH1F(titre,titre,Nbin_mult,0,Nbin_mult);
    Ar_h1_multiplicity_with_threshold_03->Add(h1temp);
    sprintf(titre,"multiplicity_with_threshold_04_conf%d",i);
    h1temp= new TH1F(titre,titre,Nbin_mult,0,Nbin_mult);
    Ar_h1_multiplicity_with_threshold_04->Add(h1temp);
    sprintf(titre,"multiplicity_with_threshold_05_conf%d",i);
    h1temp= new TH1F(titre,titre,Nbin_mult,0,Nbin_mult);
    Ar_h1_multiplicity_with_threshold_05->Add(h1temp);
    sprintf(titre,"multiplicity_with_threshold_06_conf%d",i);
    h1temp= new TH1F(titre,titre,Nbin_mult,0,Nbin_mult);
    Ar_h1_multiplicity_with_threshold_06->Add(h1temp);
    sprintf(titre,"multiplicity_with_threshold_07_conf%d",i);
    h1temp= new TH1F(titre,titre,Nbin_mult,0,Nbin_mult);
    Ar_h1_multiplicity_with_threshold_07->Add(h1temp);
    sprintf(titre,"multiplicity_with_threshold_08_conf%d",i);
    h1temp= new TH1F(titre,titre,Nbin_mult,0,Nbin_mult);
    Ar_h1_multiplicity_with_threshold_08->Add(h1temp);
    sprintf(titre,"multiplicity_with_threshold_09_conf%d",i);
    h1temp= new TH1F(titre,titre,Nbin_mult,0,Nbin_mult);
    Ar_h1_multiplicity_with_threshold_09->Add(h1temp);
    sprintf(titre,"multiplicity_with_threshold_10_conf%d",i);
    h1temp= new TH1F(titre,titre,Nbin_mult,0,Nbin_mult);
    Ar_h1_multiplicity_with_threshold_10->Add(h1temp);

    //-----------cluster
    sprintf(titre,"Cluster_SeedDigitalCharge_conf%d",i);
    h1temp= new TH1F(titre,titre,1000,0,2000);
    Ar_h1_Cluster_SeedDigitalCharge->Add(h1temp);
    sprintf(titre,"Cluster_TotalDigitalCharge_conf%d",i);
    h1temp= new TH1F(titre,titre,1000,0,2000);
    Ar_h1_Cluster_TotalDigitalCharge->Add(h1temp);
    sprintf(titre,"Ar_h1_Cluster_9x9DigitalCharge_conf%d",i);                  
    h1temp= new TH1F(titre,titre,1000,0,2000);
    Ar_h1_Cluster_9x9DigitalCharge->Add(h1temp);
    sprintf(titre,"Ar_h1_Cluster_1stCrownDigitalCharge_conf%d",i);            
    h1temp= new TH1F(titre,titre,1000,0,2000);
    Ar_h1_Cluster_1stCrownDigitalCharge->Add(h1temp);
    sprintf(titre," Ar_h1_Cluster_2ndCrownDigitalCharge_conf%d",i);             
    h1temp= new TH1F(titre,titre,1000,0,2000);
    Ar_h1_Cluster_2ndCrownDigitalCharge->Add(h1temp);
    sprintf(titre,"Ar_h1_Cluster_4NeighboursDigitalCharge_conf%d",i);          
    h1temp= new TH1F(titre,titre,1000,0,2000);
    Ar_h1_Cluster_4NeighboursDigitalCharge->Add(h1temp);
    sprintf(titre," Ar_h1_Cluster_SeedOverTotalDigitalCharge_conf%d",i);        
    h1temp= new TH1F(titre,titre,110,0.0,1.1);
    Ar_h1_Cluster_SeedOverTotalDigitalCharge->Add(h1temp);
    sprintf(titre,"Ar_h1_Cluster_1stCrownOverTotalDigitalCharge_conf%d",i);    
    h1temp= new TH1F(titre,titre,110,0.0,1.1);
    Ar_h1_Cluster_1stCrownOverTotalDigitalCharge->Add(h1temp);
    sprintf(titre," Ar_h1_Cluster_2ndCrownOverTotalDigitalCharge_conf%d",i);    
    h1temp= new TH1F(titre,titre,110,0.0,1.1);
    Ar_h1_Cluster_2ndCrownOverTotalDigitalCharge->Add(h1temp);
    sprintf(titre,"Ar_h1_Cluster_4NeighboursOverTotalDigitalCharge_conf%d",i); 
    h1temp= new TH1F(titre,titre,110,0.0,1.1);
    Ar_h1_Cluster_4NeighboursOverTotalDigitalCharge->Add(h1temp);
    sprintf(titre,"Ar_h1_test%d",i); 
    h1temp= new TH1F(titre,titre,1000,0,2000);
    Ar_h1_test->Add(h1temp);
 
    //-----------particle
    sprintf(titre,"Particle_TotalAnalogCharge_conf%d",i);
    h1temp= new TH1F(titre,titre,600,0,6000);
    Ar_h1_Particle_TotalAnalogCharge->Add(h1temp);
    sprintf(titre,"Particle_TotalDigitalCharge_conf%d",i);
    h1temp= new TH1F(titre,titre,1000,0,2000);
    Ar_h1_Particle_TotalDigitalCharge->Add(h1temp);
    sprintf(titre,"Particle_Energy_deposited_conf%d",i);
    h1temp= new TH1F(titre,titre,600,0,6000);
    Ar_h1_Particle_Energy_deposited->Add(h1temp);

    sprintf(titre,"Particle_EnergyDeposited_vs_TotalAnalogCharge_conf%d",i);
    h2temp= new TH2F(titre,titre,150,0,3000,150,0,3000);
    Ar_h2_Particle_EnergyDeposited_vs_TotalAnalogCharge->Add(h2temp);
    sprintf(titre,"Particle_TotalDigitalCharge_vs_TotalAnalogCharge_conf%d",i);
    h2temp= new TH2F(titre,titre,300,0,3000,500,0,1000);
    Ar_h2_Particle_TotalDigitalCharge_vs_TotalAnalogCharge->Add(h2temp);

   //-----------Resolution
    sprintf(titre,"Ar_h1_Resolution_ResidualX_CoG_true_conf%d",i);
    h1temp= new TH1F(titre,titre,400,-40,40);
    Ar_h1_Resolution_ResidualX_CoG_true->Add(h1temp);
    sprintf(titre,"Ar_h1_Resolution_ResidualY_CoG_true_conf%d",i);
    h1temp= new TH1F(titre,titre,400,-40,40);
    Ar_h1_Resolution_ResidualY_CoG_true->Add(h1temp);
    sprintf(titre,"Ar_h1_Resolution_Residualdist_CoG_true_conf%d",i);
    h1temp= new TH1F(titre,titre,400,0,80);
    Ar_h1_Resolution_Residualdist_CoG_true->Add(h1temp);
    sprintf(titre,"Ar_h2_Resolution_TruePosition_conf%d",i);
    h2temp= new TH2F(titre,titre,400,0,2000,400,0,2000);
    Ar_h2_Resolution_TruePosition->Add(h2temp);
    sprintf(titre,"Ar_h2_Resolution_TruePosition_modulo_conf%d",i);
    h2temp= new TH2F(titre,titre,200,0,200,200,0,200);
    Ar_h2_Resolution_TruePosition_modulo->Add(h2temp);
    sprintf(titre,"Ar_h2_Resolution_CoG_conf%d",i);
    h2temp= new TH2F(titre,titre,400,0,2000,400,0,2000);
    Ar_h2_Resolution_CoG->Add(h2temp);
    sprintf(titre,"Ar_h2_Resolution_CoG_modulo_conf%d",i);
    h2temp= new TH2F(titre,titre,200,0,200,200,0,200);
    Ar_h2_Resolution_CoG_modulo->Add(h2temp);

    sprintf(titre,"Ar_h1_Charge_Q_over_Qtot_vs_distance%d",i);
    h1temp= new TH1F(titre,titre,400,0,200);
    Ar_h1_Charge_Q_over_Qtot_vs_distance->Add(h1temp);
    sprintf(titre,"Ar_h2_Charge_Q_over_Qtot_vs_distance%d",i);
    h2temp= new TH2F(titre,titre,400,0,200,110,0.0,1.1);
    Ar_h2_Resolution_CoG_modulo->Add(h2temp);


  }


  sprintf(titre,"NumberOfEventsPerConfiguration");
  h1_NumberOfEventsPerConfiguration= new TH1F(titre,titre,100,0,100000);
  sprintf(titre,"NumberOfConfigurations");
  h1_NumberOfConfigurations= new TH1F(titre,titre,10000,0,10000);;

    




}

//______________________________________________________________________________
//  
void DIGHistograms::PlotHistograms(Int_t myNumberOfConfigurations){
  cout<<" number of configurations "<<myNumberOfConfigurations<<endl;

}
//______________________________________________________________________________
//
TH1F* DIGHistograms::AutoZoom(TH1F* H,Option_t* aType, Int_t EntryMin/*=0*/)
{
  Int_t shift = (Int_t)(H->GetNbinsX()/50.);
  
  TString opt = aType;
  opt.ToLower();
  
  int min =0;
  int max = H->GetNbinsX();
  int New_min = min;
  int New_max = max;

  if (opt.Contains("all")) opt = TString("min,max");
  if (opt.Contains("sym")) opt = TString("min,sym");
  
  if (opt.Contains("min"))
    {
      for  (New_min=min; New_min<=max;New_min++)   
	{Stat_t c = H->GetBinContent(New_min);  if (c>EntryMin) break;}
    }
 
  else if (opt.Contains("max"))
    {
      for (New_max=max;New_max>=min;New_max--) 
	{Stat_t c = H->GetBinContent(New_max);  if (c>EntryMin) break;}
    }

  else if (opt.Contains("calib"))
    {
      Stat_t t = 0;
      for (New_max=max;New_max>=min;New_max--)
        {Stat_t c = H->GetBinContent(New_max);  if (c>EntryMin) break;}
      
      Stat_t  EntryMax=H->GetEntries()-H->GetEntries()/100;
      
      for  (New_min=min; New_min<=max;New_min++)
        {t+=H->GetBinContent(New_min); if (t>EntryMax) break;}
    }
  
  if (opt.Contains("sym"))New_max = H->FindBin(-1*H->GetXaxis()->GetBinCenter(New_min));
  
  H->GetXaxis()->SetRange(New_min - shift  , New_max + shift);  
  return H;
}


//_______________________________________________________________________________________
//
TH2F* DIGHistograms::AutoZoom(TH2F* H,Option_t* aType/*="all"*/, Int_t EntryMin/*=0*/)
{

  Int_t shiftX = (Int_t)(H->GetNbinsX()/30.);
  Int_t shiftY = (Int_t)(H->GetNbinsY()/30.); 
  
  TString opt = aType;
  opt.ToLower();
 
  int minX =0;
  int maxX = H->GetNbinsX();
  int New_minX = minX;
  int New_maxX = maxX;
  
  int minY =0;
  int maxY = H->GetNbinsY();
  int New_minY = minY;
  int New_maxY = maxY;
  
  if (opt.Contains("all")) opt = TString("minx,maxx,miny,maxy");
  
  if (opt.Contains("maxx"))
    {
      for  (New_maxX = maxX;New_maxX >=minX; New_maxX--)
	{  Stat_t c = 0;
	for  (int i_y = maxY; i_y >= minY;i_y--)
	  { c = H->GetBinContent(New_maxX,i_y);  if (c>EntryMin) break;}
	if (c>EntryMin) break;
	}
    }
  
  if (opt.Contains("maxy"))
    {
      
      for  (New_maxY = maxY;New_maxY >=minY;New_maxY--) 
	{  Stat_t c = 0;
	for  (int i_x=maxX; i_x>=minX;i_x--)   
	  { c = H->GetBinContent(i_x, New_maxY );  if (c>EntryMin) break;}
	if (c>EntryMin) break;
	}
 
    }
  
  if (opt.Contains("minx"))
    {
     
      for  (New_minX = minX;New_minX <=maxX; New_minX++)
	{  Stat_t c = 0;
	for  (int i_y = minY; i_y <= maxY;i_y++)
	  { c = H->GetBinContent(New_minX,i_y);  if (c>EntryMin) break;}
	if (c>EntryMin) break;
	}
    }
  
  

if (opt.Contains("miny"))
    {
      for  (New_minY = minY;New_minY <=maxY;New_minY++) 
	{  Stat_t c = 0;
	for  (int i_x=minX; i_x<=maxX;i_x++)   
	  { c = H->GetBinContent(i_x, New_minY );  if (c>EntryMin) break;}
	if (c>EntryMin) break;
	}      
    }
  

  H->GetXaxis()->SetRange(New_minX - shiftX  , New_maxX + shiftX);  
  H->GetYaxis()->SetRange(New_minY - shiftY  , New_maxY + shiftY);  
   
  return H;
}
//______________________________________________________________________________
//  
//______________________________________________________________________________
//  
 dighistograms.cxx:1
 dighistograms.cxx:2
 dighistograms.cxx:3
 dighistograms.cxx:4
 dighistograms.cxx:5
 dighistograms.cxx:6
 dighistograms.cxx:7
 dighistograms.cxx:8
 dighistograms.cxx:9
 dighistograms.cxx:10
 dighistograms.cxx:11
 dighistograms.cxx:12
 dighistograms.cxx:13
 dighistograms.cxx:14
 dighistograms.cxx:15
 dighistograms.cxx:16
 dighistograms.cxx:17
 dighistograms.cxx:18
 dighistograms.cxx:19
 dighistograms.cxx:20
 dighistograms.cxx:21
 dighistograms.cxx:22
 dighistograms.cxx:23
 dighistograms.cxx:24
 dighistograms.cxx:25
 dighistograms.cxx:26
 dighistograms.cxx:27
 dighistograms.cxx:28
 dighistograms.cxx:29
 dighistograms.cxx:30
 dighistograms.cxx:31
 dighistograms.cxx:32
 dighistograms.cxx:33
 dighistograms.cxx:34
 dighistograms.cxx:35
 dighistograms.cxx:36
 dighistograms.cxx:37
 dighistograms.cxx:38
 dighistograms.cxx:39
 dighistograms.cxx:40
 dighistograms.cxx:41
 dighistograms.cxx:42
 dighistograms.cxx:43
 dighistograms.cxx:44
 dighistograms.cxx:45
 dighistograms.cxx:46
 dighistograms.cxx:47
 dighistograms.cxx:48
 dighistograms.cxx:49
 dighistograms.cxx:50
 dighistograms.cxx:51
 dighistograms.cxx:52
 dighistograms.cxx:53
 dighistograms.cxx:54
 dighistograms.cxx:55
 dighistograms.cxx:56
 dighistograms.cxx:57
 dighistograms.cxx:58
 dighistograms.cxx:59
 dighistograms.cxx:60
 dighistograms.cxx:61
 dighistograms.cxx:62
 dighistograms.cxx:63
 dighistograms.cxx:64
 dighistograms.cxx:65
 dighistograms.cxx:66
 dighistograms.cxx:67
 dighistograms.cxx:68
 dighistograms.cxx:69
 dighistograms.cxx:70
 dighistograms.cxx:71
 dighistograms.cxx:72
 dighistograms.cxx:73
 dighistograms.cxx:74
 dighistograms.cxx:75
 dighistograms.cxx:76
 dighistograms.cxx:77
 dighistograms.cxx:78
 dighistograms.cxx:79
 dighistograms.cxx:80
 dighistograms.cxx:81
 dighistograms.cxx:82
 dighistograms.cxx:83
 dighistograms.cxx:84
 dighistograms.cxx:85
 dighistograms.cxx:86
 dighistograms.cxx:87
 dighistograms.cxx:88
 dighistograms.cxx:89
 dighistograms.cxx:90
 dighistograms.cxx:91
 dighistograms.cxx:92
 dighistograms.cxx:93
 dighistograms.cxx:94
 dighistograms.cxx:95
 dighistograms.cxx:96
 dighistograms.cxx:97
 dighistograms.cxx:98
 dighistograms.cxx:99
 dighistograms.cxx:100
 dighistograms.cxx:101
 dighistograms.cxx:102
 dighistograms.cxx:103
 dighistograms.cxx:104
 dighistograms.cxx:105
 dighistograms.cxx:106
 dighistograms.cxx:107
 dighistograms.cxx:108
 dighistograms.cxx:109
 dighistograms.cxx:110
 dighistograms.cxx:111
 dighistograms.cxx:112
 dighistograms.cxx:113
 dighistograms.cxx:114
 dighistograms.cxx:115
 dighistograms.cxx:116
 dighistograms.cxx:117
 dighistograms.cxx:118
 dighistograms.cxx:119
 dighistograms.cxx:120
 dighistograms.cxx:121
 dighistograms.cxx:122
 dighistograms.cxx:123
 dighistograms.cxx:124
 dighistograms.cxx:125
 dighistograms.cxx:126
 dighistograms.cxx:127
 dighistograms.cxx:128
 dighistograms.cxx:129
 dighistograms.cxx:130
 dighistograms.cxx:131
 dighistograms.cxx:132
 dighistograms.cxx:133
 dighistograms.cxx:134
 dighistograms.cxx:135
 dighistograms.cxx:136
 dighistograms.cxx:137
 dighistograms.cxx:138
 dighistograms.cxx:139
 dighistograms.cxx:140
 dighistograms.cxx:141
 dighistograms.cxx:142
 dighistograms.cxx:143
 dighistograms.cxx:144
 dighistograms.cxx:145
 dighistograms.cxx:146
 dighistograms.cxx:147
 dighistograms.cxx:148
 dighistograms.cxx:149
 dighistograms.cxx:150
 dighistograms.cxx:151
 dighistograms.cxx:152
 dighistograms.cxx:153
 dighistograms.cxx:154
 dighistograms.cxx:155
 dighistograms.cxx:156
 dighistograms.cxx:157
 dighistograms.cxx:158
 dighistograms.cxx:159
 dighistograms.cxx:160
 dighistograms.cxx:161
 dighistograms.cxx:162
 dighistograms.cxx:163
 dighistograms.cxx:164
 dighistograms.cxx:165
 dighistograms.cxx:166
 dighistograms.cxx:167
 dighistograms.cxx:168
 dighistograms.cxx:169
 dighistograms.cxx:170
 dighistograms.cxx:171
 dighistograms.cxx:172
 dighistograms.cxx:173
 dighistograms.cxx:174
 dighistograms.cxx:175
 dighistograms.cxx:176
 dighistograms.cxx:177
 dighistograms.cxx:178
 dighistograms.cxx:179
 dighistograms.cxx:180
 dighistograms.cxx:181
 dighistograms.cxx:182
 dighistograms.cxx:183
 dighistograms.cxx:184
 dighistograms.cxx:185
 dighistograms.cxx:186
 dighistograms.cxx:187
 dighistograms.cxx:188
 dighistograms.cxx:189
 dighistograms.cxx:190
 dighistograms.cxx:191
 dighistograms.cxx:192
 dighistograms.cxx:193
 dighistograms.cxx:194
 dighistograms.cxx:195
 dighistograms.cxx:196
 dighistograms.cxx:197
 dighistograms.cxx:198
 dighistograms.cxx:199
 dighistograms.cxx:200
 dighistograms.cxx:201
 dighistograms.cxx:202
 dighistograms.cxx:203
 dighistograms.cxx:204
 dighistograms.cxx:205
 dighistograms.cxx:206
 dighistograms.cxx:207
 dighistograms.cxx:208
 dighistograms.cxx:209
 dighistograms.cxx:210
 dighistograms.cxx:211
 dighistograms.cxx:212
 dighistograms.cxx:213
 dighistograms.cxx:214
 dighistograms.cxx:215
 dighistograms.cxx:216
 dighistograms.cxx:217
 dighistograms.cxx:218
 dighistograms.cxx:219
 dighistograms.cxx:220
 dighistograms.cxx:221
 dighistograms.cxx:222
 dighistograms.cxx:223
 dighistograms.cxx:224
 dighistograms.cxx:225
 dighistograms.cxx:226
 dighistograms.cxx:227
 dighistograms.cxx:228
 dighistograms.cxx:229
 dighistograms.cxx:230
 dighistograms.cxx:231
 dighistograms.cxx:232
 dighistograms.cxx:233
 dighistograms.cxx:234
 dighistograms.cxx:235
 dighistograms.cxx:236
 dighistograms.cxx:237
 dighistograms.cxx:238
 dighistograms.cxx:239
 dighistograms.cxx:240
 dighistograms.cxx:241
 dighistograms.cxx:242
 dighistograms.cxx:243
 dighistograms.cxx:244
 dighistograms.cxx:245
 dighistograms.cxx:246
 dighistograms.cxx:247
 dighistograms.cxx:248
 dighistograms.cxx:249
 dighistograms.cxx:250
 dighistograms.cxx:251
 dighistograms.cxx:252
 dighistograms.cxx:253
 dighistograms.cxx:254
 dighistograms.cxx:255
 dighistograms.cxx:256
 dighistograms.cxx:257
 dighistograms.cxx:258
 dighistograms.cxx:259
 dighistograms.cxx:260
 dighistograms.cxx:261
 dighistograms.cxx:262
 dighistograms.cxx:263
 dighistograms.cxx:264
 dighistograms.cxx:265
 dighistograms.cxx:266
 dighistograms.cxx:267
 dighistograms.cxx:268
 dighistograms.cxx:269
 dighistograms.cxx:270
 dighistograms.cxx:271
 dighistograms.cxx:272
 dighistograms.cxx:273
 dighistograms.cxx:274
 dighistograms.cxx:275
 dighistograms.cxx:276
 dighistograms.cxx:277
 dighistograms.cxx:278
 dighistograms.cxx:279
 dighistograms.cxx:280
 dighistograms.cxx:281
 dighistograms.cxx:282
 dighistograms.cxx:283
 dighistograms.cxx:284
 dighistograms.cxx:285
 dighistograms.cxx:286
 dighistograms.cxx:287
 dighistograms.cxx:288
 dighistograms.cxx:289
 dighistograms.cxx:290
 dighistograms.cxx:291
 dighistograms.cxx:292
 dighistograms.cxx:293
 dighistograms.cxx:294
 dighistograms.cxx:295
 dighistograms.cxx:296
 dighistograms.cxx:297
 dighistograms.cxx:298
 dighistograms.cxx:299
 dighistograms.cxx:300
 dighistograms.cxx:301
 dighistograms.cxx:302
 dighistograms.cxx:303
 dighistograms.cxx:304
 dighistograms.cxx:305
 dighistograms.cxx:306
 dighistograms.cxx:307
 dighistograms.cxx:308
 dighistograms.cxx:309
 dighistograms.cxx:310
 dighistograms.cxx:311
 dighistograms.cxx:312
 dighistograms.cxx:313
 dighistograms.cxx:314
 dighistograms.cxx:315
 dighistograms.cxx:316
 dighistograms.cxx:317
 dighistograms.cxx:318
 dighistograms.cxx:319
 dighistograms.cxx:320
 dighistograms.cxx:321
 dighistograms.cxx:322
 dighistograms.cxx:323
 dighistograms.cxx:324
 dighistograms.cxx:325
 dighistograms.cxx:326
 dighistograms.cxx:327
 dighistograms.cxx:328
 dighistograms.cxx:329
 dighistograms.cxx:330
 dighistograms.cxx:331
 dighistograms.cxx:332
 dighistograms.cxx:333
 dighistograms.cxx:334
 dighistograms.cxx:335
 dighistograms.cxx:336
 dighistograms.cxx:337
 dighistograms.cxx:338
 dighistograms.cxx:339
 dighistograms.cxx:340
 dighistograms.cxx:341
 dighistograms.cxx:342
 dighistograms.cxx:343
 dighistograms.cxx:344
 dighistograms.cxx:345
 dighistograms.cxx:346
 dighistograms.cxx:347
 dighistograms.cxx:348
 dighistograms.cxx:349
 dighistograms.cxx:350
 dighistograms.cxx:351
 dighistograms.cxx:352
 dighistograms.cxx:353
 dighistograms.cxx:354
 dighistograms.cxx:355
 dighistograms.cxx:356
 dighistograms.cxx:357
 dighistograms.cxx:358
 dighistograms.cxx:359
 dighistograms.cxx:360
 dighistograms.cxx:361
 dighistograms.cxx:362
 dighistograms.cxx:363
 dighistograms.cxx:364
 dighistograms.cxx:365
 dighistograms.cxx:366
 dighistograms.cxx:367
 dighistograms.cxx:368
 dighistograms.cxx:369
 dighistograms.cxx:370
 dighistograms.cxx:371
 dighistograms.cxx:372
 dighistograms.cxx:373
 dighistograms.cxx:374
 dighistograms.cxx:375
 dighistograms.cxx:376
 dighistograms.cxx:377
 dighistograms.cxx:378
 dighistograms.cxx:379
 dighistograms.cxx:380
 dighistograms.cxx:381
 dighistograms.cxx:382
 dighistograms.cxx:383
 dighistograms.cxx:384
 dighistograms.cxx:385
 dighistograms.cxx:386
 dighistograms.cxx:387
 dighistograms.cxx:388
 dighistograms.cxx:389
 dighistograms.cxx:390
 dighistograms.cxx:391
 dighistograms.cxx:392
 dighistograms.cxx:393
 dighistograms.cxx:394
 dighistograms.cxx:395
 dighistograms.cxx:396
 dighistograms.cxx:397
 dighistograms.cxx:398
 dighistograms.cxx:399
 dighistograms.cxx:400
 dighistograms.cxx:401
 dighistograms.cxx:402
 dighistograms.cxx:403
 dighistograms.cxx:404
 dighistograms.cxx:405
 dighistograms.cxx:406
 dighistograms.cxx:407
 dighistograms.cxx:408
 dighistograms.cxx:409