]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/RESONANCES/AliRsnMiniEvent.h
Some updates + 1 bug fix (thanks to Massimo):
[u/mrichter/AliRoot.git] / PWGLF / RESONANCES / AliRsnMiniEvent.h
1 #ifndef ALIRSNMINIEVENT_H
2 #define ALIRSNMINIEVENT_H
3
4 //
5 // Mini-Event
6 // Contains only the useful quantities computed on the event
7 // which can be used for event mixing, or for direct output
8 // when doing analysis w.r. to multiplicity or event plane, for example.
9 //
10
11 #include <TArrayI.h>
12 #include <TClonesArray.h>
13
14 class AliRsnMiniParticle;
15
16 class AliRsnMiniEvent : public TObject {
17 public:
18
19    AliRsnMiniEvent() : fID(-1), fVz(0.0), fMult(0.0),  fTracklets(0.0), fAngle(0.0), fLeading(-1), fParticles("AliRsnMiniParticle", 0) {}
20    ~AliRsnMiniEvent() {fParticles.Delete();}
21
22    Int_t              &ID()        {return fID;}
23    Float_t            &Vz()        {return fVz;}
24    Float_t            &Mult()      {return fMult;}
25    Float_t            &Tracklets() {return fTracklets;}
26    Float_t            &Angle()     {return fAngle;}
27    TClonesArray       &Particles() {return fParticles;}
28    Bool_t              IsEmpty()   {return fParticles.IsEmpty();}
29
30    Int_t               CountParticles(TArrayI &found, Char_t charge = 0, Int_t cutID = -1);
31    AliRsnMiniParticle *GetParticle(Int_t i);
32    AliRsnMiniParticle *LeadingParticle();
33    void                AddParticle(AliRsnMiniParticle copy);
34
35 private:
36
37    Int_t         fID;         // ID number
38    Float_t       fVz;         // z-position of vertex
39    Float_t       fMult;       // multiplicity or centrality
40    Float_t       fTracklets;  // tracklets
41    Float_t       fAngle;      // angle of reaction plane to main reference frame
42
43    Int_t         fLeading;    // index of leading particle
44    TClonesArray  fParticles;  // list of selected particles
45
46    ClassDef(AliRsnMiniEvent,4)
47 };
48
49 #endif