]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/FEMTOSCOPY/AliFemto/AliFemtoAnalysisAzimuthal.h
updates in macros for Femto QA in train
[u/mrichter/AliRoot.git] / PWGCF / FEMTOSCOPY / AliFemto / AliFemtoAnalysisAzimuthal.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 ALIFEMTOANALYSISAZIMUTHAL_H
10 #define ALIFEMTOANALYSISAZIMUTHAL_H
11
12 #include "AliFemtoSimpleAnalysis.h"        // base analysis class
13
14 class TVector2;
15
16 class AliFemtoAnalysisAzimuthal : public AliFemtoSimpleAnalysis {
17
18 public:
19
20   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);
21   AliFemtoAnalysisAzimuthal(const AliFemtoAnalysisAzimuthal& TheOriginalAnalysis);  // copy constructor
22
23   AliFemtoAnalysisAzimuthal& operator=(const AliFemtoAnalysisAzimuthal& aAna);
24
25   virtual void ProcessEvent(const AliFemtoEvent* ProcessThisEvent);
26   virtual ~AliFemtoAnalysisAzimuthal();
27   virtual unsigned int OverflowVertexZ() const { return fOverFlowVertexZ;}
28   virtual unsigned int UnderflowVertexZ() const { return fUnderFlowVertexZ;}
29   virtual unsigned int OverflowMult() const { return fOverFlowMult;}
30   virtual unsigned int UnderflowMult() const { return fUnderFlowMult;}
31   double GetCurrentReactionPlane();
32   TVector2 GetQVector(AliFemtoParticleCollection* particlecollection);
33   virtual void MakePairs(const char* typeIn, AliFemtoParticleCollection *partCollection1, AliFemtoParticleCollection *partCollection2=0);
34   virtual TList* GetOutputList();
35
36  // Get the particle cuts
37   virtual AliFemtoParticleCut*   FemtoParticleCut() {return fFemtoParticleCut;}
38   virtual AliFemtoParticleCut*   FlowParticleCut() {return fFlowParticleCut;}
39  // Set the cuts
40   void SetFemtoParticleCut(AliFemtoParticleCut* x) {fFemtoParticleCut = x; x->SetAnalysis((AliFemtoAnalysis*)this);}
41   void SetFlowParticleCut(AliFemtoParticleCut* x) {fFlowParticleCut = x; x->SetAnalysis((AliFemtoAnalysis*)this);}
42   void SetEventCut(AliFemtoEventCut* x) {fEventCut = x; x->SetAnalysis((AliFemtoAnalysis*)this);}
43   void SetPairCut(AliFemtoPairCut* x) {fPairCut = x; x->SetAnalysis((AliFemtoAnalysis*)this);}
44
45 protected:
46
47   AliFemtoParticleCut*          fFemtoParticleCut;    //  select particles of type #1 
48   AliFemtoParticleCut*          fFlowParticleCut;   //  select particles of type #2 
49
50   double fVertexZ[2];                 /* min/max z-vertex position allowed to be processed */
51   unsigned int fVertexZBins;          /* number of VERTEX mixing bins in z-vertex in EventMixing Buffer */
52   unsigned int fOverFlowVertexZ;      /* number of events encountered which had too large z-vertex */
53   unsigned int fUnderFlowVertexZ;     /* number of events encountered which had too small z-vertex */
54   double fMult[2];                    /* min/max multiplicity allowed for event to be processed */
55   unsigned int fMultBins;             /* number of MULTIPLICITY mixing bins in z-vertex in EventMixing Buffer */
56   unsigned int fOverFlowMult;         /* number of events encountered which had too large multiplicity */
57   unsigned int fUnderFlowMult;        /* number of events encountered which had too small multiplicity */
58   unsigned short fRPBins;             // Number of reaction plane angle orientation bins
59   double fPsi;                          // Reaction plane angle of the current event
60
61 #ifdef __ROOT__
62   ClassDef(AliFemtoAnalysisAzimuthal, 0)
63 #endif
64     
65 };
66
67 #endif