Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
hepsim:usage_full [2017/04/03 00:59]
hepsim17 [Using C++/ROOT with LCIO]
hepsim:usage_full [2017/09/21 13:48]
hepsim17
Line 3: Line 3:
 [[:|<< back to HepSim manual]] [[:|<< back to HepSim manual]]
  
-====== Full simulations  ======+====== Analysis of LCIO files  ======
  
 Currently, the Geant4-based detector simulation can be done using the SLIC software. You will need to convert ProMC files to LCIO files and Currently, the Geant4-based detector simulation can be done using the SLIC software. You will need to convert ProMC files to LCIO files and
Line 106: Line 106:
 ====== Using C++/ROOT with LCIO ====== ====== Using C++/ROOT with LCIO ======
  
-If you need to read LCIO files in C++ code with ROOT/FastJet, use this example package:+If you need to read LCIO files in C++ code with ROOT/FastJet, use the example package [[https://github.com/chekanov/HepSim]].
  
 <code bash> <code bash>
-wget http://atlaswww.hep.anl.gov/hepsim/soft/lcio-cpp.tgz -O - | tar -xz; +git clone https://github.com/chekanov/HepSim 
-cd lcio-cpp; make +cd HepSim/analysis/cpp_lcio
 </code> </code>
-It will compile "example.cpp" file linking FastJet package. Look at README file to see how to install the "LCIO" package required by this example.  Your LCIO" files from HepSim should be in the directory "data".+Look at README file to see how to install the "LCIO" package required by this example.  Your LCIO" files from HepSim should be in the directory "data".
  
  
-Your program to read SLCIO files can look as this:+Generally, you program to read SLCIO files can look as this:
  
 +<hidden Click here to show the code example>
 <code cpp> <code cpp>
 string input="data.slcio"; string input="data.slcio";
Line 126: Line 127:
       if (nEvents==0) UTIL::LCTOOLS::dumpEvent( evt ) ;       if (nEvents==0) UTIL::LCTOOLS::dumpEvent( evt ) ;
            cout << "  Run : " << evt->getRunNumber() << " Detector: "      << evt->getDetectorName() <<  endl ;            cout << "  Run : " << evt->getRunNumber() << " Detector: "      << evt->getDetectorName() <<  endl ;
-       
-       
-       
-       
-       
            // print stored EVGEN parameters            // print stored EVGEN parameters
 +           const LCParameters& params=evt->getParameters();
            StringVec floatKeys ;            StringVec floatKeys ;
            int nFloatParameters = params.getFloatKeys( floatKeys ).size() ;            int nFloatParameters = params.getFloatKeys( floatKeys ).size() ;
Line 167: Line 164:
   lcReader->close() ;   lcReader->close() ;
 </code> </code>
 +</hidden>
  
 This code example shows how to print float parameters from the EVGEN level (copied from the input ProMC). This code example shows how to print float parameters from the EVGEN level (copied from the input ProMC).