RunAnalyzer_PID.C 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /**
  2. * \brief Helper macros for analyzing name.femtoDst.root files using FemtoDstAnalyzer.C
  3. *
  4. * This macros takes inFileName argument with a femtoDst.root file
  5. * or with a list of files (name.lis or name.list). It sets _VANILLA_ROOT_
  6. * (necessary for standalone mode), loads pre-compiled libStFemtoDst.so
  7. * (from StFemtoEvent), compiles and executes a text
  8. * FemtoDstAnalyzer.C macro with passing inFileName to it, and
  9. * cleans up the directory from the compilation products at the end.
  10. *
  11. * Some details:
  12. * inFileName - is a name of name.femtoDst.root file or a name
  13. * of a name.lis(t) files that contains a list of
  14. * name1.femtoDst.root files.
  15. * NOTE: inFileName should contain either /absolutePath/inFileName
  16. * or /relative2currentDir/inFileName
  17. * It is assumed that FemtoDstAnalyzer.C is placed in the same
  18. * directory where the RunAnalyzer.C is stored.
  19. *
  20. * \author Grigory Nigmatkulov
  21. * \date July 5, 2018
  22. */
  23. // ROOT headers
  24. #include "TROOT.h"
  25. #include "TSystem.h"
  26. #include "TString.h"
  27. const Char_t* defaultFileName = "/mnt/pool/rhic/4/parfenovpeter/STAR/list/200gev_run_12132011.list";
  28. //const Char_t* defaultFileName = "/mnt/pool/rhic/4/parfenovpeter/STAR/list/middle_200gev_run_12132011.list";
  29. //const Char_t* defaultFileName = "/mnt/pool/rhic/4/parfenovpeter/STAR/list/little_200gev_run_12132011.list";
  30. //_________________
  31. void RunAnalyzer_PID(const Char_t *inFileName = defaultFileName,
  32. const Char_t *oFileName = "oPIDTest.root") {
  33. // Next line is not needed if you are not running in a standalone mode
  34. gROOT->ProcessLine("#define _VANILLA_ROOT_");
  35. //gSystem->Load("$FEMTOSOFT/StFemtoEvent/libStFemtoDst.so");
  36. gSystem->Load("/mnt/pool/rhic/4/parfenovpeter/STAR/build/libStFemtoDst.so");
  37. TString str;
  38. str = ".x /mnt/pool/rhic/4/parfenovpeter/STAR/Analysis/macro/Flow/FemtoDstAnalyzer_PID.C+(\"";
  39. str += inFileName;
  40. str += "\",\"";
  41. str += oFileName;
  42. str += "\")";
  43. gROOT->ProcessLine( str.Data() );
  44. // Next line should be commented if you run in a batch mode
  45. //gROOT->ProcessLine(".!rm -f FemtoDstAnalyzer_C* ");
  46. }