#include <iostream>
 
 
 
 
 
 
 
 
   TFile f1(
"mathcoreVectorIO_F.root",
"RECREATE");
 
 
   
   TTree t1(
"t1",
"Tree with new Float LorentzVector");
 
 
   t1.Branch(
"LV branch",
"ROOT::Math::XYZTVectorF",&
v1);
 
 
   for (
int i = 0; i < 
n; ++i) {
 
      double Px = 
R.Gaus(0,10);
 
      double Py = 
R.Gaus(0,10);
 
      double Pz = 
R.Gaus(0,10);
 
      double E  = 
R.Gaus(100,10);
 
      v1->SetCoordinates(Px,Py,Pz,
E);
 
   }
 
   std::cout << 
" Time for new Float Vector " << timer.
RealTime() << 
"  " << timer.
CpuTime() << std::endl;
 
}
 
void read() {
 
 
   TFile f1(
"mathcoreVectorIO_F.root");
 
 
   
 
   t1->SetBranchAddress(
"LV branch",&
v1);
 
 
   int n = (int) 
t1->GetEntries();
 
   std::cout << 
" Tree Entries " << 
n << std::endl;
 
   double etot=0;
   for (
int i = 0; i < 
n; ++i) {
 
   }
 
   std::cout << 
" Time for new Float Vector " << timer.
RealTime() << 
"  " << timer.
CpuTime() << std::endl;
 
   std::cout << 
" E average" << 
n<< 
"  " << etot << 
"  " << etot/double(
n) << endl;
 
}
 
void runIt() {
 
#if defined(__CINT__) && !defined(__MAKECINT__)
 
   cout << "This tutorial can run only using ACliC, you must run it by doing: " << endl;
   cout << "\t  .L tutorials/math/mathcoreVectorFloatIO.C+" << endl;
   cout << "\t  runIt()" << endl;
#endif
   int nEvents = 100000;
   write(nEvents);
   read();
}
 
void mathcoreVectorFloatIO() {
#if defined(__CINT__) && !defined(__MAKECINT__)
 
   cout << "This tutorial can run only using ACliC, you must run it by doing: " << endl;
   cout << "\t  .L tutorials/math/mathcoreVectorFloatIO.C+" << endl;
   cout << "\t  runIt()" << endl;
 
#endif
}
#define R(a, b, c, d, e, f, g, h, i)
 
R__EXTERN TSystem * gSystem
 
A ROOT file is a suite of consecutive data records (TKey instances) with a well defined format.
 
virtual Int_t Write(const char *name=0, Int_t option=0, Int_t bufsize=0)
Write this object to the current directory.
 
This is the base class for the ROOT Random number generators.
 
Double_t RealTime()
Stop the stopwatch (if it is running) and return the realtime (in seconds) passed between the start a...
 
void Start(Bool_t reset=kTRUE)
Start the stopwatch.
 
Double_t CpuTime()
Stop the stopwatch (if it is running) and return the cputime (in seconds) passed between the start an...
 
void Stop()
Stop the stopwatch.
 
virtual int Load(const char *module, const char *entry="", Bool_t system=kFALSE)
Load a shared library.
 
A TTree represents a columnar dataset.
 
LorentzVector< PxPyPzE4D< float > > XYZTVectorF
LorentzVector based on x,y,x,t (or px,py,pz,E) coordinates in float precision with metric (-,...
 
constexpr Double_t E()
Base of natural log: