ROOT logo
#include <TFile.h>
#include <TH1.h>
#include <TMath.h>
#include <TGraphErrors.h>

#include "my_tools.C"

#include <iostream>

using namespace std;

/*
  Info:

  Method to convert charged pT histograms to have the same histogram binning
  as our histograms have.  They in general go to 100 GeV/c in pT while we only
  go to 50. In that range the binning is EXACTLY the same (and the code checks
  it).

  In charged spectra there is NO NORMALIZATION uncertainty. We add it by hand
  to the syst error.

  * Need at some point to get the final spectra
  * Need at some point to get the final normalization uncertainty

  
  To run:
  
  gSystem->AddIncludePath("-I../macros")
  gSystem->AddIncludePath("-I../lib")
  gROOT->SetMacroPath(".:../macros")
  .L my_tools.C+
  .L convertToMyBins.C+


  ConvertPPfile("charged_spectra/dNdPt_pp_7TeV.root",    "NOPID_pp_7TeV.root", 0.034);
  ConvertPPfile("charged_spectra/dNdPt_pp_2.76TeV.root", "NOPID_pp_2.76TeV.root", 0.034);
  ConvertPPfile("charged_spectra/dNdPt_pp_900GeV.root",  "NOPID_pp_900GeV.root", 0.034);




  Older methods that can be useful for AA:
  The method convertToMyBinsAA is for pp and AA spectra.
  The method convertToMyBinsRaa is for RAA.
  The method convertToMyBinsOld is for AA data when the centralities had to be merged.

 */



TH1D* Convert(TH1D* histIn, Double_t addSyst=0);
TH1D* ConvertGraph(TGraphErrors* graphIn);
void convertToMyBinsAA();
void convertToMyBinsRaa(const Char_t* fileName = "PbPb_RAA_2760GeV_200511.root");
void convertToMyBinsOld(const Char_t* fileName = "dndpt_all_2011-05-15.root");


void  ConvertPPfile(const Char_t* inFileName, const Char_t* outFileName, Double_t normSyst=0.0)
{
  TFile* fileDataCharged = FindFileFresh(inFileName);
  
  if(!fileDataCharged)
    return;
  
  TH1D* hPtHelp = (TH1D*)fileDataCharged->Get("dNdPt_stat");
  TH1D* hPtCharged = Convert(hPtHelp);
  hPtCharged->SetName("hDnDptCharged_PP");
  hPtCharged->SetMarkerStyle(29);

  hPtHelp = (TH1D*)fileDataCharged->Get("dNdPt_syst");
  TH1D* hPtChargedSyst = Convert(hPtHelp, normSyst);
  hPtChargedSyst->SetName("hDnDptChargedSyst_PP");
  hPtChargedSyst->SetMarkerStyle(29);

  TFile* fileOut = new TFile(outFileName, "RECREATE");
  hPtCharged->Write();
  hPtChargedSyst->Write();
  fileOut->Close();  
}

//________________________________________________________________________________________
TH1D* Convert(TH1D* histIn, Double_t addSyst)
{
  const Int_t nPtBins = 68;
  Double_t xBins[nPtBins+1] = {0. ,  0.05, 0.1,  0.15, 0.2,  0.25, 0.3,  0.35, 0.4,  0.45,
			       0.5,  0.55, 0.6,  0.65, 0.7,  0.75, 0.8,  0.85, 0.9,  0.95,
			       1.0,  1.1 , 1.2,  1.3 , 1.4,  1.5 , 1.6,  1.7 , 1.8,  1.9 ,
			       2.0,  2.2 , 2.4,  2.6 , 2.8,  3.0 , 3.2,  3.4 , 3.6,  3.8 ,
			       4.0,  4.5 , 5.0,  5.5 , 6.0,  6.5 , 7.0,  8.0 , 9.0,  10.0,
			       11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 18.0, 20.0, 22.0, 24.0,
			       26.0, 28.0, 30.0, 32.0, 34.0, 36.0, 40.0, 45.0, 50.0 };
  

  TH1D* hist = new TH1D("hist", "", nPtBins, xBins);
  hist->SetTitle(histIn->GetTitle());
  hist->GetXaxis()->SetTitle(histIn->GetXaxis()->GetTitle());
  hist->GetYaxis()->SetTitle(histIn->GetYaxis()->GetTitle());

  const Double_t deltapt = 0.0001;

  for(Int_t bin = 1; bin <= nPtBins; bin++) {

    // check bin size
    if(TMath::Abs(hist->GetXaxis()->GetBinLowEdge(bin) -
		  histIn->GetXaxis()->GetBinLowEdge(bin)) > deltapt) {
      cout << "pt edge low does not agree!!!!!!!!!!!!!!!" << endl;
      return 0;
    }
    if(TMath::Abs(hist->GetXaxis()->GetBinUpEdge(bin) -
		  histIn->GetXaxis()->GetBinUpEdge(bin)) > deltapt) {
      cout << "pt edge high does not agree!!!!!!!!!!!!!!!" << endl;
      return 0;
    }
    if(TMath::Abs(hist->GetXaxis()->GetBinCenter(bin) -
		  histIn->GetXaxis()->GetBinCenter(bin)) > deltapt) {
      cout << "pt center does not agree!!!!!!!!!!!!!!!" << endl;
      return 0;
    }


    hist->SetBinContent(bin, histIn->GetBinContent(bin)); 

    Double_t error = histIn->GetBinError(bin); 
    if(addSyst) {

      Double_t extra_error = addSyst*histIn->GetBinContent(bin);
      error = TMath::Sqrt(error*error + extra_error*extra_error);
    }
    hist->SetBinError(bin, error);
  }

  return hist;
}

//________________________________________________________________________________________
TH1D* ConvertGraph(TGraphErrors* graphIn)
{
  const Int_t nPtBins = 68;
  Double_t xBins[nPtBins+1] = {0. ,  0.05, 0.1,  0.15, 0.2,  0.25, 0.3,  0.35, 0.4,  0.45,
			       0.5,  0.55, 0.6,  0.65, 0.7,  0.75, 0.8,  0.85, 0.9,  0.95,
			       1.0,  1.1 , 1.2,  1.3 , 1.4,  1.5 , 1.6,  1.7 , 1.8,  1.9 ,
			       2.0,  2.2 , 2.4,  2.6 , 2.8,  3.0 , 3.2,  3.4 , 3.6,  3.8 ,
			       4.0,  4.5 , 5.0,  5.5 , 6.0,  6.5 , 7.0,  8.0 , 9.0,  10.0,
			       11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 18.0, 20.0, 22.0, 24.0,
			       26.0, 28.0, 30.0, 32.0, 34.0, 36.0, 40.0, 45.0, 50.0 };
  

  TH1D* hist = new TH1D("hist", "", nPtBins, xBins);
  // hist->SetTitle(graphIn->GetTitle());
  // hist->GetXaxis()->SetTitle(graphIn->GetXaxis()->GetTitle());
  // hist->GetYaxis()->SetTitle(graphIn->GetYaxis()->GetTitle());

  const Double_t deltapt = 0.0001;

  // Jacek does not fill the first 3 bins of his graph?
  for(Int_t bin = 4; bin <= nPtBins; bin++) {

    // check bin size
    if(TMath::Abs(hist->GetXaxis()->GetBinCenter(bin) -
		  graphIn->GetX()[bin-1]) > deltapt) {
      cout << "pt center does not agree!!!!!!!!!!!!!!!" << endl;
      return 0;
    }


    hist->SetBinContent(bin, graphIn->GetY()[bin-1]); 
    hist->SetBinError(bin, graphIn->GetEY()[bin-1]); 
  }

  return hist;
}

//________________________________________________________________________________________
void convertToMyBinsAA()
{
  const Int_t nCent = 7;
  const Int_t cent[nCent+1] = {-5, 0, 5, 10, 20, 40, 60, 80};
  const Int_t colors[nCent] = {kBlack, kRed+1, kOrange+7, kOrange, kGreen+2, kCyan+2, kBlue+1};  

  TH1D* hPtCharged[nCent] = {0, 0, 0, 0, 0, 0, 0};
  TH1D* hPtChargedSyst[nCent] = {0, 0, 0, 0, 0, 0, 0};

  for (Int_t i = 0; i < nCent; i++) {
    
    if(cent[i]==-5) {

      TFile* fileDataCharged = FindFileFresh("dNdPt_pp_2.76TeV.root");
      
      if(!fileDataCharged)
	return;
      
      TH1D* hPtHelp = (TH1D*)fileDataCharged->Get("dNdPt_stat");
      hPtCharged[i] = Convert(hPtHelp);
      hPtCharged[i]->SetName("hDnDptCharged_PP");
      hPtCharged[i]->SetMarkerColor(colors[i]);
      hPtCharged[i]->SetMarkerStyle(29);
      hPtHelp = (TH1D*)fileDataCharged->Get("dNdPt_syst");
      hPtChargedSyst[i] = Convert(hPtHelp, 0.034); // 3.4 % norm error
      /*
	Dear Peter,
	
	for 2.76TeV the systematic error for MB->INEL is 3.40%,, we decided to 
	drop the uncertainty from VdM scan since we don't really use it...
	
	Michael	
      */
      hPtChargedSyst[i]->SetName("hDnDptChargedSyst_PP");
      hPtChargedSyst[i]->SetMarkerColor(colors[i]);
      hPtChargedSyst[i]->SetMarkerStyle(29);
    } else {

      TFile* fileDataCharged = FindFileFresh(Form("dNdPt_PbPb_2.76ATeV_centrality_%d-%d.root", cent[i], cent[i+1]));
      
      if(!fileDataCharged)
	return;

      TH1D* hPtHelp = (TH1D*)fileDataCharged->Get("dNdPt_stat");
      hPtCharged[i] = Convert(hPtHelp);
      hPtCharged[i]->SetName(Form("hDnDptCharged_%d_%d", cent[i], cent[i+1]));
      hPtCharged[i]->SetMarkerColor(colors[i]);
      hPtCharged[i]->SetMarkerStyle(29);
      hPtHelp = (TH1D*)fileDataCharged->Get("dNdPt_syst");
      hPtChargedSyst[i] = Convert(hPtHelp);
      hPtChargedSyst[i]->SetName(Form("hDnDptChargedSyst_%d_%d", cent[i], cent[i+1]));
      hPtChargedSyst[i]->SetMarkerColor(colors[i]);
      hPtChargedSyst[i]->SetMarkerStyle(29);
    }
  }

  TFile* fileOut = new TFile("dNdPt_Charged.root", "RECREATE");
  for (Int_t i = 0; i < nCent; i++) {
    hPtCharged[i]->Write();
    hPtChargedSyst[i]->Write();
  }
  fileOut->Close();  
}

//________________________________________________________________________________________
void convertToMyBinsRaa(const Char_t* fileName)
{
  TFile* fileData = FindFileFresh(fileName);

  if(!fileData)
    return;
  
  TGraphErrors* hRaa_0_5 = (TGraphErrors*)fileData->Get("raa_c0_5_stat");
  TH1D* hRaaCharged_0_5 = ConvertGraph(hRaa_0_5);
  hRaaCharged_0_5->SetName("hRaaCharged_0_5");

  TGraphErrors* hRaa_5_10 = (TGraphErrors*)fileData->Get("raa_c5_10_stat");
  TH1D* hRaaCharged_5_10 = ConvertGraph(hRaa_5_10);
  hRaaCharged_5_10->SetName("hRaaCharged_5_10");

  TGraphErrors* hRaa_10_20 = (TGraphErrors*)fileData->Get("raa_c10_20_stat");
  TH1D* hRaaCharged_10_20 = ConvertGraph(hRaa_10_20);
  hRaaCharged_10_20->SetName("hRaaCharged_10_20");

  TGraphErrors* hRaa_20_40 = (TGraphErrors*)fileData->Get("raa_c20_40_stat");
  TH1D* hRaaCharged_20_40 = ConvertGraph(hRaa_20_40);
  hRaaCharged_20_40->SetName("hRaaCharged_20_40");

  TGraphErrors* hRaa_40_60 = (TGraphErrors*)fileData->Get("raa_c40_60_stat");
  TH1D* hRaaCharged_40_60 = ConvertGraph(hRaa_40_60);
  hRaaCharged_40_60->SetName("hRaaCharged_40_60");

  TGraphErrors* hRaa_60_80 = (TGraphErrors*)fileData->Get("raa_c60_80_stat");
  TH1D* hRaaCharged_60_80 = ConvertGraph(hRaa_60_80);
  hRaaCharged_60_80->SetName("hRaaCharged_60_80");

  TGraphErrors* hRaa_0_20 = (TGraphErrors*)fileData->Get("raa_c0_20_stat");
  TH1D* hRaaCharged_0_20 = ConvertGraph(hRaa_0_20);
  hRaaCharged_0_20->SetName("hRaaCharged_0_20");

  TGraphErrors* hRaa_40_80 = (TGraphErrors*)fileData->Get("raa_c40_80_stat");
  TH1D* hRaaCharged_40_80 = ConvertGraph(hRaa_40_80);
  hRaaCharged_40_80->SetName("hRaaCharged_40_80");


  TFile* fileOut = new TFile("Raa_Charged.root", "RECREATE");
  hRaaCharged_0_5->Write();
  hRaaCharged_5_10->Write();
  hRaaCharged_10_20->Write();
  hRaaCharged_20_40->Write();
  hRaaCharged_40_60->Write();
  hRaaCharged_60_80->Write();
  hRaaCharged_0_20->Write();
  hRaaCharged_40_80->Write();
  fileOut->Close();  
}

//________________________________________________________________________________________

void convertToMyBinsOld(const Char_t* fileName)
{
  TFile* fileData = FindFileFresh(fileName);

  if(!fileData)
    return;

  TH1D* hDnDPt_0_5 = (TH1D*)fileData->Get("dNdPt_PbPb_c0_5");
  TH1D* hDnDptCharged_0_5 = Convert(hDnDPt_0_5);
  hDnDptCharged_0_5->SetName("hDnDptCharged_0_5");

  TH1D* hDnDPt_5_10 = (TH1D*)fileData->Get("dNdPt_PbPb_c5_10");
  TH1D* hDnDptCharged_5_10 = Convert(hDnDPt_5_10);
  hDnDptCharged_5_10->SetName("hDnDptCharged_5_10");

  TH1D* hDnDPt_10_20 = (TH1D*)fileData->Get("dNdPt_PbPb_c10_20");
  TH1D* hDnDptCharged_10_20 = Convert(hDnDPt_10_20);
  hDnDptCharged_10_20->SetName("hDnDptCharged_10_20");

  TH1D* hDnDPt_20_40 = (TH1D*)fileData->Get("dNdPt_PbPb_c20_30");
  TH1D* hHelp =  (TH1D*)fileData->Get("dNdPt_PbPb_c30_40");
  hDnDPt_20_40->Add(hHelp);
  hDnDPt_20_40->Scale(1.0/2.0);
  TH1D* hDnDptCharged_20_40 = Convert(hDnDPt_20_40);
  hDnDptCharged_20_40->SetName("hDnDptCharged_20_40");

  TH1D* hDnDPt_40_60 = (TH1D*)fileData->Get("dNdPt_PbPb_c40_50");
  hHelp =  (TH1D*)fileData->Get("dNdPt_PbPb_c50_60");
  hDnDPt_40_60->Add(hHelp);
  hDnDPt_40_60->Scale(1.0/2.0);
  TH1D* hDnDptCharged_40_60 = Convert(hDnDPt_40_60);
  hDnDptCharged_40_60->SetName("hDnDptCharged_40_60");

  TH1D* hDnDPt_60_80 = (TH1D*)fileData->Get("dNdPt_PbPb_c60_70");
  hHelp =  (TH1D*)fileData->Get("dNdPt_PbPb_c70_80");
  hDnDPt_60_80->Add(hHelp);
  hDnDPt_60_80->Scale(1.0/2.0);
  TH1D* hDnDptCharged_60_80 = Convert(hDnDPt_60_80);
  hDnDptCharged_60_80->SetName("hDnDptCharged_60_80");


  TFile* fileOut = new TFile("dNdPt_Charged.root", "RECREATE");
  hDnDptCharged_0_5->Write();
  hDnDptCharged_5_10->Write();
  hDnDptCharged_10_20->Write();
  hDnDptCharged_20_40->Write();
  hDnDptCharged_40_60->Write();
  hDnDptCharged_60_80->Write();
  fileOut->Close();  
}
 convertToMyBins.C:1
 convertToMyBins.C:2
 convertToMyBins.C:3
 convertToMyBins.C:4
 convertToMyBins.C:5
 convertToMyBins.C:6
 convertToMyBins.C:7
 convertToMyBins.C:8
 convertToMyBins.C:9
 convertToMyBins.C:10
 convertToMyBins.C:11
 convertToMyBins.C:12
 convertToMyBins.C:13
 convertToMyBins.C:14
 convertToMyBins.C:15
 convertToMyBins.C:16
 convertToMyBins.C:17
 convertToMyBins.C:18
 convertToMyBins.C:19
 convertToMyBins.C:20
 convertToMyBins.C:21
 convertToMyBins.C:22
 convertToMyBins.C:23
 convertToMyBins.C:24
 convertToMyBins.C:25
 convertToMyBins.C:26
 convertToMyBins.C:27
 convertToMyBins.C:28
 convertToMyBins.C:29
 convertToMyBins.C:30
 convertToMyBins.C:31
 convertToMyBins.C:32
 convertToMyBins.C:33
 convertToMyBins.C:34
 convertToMyBins.C:35
 convertToMyBins.C:36
 convertToMyBins.C:37
 convertToMyBins.C:38
 convertToMyBins.C:39
 convertToMyBins.C:40
 convertToMyBins.C:41
 convertToMyBins.C:42
 convertToMyBins.C:43
 convertToMyBins.C:44
 convertToMyBins.C:45
 convertToMyBins.C:46
 convertToMyBins.C:47
 convertToMyBins.C:48
 convertToMyBins.C:49
 convertToMyBins.C:50
 convertToMyBins.C:51
 convertToMyBins.C:52
 convertToMyBins.C:53
 convertToMyBins.C:54
 convertToMyBins.C:55
 convertToMyBins.C:56
 convertToMyBins.C:57
 convertToMyBins.C:58
 convertToMyBins.C:59
 convertToMyBins.C:60
 convertToMyBins.C:61
 convertToMyBins.C:62
 convertToMyBins.C:63
 convertToMyBins.C:64
 convertToMyBins.C:65
 convertToMyBins.C:66
 convertToMyBins.C:67
 convertToMyBins.C:68
 convertToMyBins.C:69
 convertToMyBins.C:70
 convertToMyBins.C:71
 convertToMyBins.C:72
 convertToMyBins.C:73
 convertToMyBins.C:74
 convertToMyBins.C:75
 convertToMyBins.C:76
 convertToMyBins.C:77
 convertToMyBins.C:78
 convertToMyBins.C:79
 convertToMyBins.C:80
 convertToMyBins.C:81
 convertToMyBins.C:82
 convertToMyBins.C:83
 convertToMyBins.C:84
 convertToMyBins.C:85
 convertToMyBins.C:86
 convertToMyBins.C:87
 convertToMyBins.C:88
 convertToMyBins.C:89
 convertToMyBins.C:90
 convertToMyBins.C:91
 convertToMyBins.C:92
 convertToMyBins.C:93
 convertToMyBins.C:94
 convertToMyBins.C:95
 convertToMyBins.C:96
 convertToMyBins.C:97
 convertToMyBins.C:98
 convertToMyBins.C:99
 convertToMyBins.C:100
 convertToMyBins.C:101
 convertToMyBins.C:102
 convertToMyBins.C:103
 convertToMyBins.C:104
 convertToMyBins.C:105
 convertToMyBins.C:106
 convertToMyBins.C:107
 convertToMyBins.C:108
 convertToMyBins.C:109
 convertToMyBins.C:110
 convertToMyBins.C:111
 convertToMyBins.C:112
 convertToMyBins.C:113
 convertToMyBins.C:114
 convertToMyBins.C:115
 convertToMyBins.C:116
 convertToMyBins.C:117
 convertToMyBins.C:118
 convertToMyBins.C:119
 convertToMyBins.C:120
 convertToMyBins.C:121
 convertToMyBins.C:122
 convertToMyBins.C:123
 convertToMyBins.C:124
 convertToMyBins.C:125
 convertToMyBins.C:126
 convertToMyBins.C:127
 convertToMyBins.C:128
 convertToMyBins.C:129
 convertToMyBins.C:130
 convertToMyBins.C:131
 convertToMyBins.C:132
 convertToMyBins.C:133
 convertToMyBins.C:134
 convertToMyBins.C:135
 convertToMyBins.C:136
 convertToMyBins.C:137
 convertToMyBins.C:138
 convertToMyBins.C:139
 convertToMyBins.C:140
 convertToMyBins.C:141
 convertToMyBins.C:142
 convertToMyBins.C:143
 convertToMyBins.C:144
 convertToMyBins.C:145
 convertToMyBins.C:146
 convertToMyBins.C:147
 convertToMyBins.C:148
 convertToMyBins.C:149
 convertToMyBins.C:150
 convertToMyBins.C:151
 convertToMyBins.C:152
 convertToMyBins.C:153
 convertToMyBins.C:154
 convertToMyBins.C:155
 convertToMyBins.C:156
 convertToMyBins.C:157
 convertToMyBins.C:158
 convertToMyBins.C:159
 convertToMyBins.C:160
 convertToMyBins.C:161
 convertToMyBins.C:162
 convertToMyBins.C:163
 convertToMyBins.C:164
 convertToMyBins.C:165
 convertToMyBins.C:166
 convertToMyBins.C:167
 convertToMyBins.C:168
 convertToMyBins.C:169
 convertToMyBins.C:170
 convertToMyBins.C:171
 convertToMyBins.C:172
 convertToMyBins.C:173
 convertToMyBins.C:174
 convertToMyBins.C:175
 convertToMyBins.C:176
 convertToMyBins.C:177
 convertToMyBins.C:178
 convertToMyBins.C:179
 convertToMyBins.C:180
 convertToMyBins.C:181
 convertToMyBins.C:182
 convertToMyBins.C:183
 convertToMyBins.C:184
 convertToMyBins.C:185
 convertToMyBins.C:186
 convertToMyBins.C:187
 convertToMyBins.C:188
 convertToMyBins.C:189
 convertToMyBins.C:190
 convertToMyBins.C:191
 convertToMyBins.C:192
 convertToMyBins.C:193
 convertToMyBins.C:194
 convertToMyBins.C:195
 convertToMyBins.C:196
 convertToMyBins.C:197
 convertToMyBins.C:198
 convertToMyBins.C:199
 convertToMyBins.C:200
 convertToMyBins.C:201
 convertToMyBins.C:202
 convertToMyBins.C:203
 convertToMyBins.C:204
 convertToMyBins.C:205
 convertToMyBins.C:206
 convertToMyBins.C:207
 convertToMyBins.C:208
 convertToMyBins.C:209
 convertToMyBins.C:210
 convertToMyBins.C:211
 convertToMyBins.C:212
 convertToMyBins.C:213
 convertToMyBins.C:214
 convertToMyBins.C:215
 convertToMyBins.C:216
 convertToMyBins.C:217
 convertToMyBins.C:218
 convertToMyBins.C:219
 convertToMyBins.C:220
 convertToMyBins.C:221
 convertToMyBins.C:222
 convertToMyBins.C:223
 convertToMyBins.C:224
 convertToMyBins.C:225
 convertToMyBins.C:226
 convertToMyBins.C:227
 convertToMyBins.C:228
 convertToMyBins.C:229
 convertToMyBins.C:230
 convertToMyBins.C:231
 convertToMyBins.C:232
 convertToMyBins.C:233
 convertToMyBins.C:234
 convertToMyBins.C:235
 convertToMyBins.C:236
 convertToMyBins.C:237
 convertToMyBins.C:238
 convertToMyBins.C:239
 convertToMyBins.C:240
 convertToMyBins.C:241
 convertToMyBins.C:242
 convertToMyBins.C:243
 convertToMyBins.C:244
 convertToMyBins.C:245
 convertToMyBins.C:246
 convertToMyBins.C:247
 convertToMyBins.C:248
 convertToMyBins.C:249
 convertToMyBins.C:250
 convertToMyBins.C:251
 convertToMyBins.C:252
 convertToMyBins.C:253
 convertToMyBins.C:254
 convertToMyBins.C:255
 convertToMyBins.C:256
 convertToMyBins.C:257
 convertToMyBins.C:258
 convertToMyBins.C:259
 convertToMyBins.C:260
 convertToMyBins.C:261
 convertToMyBins.C:262
 convertToMyBins.C:263
 convertToMyBins.C:264
 convertToMyBins.C:265
 convertToMyBins.C:266
 convertToMyBins.C:267
 convertToMyBins.C:268
 convertToMyBins.C:269
 convertToMyBins.C:270
 convertToMyBins.C:271
 convertToMyBins.C:272
 convertToMyBins.C:273
 convertToMyBins.C:274
 convertToMyBins.C:275
 convertToMyBins.C:276
 convertToMyBins.C:277
 convertToMyBins.C:278
 convertToMyBins.C:279
 convertToMyBins.C:280
 convertToMyBins.C:281
 convertToMyBins.C:282
 convertToMyBins.C:283
 convertToMyBins.C:284
 convertToMyBins.C:285
 convertToMyBins.C:286
 convertToMyBins.C:287
 convertToMyBins.C:288
 convertToMyBins.C:289
 convertToMyBins.C:290
 convertToMyBins.C:291
 convertToMyBins.C:292
 convertToMyBins.C:293
 convertToMyBins.C:294
 convertToMyBins.C:295
 convertToMyBins.C:296
 convertToMyBins.C:297
 convertToMyBins.C:298
 convertToMyBins.C:299
 convertToMyBins.C:300
 convertToMyBins.C:301
 convertToMyBins.C:302
 convertToMyBins.C:303
 convertToMyBins.C:304
 convertToMyBins.C:305
 convertToMyBins.C:306
 convertToMyBins.C:307
 convertToMyBins.C:308
 convertToMyBins.C:309
 convertToMyBins.C:310
 convertToMyBins.C:311
 convertToMyBins.C:312
 convertToMyBins.C:313
 convertToMyBins.C:314
 convertToMyBins.C:315
 convertToMyBins.C:316
 convertToMyBins.C:317
 convertToMyBins.C:318
 convertToMyBins.C:319
 convertToMyBins.C:320
 convertToMyBins.C:321
 convertToMyBins.C:322
 convertToMyBins.C:323
 convertToMyBins.C:324
 convertToMyBins.C:325
 convertToMyBins.C:326
 convertToMyBins.C:327
 convertToMyBins.C:328
 convertToMyBins.C:329
 convertToMyBins.C:330
 convertToMyBins.C:331
 convertToMyBins.C:332
 convertToMyBins.C:333
 convertToMyBins.C:334
 convertToMyBins.C:335
 convertToMyBins.C:336
 convertToMyBins.C:337
 convertToMyBins.C:338
 convertToMyBins.C:339
 convertToMyBins.C:340
 convertToMyBins.C:341
 convertToMyBins.C:342
 convertToMyBins.C:343
 convertToMyBins.C:344