1 ////////////////////////////////////////////////////////////////////////////
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 //
7 ////////////////////////////////////////////////////////////////////////////
8 /***************************************************************************
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
14 **************************************************************************/
16 #ifndef ALIFEMTOANALYSISAZIMUTHALPB_H
17 #define ALIFEMTOANALYSISAZIMUTHALPB_H
19 #include "AliFemtoSimpleAnalysis.h" // base analysis class
22 #include "AliAODEvent.h"
23 #include "AliFemtoPicoEventRP.h"
24 #include "AliFemtoPairCutRadialDistanceLM.h"
27 class AliFemtoPicoEventRP;
29 class AliFemtoAnalysisAzimuthalPbPb : public AliFemtoSimpleAnalysis {
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
36 AliFemtoAnalysisAzimuthalPbPb& operator=(const AliFemtoAnalysisAzimuthalPbPb& aAna);
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();
49 virtual void Finish() {;}
51 // Get the particle cuts
52 virtual AliFemtoParticleCut* FirstParticleCut() {return fFirstParticleCut;}
53 virtual AliFemtoParticleCut* SecondParticleCut() {return fSecondParticleCut;}
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);
64 AliFemtoParticleCut* fFirstParticleCut; // select particles of type #1
65 AliFemtoParticleCut* fSecondParticleCut; // select particles of type #2
66 AliFemtoPairCutRadialDistanceLM* fPairCutRD;
67 AliFemtoPicoEventRP* fPicoEventRP;
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
83 TH1F* frealpsi; // Psi distribution for real pairs as control histogram
84 TH1F* fmixedpsi; // Psi distribution for mixed pairs as control histogram
87 ClassDef(AliFemtoAnalysisAzimuthalPbPb, 0)