Boost()

Hi,

I have a question regarding using Boost(). I get:

Error: Ambiguous overload resolution (10001,2) higgs.C:215:
Calling : TLorentzVector::TLorentzVector(void);

every time I try to execute this piece of code:

TLorentzVector muon1, muonboosted1;
TLorentzVector muonboosted1 = muon1.Boost(0.1,0.1,0.1);

Must be something obivous, I am sorry.

Thank you,
Alex

I cannot reproduce this problem.
Could you send the shortest possible script reproducing the problem?
Which version of ROOT? and OS/machine?

Rene

I am on lxplus.cern.ch and I use this root:
/afs/cern.ch/cms/external/lcg/external/root/5.08.00b/slc3_ia32_gcc323/root/bin/root

I have this code:

TLorentzVector muon1, muon2, muonboosted1, muonboosted2;




muon1.SetPxPyPzE( double(Phep[L_mun1][0]),double(Phep[L_mun1][1]),
                  double(Phep[L_mun1][2]),double(Phep[L_mun1][3]) );

muon2.SetPxPyPzE( double(Phep[L_mun2][0]),double(Phep[L_mun2][1]),
                  double(Phep[L_mun2][2]),double(Phep[L_mun2][3]) );


Float_t b1x = -(Zmm1.Px())/(Zmm1.E());
Float_t b1y = -(Zmm1.Py())/(Zmm1.E());
Float_t b1z = -(Zmm1.Pz())/(Zmm1.E());

cout << "x= "<<b1x <<"  y= "<<b1y <<"  z= "<<b1z <<endl;

TVector3 muon1V3 = muon1.Vect();
TLorentzVector muonboosted1 = muon1.Boost(0.1,0.1,0.1);  ///line 215

and I am trying to do this:

root [0] .L higgs.C
root [1] higgs t
root [2] t.Loop()
Ievent = 0
Error: Ambiguous overload resolution (10001,2) higgs.C:215:
Calling : TLorentzVector::TLorentzVector(void);
Match rank: file line signature
1000001 /afs/cern.ch/cms/external/lcg/external/root/5.08.00b/slc3_ia32_gcc323/root/lib/libPhysics.so -1 TLorentzVector TLorentzVector::TLorentzVector(const TLorentzVector&);
ffffffff /afs/cern.ch/cms/external/lcg/external/root/5.08.00b/slc3_ia32_gcc323/root/lib/libPhysics.so -1 TLorentzVector TLorentzVector::TLorentzVector(const TVector3&,Double_t);

  • 10001 /afs/cern.ch/cms/external/lcg/external/root/5.08.00b/slc3_ia32_gcc323/root/lib/libPhysics.so -1 TLorentzVector TLorentzVector::TLorentzVector(const Float_t*);
  • 10001 /afs/cern.ch/cms/external/lcg/external/root/5.08.00b/slc3_ia32_gcc323/root/lib/libPhysics.so -1 TLorentzVector TLorentzVector::TLorentzVector(const Double_t*);
    ffffffff /afs/cern.ch/cms/external/lcg/external/root/5.08.00b/slc3_ia32_gcc323/root/lib/libPhysics.so -1 TLorentzVector TLorentzVector::TLorentzVector(Double_t,Double_t,Double_t,Double_t);
    *** Interpreter error recovered ***

thanks,
Alex

I cannot reproduce this problem.
Could you send the shortest possible RUNNING script reproducing the problem?

Rene

Hi Rene,

I started everything from scratch and now boost seems to work and I do not see the problem anymore. Perhaps it was something else in my old script.

sorry for confusion,
Alex

I left my scripts in ~tumanov/public on lxplus.

The C file I load is hzz.C and I execute it with ploth.C

Thanks,
Alex

Oh thanks to Rene I understand now that I should have typed:

muonboosted.Boost(b) instead of
muonboosted = muon.Boost(b)