]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/FLOW/AliFlowCommon/AliFlowEventSimple.h
added reference mult
[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"
bc231a12 20#include "TMath.h"
929098e4 21class TTree;
bc231a12 22class TF1;
929098e4 23class AliFlowVector;
f1d945a1 24class AliFlowTrackSimple;
929098e4 25class AliFlowTrackSimpleCuts;
f1d945a1 26
27class AliFlowEventSimple: public TObject {
28
29 public:
46bec39c 30 AliFlowEventSimple();
e35ddff0 31 AliFlowEventSimple(Int_t aLenght);
bc231a12 32 AliFlowEventSimple( Int_t nParticles,
33 TF1* ptDist,
34 Double_t phiMin=0,
35 Double_t phiMax=TMath::TwoPi(),
36 Double_t etaMin=-1.0,
37 Double_t etaMax= 1.0 );
929098e4 38 AliFlowEventSimple(TTree* anInput, const AliFlowTrackSimpleCuts* rpCuts, const AliFlowTrackSimpleCuts* poiCuts);
e35ddff0 39 AliFlowEventSimple(const AliFlowEventSimple& anEvent);
40 AliFlowEventSimple& operator=(const AliFlowEventSimple& anEvent);
f1d945a1 41 virtual ~AliFlowEventSimple();
c076fda8 42
bc231a12 43 virtual void Generate( Int_t nParticles,
44 TF1* ptDist,
45 Double_t phiMin=0,
46 Double_t phiMax=TMath::TwoPi(),
47 Double_t etaMin=-1.0,
48 Double_t etaMax= 1.0 );
49
c076fda8 50 Bool_t IsFolder() const {return kTRUE;};
29195b69 51 void Browse(TBrowser *b);
52 void Print(Option_t* option = "") const; //method to print stats
f1d945a1 53
929098e4 54 Int_t NumberOfTracks() const { return fNumberOfTracks; }
ef0e31f9 55 Int_t GetRefMultiplicity() const { return fRefMultiplicity; }
56 void SetRefMultiplicity( Int_t m ) { fRefMultiplicity = m; }
bc231a12 57 Int_t GetEventNSelTracksRP() const { return fNumberOfRPs; }
58 void SetEventNSelTracksRP(Int_t nr) { fNumberOfRPs = nr; }
929098e4 59 Double_t GetMCReactionPlaneAngle() const { return fMCReactionPlaneAngle; }
60 void SetMCReactionPlaneAngle(Double_t fPhiRP) { fMCReactionPlaneAngle=fPhiRP; fMCReactionPlaneAngleIsSet=kTRUE; }
124fb262 61 Bool_t IsSetMCReactionPlaneAngle() const { return fMCReactionPlaneAngleIsSet; }
bc231a12 62 void SetAfterBurnerPrecision(Double_t p) { fAfterBurnerPrecision=p; }
63 Double_t GetAfterBurnerPrecision() const { return fAfterBurnerPrecision; }
929098e4 64
7382279b 65 void ResolutionPt(Double_t res);
940a5ed1 66 void TagSubeventsInEta(Double_t etaMinA, Double_t etaMaxA, Double_t etaMinB, Double_t etaMaxB );
929098e4 67 void CloneTracks(Int_t n);
bc231a12 68 void AddV1( Double_t v1 );
244c607a 69 void AddV2( Double_t v2 );
bc231a12 70 void AddV4( Double_t v4 );
71 void AddFlow( Double_t v1, Double_t v2, Double_t v4 );
26c4cbb9 72
f1d945a1 73 AliFlowTrackSimple* GetTrack(Int_t i);
7382279b 74 void AddTrack( AliFlowTrackSimple* track );
03a02aca 75
76 AliFlowVector GetQ(Int_t n=2, TList *weightsList=NULL, Bool_t usePhiWeights=kFALSE, Bool_t usePtWeights=kFALSE, Bool_t useEtaWeights=kFALSE);
29195b69 77 void Get2Qsub(AliFlowVector* Qarray, Int_t n=2, TList *weightsList=NULL, Bool_t usePhiWeights=kFALSE, Bool_t usePtWeights=kFALSE, Bool_t useEtaWeights=kFALSE);
395fadba 78
124fb262 79 //these should go away!!!!
80 TObjArray* TrackCollection() const { return fTrackCollection; } //deprecated!
81 void SetNumberOfTracks(Int_t nr) { fNumberOfTracks = nr; }
82
7382279b 83 protected:
bc231a12 84 TObjArray* fTrackCollection; //-> collection of tracks
ef0e31f9 85 Int_t fRefMultiplicity; // reference multiplicity
929098e4 86 Int_t fNumberOfTracks; // number of tracks
bc231a12 87 Int_t fNumberOfRPs; // number of tracks that have passed the RP selection
929098e4 88 Double_t fMCReactionPlaneAngle; // the angle of the reaction plane from the MC truth
89 Bool_t fMCReactionPlaneAngleIsSet; // did we set it from MC?
bc231a12 90 Double_t fAfterBurnerPrecision; // iteration precision in afterburner
929098e4 91 TParameter<Int_t>* fNumberOfTracksWrap; //! number of tracks in TBrowser
bc231a12 92 TParameter<Int_t>* fNumberOfRPsWrap; //! number of tracks that have passed the RP selection in TBrowser
93 TParameter<Double_t>* fMCReactionPlaneAngleWrap; //! the angle of the reaction plane from the MC truth in TBrowser
29195b69 94
bc231a12 95 ClassDef(AliFlowEventSimple,1)
f1d945a1 96};
97
98#endif
5fef318d 99
100