]>
Commit | Line | Data |
---|---|---|
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 | 21 | class TTree; |
bc231a12 | 22 | class TF1; |
929098e4 | 23 | class AliFlowVector; |
f1d945a1 | 24 | class AliFlowTrackSimple; |
929098e4 | 25 | class AliFlowTrackSimpleCuts; |
f1d945a1 | 26 | |
27 | class 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 |