]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/FEMTOSCOPY/AliFemto/AliFemtoAnalysisReactionPlane.h
modified Azimuthal HBT analysis (Vera R. Loggins <veraloggins@wayne.edu>)
[u/mrichter/AliRoot.git] / PWGCF / FEMTOSCOPY / AliFemto / AliFemtoAnalysisReactionPlane.h
1 ////////////////////////////////////////////////////////////////////////////
2 //                                                                        //
3 // AliFemtoAnalysisReactionPlane - Femtoscopic analysis which mixes event //
4 // with respect to the z position of the primary vertex and event total   //
5 // multiplicity and uses only events in certain reaction plane angle bin  //
6 //                                                                        //
7 ////////////////////////////////////////////////////////////////////////////
8
9 #ifndef ALIFEMTOANALYSISREACTIONPLANE_H
10 #define ALIFEMTOANALYSISREACTIONPLANE_H
11
12 #include "AliFemtoSimpleAnalysis.h"        // base analysis class
13
14 class AliFemtoAnalysisReactionPlane : public AliFemtoSimpleAnalysis {
15
16 public:
17
18   AliFemtoAnalysisReactionPlane(unsigned int binsVertex=10, double minVertex=-100., double maxVertex=+100., unsigned int binsMult=10, double minMult=-1.e9, double maxMult=+1.e9, unsigned short binsRP=10);
19   AliFemtoAnalysisReactionPlane(const AliFemtoAnalysisReactionPlane& TheOriginalAnalysis);  // copy constructor
20   AliFemtoAnalysisReactionPlane& operator=(const AliFemtoAnalysisReactionPlane& TheOriginalAnalysis); 
21   virtual void ProcessEvent(const AliFemtoEvent* ProcessThisEvent);
22   virtual ~AliFemtoAnalysisReactionPlane();
23   virtual AliFemtoString Report();       //! returns reports of all cuts applied and correlation functions being done
24   virtual unsigned int OverflowVertexZ() const { return fOverFlowVertexZ;}
25   virtual unsigned int UnderflowVertexZ() const { return fUnderFlowVertexZ;}
26   virtual unsigned int OverflowMult() const { return fOverFlowMult;}
27   virtual unsigned int UnderflowMult() const { return fUnderFlowMult;}
28   double GetCurrentReactionPlane();
29
30 protected:
31   double fVertexZ[2];                 /* min/max z-vertex position allowed to be processed */
32   unsigned int fVertexZBins;          /* number of VERTEX mixing bins in z-vertex in EventMixing Buffer */
33   unsigned int fOverFlowVertexZ;      /* number of events encountered which had too large z-vertex */
34   unsigned int fUnderFlowVertexZ;     /* number of events encountered which had too small z-vertex */
35   double fMult[2];                    /* min/max multiplicity allowed for event to be processed */
36   unsigned int fMultBins;             /* number of MULTIPLICITY mixing bins in z-vertex in EventMixing Buffer */
37   unsigned int fOverFlowMult;         /* number of events encountered which had too large multiplicity */
38   unsigned int fUnderFlowMult;        /* number of events encountered which had too small multiplicity */
39   unsigned short fRPBins;             // Number of reaction plane angle orientation bins
40   double fCurrentRP;                  // Reaction plane angle of the current event
41 #ifdef __ROOT__
42   ClassDef(AliFemtoAnalysisReactionPlane, 0)
43 #endif
44     
45 };
46
47 #endif