]>
Commit | Line | Data |
---|---|---|
76ce4b5b | 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 |