@@ -543,12 +543,6 @@ class RooAddPdfStreamer : public RooFit::JSONIO::Exporter {
543543 {
544544 const RooArg_t *pdf = static_cast <const RooArg_t *>(func);
545545 elem[" type" ] << key ();
546- std::string name = elem[" name" ].val ();
547- /* elem["name"] << RooJSONFactoryWSTool::sanitizeName(name);
548- RooJSONFactoryWSTool::fillSeqSanitizedName(elem["summands"], pdf->pdfList());
549- RooJSONFactoryWSTool::fillSeqSanitizedName(elem["coefficients"], pdf->coefList());
550- */
551- elem[" name" ] << name;
552546 RooJSONFactoryWSTool::fillSeq (elem[" summands" ], pdf->pdfList ());
553547 RooJSONFactoryWSTool::fillSeq (elem[" coefficients" ], pdf->coefList ());
554548 elem[" extended" ] << (pdf->extendMode () != RooArg_t::CanNotBeExtended);
@@ -563,12 +557,6 @@ class RooRealSumPdfStreamer : public RooFit::JSONIO::Exporter {
563557 {
564558 const RooRealSumPdf *pdf = static_cast <const RooRealSumPdf *>(func);
565559 elem[" type" ] << key ();
566- std::string name = elem[" name" ].val ();
567- /* elem["name"] << RooJSONFactoryWSTool::sanitizeName(name);
568- RooJSONFactoryWSTool::fillSeqSanitizedName(elem["samples"], pdf->funcList());
569- RooJSONFactoryWSTool::fillSeqSanitizedName(elem["coefficients"], pdf->coefList());
570- */
571- elem[" name" ] << name;
572560 RooJSONFactoryWSTool::fillSeq (elem[" samples" ], pdf->funcList ());
573561 RooJSONFactoryWSTool::fillSeq (elem[" coefficients" ], pdf->coefList ());
574562 elem[" extended" ] << (pdf->extendMode () != RooAbsPdf::CanNotBeExtended);
@@ -583,12 +571,6 @@ class RooRealSumFuncStreamer : public RooFit::JSONIO::Exporter {
583571 {
584572 const RooRealSumFunc *pdf = static_cast <const RooRealSumFunc *>(func);
585573 elem[" type" ] << key ();
586- std::string name = elem[" name" ].val ();
587- /* elem["name"] << RooJSONFactoryWSTool::sanitizeName(name);
588- RooJSONFactoryWSTool::fillSeqSanitizedName(elem["samples"], pdf->funcList());
589- RooJSONFactoryWSTool::fillSeqSanitizedName(elem["coefficients"], pdf->coefList());
590- */
591- elem[" name" ] << name;
592574 RooJSONFactoryWSTool::fillSeq (elem[" samples" ], pdf->funcList ());
593575 RooJSONFactoryWSTool::fillSeq (elem[" coefficients" ], pdf->coefList ());
594576 return true ;
@@ -687,6 +669,7 @@ class RooFormulaArgStreamer : public RooFit::JSONIO::Exporter {
687669 const RooArg_t *pdf = static_cast <const RooArg_t *>(func);
688670 elem[" type" ] << key ();
689671 TString expression (pdf->expression ());
672+ cleanExpression (expression);
690673 // If the tokens follow the "x[#]" convention, the square braces enclosing each number
691674 // ensures that there is a unique mapping between the token and parameter name
692675 // If the tokens follow the "@#" convention, the numbers are not enclosed by braces.
@@ -701,6 +684,18 @@ class RooFormulaArgStreamer : public RooFit::JSONIO::Exporter {
701684 elem[" expression" ] << expression.Data ();
702685 return true ;
703686 }
687+ private:
688+ void cleanExpression (TString& expr) const
689+ {
690+ expr.ReplaceAll (" TMath::Exp" , " exp" );
691+ expr.ReplaceAll (" TMath::Min" , " min" );
692+ expr.ReplaceAll (" TMath::Max" , " max" );
693+ expr.ReplaceAll (" TMath::Log" , " log" );
694+ expr.ReplaceAll (" TMath::Cos" , " cos" );
695+ expr.ReplaceAll (" TMath::Sin" , " sin" );
696+ expr.ReplaceAll (" TMath::Sqrt" , " sqrt" );
697+ expr.ReplaceAll (" TMath::Power" , " pow" );
698+ }
704699};
705700template <class RooArg_t >
706701class RooPolynomialStreamer : public RooFit ::JSONIO::Exporter {
@@ -784,9 +779,6 @@ class RooTruthModelStreamer : public RooFit::JSONIO::Exporter {
784779 {
785780 auto *pdf = static_cast <const RooTruthModel *>(func);
786781 elem[" type" ] << key ();
787- std::string name = elem[" name" ].val ();
788- // elem["name"] << RooJSONFactoryWSTool::sanitizeName(name);
789- elem[" name" ] << name;
790782 elem[" x" ] << pdf->convVar ().GetName ();
791783
792784 return true ;
@@ -800,9 +792,6 @@ class RooGaussModelStreamer : public RooFit::JSONIO::Exporter {
800792 {
801793 auto *pdf = static_cast <const RooGaussModel *>(func);
802794 elem[" type" ] << key ();
803- std::string name = elem[" name" ].val ();
804- // elem["name"] << RooJSONFactoryWSTool::sanitizeName(name);
805- elem[" name" ] << name;
806795 elem[" x" ] << pdf->convVar ().GetName ();
807796 elem[" mean" ] << pdf->getMean ().GetName ();
808797 elem[" sigma" ] << pdf->getSigma ().GetName ();
@@ -913,10 +902,6 @@ class RooRealIntegralStreamer : public RooFit::JSONIO::Exporter {
913902 bool exportObject (RooJSONFactoryWSTool *, const RooAbsArg *func, JSONNode &elem) const override
914903 {
915904 auto *integral = static_cast <const RooRealIntegral *>(func);
916- std::string name = elem[" name" ].val ();
917- // elem["name"] << RooJSONFactoryWSTool::sanitizeName(name);
918- elem[" name" ] << name;
919-
920905 elem[" type" ] << key ();
921906 std::string integrand = integral->integrand ().GetName ();
922907 // elem["integrand"] << RooJSONFactoryWSTool::sanitizeName(integrand);
0 commit comments