]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/FEMTOSCOPY/AliFemtoUser/AliFemtoAnalysisAzimuthalPbPb.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGCF / FEMTOSCOPY / AliFemtoUser / AliFemtoAnalysisAzimuthalPbPb.h
CommitLineData
45eb0b7a 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 *
10 * Author: Johanna Gramling, University of Heidelberg, jgramlin@cern.ch
11 * Jorge Mercado, University of Heidelberg, jmercado@cern.ch
12 * Vera Loggins, Wayne State University, veraloggins@wayne.edu
13 *
14 **************************************************************************/
15
16#ifndef ALIFEMTOANALYSISAZIMUTHALPB_H
17#define ALIFEMTOANALYSISAZIMUTHALPB_H
18
19#include "AliFemtoSimpleAnalysis.h" // base analysis class
20#include "TH1.h"
21#include "TVector2.h"
22#include "AliAODEvent.h"
23#include "AliFemtoPicoEventRP.h"
24#include "AliFemtoPairCutRadialDistanceLM.h"
25
26class TVector2;
27class AliFemtoPicoEventRP;
28
29class AliFemtoAnalysisAzimuthalPbPb : public AliFemtoSimpleAnalysis {
30
31public:
32
33 AliFemtoAnalysisAzimuthalPbPb(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);
34 AliFemtoAnalysisAzimuthalPbPb(const AliFemtoAnalysisAzimuthalPbPb& TheOriginalAnalysis); // copy constructor
35
36 AliFemtoAnalysisAzimuthalPbPb& operator=(const AliFemtoAnalysisAzimuthalPbPb& aAna);
37
38// virtual void FillHBTParticleCollectionRP(AliFemtoParticleCut* partCut, AliFemtoEvent* hbtEvent, AliFemtoPicoEventRP* picoevent);
39 virtual void ProcessEvent(const AliFemtoEvent* ProcessThisEvent);
40 virtual ~AliFemtoAnalysisAzimuthalPbPb();
41 virtual unsigned int OverflowVertexZ() const { return fOverFlowVertexZ;}
42 virtual unsigned int UnderflowVertexZ() const { return fUnderFlowVertexZ;}
43 virtual unsigned int OverflowMult() const { return fOverFlowMult;}
44 virtual unsigned int UnderflowMult() const { return fUnderFlowMult;}
45 double GetCurrentReactionPlane();
46 TVector2 GetQVector(AliFemtoParticleCollection* particlecollection);
47 virtual void MakePairs(const char* typeIn, AliFemtoPicoEventRP *coll1, AliFemtoPicoEventRP *coll2=0);
48 virtual TList* GetOutputList();
49921cd6 49 virtual void Finish() {;}
50
45eb0b7a 51 // Get the particle cuts
52 virtual AliFemtoParticleCut* FirstParticleCut() {return fFirstParticleCut;}
53 virtual AliFemtoParticleCut* SecondParticleCut() {return fSecondParticleCut;}
54 // Set the cuts
55 void SetFirstParticleCut(AliFemtoParticleCut* x) {fFirstParticleCut = x; x->SetAnalysis((AliFemtoAnalysis*)this);}
56 void SetSecondParticleCut(AliFemtoParticleCut* x) {fSecondParticleCut = x; x->SetAnalysis((AliFemtoAnalysis*)this);}
57 void SetEventCut(AliFemtoEventCut* x) {fEventCut = x; x->SetAnalysis((AliFemtoAnalysis*)this);}
58 void SetPairCut(AliFemtoPairCut* x) {fPairCut = x; x->SetAnalysis((AliFemtoAnalysis*)this);}
59 void SetPairCutRD(AliFemtoPairCutRadialDistanceLM* x) {fPairCutRD = x; x->SetAnalysis((AliFemtoAnalysis*)this);}
60 void SetEPhistname(char* histname);
61
62protected:
63
64 AliFemtoParticleCut* fFirstParticleCut; // select particles of type #1
65 AliFemtoParticleCut* fSecondParticleCut; // select particles of type #2
66 AliFemtoPairCutRadialDistanceLM* fPairCutRD;
67 AliFemtoPicoEventRP* fPicoEventRP;
68
69 double fVertexZ[2]; /* min/max z-vertex position allowed to be processed */
70 unsigned int fVertexZBins; /* number of VERTEX mixing bins in z-vertex in EventMixing Buffer */
71 unsigned int fOverFlowVertexZ; /* number of events encountered which had too large z-vertex */
72 unsigned int fUnderFlowVertexZ; /* number of events encountered which had too small z-vertex */
73 double fMult[2]; /* min/max multiplicity allowed for event to be processed */
74 unsigned int fMultBins; /* number of MULTIPLICITY mixing bins in z-vertex in EventMixing Buffer */
75 unsigned int fOverFlowMult; /* number of events encountered which had too large multiplicity */
76 unsigned int fUnderFlowMult; /* number of events encountered which had too small multiplicity */
77 unsigned short fRPBins; // Number of reaction plane angle orientation bins
78 double fRP; // Reaction plane angle of the current event
79 TH1F* fphidist; // Phi distribution as control histogram
80 TH1F* fpairphi; // Phi distribution as control histogram
81 TH1F* fRPdist; // RP distribution as control histogram
82 TH1F* fsubRPdist;
83 TH1F* frealpsi; // Psi distribution for real pairs as control histogram
84 TH1F* fmixedpsi; // Psi distribution for mixed pairs as control histogram
85
86#ifdef __ROOT__
87 ClassDef(AliFemtoAnalysisAzimuthalPbPb, 0)
88#endif
89
90};
91
92#endif