Skip to content

Commit fc3b1ec

Browse files
committed
do not use Root types unless needed: TString -> std::string
1 parent 17f1338 commit fc3b1ec

File tree

3 files changed

+22
-23
lines changed

3 files changed

+22
-23
lines changed

PWGHF/D2H/Macros/HFInvMassFitter.cxx

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@
3939
#include <TDatabasePDG.h>
4040
#include <TLine.h>
4141
#include <TPaveText.h>
42-
#include <TString.h>
4342
#include <TStyle.h>
4443
#include <TVirtualPad.h>
4544

@@ -263,7 +262,7 @@ void HFInvMassFitter::doFit()
263262
if (mTypeOfBkgPdf == NoBkg) { // MC
264263
mRooNSgn = new RooRealVar("mRooNSig", "number of signal", 0.3 * mIntegralHisto, 0., 1.2 * mIntegralHisto); // signal yield
265264
mTotalPdf = new RooAddPdf("mMCFunc", "MC fit function", RooArgList(*sgnPdf), RooArgList(*mRooNSgn)); // create total pdf
266-
if (strcmp(mFitOption.Data(), "Chi2") == 0) {
265+
if (strcmp(mFitOption.c_str(), "Chi2") == 0) {
267266
mTotalPdf->chi2FitTo(dataHistogram, Range("signal"));
268267
} else {
269268
mTotalPdf->fitTo(dataHistogram, Range("signal"));
@@ -275,13 +274,13 @@ void HFInvMassFitter::doFit()
275274
} else { // data
276275
mBkgPdf = new RooAddPdf("mBkgPdf", "background fit function", RooArgList(*bkgPdf), RooArgList(*mRooNBkg));
277276
if (mTypeOfSgnPdf == GausSec) { // two peak fit
278-
if (strcmp(mFitOption.Data(), "Chi2") == 0) {
277+
if (strcmp(mFitOption.c_str(), "Chi2") == 0) {
279278
mBkgPdf->chi2FitTo(dataHistogram, Range("SBL,SBR,SEC"), Save());
280279
} else {
281280
mBkgPdf->fitTo(dataHistogram, Range("SBL,SBR,SEC"), Save());
282281
}
283282
} else { // single peak fit
284-
if (strcmp(mFitOption.Data(), "Chi2") == 0) {
283+
if (strcmp(mFitOption.c_str(), "Chi2") == 0) {
285284
mBkgPdf->chi2FitTo(dataHistogram, Range("SBL,SBR"), Save());
286285
} else {
287286
mBkgPdf->fitTo(dataHistogram, Range("SBL,SBR"), Save());
@@ -322,7 +321,7 @@ void HFInvMassFitter::doFit()
322321
reflHistogram.plotOn(mReflOnlyFrame);
323322
mRooNRefl = new RooRealVar("mNRefl", "number of reflection", 0.5 * mHistoTemplateRefl->Integral(), 0, mHistoTemplateRefl->Integral());
324323
RooAddPdf reflFuncTemp("reflFuncTemp", "template reflection fit function", RooArgList(*reflPdf), RooArgList(*mRooNRefl));
325-
if (strcmp(mFitOption.Data(), "Chi2") == 0) {
324+
if (strcmp(mFitOption.c_str(), "Chi2") == 0) {
326325
reflFuncTemp.chi2FitTo(reflHistogram);
327326
} else {
328327
reflFuncTemp.fitTo(reflHistogram);
@@ -333,7 +332,7 @@ void HFInvMassFitter::doFit()
333332
mRooNRefl->setConstant(true);
334333
setReflFuncFixed(); // fix reflection pdf parameter
335334
mTotalPdf = new RooAddPdf("mTotalPdf", "background + signal + reflection fit function", RooArgList(*bkgPdf, *sgnPdf, *reflPdf), RooArgList(*mRooNBkg, *mRooNSgn, *mRooNRefl));
336-
if (strcmp(mFitOption.Data(), "Chi2") == 0) {
335+
if (strcmp(mFitOption.c_str(), "Chi2") == 0) {
337336
mTotalPdf->chi2FitTo(dataHistogram);
338337
} else {
339338
mTotalPdf->fitTo(dataHistogram);
@@ -353,7 +352,7 @@ void HFInvMassFitter::doFit()
353352
mSgnPdf->plotOn(mResidualFrame, Normalization(1.0, RooAbsReal::RelativeExpected), LineColor(kBlue));
354353
} else {
355354
mTotalPdf = new RooAddPdf("mTotalPdf", "background + signal pdf", RooArgList(*bkgPdf, *sgnPdf), RooArgList(*mRooNBkg, *mRooNSgn));
356-
if (strcmp(mFitOption.Data(), "Chi2") == 0) {
355+
if (strcmp(mFitOption.c_str(), "Chi2") == 0) {
357356
mTotalPdf->chi2FitTo(dataHistogram);
358357
} else {
359358
mTotalPdf->fitTo(dataHistogram);

PWGHF/D2H/Macros/HFInvMassFitter.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ class HFInvMassFitter : public TNamed
8080
}
8181
void setUseLikelihoodFit() { mFitOption = "L,E"; }
8282
void setUseChi2Fit() { mFitOption = "Chi2"; }
83-
void setFitOption(TString opt) { mFitOption = opt.Data(); }
83+
void setFitOption(const std::string& opt) { mFitOption = opt; }
8484
RooAbsPdf* createBackgroundFitFunction(RooWorkspace* w1) const;
8585
RooAbsPdf* createSignalFitFunction(RooWorkspace* w1);
8686
RooAbsPdf* createReflectionFitFunction(RooWorkspace* w1) const;
@@ -244,7 +244,7 @@ class HFInvMassFitter : public TNamed
244244
void highlightPeakRegion(const RooPlot* plot, Color_t color = kGray + 1, Width_t width = 1, Style_t style = 2) const;
245245

246246
TH1* mHistoInvMass; // histogram to fit
247-
TString mFitOption;
247+
std::string mFitOption;
248248
double mMinMass; // lower mass limit
249249
double mMaxMass; // upper mass limit
250250
int mTypeOfBkgPdf; // background fit function

PWGHF/D2H/Macros/runMassFitter.C

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151

5252
using namespace rapidjson;
5353

54-
int runMassFitter(const TString& configFileName = "config_massfitter.json");
54+
int runMassFitter(const std::string& configFileName = "config_massfitter.json");
5555

5656
template <typename ValueType>
5757
void readArray(const Value& jsonArray, std::vector<ValueType>& output)
@@ -75,10 +75,10 @@ void parseStringArray(const Value& jsonArray, std::vector<std::string>& output)
7575
void divideCanvas(TCanvas* c, int nSliceVarBins);
7676
void setHistoStyle(TH1* histo, Color_t color = kBlack, Size_t markerSize = 1);
7777

78-
int runMassFitter(const TString& configFileName)
78+
int runMassFitter(const std::string& configFileName)
7979
{
8080
// load config
81-
FILE* configFile = fopen(configFileName.Data(), "r");
81+
FILE* configFile = fopen(configFileName.c_str(), "r");
8282
if (configFile == nullptr) {
8383
throw std::runtime_error("ERROR: Missing configuration json file: " + configFileName);
8484
}
@@ -91,10 +91,10 @@ int runMassFitter(const TString& configFileName)
9191

9292
bool const isMc = config["IsMC"].GetBool();
9393
bool const writeSignalPar = config["WriteSignalPar"].GetBool();
94-
TString const particleName = config["Particle"].GetString();
95-
TString const collisionSystem = config["CollisionSystem"].GetString();
96-
TString const inputFileName = config["InFileName"].GetString();
97-
TString const reflFileName = config["ReflFileName"].GetString();
94+
std::string const particleName = config["Particle"].GetString();
95+
std::string const collisionSystem = config["CollisionSystem"].GetString();
96+
std::string const inputFileName = config["InFileName"].GetString();
97+
std::string const reflFileName = config["ReflFileName"].GetString();
9898
TString outputFileName = config["OutFileName"].GetString();
9999

100100
std::vector<std::string> inputHistoName;
@@ -219,23 +219,23 @@ int runMassFitter(const TString& configFileName)
219219
{"LcToPK0s", {"pK^{0}_{s}", "Lambda_c+", "#Lambda_{c}^{+} #rightarrow pK^{0}_{s} + c.c."}},
220220
{"Dstar", {"D^{0}pi^{+}", "D*+", "D^{*+} #rightarrow D^{0}#pi^{+} + c.c."}},
221221
{"XicToXiPiPi", {"#Xi#pi#pi", "Xi_c+", "#Xi_{c}^{+} #rightarrow #Xi^{-}#pi^{+}#pi^{+} + c.c."}}};
222-
if (particles.find(particleName.Data()) == particles.end()) {
222+
if (particles.find(particleName.c_str()) == particles.end()) {
223223
throw std::runtime_error("ERROR: only Dplus, D0, Ds, LcToPKPi, LcToPK0s, Dstar and XicToXiPiPi particles supported! Exit");
224224
}
225-
const auto& particleTuple = particles[particleName.Data()];
226-
const TString massAxisTitle = "#it{M}(" + std::get<0>(particleTuple) + ") (GeV/#it{c}^{2})";
225+
const auto& particleTuple = particles[particleName.c_str()];
226+
const std::string massAxisTitle = "#it{M}(" + std::get<0>(particleTuple) + ") (GeV/#it{c}^{2})";
227227
const double massPDG = TDatabasePDG::Instance()->GetParticle(std::get<1>(particleTuple).c_str())->Mass();
228-
const std::vector<std::string> plotLabels = {std::get<2>(particleTuple), collisionSystem.Data()};
228+
const std::vector<std::string> plotLabels = {std::get<2>(particleTuple), collisionSystem.c_str()};
229229

230230
// load inv-mass histograms
231-
auto* inputFile = TFile::Open(inputFileName.Data());
231+
auto* inputFile = TFile::Open(inputFileName.c_str());
232232
if ((inputFile == nullptr) || !inputFile->IsOpen()) {
233233
return -1;
234234
}
235235

236236
TFile* inputFileRefl = nullptr;
237237
if (enableRefl) {
238-
inputFileRefl = TFile::Open(reflFileName.Data());
238+
inputFileRefl = TFile::Open(reflFileName.c_str());
239239
if ((inputFileRefl == nullptr) || !inputFileRefl->IsOpen()) {
240240
return -1;
241241
}
@@ -391,7 +391,7 @@ int runMassFitter(const TString& configFileName)
391391
TString const ptTitle =
392392
Form("%0.2f < " + sliceVarName + " < %0.2f " + sliceVarUnit, sliceVarMin[iSliceVar], sliceVarMax[iSliceVar]);
393393
hMassForFit[iSliceVar]->SetTitle(Form("%s;%s;Counts per %0.1f MeV/#it{c}^{2}",
394-
ptTitle.Data(), massAxisTitle.Data(),
394+
ptTitle.Data(), massAxisTitle.c_str(),
395395
hMassForFit[iSliceVar]->GetBinWidth(1) * 1000));
396396
hMassForFit[iSliceVar]->SetName(Form("MassForFit%d", iSliceVar));
397397

0 commit comments

Comments
 (0)