]>
Commit | Line | Data |
---|---|---|
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 | ||
26 | class TVector2; | |
27 | class AliFemtoPicoEventRP; | |
28 | ||
29 | class AliFemtoAnalysisAzimuthalPbPb : public AliFemtoSimpleAnalysis { | |
30 | ||
31 | public: | |
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 | ||
62 | protected: | |
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 |