]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ANALYSIS/AliFlowAnalysis.cxx
Compiler warning removed
[u/mrichter/AliRoot.git] / ANALYSIS / AliFlowAnalysis.cxx
CommitLineData
b26900d0 1#include "AliFlowAnalysis.h"
2//________________________________
3///////////////////////////////////////////////////////////
4//
5// class AliFlowAnalysis
6//
7// Flow Analysis
8//
9//
10// S.Radomski@gsi.de
11// Piotr.Skowronski@cern.ch
12//
13///////////////////////////////////////////////////////////
14/*********************************************************/
15
16#include <TString.h>
17#include <TParticle.h>
18
19#include <AliStack.h>
20#include <AliESDtrack.h>
21#include <AliESD.h>
22
23ClassImp(AliFlowAnalysis)
24
25Int_t AliFlowAnalysis::Init()
26{
27 //Initilizes anaysis
28 Info("Init","");
29 return 0;
30}
31
32/*********************************************************/
33
34Int_t AliFlowAnalysis::ProcessEvent(AliESD* esd, AliStack* stack)
35{
36
37 Info("ProcessEvent","Stack address %#x",stack);
38 Double_t psi = GetEventPlane(esd);
39 Info("ProcessEvent","Event plane is %f",psi);
40 return 0;
41
42}
43/*********************************************************/
44
45Int_t AliFlowAnalysis::Finish()
46{
47 //Finish analysis and writes results
48 Info("Init","Finish");
49 return 0;
50}
51/*********************************************************/
52
53Double_t AliFlowAnalysis::GetEventPlane(AliESD* esd)
54{
55 //returns event plane
56 Double_t psi;
57 Int_t mult = esd->GetNumberOfTracks();
58
59 Double_t ssin = 0, scos = 0;
60
61 for (Int_t i=0; i<mult; i++)
62 {
63 AliESDtrack* esdtrack = esd->GetTrack(i);
64 if (esdtrack == 0x0)
65 {
66 ::Error("GetEventPlane","Can not get track %d", i);
67 continue;
68 }
69
70 Double_t mom[3];//momentum
71 esdtrack->GetPxPyPz(mom);
72 Double_t phi = TMath::Pi()+TMath::ATan2(-mom[1],-mom[0]);
73
74 ssin += TMath::Sin( 2.0 * phi );
75 scos += TMath::Cos( 2.0 * phi );
76 }
77
78 psi = atan2 (ssin, scos) / 2.0;
79 psi = psi * 180. / TMath::Pi();
80
81 return psi;
82
83}