+++ /dev/null
-////////////////////////////////////////////////////////////////////////////
-// //
-// AliFemtoAnalysisReactionPlane - Femtoscopic analysis which mixes event //
-// with respect to the z position of the primary vertex and event total //
-// multiplicity and uses only events in certain reaction plane angle bin //
-// //
-////////////////////////////////////////////////////////////////////////////
-
-#ifndef ALIFEMTOANALYSISAZIMUTHAL_H
-#define ALIFEMTOANALYSISAZIMUTHAL_H
-
-#include "AliFemtoSimpleAnalysis.h" // base analysis class
-
-class TVector2;
-
-class AliFemtoAnalysisAzimuthal : public AliFemtoSimpleAnalysis {
-
-public:
-
- AliFemtoAnalysisAzimuthal(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);
- AliFemtoAnalysisAzimuthal(const AliFemtoAnalysisAzimuthal& TheOriginalAnalysis); // copy constructor
-
- AliFemtoAnalysisAzimuthal& operator=(const AliFemtoAnalysisAzimuthal& aAna);
-
- virtual void ProcessEvent(const AliFemtoEvent* ProcessThisEvent);
- virtual ~AliFemtoAnalysisAzimuthal();
- 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;}
- double GetCurrentReactionPlane();
- TVector2 GetQVector(AliFemtoParticleCollection* particlecollection);
- virtual void MakePairs(const char* typeIn, AliFemtoParticleCollection *partCollection1, AliFemtoParticleCollection *partCollection2=0);
- virtual TList* GetOutputList();
-
- // Get the particle cuts
- virtual AliFemtoParticleCut* FemtoParticleCut() {return fFemtoParticleCut;}
- virtual AliFemtoParticleCut* FlowParticleCut() {return fFlowParticleCut;}
- // Set the cuts
- void SetFemtoParticleCut(AliFemtoParticleCut* x) {fFemtoParticleCut = x; x->SetAnalysis((AliFemtoAnalysis*)this);}
- void SetFlowParticleCut(AliFemtoParticleCut* x) {fFlowParticleCut = x; x->SetAnalysis((AliFemtoAnalysis*)this);}
- void SetEventCut(AliFemtoEventCut* x) {fEventCut = x; x->SetAnalysis((AliFemtoAnalysis*)this);}
- void SetPairCut(AliFemtoPairCut* x) {fPairCut = x; x->SetAnalysis((AliFemtoAnalysis*)this);}
-
-protected:
-
- AliFemtoParticleCut* fFemtoParticleCut; // select particles of type #1
- AliFemtoParticleCut* fFlowParticleCut; // select particles of type #2
-
- 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 */
- unsigned short fRPBins; // Number of reaction plane angle orientation bins
- double fPsi; // Reaction plane angle of the current event
-
-#ifdef __ROOT__
- ClassDef(AliFemtoAnalysisAzimuthal, 0)
-#endif
-
-};
-
-#endif