MpdFemtoVertexAnalysis.h 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /**
  2. * \class MpdFemtoVertexAnalysis
  3. * \brief Femtoscopic analysis which mixes events with vertex z-binning
  4. *
  5. * Femtoscopic analysis which mixes events with respect to the z-position
  6. * of the primary vertex
  7. *
  8. * \author Grigory Nigmatkulov (NRNU MEPhI)
  9. * \date May 18, 2019
  10. * \email nigmatkulov@gmail.com
  11. */
  12. #ifndef MpdFemtoVertexAnalysis_h
  13. #define MpdFemtoVertexAnalysis_h
  14. // MpdFemtoMaker headers
  15. #include "MpdFemtoAnalysis.h"
  16. //_________________
  17. class MpdFemtoVertexAnalysis : public MpdFemtoAnalysis {
  18. public:
  19. /// Standard constructor
  20. MpdFemtoVertexAnalysis(unsigned int bins = 10, float zMin = -100., float zMax = +100.);
  21. /// Copy constructor
  22. MpdFemtoVertexAnalysis(const MpdFemtoVertexAnalysis& copy);
  23. /// Assignment constructor
  24. MpdFemtoVertexAnalysis& operator=(const MpdFemtoVertexAnalysis& copy);
  25. /// Destructor
  26. virtual ~MpdFemtoVertexAnalysis();
  27. /// Main processor
  28. virtual void processEvent(const MpdFemtoEvent* thisEvent);
  29. /// Returns reports of all cuts applied and correlation functions being done
  30. virtual MpdFemtoString report();
  31. /// Returns number of events that have z greater than the zMax
  32. virtual unsigned int overflow() {
  33. return mOverFlow;
  34. }
  35. /// Returns number of events that have z smaller than the zMin
  36. virtual unsigned int underflow() {
  37. return mUnderFlow;
  38. }
  39. /// Return list of cut settings for the analysis
  40. virtual TList* listSettings();
  41. /// Return a TList of objects to be written as output
  42. virtual TList* getOutputList();
  43. protected:
  44. /// min/max z-vertex position allowed to be processed
  45. float mVertexZ[2];
  46. /// Number of mixing bins in z-vertex in EventMixing Buffer
  47. unsigned int mVertexBins;
  48. /// Number of events encountered which had too large z-vertex
  49. unsigned int mOverFlow;
  50. /// Number of events encountered which had too small z-vertex
  51. unsigned int mUnderFlow;
  52. ClassDef(MpdFemtoVertexAnalysis, 0)
  53. };
  54. #endif