ROOT logo
////////////////////////////////////////////////////////////////////////////
//                                                                        //
// AliFemtoVertexMultAnalysis - Femtoscopic analysis which mixes event    //
// with respect to the z position of the primary vertex and event total   //
// multiplicity                                                           //
//                                                                        //
////////////////////////////////////////////////////////////////////////////

#ifndef ALIFEMTOVERTEXMULTANALYSIS_H
#define ALIFEMTOVERTEXMULTANALYSIS_H

#include "AliFemtoSimpleAnalysis.h"        // base analysis class

class AliFemtoVertexMultAnalysis : public AliFemtoSimpleAnalysis {

public:

  AliFemtoVertexMultAnalysis(unsigned int binsVertex=10, double minVertex=-100., double maxVertex=+100., unsigned int binsMult=10, double minMult=-1.e9, double maxMult=+1.e9);
  AliFemtoVertexMultAnalysis(const AliFemtoVertexMultAnalysis& TheOriginalAnalysis);  // copy constructor
  AliFemtoVertexMultAnalysis& operator=(const AliFemtoVertexMultAnalysis& TheOriginalAnalysis);    
  virtual void ProcessEvent(const AliFemtoEvent* ProcessThisEvent);
  virtual ~AliFemtoVertexMultAnalysis();
  virtual AliFemtoString Report();       //! returns reports of all cuts applied and correlation functions being done
  virtual unsigned int OverflowVertexZ() const { return fOverFlowVertexZ;}
  virtual unsigned int UnderflowVertexZ() const { return fUnderFlowVertexZ;}
  virtual unsigned int OverflowMult() const { return fOverFlowMult;}
  virtual unsigned int UnderflowMult() const { return fUnderFlowMult;}
protected:
  double fVertexZ[2];                 /* min/max z-vertex position allowed to be processed */
  unsigned int fVertexZBins;          /* number of VERTEX mixing bins in z-vertex in EventMixing Buffer */
  unsigned int fOverFlowVertexZ;      /* number of events encountered which had too large z-vertex */
  unsigned int fUnderFlowVertexZ;     /* number of events encountered which had too small z-vertex */
  double fMult[2];                    /* min/max multiplicity allowed for event to be processed */
  unsigned int fMultBins;             /* number of MULTIPLICITY mixing bins in z-vertex in EventMixing Buffer */
  unsigned int fOverFlowMult;         /* number of events encountered which had too large multiplicity */
  unsigned int fUnderFlowMult;        /* number of events encountered which had too small multiplicity */
  
#ifdef __ROOT__
  ClassDef(AliFemtoVertexMultAnalysis, 0)
#endif
    
};

#endif
 AliFemtoVertexMultAnalysis.h:1
 AliFemtoVertexMultAnalysis.h:2
 AliFemtoVertexMultAnalysis.h:3
 AliFemtoVertexMultAnalysis.h:4
 AliFemtoVertexMultAnalysis.h:5
 AliFemtoVertexMultAnalysis.h:6
 AliFemtoVertexMultAnalysis.h:7
 AliFemtoVertexMultAnalysis.h:8
 AliFemtoVertexMultAnalysis.h:9
 AliFemtoVertexMultAnalysis.h:10
 AliFemtoVertexMultAnalysis.h:11
 AliFemtoVertexMultAnalysis.h:12
 AliFemtoVertexMultAnalysis.h:13
 AliFemtoVertexMultAnalysis.h:14
 AliFemtoVertexMultAnalysis.h:15
 AliFemtoVertexMultAnalysis.h:16
 AliFemtoVertexMultAnalysis.h:17
 AliFemtoVertexMultAnalysis.h:18
 AliFemtoVertexMultAnalysis.h:19
 AliFemtoVertexMultAnalysis.h:20
 AliFemtoVertexMultAnalysis.h:21
 AliFemtoVertexMultAnalysis.h:22
 AliFemtoVertexMultAnalysis.h:23
 AliFemtoVertexMultAnalysis.h:24
 AliFemtoVertexMultAnalysis.h:25
 AliFemtoVertexMultAnalysis.h:26
 AliFemtoVertexMultAnalysis.h:27
 AliFemtoVertexMultAnalysis.h:28
 AliFemtoVertexMultAnalysis.h:29
 AliFemtoVertexMultAnalysis.h:30
 AliFemtoVertexMultAnalysis.h:31
 AliFemtoVertexMultAnalysis.h:32
 AliFemtoVertexMultAnalysis.h:33
 AliFemtoVertexMultAnalysis.h:34
 AliFemtoVertexMultAnalysis.h:35
 AliFemtoVertexMultAnalysis.h:36
 AliFemtoVertexMultAnalysis.h:37
 AliFemtoVertexMultAnalysis.h:38
 AliFemtoVertexMultAnalysis.h:39
 AliFemtoVertexMultAnalysis.h:40
 AliFemtoVertexMultAnalysis.h:41
 AliFemtoVertexMultAnalysis.h:42
 AliFemtoVertexMultAnalysis.h:43
 AliFemtoVertexMultAnalysis.h:44