|
@@ -1,5 +1,9 @@
|
|
|
#include "CentralityCalculator.h"
|
|
|
|
|
|
+#include <TLine.h>
|
|
|
+#include <TCanvas.h>
|
|
|
+#include <TLatex.h>
|
|
|
+
|
|
|
ClassImp(CentralityCalculator);
|
|
|
|
|
|
CentralityCalculator::CentralityCalculator()
|
|
@@ -30,7 +34,7 @@ Int_t CentralityCalculator::Integrate(Int_t max_bin, Float_t sum)
|
|
|
return max_bin;
|
|
|
}
|
|
|
|
|
|
-Int_t CentralityCalculator::GetCentrality(Int_t multiplicity)
|
|
|
+Int_t CentralityCalculator::GetCent(Int_t multiplicity)
|
|
|
{
|
|
|
int centrality_bin = -1;
|
|
|
for (int multiplicityBin = 0; multiplicityBin < NmultiplicityBins; ++multiplicityBin)
|
|
@@ -69,6 +73,12 @@ Int_t CentralityCalculator::GetCentrality(Int_t multiplicity)
|
|
|
return centrality_bin;
|
|
|
}
|
|
|
|
|
|
+Int_t CentralityCalculator::GetCentrality(Int_t multiplicity)
|
|
|
+{
|
|
|
+ Int_t cent = 99 - GetCent(multiplicity);
|
|
|
+ return cent;
|
|
|
+}
|
|
|
+
|
|
|
void CentralityCalculator::Calc()
|
|
|
{
|
|
|
Double_t one_tenth = fHmult->Integral("WIDTH") / NmultiplicityBins; //the fraction of events equal to on centrality bin
|
|
@@ -84,5 +94,27 @@ void CentralityCalculator::Calc()
|
|
|
multiplicity_bins[NmultiplicityBins] = fHmult->GetBinLowEdge(n_mult_bins) + fHmult->GetBinWidth(1);
|
|
|
|
|
|
for (int i = 0; i <= NmultiplicityBins; ++i) std::cout << "multiplicity bin = " << i << ": " << multiplicity_bins[i] << std::endl;
|
|
|
-
|
|
|
}
|
|
|
+
|
|
|
+void CentralityCalculator::DrawHistogram(TString outName)
|
|
|
+{
|
|
|
+ TH1F* hist = (TH1F*) fHmult->Clone();
|
|
|
+ TLine line;
|
|
|
+
|
|
|
+ TCanvas *canv = new TCanvas(Form("%s","canvas"),Form("%s","canvas"),900,650);
|
|
|
+ canv->cd();
|
|
|
+ canv->SetLogy();
|
|
|
+
|
|
|
+ hist->Draw();
|
|
|
+
|
|
|
+ line.SetLineColor(1);
|
|
|
+ line.SetLineWidth(2);
|
|
|
+ for (int i=0; i<(Int_t)(NmultiplicityBins/10);i++)
|
|
|
+ {
|
|
|
+ line.DrawLine(multiplicity_bins[i*10+1],0.,multiplicity_bins[i*10+1],hist->GetBinContent(hist->FindBin(multiplicity_bins[i*10+1])));
|
|
|
+ }
|
|
|
+ TLatex tex;
|
|
|
+ tex.DrawLatexNDC(0.35,0.85,Form("Au+Au, %s, #sqrt{s_{NN}}=%3.1f GeV",fModel.Data(),fEnergy));
|
|
|
+
|
|
|
+ canv->SaveAs(Form("%s",outName.Data()));
|
|
|
+}
|