]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/FLOW/AliFlowCommon/AliFlowEventSimple.h
putting more functionality into the flow event
[u/mrichter/AliRoot.git] / PWG2 / FLOW / AliFlowCommon / AliFlowEventSimple.h
CommitLineData
f1d945a1 1/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2* See cxx source for full Copyright notice */
3/* $Id$ */
4
929098e4 5/*****************************************************************
6 AliFlowEventSimple: A simple event
7 for flow analysis
8
9 origin: Naomi van der Kolk (kolk@nikhef.nl)
10 Ante Bilandzic (anteb@nikhef.nl)
11 Raimond Snellings (Raimond.Snellings@nikhef.nl)
12 mods: Mikolaj Krzewicki (mikolaj.krzewicki@cern.ch)
13*****************************************************************/
f1d945a1 14
929098e4 15#ifndef ALIFLOWEVENTSIMPLE_H
16#define ALIFLOWEVENTSIMPLE_H
17
18#include "TObject.h"
c076fda8 19#include "TParameter.h"
929098e4 20class TTree;
21class AliFlowVector;
f1d945a1 22class AliFlowTrackSimple;
929098e4 23class AliFlowTrackSimpleCuts;
f1d945a1 24
25class AliFlowEventSimple: public TObject {
26
27 public:
46bec39c 28 AliFlowEventSimple();
e35ddff0 29 AliFlowEventSimple(Int_t aLenght);
929098e4 30 AliFlowEventSimple(TTree* anInput, const AliFlowTrackSimpleCuts* rpCuts, const AliFlowTrackSimpleCuts* poiCuts);
e35ddff0 31 AliFlowEventSimple(const AliFlowEventSimple& anEvent);
32 AliFlowEventSimple& operator=(const AliFlowEventSimple& anEvent);
f1d945a1 33 virtual ~AliFlowEventSimple();
c076fda8 34
35 Bool_t IsFolder() const {return kTRUE;};
29195b69 36 void Browse(TBrowser *b);
37 void Print(Option_t* option = "") const; //method to print stats
f1d945a1 38
929098e4 39 Int_t NumberOfTracks() const { return fNumberOfTracks; }
929098e4 40 Int_t GetEventNSelTracksRP() const { return fEventNSelTracksRP; }
41 void SetEventNSelTracksRP(Int_t nr) { fEventNSelTracksRP = nr; }
42 Double_t GetMCReactionPlaneAngle() const { return fMCReactionPlaneAngle; }
43 void SetMCReactionPlaneAngle(Double_t fPhiRP) { fMCReactionPlaneAngle=fPhiRP; fMCReactionPlaneAngleIsSet=kTRUE; }
124fb262 44 Bool_t IsSetMCReactionPlaneAngle() const { return fMCReactionPlaneAngleIsSet; }
929098e4 45
7382279b 46 void ResolutionPt(Double_t res);
940a5ed1 47 void TagSubeventsInEta(Double_t etaMinA, Double_t etaMaxA, Double_t etaMinB, Double_t etaMaxB );
929098e4 48 void CloneTracks(Int_t n);
124fb262 49 void AddFlow( Double_t flow );
26c4cbb9 50
f1d945a1 51 AliFlowTrackSimple* GetTrack(Int_t i);
7382279b 52 void AddTrack( AliFlowTrackSimple* track );
03a02aca 53
54 AliFlowVector GetQ(Int_t n=2, TList *weightsList=NULL, Bool_t usePhiWeights=kFALSE, Bool_t usePtWeights=kFALSE, Bool_t useEtaWeights=kFALSE);
29195b69 55 void Get2Qsub(AliFlowVector* Qarray, Int_t n=2, TList *weightsList=NULL, Bool_t usePhiWeights=kFALSE, Bool_t usePtWeights=kFALSE, Bool_t useEtaWeights=kFALSE);
395fadba 56
124fb262 57 //these should go away!!!!
58 TObjArray* TrackCollection() const { return fTrackCollection; } //deprecated!
59 void SetNumberOfTracks(Int_t nr) { fNumberOfTracks = nr; }
60
7382279b 61 protected:
929098e4 62 TObjArray* fTrackCollection; // collection of tracks
63 Int_t fNumberOfTracks; // number of tracks
64 Int_t fEventNSelTracksRP; // number of tracks that have passed the RP selection
65 Double_t fMCReactionPlaneAngle; // the angle of the reaction plane from the MC truth
66 Bool_t fMCReactionPlaneAngleIsSet; // did we set it from MC?
67 TParameter<Int_t>* fNumberOfTracksWrap; //! number of tracks in TBrowser
68 TParameter<Int_t>* fEventNSelTracksRPWrap; //! number of tracks that have passed the RP selection in TBrowser
a12990bb 69 TParameter<Double_t>* fMCReactionPlaneAngleWrap; //! the angle of the reaction plane from the MC truth in TBrowser
29195b69 70
1918addd 71 ClassDef(AliFlowEventSimple,1) // simplified event used in flow analysis
f1d945a1 72};
73
74#endif
5fef318d 75
76