RunAnalyzer_PIDQA.C 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  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. const Char_t* pidFile = "/mnt/pool/rhic/4/parfenovpeter/STAR/OUT/200gev/merge/pid_fit.root";
  31. //_________________
  32. void RunAnalyzer_PIDQA(const Char_t *inFileName = defaultFileName,
  33. const Char_t *oFileName = "oPIDQATest.root",
  34. const Char_t *pidFileName = pidFile) {
  35. // Next line is not needed if you are not running in a standalone mode
  36. gROOT->ProcessLine("#define _VANILLA_ROOT_");
  37. //gSystem->Load("$FEMTOSOFT/StFemtoEvent/libStFemtoDst.so");
  38. gSystem->Load("/mnt/pool/rhic/4/parfenovpeter/STAR/build/libStFemtoDst.so");
  39. TString str;
  40. str = ".x FemtoDstAnalyzer_PIDQA.C+(\"";
  41. str += inFileName;
  42. str += "\",\"";
  43. str += oFileName;
  44. str += "\",\"";
  45. str += pidFileName;
  46. str += "\")";
  47. gROOT->ProcessLine( str.Data() );
  48. // Next line should be commented if you run in a batch mode
  49. //gROOT->ProcessLine(".!rm -f FemtoDstAnalyzer_C* ");
  50. }