#include <TLegend.h>
#include "AliQuenchingWeights.h"
+using std::fstream;
+using std::ios;
ClassImp(AliQuenchingWeights)
// conversion from fm to GeV^-1: 1 fm = fmGeV GeV^-1
fTablesLoaded(kFALSE)
{
//default constructor
- fHisto = new TH1F(Form("hhistoqw_%d",fInstanceNumber),"",fgkBins,0.,fgkMaxBin);
- for(Int_t bin=1;bin<=fgkBins;bin++)
- fHisto->SetBinContent(bin,0.);
+
}
AliQuenchingWeights::AliQuenchingWeights(const AliQuenchingWeights& a)
fECMethod=(kECMethod)a.GetECMethod();
fLengthMax=a.GetLengthMax();
fInstanceNumber=fgCounter++;
- fHisto = new TH1F(Form("hhistoqw_%d",fInstanceNumber),"",fgkBins,0.,fgkMaxBin);
+ Char_t name[100];
+ snprintf(name,100, "hhistoqw_%d",fInstanceNumber);
+ fHisto = new TH1F(name,"",fgkBins,0.,fgkMaxBin);
for(Int_t bin=1;bin<=fgkBins;bin++)
fHisto->SetBinContent(bin,0.);
delete fHisto;
}
+void AliQuenchingWeights::Init()
+{
+// Initialization
+ if (fHisto) return;
+ fHisto = new TH1F(Form("hhistoqw_%d",fInstanceNumber),"",fgkBins,0.,fgkMaxBin);
+ for(Int_t bin=1;bin<=fgkBins;bin++)
+ fHisto->SetBinContent(bin,0.);
+}
+
void AliQuenchingWeights::Reset()
{
//reset tables if there were used
fTablesLoaded = kFALSE;
fMultSoft=kTRUE;
+ Char_t fname[1024];
+ snprintf(fname,1024, "%s",gSystem->ExpandPathName(contall));
//PH ifstream fincont(fname);
- fstream fincont(Form("%s",gSystem->ExpandPathName(contall)),ios::in);
+ fstream fincont(fname,ios::in);
#if defined(__HP_aCC) || defined(__DECCXX)
if(!fincont.rdbuf()->is_open()) return -1;
#else
}
fincont.close();
+ snprintf(fname,1024, "%s",gSystem->ExpandPathName(discall));
//PH ifstream findisc(fname);
- fstream findisc(Form("%s",gSystem->ExpandPathName(discall)),ios::in);
+ fstream findisc(fname,ios::in);
#if defined(__HP_aCC) || defined(__DECCXX)
if(!findisc.rdbuf()->is_open()) return -1;
#else
fTablesLoaded = kFALSE;
fMultSoft=kFALSE;
+ Char_t fname[1024];
+ snprintf(fname, 1024, "%s",gSystem->ExpandPathName(contall));
//PH ifstream fincont(fname);
- fstream fincont(Form("%s",gSystem->ExpandPathName(contall)),ios::in);
+ fstream fincont(fname,ios::in);
#if defined(__HP_aCC) || defined(__DECCXX)
if(!fincont.rdbuf()->is_open()) return -1;
#else
}
fincont.close();
+ snprintf(fname, 1024, "%s",gSystem->ExpandPathName(discall));
//PH ifstream findisc(fname);
- fstream findisc(Form("%s",gSystem->ExpandPathName(discall)),ios::in);
+ fstream findisc(fname,ios::in);
#if defined(__HP_aCC) || defined(__DECCXX)
if(!findisc.rdbuf()->is_open()) return -1;
#else
ret=fHistos[ipart-1][l-1]->GetRandom();
if(++ws==1e6){
Warning("GetELossRandom",
- "Aborted reweighting; maximum loss assigned after 1e6 trials.");
+ "Stopping reweighting; maximum loss assigned after 1e6 trials.");
return e;
}
}
ret=fHisto->GetRandom();
if(++ws==1e6){
Warning("GetELossRandomK",
- "Aborted reweighting; maximum loss assigned after 1e6 trials.");
+ "Stopping reweighting; maximum loss assigned after 1e6 trials.");
return e;
}
}
if(discrete>=1.0) {
return 0.; //no energy loss
}
-
+ if (!fHisto) Init();
+
fHisto->SetBinContent(bin,continuous);
Int_t kbinmax=fHisto->FindBin(e/wc);
if(kbinmax>=fgkBins) kbinmax=fgkBins-1;
Double_t discrete=0.;
Double_t continuous=0.;
-
+ if (!fHisto) Init();
Int_t kbinmax=fHisto->FindBin(e/wc);
if(kbinmax>=fgkBins) kbinmax=fgkBins-1;
if(fMultSoft) {
Char_t meddesc[100];
if(fMultSoft) {
medvalue=(Int_t)(fQTransport*1000.);
- sprintf(meddesc,"MS");
+ snprintf(meddesc, 100, "MS");
} else {
medvalue=(Int_t)(fMu*1000.);
- sprintf(meddesc,"SH");
+ snprintf(meddesc, 100, "SH");
}
for(Int_t ipart=1;ipart<=2;ipart++){
for(Int_t l=1;l<=4*fLengthMax;l++){
Char_t hname[100];
- sprintf(hname,"hDisc-ContQW_%s_%d_%d_%d_%d",meddesc,fInstanceNumber,ipart,medvalue,l);
+ snprintf(hname, 100, "hDisc-ContQW_%s_%d_%d_%d_%d",meddesc,fInstanceNumber,ipart,medvalue,l);
Double_t len=l/4.;
Double_t wc = CalcWC(len);
fHistos[ipart-1][l-1] = new TH1F(hname,hname,fgkBins,0.,fgkMaxBin*wc);
Double_t discrete=0.;
Double_t continuous=0;;
Int_t bin=1;
+ if (!fHisto) Init();
Double_t xxxx = fHisto->GetBinCenter(bin);
if(fMultSoft)
CalcMult(ipart,r,xxxx,continuous,discrete);
Char_t meddesc[100];
if(fMultSoft) {
wc=CalcWC(medval,length);
- sprintf(meddesc,"MS");
+ snprintf(meddesc, 100, "MS");
} else {
wc=CalcWCbar(medval,length);
- sprintf(meddesc,"SH");
+ snprintf(meddesc, 100, "SH");
}
Char_t hname[100];
- sprintf(hname,"hContQWHisto_%s_%d_%d_%d",meddesc,ipart,
+ snprintf(hname, 100, "hContQWHisto_%s_%d_%d_%d",meddesc,ipart,
(Int_t)(medval*1000.),(Int_t)length);
TH1F *hist = new TH1F("hist",hname,fgkBins,0.,fgkMaxBin*wc);
Char_t meddesc[100];
if(fMultSoft) {
wc=CalcWC(medval,length);
- sprintf(meddesc,"MS");
+ snprintf(meddesc, 100, "MS");
} else {
wc=CalcWCbar(medval,length);
- sprintf(meddesc,"SH");
+ snprintf(meddesc, 100, "SH");
}
Char_t hname[100];
- sprintf(hname,"hContQWHistox_%s_%d_%d_%d",meddesc,ipart,
+ snprintf(hname, 100, "hContQWHistox_%s_%d_%d_%d",meddesc,ipart,
(Int_t)(medval*1000.),(Int_t)length);
TH1F *histx = new TH1F("histx",hname,fgkBins,0.,fgkMaxBin);
Char_t meddesc[100];
if(fMultSoft) {
- sprintf(meddesc,"MS");
+ snprintf(meddesc, 100, "MS");
} else {
- sprintf(meddesc,"SH");
+ snprintf(meddesc, 100, "SH");
}
Char_t hname[100];
- sprintf(hname,"hQWHistox_%s_%d_%.2f",meddesc,ipart,r);
+ snprintf(hname, 100, "hQWHistox_%s_%d_%.2f",meddesc,ipart,r);
TH1F *histx = new TH1F("histx",hname,fgkBins,0.,fgkMaxBin);
histx->SetXTitle("x = #Delta E/#omega_{c}");
if(fMultSoft)
Char_t name[100];
Char_t hname[100];
if(ipart==1){
- sprintf(name,"Energy Loss Distribution - Quarks;E_{loss} (GeV);#");
- sprintf(hname,"hLossQuarks");
+ snprintf(name, 100, "Energy Loss Distribution - Quarks;E_{loss} (GeV);#");
+ snprintf(hname,100, "hLossQuarks");
} else {
- sprintf(name,"Energy Loss Distribution - Gluons;E_{loss} (GeV);#");
- sprintf(hname,"hLossGluons");
+ snprintf(name, 100, "Energy Loss Distribution - Gluons;E_{loss} (GeV);#");
+ snprintf(hname, 100, "hLossGluons");
}
TH1F *h = new TH1F(hname,name,250,0,250);
Char_t name[100];
Char_t hname[100];
if(ipart==1){
- sprintf(name,"Energy Loss Distribution - Quarks;E_{loss} (GeV);#");
- sprintf(hname,"hLossQuarks");
+ snprintf(name, 100, "Energy Loss Distribution - Quarks;E_{loss} (GeV);#");
+ snprintf(hname,100, "hLossQuarks");
} else {
- sprintf(name,"Energy Loss Distribution - Gluons;E_{loss} (GeV);#");
- sprintf(hname,"hLossGluons");
+ snprintf(name,100, "Energy Loss Distribution - Gluons;E_{loss} (GeV);#");
+ snprintf(hname, 100, "hLossGluons");
}
TH1F *h = new TH1F(hname,name,250,0,250);
if(!dummy) return 0;
Char_t hname[100];
- sprintf(hname,"hELossHistox_%d_%.2f",ipart,r);
+ snprintf(hname, 100, "hELossHistox_%d_%.2f",ipart,r);
TH1F *histx = new TH1F("histxr",hname,fgkBins,0.,fgkMaxBin);
for(Int_t i=0;i<100000;i++){
//if(i % 1000 == 0) cout << "." << flush;
l1a->SetFillStyle(0);
l1a->SetBorderSize(0);
Char_t label[100];
- sprintf(label,"L = %.1f fm",len);
+ snprintf(label, 100, "L = %.1f fm",len);
l1a->AddEntry(gq,label,"");
l1a->AddEntry(gq,"quark projectile","l");
l1a->AddEntry(gg,"gluon projectile","l");
Char_t name[1024];
if(fMultSoft) {
if(itype==1)
- sprintf(title,"Cont. Weight for Multiple Scattering - Quarks");
+ snprintf(title, 1024, "Cont. Weight for Multiple Scattering - Quarks");
else if(itype==2)
- sprintf(title,"Cont. Weight for Multiple Scattering - Gluons");
+ snprintf(title, 1024, "Cont. Weight for Multiple Scattering - Gluons");
else return;
medvals[0]=4;medvals[1]=1;medvals[2]=0.5;
- sprintf(name,"ccont-ms-%d",itype);
+ snprintf(name, 1024, "ccont-ms-%d",itype);
} else {
if(itype==1)
- sprintf(title,"Cont. Weight for Single Hard Scattering - Quarks");
+ snprintf(title, 1024, "Cont. Weight for Single Hard Scattering - Quarks");
else if(itype==2)
- sprintf(title,"Cont. Weight for Single Hard Scattering - Gluons");
+ snprintf(title, 1024, "Cont. Weight for Single Hard Scattering - Gluons");
else return;
medvals[0]=2;medvals[1]=1;medvals[2]=0.5;
- sprintf(name,"ccont-ms-%d",itype);
+ snprintf(name, 1024, "ccont-ms-%d",itype);
}
TCanvas *c = new TCanvas(name,title,0,0,500,400);
l1a->SetFillStyle(0);
l1a->SetBorderSize(0);
Char_t label[100];
- sprintf(label,"L = %.1f fm",ell);
+ snprintf(label, 100, "L = %.1f fm",ell);
l1a->AddEntry(h1,label,"");
if(fMultSoft) {
- sprintf(label,"#hat{q} = %.1f GeV^{2}/fm",medvals[0]);
+ snprintf(label, 100, "#hat{q} = %.1f GeV^{2}/fm",medvals[0]);
l1a->AddEntry(h1,label,"pl");
- sprintf(label,"#hat{q} = %.1f GeV^{2}/fm",medvals[1]);
+ snprintf(label, 100, "#hat{q} = %.1f GeV^{2}/fm",medvals[1]);
l1a->AddEntry(h2,label,"pl");
- sprintf(label,"#hat{q} = %.1f GeV^{2}/fm",medvals[2]);
- l1a->AddEntry(h3,label,"pl");
+ snprintf(label, 100, "#hat{q} = %.1f GeV^{2}/fm",medvals[2]);
+ l1a->AddEntry(h3, label,"pl");
} else {
- sprintf(label,"#mu = %.1f GeV",medvals[0]);
+ snprintf(label, 100, "#mu = %.1f GeV",medvals[0]);
l1a->AddEntry(h1,label,"pl");
- sprintf(label,"#mu = %.1f GeV",medvals[1]);
+ snprintf(label, 100, "#mu = %.1f GeV",medvals[1]);
l1a->AddEntry(h2,label,"pl");
- sprintf(label,"#mu = %.1f GeV",medvals[2]);
+ snprintf(label, 100, "#mu = %.1f GeV",medvals[2]);
l1a->AddEntry(h3,label,"pl");
}
l1a->Draw();
Char_t name[1024];
if(fMultSoft) {
if(itype==1)
- sprintf(title,"Cont. Weight for Multiple Scattering - Quarks");
+ snprintf(title,1024, "Cont. Weight for Multiple Scattering - Quarks");
else if(itype==2)
- sprintf(title,"Cont. Weight for Multiple Scattering - Gluons");
+ snprintf(title,1024, "Cont. Weight for Multiple Scattering - Gluons");
else return;
- sprintf(name,"ccont2-ms-%d",itype);
+ snprintf(name,1024, "ccont2-ms-%d",itype);
} else {
if(itype==1)
- sprintf(title,"Cont. Weight for Single Hard Scattering - Quarks");
+ snprintf(title, 1024, "Cont. Weight for Single Hard Scattering - Quarks");
else if(itype==2)
- sprintf(title,"Cont. Weight for Single Hard Scattering - Gluons");
+ snprintf(title, 1024, "Cont. Weight for Single Hard Scattering - Gluons");
else return;
- sprintf(name,"ccont2-sh-%d",itype);
+ snprintf(name, 1024, "ccont2-sh-%d",itype);
}
TCanvas *c = new TCanvas(name,title,0,0,500,400);
c->cd();
l1a->SetBorderSize(0);
Char_t label[100];
if(fMultSoft)
- sprintf(label,"#hat{q} = %.1f GeV^{2}/fm",medval);
+ snprintf(label, 100, "#hat{q} = %.1f GeV^{2}/fm",medval);
else
- sprintf(label,"#mu = %.1f GeV",medval);
+ snprintf(label, 100, "#mu = %.1f GeV",medval);
l1a->AddEntry(h1,label,"");
l1a->AddEntry(h1,"L = 8 fm","pl");
Char_t title[1024];
Char_t name[1024];
if(fMultSoft){
- sprintf(title,"Average Energy Loss for Multiple Scattering");
- sprintf(name,"cavgelossms");
+ snprintf(title, 1024, "Average Energy Loss for Multiple Scattering");
+ snprintf(name, 1024, "cavgelossms");
} else {
- sprintf(title,"Average Energy Loss for Single Hard Scattering");
- sprintf(name,"cavgelosssh");
+ snprintf(title, 1024, "Average Energy Loss for Single Hard Scattering");
+ snprintf(name, 1024, "cavgelosssh");
}
TCanvas *c = new TCanvas(name,title,0,0,500,400);
l1a->SetFillStyle(0);
l1a->SetBorderSize(0);
Char_t label[100];
- sprintf(label,"L = %.1f fm",len);
+ snprintf(label, 100, "L = %.1f fm",len);
l1a->AddEntry(gq,label,"");
l1a->AddEntry(gq,"quark projectile","pl");
l1a->AddEntry(gg,"gluon projectile","pl");
Char_t title[1024];
Char_t name[1024];
if(fMultSoft){
- sprintf(title,"Average Energy Loss for Multiple Scattering");
- sprintf(name,"cavgelossms2");
+ snprintf(title, 1024, "Average Energy Loss for Multiple Scattering");
+ snprintf(name, 1024, "cavgelossms2");
} else {
- sprintf(title,"Average Energy Loss for Single Hard Scattering");
- sprintf(name,"cavgelosssh2");
+ snprintf(title, 1024, "Average Energy Loss for Single Hard Scattering");
+ snprintf(name, 1024, "cavgelosssh2");
}
TCanvas *c = new TCanvas(name,title,0,0,500,400);
l1a->SetFillStyle(0);
l1a->SetBorderSize(0);
Char_t label[100];
- sprintf(label,"<L> = %.2f fm",hEll->GetMean());
+ snprintf(label, 100, "<L> = %.2f fm",hEll->GetMean());
l1a->AddEntry(gq,label,"");
l1a->AddEntry(gq,"quark","pl");
l1a->AddEntry(gg,"gluon","pl");
Char_t name[1024];
Float_t medval;
if(fMultSoft){
- sprintf(title,"Average Energy Loss for Multiple Scattering");
- sprintf(name,"cavgelosslms");
+ snprintf(title, 1024, "Average Energy Loss for Multiple Scattering");
+ snprintf(name, 1024, "cavgelosslms");
medval=fQTransport;
} else {
- sprintf(title,"Average Energy Loss for Single Hard Scattering");
- sprintf(name,"cavgelosslsh");
+ snprintf(title, 1024, "Average Energy Loss for Single Hard Scattering");
+ snprintf(name, 1024, "cavgelosslsh");
medval=fMu;
}
l1a->SetBorderSize(0);
Char_t label[100];
if(fMultSoft)
- sprintf(label,"#hat{q} = %.2f GeV^{2}/fm",medval);
+ snprintf(label, 100, "#hat{q} = %.2f GeV^{2}/fm",medval);
else
- sprintf(label,"#mu = %.2f GeV",medval);
+ snprintf(label, 100, "#mu = %.2f GeV",medval);
l1a->AddEntry(gq,label,"");
l1a->AddEntry(gq,"quark","pl");
l1a->AddEntry(gg,"gluon","pl");
Char_t title[1024];
Char_t name[1024];
if(fMultSoft){
- sprintf(title,"Relative Energy Loss for Multiple Scattering");
- sprintf(name,"cavgelossvsptms");
+ snprintf(title, 1024, "Relative Energy Loss for Multiple Scattering");
+ snprintf(name, 1024, "cavgelossvsptms");
} else {
- sprintf(title,"Relative Energy Loss for Single Hard Scattering");
- sprintf(name,"cavgelossvsptsh");
+ snprintf(title, 1024, "Relative Energy Loss for Single Hard Scattering");
+ snprintf(name, 1024, "cavgelossvsptsh");
}
TCanvas *c = new TCanvas(name,title,0,0,500,400);
l1a->SetFillStyle(0);
l1a->SetBorderSize(0);
Char_t label[100];
- sprintf(label,"L = %.1f fm",len);
+ snprintf(label, 100, "L = %.1f fm",len);
l1a->AddEntry(gq,label,"");
l1a->AddEntry(gq,"quark","pl");
l1a->AddEntry(gg,"gluon","pl");
Char_t title[1024];
Char_t name[1024];
if(fMultSoft){
- sprintf(title,"Relative Energy Loss for Multiple Scattering");
- sprintf(name,"cavgelossvsptms2");
+ snprintf(title, 1024, "Relative Energy Loss for Multiple Scattering");
+ snprintf(name, 1024, "cavgelossvsptms2");
} else {
- sprintf(title,"Relative Energy Loss for Single Hard Scattering");
- sprintf(name,"cavgelossvsptsh2");
+ snprintf(title, 1024, "Relative Energy Loss for Single Hard Scattering");
+ snprintf(name, 1024, "cavgelossvsptsh2");
}
TCanvas *c = new TCanvas(name,title,0,0,500,400);
c->cd();
l1a->SetFillStyle(0);
l1a->SetBorderSize(0);
Char_t label[100];
- sprintf(label,"<L> = %.2f fm",hEll->GetMean());
+ snprintf(label, 100, "<L> = %.2f fm",hEll->GetMean());
l1a->AddEntry(gq,label,"");
l1a->AddEntry(gq,"quark","pl");
l1a->AddEntry(gg,"gluon","pl");