ROOT logo
#if !defined(__CINT__) || defined(__MAKECINT__)
#include <TCanvas.h>
#include <TGraph.h>
#include <TGraphErrors.h>
#include <TGraphAsymmErrors.h>
#include <TH1.h>
#include <TF1.h>
#include <TH2.h>
#include <TFile.h>
#include <TList.h>
#include <TString.h>
#include <TDirectoryFile.h>
#include <TLatex.h>
#include <TStyle.h>
#include <TMath.h>
#include <TDatabasePDG.h>
#include "AliITSPIDResponse.h"
#endif

/*  $Id$    */


// Macro to extract the parameterizations of dE/dx in ITS vs. p
// using Phobos BB parameterization


Double_t BetheBlochPhobos(const Double_t *x, const Double_t *par);
Double_t BetheBlochPhobosBG(const Double_t *x, const Double_t *par);
Double_t BetheBlochAleph(const Double_t *x, const Double_t *par);


void ParametrizeITSBetheBloch(Bool_t optFromITSsa=kFALSE){

  TFile *fil=new TFile("AnalysisResults.root");
  TH2F *hsigvsp=0x0;
  TString dfName="PWG2SpectraITSsa";
  TString listName="clistITSsaMult-1to-1";
  TString hisName="fHistDEDX";

  if(optFromITSsa){
    dfName="ITSsaTracks";
    listName="clistITSsaTracks";
    hisName="hdedxvsPt4clsITSpureSA";
  }
  TDirectoryFile* df=(TDirectoryFile*)fil->Get(dfName.Data());
  if(!df){
    printf("ERROR: directory file %s not found\n",dfName.Data());
    return;
  }
  TList* l=(TList*)df->Get(listName.Data());
  if(!l){
    printf("ERROR: TList %s not found\n",listName.Data());
    return;
  }
  hsigvsp=(TH2F*)l->FindObject(hisName.Data());
  if(!hsigvsp){ 
    printf("ERROR: historgam %s not found\n",hisName.Data());
    return;
  }
  hsigvsp->GetXaxis()->SetTitle("momentum (GeV/c)");
  hsigvsp->GetYaxis()->SetTitle("dE/dx (keV/300 #mum)");

  Double_t minpPionFit=0.1;
  Double_t maxpPionFit=0.8;
  Double_t minbgGlobFit=0.3;
  Double_t maxbgGlobFit=2.5;
  Double_t minbgPions=2.;  
  Double_t maxbgPions=10.;  
  Double_t minpKaons=0.2;
  Double_t maxpKaons=0.4;
  Double_t maxbgKaons=0.7;
  Double_t minpProtons=0.35;
  Double_t maxpProtons=0.57;
  Double_t maxbgProtons=0.7;

  Double_t massPion=TDatabasePDG::Instance()->GetParticle(211)->Mass();
  Double_t massKaon=TDatabasePDG::Instance()->GetParticle(321)->Mass();
  Double_t massProton=TDatabasePDG::Instance()->GetParticle(2212)->Mass();
  Double_t massDeuteron=1.8756;

  Int_t iPad=1;
  Int_t iCanvas=0;
  Int_t nbinsX=hsigvsp->GetNbinsX();
  printf("Total Number of bins =%d\n",nbinsX);
  Int_t group=2;
 
  Int_t totPads=(Int_t)((Float_t)nbinsX/(Float_t)group+0.5);
  Int_t totCanvas=totPads/16;
  TCanvas** c0=new TCanvas*[totCanvas];
  c0[iCanvas]=new TCanvas(Form("c0_%d",iCanvas),Form("c0_%d",iCanvas));
  c0[iCanvas]->Divide(4,4);
  TCanvas** c0k=new TCanvas*[totCanvas];
  c0k[iCanvas]=new TCanvas(Form("c0k_%d",iCanvas),Form("c0k_%d",iCanvas));
  c0k[iCanvas]->Divide(4,4);
  TCanvas** c0p=new TCanvas*[totCanvas];
  c0p[iCanvas]=new TCanvas(Form("c0p_%d",iCanvas),Form("c0p_%d",iCanvas));
  c0p[iCanvas]->Divide(4,4);

  TGraphErrors* gdedxpi=new TGraphErrors(0);
  TGraphErrors* gdedxk=new TGraphErrors(0);
  TGraphErrors* gdedxp=new TGraphErrors(0);
  TGraphErrors* gdedxbg=new TGraphErrors(0);
  gdedxbg->SetTitle("");

  Int_t nPpi=0;
  Int_t nPk=0;
  Int_t nPp=0;
  Int_t nPbg=0;
  for(Int_t iBin=1; iBin<=nbinsX; iBin+=group){
    if(iPad>16){
      iCanvas++;
      c0[iCanvas]=new TCanvas(Form("c0_%d",iCanvas),Form("c0_%d",iCanvas));
      c0[iCanvas]->Divide(4,4);
      c0k[iCanvas]=new TCanvas(Form("c0k_%d",iCanvas),Form("c0k_%d",iCanvas));
      c0k[iCanvas]->Divide(4,4);
      c0p[iCanvas]=new TCanvas(Form("c0p_%d",iCanvas),Form("c0p_%d",iCanvas));
      c0p[iCanvas]->Divide(4,4);
      iPad=1;
    }

    Float_t sum=0;
    Float_t sumwei=0;
    Double_t pmed=0.;
    for(Int_t ibx=iBin; ibx<iBin+group;ibx++){
      for(Int_t iby=1; iby<=hsigvsp->GetNbinsY();iby++){
	sum+=hsigvsp->GetXaxis()->GetBinCenter(ibx)*hsigvsp->GetBinContent(ibx,iby);
	sumwei+=hsigvsp->GetBinContent(ibx,iby);
      }
    }
    if(sumwei>0.) pmed=sum/sumwei;
    if(pmed<0.1) continue;
    Int_t iPmed=(Int_t)(pmed*1000);
    TH1D* hProj=hsigvsp->TH2F::ProjectionY(Form("proj%d",iPmed),iBin,iBin+group-1);
    TH1D* hKaon=(TH1D*)hProj->Clone(Form("projk%d",iPmed));
    c0[iCanvas]->cd(iPad);
    hProj->SetLineColor(2);
    hProj->Draw();    

    Float_t peakpos=hProj->GetBinCenter(hProj->GetMaximumBin());
    Float_t peaksig=0.1*peakpos;
    hProj->Fit("gaus","LL","",peakpos-3*peaksig,peakpos+3.*peaksig);
    TF1* fgaus=(TF1*)hProj->GetListOfFunctions()->FindObject("gaus");
    gdedxpi->SetPoint(nPpi,sum/sumwei,fgaus->GetParameter(1));
    gdedxpi->SetPointError(nPpi,0.,fgaus->GetParError(1));
    nPpi++;
    if(pmed/massPion>minbgPions && pmed/massPion<maxbgPions){
      gdedxbg->SetPoint(nPbg,pmed/massPion,fgaus->GetParameter(1));
      gdedxbg->SetPointError(nPbg,0.,fgaus->GetParError(1));
      nPbg++;
    }
    for(Int_t iBinK=1; iBinK<=hKaon->GetNbinsX(); iBinK++){
      Double_t cont=hKaon->GetBinContent(iBinK)-fgaus->Eval(hKaon->GetBinCenter(iBinK));
      if(cont<0) cont=0.;
      if(hKaon->GetBinCenter(iBinK)<fgaus->GetParameter(1)) cont=0;
      hKaon->SetBinContent(iBinK,cont);
    }
    c0k[iCanvas]->cd(iPad);
    hKaon->SetLineColor(4);
    hKaon->Draw();
    TH1D* hProton=(TH1D*)hKaon->Clone(Form("projp%d",iPmed));
    TF1* fgausk=0x0;
    Double_t mink=250-600*(pmed-0.2);
    Double_t maxk=mink+mink;
    hKaon->Fit("gaus","LL","",mink,maxk);
    fgausk=(TF1*)hKaon->GetListOfFunctions()->FindObject("gaus");
    if(pmed>minpKaons && pmed<maxpKaons){
      gdedxk->SetPoint(nPk,pmed,fgausk->GetParameter(1));
      gdedxk->SetPointError(nPk,0.,fgausk->GetParError(1));
      nPk++;
      if(pmed/massKaon<maxbgKaons){
	gdedxbg->SetPoint(nPbg,pmed/massKaon,fgausk->GetParameter(1));
	gdedxbg->SetPointError(nPbg,0.,fgausk->GetParError(1));
	nPbg++;
      }    
    }
    if(fgausk){
      for(Int_t iBinP=1; iBinP<=hProton->GetNbinsX(); iBinP++){
	Double_t cont=hKaon->GetBinContent(iBinP)-fgausk->Eval(hKaon->GetBinCenter(iBinP));
	if(cont<0) cont=0.;
	if(hProton->GetBinCenter(iBinP)<fgausk->GetParameter(1)) cont=0;
	hProton->SetBinContent(iBinP,cont);
      }
    }
    c0p[iCanvas]->cd(iPad);
    hProton->SetLineColor(kGreen+1);
    hProton->Draw();
    if(pmed>minpProtons && pmed<maxpProtons){
      Double_t minP=300-600*(pmed-0.35);
      Double_t maxP=minP+minP;
      hProton->Fit("gaus","LL","",minP,maxP);
      TF1* fgausp=(TF1*)hProton->GetListOfFunctions()->FindObject("gaus");
      gdedxp->SetPoint(nPp,pmed,fgausp->GetParameter(1));
      gdedxp->SetPointError(nPp,0.,fgausp->GetParError(1));
      nPp++;
      if(pmed/massProton<maxbgProtons){
	gdedxbg->SetPoint(nPbg,pmed/massProton,fgausp->GetParameter(1));
	gdedxbg->SetPointError(nPbg,0.,fgausp->GetParError(1));
	nPbg++;
      }    
    }
    ++iPad;
  }

  gStyle->SetPalette(1);
  hsigvsp->GetXaxis()->SetRangeUser(0.07,1.8);
  hsigvsp->SetStats(0);
  TCanvas* c1=new TCanvas("c1","Pion Fit");
  c1->SetLogz();
  hsigvsp->Draw("col");
  gdedxpi->Draw("Psame");
  gdedxk->Draw("Psame");
  gdedxp->Draw("Psame");

  TF1 *fPhobos=new TF1("fPhobos",BetheBlochPhobos,minpPionFit,maxpPionFit,5);
  fPhobos->SetParLimits(0,0.,1.E9);
  fPhobos->SetParLimits(1,0.,100.);
  fPhobos->SetParLimits(2,0.,1.);
  fPhobos->SetParLimits(3,0.,1.);
  fPhobos->SetParLimits(4,0.,1.);
  gdedxpi->Fit("fPhobos","R");

  TCanvas* c1g=new TCanvas("c1g","Global Fit");
  TF1 *fPhobosbg=new TF1("fPhobosbg",BetheBlochPhobosBG,minbgGlobFit,maxbgGlobFit,5);
  fPhobosbg->SetParLimits(0,0.,1.E9);
  fPhobosbg->SetParLimits(1,0.,100.);
  fPhobosbg->SetParLimits(2,0.,1.);
  fPhobosbg->SetParLimits(3,0.,1.);
  fPhobosbg->SetParLimits(4,0.,1.);
  gdedxbg->Draw("AP");
  gdedxbg->GetXaxis()->SetTitle("#beta#gamma");
  gdedxbg->GetYaxis()->SetTitle("dE/dx (keV/300 #mum)");
  gdedxbg->Fit("fPhobosbg","R");
  c1g->Update();
  

  AliITSPIDResponse* itsresGlobFit=new AliITSPIDResponse(kFALSE);
  AliITSPIDResponse* itsres=new AliITSPIDResponse(kFALSE);
  Double_t parameters[5],parametersGlob[5];

  printf("-------- Pion Fit Parameters -----------\n");
  for(Int_t iPar=0; iPar<5; iPar++){
    parameters[iPar]=fPhobos->GetParameter(iPar);
    printf("parameters[%d]=%g;\n",iPar,parameters[iPar]);
  }
  printf("-------- Global Fit Parameters -----------\n");
  for(Int_t iPar=0; iPar<5; iPar++){
    parametersGlob[iPar]=fPhobosbg->GetParameter(iPar);
    printf("parametersGlob[%d]=%g;\n",iPar,parametersGlob[iPar]);
  }

  itsresGlobFit->SetBetheBlochParamsITSsa(parametersGlob);
  itsres->SetBetheBlochParamsITSsa(parameters);
  
  TGraph* gPion=new TGraph(0);
  TGraph* gKaon=new TGraph(0);
  TGraph* gProton=new TGraph(0);
  TGraph* gPionGlobFit=new TGraph(0);
  TGraph* gKaonGlobFit=new TGraph(0);
  TGraph* gProtonGlobFit=new TGraph(0);

  TGraphAsymmErrors* gBBpions=new TGraphAsymmErrors(0);
  TGraphAsymmErrors* gBBkaons=new TGraphAsymmErrors(0);
  TGraphAsymmErrors* gBBprotons=new TGraphAsymmErrors(0);
  TGraphAsymmErrors* gBBpionsGlobFit=new TGraphAsymmErrors(0);
  TGraphAsymmErrors* gBBkaonsGlobFit=new TGraphAsymmErrors(0);
  TGraphAsymmErrors* gBBprotonsGlobFit=new TGraphAsymmErrors(0);

  Double_t numberofsigmapions=2.;
  Float_t resodedx[4];
  resodedx[0]=0.0001; //default value
  resodedx[1]=0.0001; //default value
  resodedx[2]=0.116;
  resodedx[3]=0.103;
  

  for(Int_t ip=0; ip<400; ip++){
    Double_t mom=0.1+0.02*ip;
    Double_t dedxpions=itsres->Bethe(mom,massPion,kTRUE);
    Double_t dedxkaons=itsres->Bethe(mom,massKaon,kTRUE);
    Double_t dedxprotons=itsres->Bethe(mom,massProton,kTRUE);
    Double_t dedxdeutons=itsres->Bethe(mom,massDeuteron,kTRUE);
    Double_t dedxpionsGlobFit=itsresGlobFit->Bethe(mom,massPion,kTRUE);
    Double_t dedxkaonsGlobFit=itsresGlobFit->Bethe(mom,massKaon,kTRUE);
    Double_t dedxprotonsGlobFit=itsresGlobFit->Bethe(mom,massProton,kTRUE);
    Double_t dedxdeutonsGlobFit=itsresGlobFit->Bethe(mom,massDeuteron,kTRUE);

    gPion->SetPoint(ip,mom,dedxpions);
    gKaon->SetPoint(ip,mom,dedxkaons);
    gProton->SetPoint(ip,mom,dedxprotons);
    gPionGlobFit->SetPoint(ip,mom,dedxpionsGlobFit);
    gKaonGlobFit->SetPoint(ip,mom,dedxkaonsGlobFit);
    gProtonGlobFit->SetPoint(ip,mom,dedxprotonsGlobFit);

    gBBpions->SetPoint(ip,mom,dedxpions);
    gBBpions->SetPointError(ip,0,0,(dedxpions*resodedx[3]*numberofsigmapions),TMath::Abs((dedxpions-dedxkaons)/2));
    gBBkaons->SetPoint(ip,mom,dedxkaons);
    gBBkaons->SetPointError(ip,0,0,TMath::Abs((dedxpions-dedxkaons)/2),TMath::Abs((dedxprotons-dedxkaons)/2));
    gBBprotons->SetPoint(ip,mom,dedxprotons);
    gBBprotons->SetPointError(ip,0,0,TMath::Abs((dedxprotons-dedxkaons)/2),TMath::Abs((dedxprotons-dedxdeutons)/2));

    gBBpionsGlobFit->SetPoint(ip,mom,dedxpionsGlobFit);
    gBBpionsGlobFit->SetPointError(ip,0,0,(dedxpionsGlobFit*resodedx[3]*numberofsigmapions),TMath::Abs((dedxpions-dedxkaonsGlobFit)/2));
    gBBkaonsGlobFit->SetPoint(ip,mom,dedxkaonsGlobFit);
    gBBkaonsGlobFit->SetPointError(ip,0,0,TMath::Abs((dedxpionsGlobFit-dedxkaonsGlobFit)/2),TMath::Abs((dedxprotonsGlobFit-dedxkaonsGlobFit)/2));
    gBBprotonsGlobFit->SetPoint(ip,mom,dedxprotonsGlobFit);
    gBBprotonsGlobFit->SetPointError(ip,0,0,TMath::Abs((dedxprotonsGlobFit-dedxkaonsGlobFit)/2),TMath::Abs((dedxprotonsGlobFit-dedxdeutonsGlobFit)/2));
  }


  TCanvas* c2=new TCanvas("c2","Parameterizations");
  c2->SetLogz();
  hsigvsp->SetMinimum(20);
  hsigvsp->Draw("col");
  gPion->Draw("LSAME");
  gKaon->Draw("LSAME");
  gProton->Draw("LSAME");
  gPionGlobFit->SetLineColor(kRed+1);
  gKaonGlobFit->SetLineColor(kRed+1);
  gProtonGlobFit->SetLineColor(kRed+1);
  gPionGlobFit->Draw("LSAME");
  gKaonGlobFit->Draw("LSAME");
  gProtonGlobFit->Draw("LSAME");
  TLatex* t1=new TLatex(0.7,0.85,"Pion Fit");
  t1->SetNDC();
  t1->Draw();
  TLatex* tG=new TLatex(0.7,0.75,"Global Fit");
  tG->SetNDC();
  tG->SetTextColor(kRed+1);
  tG->Draw();


  gBBpions->SetLineColor(2);
  gBBpions->SetLineWidth(2);
  gBBpions->SetFillColor(2);
  gBBpions->SetFillStyle(3001);
  gBBkaons->SetLineColor(3);
  gBBkaons->SetLineWidth(2);
  gBBkaons->SetFillColor(3);
  gBBkaons->SetFillStyle(3001);
  gBBprotons->SetLineColor(4);
  gBBprotons->SetLineWidth(2);
  gBBprotons->SetFillColor(4);
  gBBprotons->SetFillStyle(3001);

  TCanvas* c3=new TCanvas("c3","Asymm Bands, PionFit");
  c3->SetLogz();
  c3->SetLogx();
  hsigvsp->SetMinimum(20);
  hsigvsp->Draw("col");
  gBBpions->Draw("L4same");
  gBBkaons->Draw("L4same");
  gBBprotons->Draw("L4same");

  gBBpionsGlobFit->SetLineColor(2);
  gBBpionsGlobFit->SetLineWidth(2);
  gBBpionsGlobFit->SetFillColor(2);
  gBBpionsGlobFit->SetFillStyle(3001);
  gBBkaonsGlobFit->SetLineColor(3);
  gBBkaonsGlobFit->SetLineWidth(2);
  gBBkaonsGlobFit->SetFillColor(3);
  gBBkaonsGlobFit->SetFillStyle(3001);
  gBBprotonsGlobFit->SetLineColor(4);
  gBBprotonsGlobFit->SetLineWidth(2);
  gBBprotonsGlobFit->SetFillColor(4);
  gBBprotonsGlobFit->SetFillStyle(3001);

  TCanvas* c3g=new TCanvas("c3g","Asymm Bands, GlobFit");
  c3g->SetLogz();
  c3g->SetLogx();
  hsigvsp->SetMinimum(20);
  hsigvsp->Draw("col");
  gBBpionsGlobFit->Draw("L4same");
  gBBkaonsGlobFit->Draw("L4same");
  gBBprotonsGlobFit->Draw("L4same");

}






Double_t BetheBlochPhobos(const Double_t *x, const Double_t *par){

  //
  // returns AliExternalTrackParam::BetheBloch normalized to 
  // fgMIP at the minimum
  //

  Double_t massPion=TDatabasePDG::Instance()->GetParticle(211)->Mass();
  Double_t bg=x[0]/massPion;
  Double_t beta = bg/TMath::Sqrt(1.+ bg*bg);
  Double_t gamma=bg/beta;
  Double_t eff=1.0;
  if(bg<par[2])
    eff=(bg-par[3])*(bg-par[3])+par[4];
  else
    eff=(par[2]-par[3])*(par[2]-par[3])+par[4];

  Double_t bb=0.;
  if(gamma>=0. && beta>0.){
    bb=(par[1]+2.0*TMath::Log(gamma)-beta*beta)*(par[0]/(beta*beta))*eff;
  }
  return bb;
}

Double_t BetheBlochPhobosBG(const Double_t *x, const Double_t *par){

  //
  // returns AliExternalTrackParam::BetheBloch normalized to 
  // fgMIP at the minimum
  //

  Double_t bg=x[0];
  Double_t beta = bg/TMath::Sqrt(1.+ bg*bg);
  Double_t gamma=bg/beta;
  Double_t eff=1.0;
  if(bg<par[2])
    eff=(bg-par[3])*(bg-par[3])+par[4];
  else
    eff=(par[2]-par[3])*(par[2]-par[3])+par[4];

  Double_t bb=0.;
  if(gamma>=0. && beta>0.){
    bb=(par[1]+2.0*TMath::Log(gamma)-beta*beta)*(par[0]/(beta*beta))*eff;
  }
  return bb;
}

Double_t BetheBlochAleph(const Double_t *x, const Double_t *par){

  //
  // This is the empirical ALEPH parameterization of the Bethe-Bloch formula.
  // It is normalized to 1 at the minimum.
  //
  // bg - beta*gamma
  // 
  // The default values for the kp* parameters are for ALICE TPC.
  // The returned value is in MIP units
  //

  Double_t massPion=TDatabasePDG::Instance()->GetParticle(211)->Mass();
  Double_t bg=x[0]/massPion;
  Double_t beta = bg/TMath::Sqrt(1.+ bg*bg);

  Double_t aa = TMath::Power(beta,par[3]);
  Double_t bb = TMath::Power(1./bg,par[4]);

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