excuse me, i am trying to compile and run a C++ code using root and i get this error "can’t open TLorentzVector.h " However the TLorentzVector.h header exist in the include library file ! what should i do to fix this problem ?
Can you append your code or directly the macro that you are using?
Maybe add
root-config --cflags
to you compile line so that the compiler knows where to find the ROOT header files?
TRotation r; v.Transform(r); or v *= r; // Attention v=M*v
i construct a four vector for di-leptons then i calculate the invariant mass of the system, but i get that error, the function as fellows:-
#include "TLorentzVector.h"
-
-
-
//=== Methode to calculate the mass ===
float ZprimeMuMu_FR_MiniAod::Mass(float Pt1,float Eta1,float Phi1,float En1,
float Pt2,float Eta2,float Phi2,float En2)
{
float MuMuMass = 0.0;
TLorentzVector Mu1;
TLorentzVector Mu2;
Mu1.SetPtEtaPhiM(Pt1,Eta1,Phi1,En1);
Mu2.SetPtEtaPhiM(Pt2,Eta2,Phi2,En2);
MuMuMass = (Mu1 + Mu2).M();
return MuMuMass;
}
excuse me, can you clarify it
where i have to compile this statment ?
sorry, can you explain !
How to you “build/compile” your code? What is the step that is leading to an error? What is the exact wording of the error?
Error : Can’t open TLorentzVector.h
You need to show the “command line” which you execute (the one that leads to this error).
[20] #include <----->
[21] #include <TLorentzVector.h>
[22] #include < ----->
the compiler stops and give an error at line 22 as the following screenshot
Attach “ZprimeMuMu_FR_MiniAod.C” and “ZprimeMuMu_FR_MiniAod.h” for inspection.
BTW. There is no “compiler” involved. It is just the ROOT “interpreter”. Which ROOT version? Which operating system? What do you get from:
ls -al `root-config --incdir`/TLorentzVector.h
i use root 5.34
linux - ubuntu
Which Ubuntu version exactly?
How did you install ROOT?
i get > no such file or directory
What do you get from: root-config --incdir
/usr/include/root
It seems to me that you use the very old Ubuntu provided ROOT version. You’d better get rid of it completely (e.g. execute “sudo apt-get purge root-system* root-plugin* libroot*” and afterwards check that the “/usr/lib/i386-linux-gnu/root5.34” and the “/usr/lib/x86_64-linux-gnu/root5.34” subdirectories disappeared completely).
when i excute the command to remove the root version wich i use i get :-
E: The package libndp0 needs to be reinstalled, but I can’t find an archive for it.
Try something like:
sudo apt-get install --reinstall libndp0