Uploaded image for project: 'ROOT'
  1. ROOT
  2. ROOT-9795

TFormula no longer readable

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • High
    • Resolution: Duplicate
    • 6.14/04, 6.14/06
    • 6.14/06
    • C++ modules, CINT
    • None
    • /cvmfs/atlas.cern.ch/repo/sw/software/21.2/sw/lcg/releases/LCG_94/ROOT/6.14.04/x86_64-slc6-gcc62-opt

       

    Description

      Hi everybody,

      since the upgrade to ROOT 6.14 we observe the following warning messages popping up if TF1 objects are loaded from a TFile

       

      Expression passed to Cling:
      Double_t TFormula____id10167864354852591493(Double_t x,Double_t *p){ return (p[0]/(1+TMath::Exp(-p[1](x[0]-p[2])))) ; }
      Error in <TFormula::Streamer>: number of dimension computed (1) is not same as the stored value (0)
      csc_f : ([0]/(1+ TMath::Exp([1]*(x[2])))) Ndim= 1, Npar= 3, Number= 0
      Formula expression:
      ([p0]/(1+TMath::Exp([p1]*(x[p2]))))
      List of Variables:
      Var 0 x = 0.000000
      List of Parameters:
      Par 0 p0 = 0.000000
      Par 1 p1 = 0.000000
      Par 2 p2 = 0.000000

       

      I've tried a very naive approach of reading out the file in python and then copy the content to another new file made in ROOT 6.14. However, I then observe these errors if I try to  read the new file afterwards

       

      input_line_270:2:10: error: redefinition of 'TFormula____id10167864354852591493'
      Double_t TFormula____id10167864354852591493(Double_t x,Double_t *p){ return (p[0]/(1+TMath::Exp(-p[1](x[0]-p[2])))) ; }
      ^
      input_line_232:2:10: note: previous definition is here
      Double_t TFormula____id10167864354852591493(Double_t x,Double_t *p){ return (p[0]/(1+TMath::Exp(-p[1](x[0]-p[2])))) ; }
      ^
      input_line_271:2:10: error: redefinition of 'TFormula____id10167864354852591493'
      Double_t TFormula____id10167864354852591493(Double_t x,Double_t *p){ return (p[0]/(1+TMath::Exp(-p[1](x[0]-p[2])))) ; }
      ^
      input_line_232:2:10: note: previous definition is here
      Double_t TFormula____id10167864354852591493(Double_t x,Double_t *p){ return (p[0]/(1+TMath::Exp(-p[1](x[0]-p[2])))) ; }
      ^
      input_line_272:2:10: error: redefinition of 'TFormula____id10167864354852591493'
      Double_t TFormula____id10167864354852591493(Double_t x,Double_t *p){ return (p[0]/(1+TMath::Exp(-p[1](x[0]-p[2])))) ; }
      ^
      input_line_232:2:10: note: previous definition is here
      Double_t TFormula____id10167864354852591493(Double_t x,Double_t *p){ return (p[0]/(1+TMath::Exp(-p[1](x[0]-p[2])))) ; }

       

      I'll attach the file of concern and the script which I used to remake the file to this thread. Can you have a look and tell me what I've done wrong?

       

      Many thanks,

      Johannes

       

       

      Attachments

        1. BadMuonVeto_HighPt_Z_Fixed.root
          22 kB
          Johannes Junggeburth
        2. SilentBadMuon.py
          2 kB
          Johannes Junggeburth

        Activity

          People

            moneta Lorenzo Moneta
            jojungge Johannes Junggeburth
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:
              Actual End: