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
brun
2
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
brun
4
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)