]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/RESONANCES/AliRsnMiniEvent.h
42184774ad46e559690eab6bcfe55eeb27fecc21
[u/mrichter/AliRoot.git] / PWG2 / 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), 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&            Angle()     {return fAngle;}
26    TClonesArray&       Particles() {return fParticles;}
27    Bool_t              IsEmpty()   {return fParticles.IsEmpty();}
28    
29    Int_t               CountParticles(TArrayI &found, Char_t charge = 0, Int_t cutID = -1);
30    AliRsnMiniParticle* GetParticle(Int_t i);
31    AliRsnMiniParticle* LeadingParticle();
32    void                AddParticle(AliRsnMiniParticle copy);
33    
34 private:
35    
36    Int_t         fID;         // ID number
37    Float_t       fVz;         // z-position of vertex
38    Float_t       fMult;       // multiplicity or centrality
39    Float_t       fAngle;      // angle of reaction plane to main reference frame
40    
41    Int_t         fLeading;    // index of leading particle
42    TClonesArray  fParticles;  // list of selected particles
43    
44    ClassDef(AliRsnMiniEvent,2)
45 };
46
47 #endif