]>
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: | |
9fa64edc | 30 | |
31 | enum ConstructionMethod {kEmpty,kGenerate}; | |
32 | ||
46bec39c | 33 | AliFlowEventSimple(); |
bc231a12 | 34 | AliFlowEventSimple( Int_t nParticles, |
9fa64edc | 35 | ConstructionMethod m=kEmpty, |
36 | TF1* ptDist=NULL, | |
37 | Double_t phiMin=0.0, | |
bc231a12 | 38 | Double_t phiMax=TMath::TwoPi(), |
39 | Double_t etaMin=-1.0, | |
40 | Double_t etaMax= 1.0 ); | |
929098e4 | 41 | AliFlowEventSimple(TTree* anInput, const AliFlowTrackSimpleCuts* rpCuts, const AliFlowTrackSimpleCuts* poiCuts); |
e35ddff0 | 42 | AliFlowEventSimple(const AliFlowEventSimple& anEvent); |
43 | AliFlowEventSimple& operator=(const AliFlowEventSimple& anEvent); | |
f1d945a1 | 44 | virtual ~AliFlowEventSimple(); |
c076fda8 | 45 | |
46 | Bool_t IsFolder() const {return kTRUE;}; | |
29195b69 | 47 | void Browse(TBrowser *b); |
48 | void Print(Option_t* option = "") const; //method to print stats | |
f1d945a1 | 49 | |
929098e4 | 50 | Int_t NumberOfTracks() const { return fNumberOfTracks; } |
85d2ee8d | 51 | Int_t GetReferenceMultiplicity() const { return fReferenceMultiplicity; } |
52 | void SetReferenceMultiplicity( Int_t m ) { fReferenceMultiplicity = m; } | |
bc231a12 | 53 | Int_t GetEventNSelTracksRP() const { return fNumberOfRPs; } |
54 | void SetEventNSelTracksRP(Int_t nr) { fNumberOfRPs = nr; } | |
59dab33a | 55 | Int_t GetNumberOfRPs() const { return fNumberOfRPs; } |
56 | void SetNumberOfRPs( Int_t nr ) { fNumberOfRPs=nr; } | |
929098e4 | 57 | Double_t GetMCReactionPlaneAngle() const { return fMCReactionPlaneAngle; } |
58 | void SetMCReactionPlaneAngle(Double_t fPhiRP) { fMCReactionPlaneAngle=fPhiRP; fMCReactionPlaneAngleIsSet=kTRUE; } | |
124fb262 | 59 | Bool_t IsSetMCReactionPlaneAngle() const { return fMCReactionPlaneAngleIsSet; } |
bc231a12 | 60 | void SetAfterBurnerPrecision(Double_t p) { fAfterBurnerPrecision=p; } |
61 | Double_t GetAfterBurnerPrecision() const { return fAfterBurnerPrecision; } | |
9fa64edc | 62 | void SetUserModified(Bool_t s=kTRUE) { fUserModified=s; } |
63 | Bool_t IsUserModified() const { return fUserModified; } | |
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 ); |
076df7bf | 67 | void TagSubeventsByCharge(); |
dd91b595 | 68 | void TagRP(AliFlowTrackSimpleCuts* cuts ); |
69 | void TagPOI(AliFlowTrackSimpleCuts* cuts ); | |
929098e4 | 70 | void CloneTracks(Int_t n); |
bc231a12 | 71 | void AddV1( Double_t v1 ); |
244c607a | 72 | void AddV2( Double_t v2 ); |
54089829 | 73 | void AddV3( Double_t v3 ); |
bc231a12 | 74 | void AddV4( Double_t v4 ); |
1a80f9f6 | 75 | void AddV5( Double_t v5 ); |
76 | void AddFlow( Double_t v1, Double_t v2, Double_t v3, Double_t v4, Double_t v5 ); | |
77 | void AddFlow(Double_t v1, Double_t v2, Double_t v3, Double_t v4, Double_t v5, | |
78 | Double_t rp1, Double_t rp2, Double_t rp3, Double_t rp4, Double_t rp5 ); | |
99ff691b | 79 | void AddV2( TF1* ptDepV2 ); |
34b15925 | 80 | void DefineDeadZone( Double_t etaMin, Double_t etaMax, Double_t phiMin, Double_t phiMax ); |
81 | Int_t CleanUpDeadTracks(); | |
7d27a354 | 82 | void ClearFast(); |
26c4cbb9 | 83 | |
99ff691b | 84 | static TF1* SimplePtSpectrum(); |
85 | static TF1* SimplePtDepV2(); | |
86 | ||
f1d945a1 | 87 | AliFlowTrackSimple* GetTrack(Int_t i); |
7382279b | 88 | void AddTrack( AliFlowTrackSimple* track ); |
03a02aca | 89 | |
90 | AliFlowVector GetQ(Int_t n=2, TList *weightsList=NULL, Bool_t usePhiWeights=kFALSE, Bool_t usePtWeights=kFALSE, Bool_t useEtaWeights=kFALSE); | |
29195b69 | 91 | void Get2Qsub(AliFlowVector* Qarray, Int_t n=2, TList *weightsList=NULL, Bool_t usePhiWeights=kFALSE, Bool_t usePtWeights=kFALSE, Bool_t useEtaWeights=kFALSE); |
395fadba | 92 | |
7382279b | 93 | protected: |
9fa64edc | 94 | virtual void Generate( Int_t nParticles, |
95 | TF1* ptDist=NULL, | |
96 | Double_t phiMin=0.0, | |
97 | Double_t phiMax=TMath::TwoPi(), | |
98 | Double_t etaMin=-1.0, | |
99 | Double_t etaMax= 1.0 ); | |
100 | ||
7d27a354 | 101 | //data members |
bc231a12 | 102 | TObjArray* fTrackCollection; //-> collection of tracks |
7d27a354 | 103 | Int_t fReferenceMultiplicity; // reference multiplicity |
929098e4 | 104 | Int_t fNumberOfTracks; // number of tracks |
bc231a12 | 105 | Int_t fNumberOfRPs; // number of tracks that have passed the RP selection |
929098e4 | 106 | Double_t fMCReactionPlaneAngle; // the angle of the reaction plane from the MC truth |
107 | Bool_t fMCReactionPlaneAngleIsSet; // did we set it from MC? | |
bc231a12 | 108 | Double_t fAfterBurnerPrecision; // iteration precision in afterburner |
9fa64edc | 109 | Bool_t fUserModified; // did we modify the event in any way (afterburner etc) ? |
929098e4 | 110 | TParameter<Int_t>* fNumberOfTracksWrap; //! number of tracks in TBrowser |
bc231a12 | 111 | TParameter<Int_t>* fNumberOfRPsWrap; //! number of tracks that have passed the RP selection in TBrowser |
112 | TParameter<Double_t>* fMCReactionPlaneAngleWrap; //! the angle of the reaction plane from the MC truth in TBrowser | |
29195b69 | 113 | |
bc231a12 | 114 | ClassDef(AliFlowEventSimple,1) |
f1d945a1 | 115 | }; |
116 | ||
117 | #endif | |
5fef318d | 118 | |
119 |