forked from alisw/AliPhysics
-
Notifications
You must be signed in to change notification settings - Fork 0
/
AliMixEventPool.h
64 lines (49 loc) · 1.88 KB
/
AliMixEventPool.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
//
// Class AliMixEventPool
//
// AliMixEventPool is used to find
// similar events
//
// author:
// Martin Vala ([email protected])
//
#ifndef ALIMIXEVENTPOOL_H
#define ALIMIXEVENTPOOL_H
#include <TObjArray.h>
#include <TNamed.h>
class TEntryList;
class AliMixEventCutObj;
class AliVEvent;
class AliMixEventPool : public TNamed {
public:
AliMixEventPool(const char *name = "mixEventPool", const char *title = "Mix event pool");
AliMixEventPool(const AliMixEventPool &obj);
AliMixEventPool &operator= (const AliMixEventPool &obj);
virtual ~AliMixEventPool();
// prints object info
virtual void Print(const Option_t *option = "") const;
// inits correctly object
Int_t Init();
void CreateEntryListsRecursivly(Int_t index);
void SearchIndexRecursive(Int_t num, Int_t *i, Int_t *d, Int_t &index);
TEntryList *AddEntryList();
Bool_t AddEntry(Long64_t entry, AliVEvent *ev);
TEntryList *FindEntryList(AliVEvent *ev, Int_t &idEntryList);
void AddCut(AliMixEventCutObj *cut);
Bool_t NeedInit() { return (fListOfEntryList.GetEntries() == 0); }
TObjArray *GetListOfEntryLists() { return &fListOfEntryList; }
TObjArray *GetListOfEventCuts() { return &fListOfEventCuts; }
Bool_t SetCutValuesFromBinIndex(Int_t index);
void SetBufferSize(Int_t buffer) { fBufferSize = buffer; }
void SetMixNumber(Int_t numMix) { fMixNumber = numMix; }
Int_t GetBufferSize() const { return fBufferSize; }
Int_t GetMixNumber() const { return fMixNumber; }
private:
TObjArray fListOfEntryList; // list of entry lists
TObjArray fListOfEventCuts; // list of entry lists
Int_t fBinNumber; // bin number
Int_t fBufferSize; // buffer size
Int_t fMixNumber; // mixing number
ClassDef(AliMixEventPool, 1)
};
#endif