1 #ifndef __ALIJETCORRELMIXER_H__
2 #define __ALIJETCORRELMIXER_H__
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
7 //__________________________________________
8 // Event mixing class. A 6-dimensinal pool fPool is maintained:
9 // type(fixed), type_idx(fixed), vertex(fixed), centrality(fixed),
10 // and event(dynamic), particle(dynamic)
11 // fixed dimensions are fixed at task initialization time (via AliJetCorrelSelector)
12 // event&particle are allow to float during runtime (via linked lists TList=event & CorrelList_t=particle)
13 //-- Author: Paul Constantin
15 #include "AliJetCorrelSelector.h"
16 #include "AliJetCorrelWriter.h"
18 namespace JetCorrelHD {
19 class AliJetCorrelMixer : public TObject {
24 void Init(AliJetCorrelSelector * const s, AliJetCorrelMaker * const m, AliJetCorrelWriter * const w);
27 void FillPool(CorrelList_t *partList, UInt_t pIdx, UInt_t vBin, UInt_t cBin);
28 UInt_t PoolSize(PoolType_t pType, UInt_t vBin, UInt_t cBin);
29 void CleanPool(PoolType_t pType);
31 void Mix(UInt_t vBin, UInt_t cBin, UInt_t it, UInt_t ia, UInt_t ic);
33 void ShowPool(PoolType_t pType, UInt_t vBin, UInt_t cBin);
34 void ShowSummary(PoolType_t pType, UInt_t pIdx, UInt_t vBin, UInt_t cBin);
37 AliJetCorrelSelector* fSelector; // user selection object
38 AliJetCorrelMaker* fMaker; // correlation maker object
39 AliJetCorrelWriter* fWriter; // output writer object
40 CorrelList_t *TriggEvnt, *AssocEvnt; // particle lists
41 CorrelListIter_t AssocIter, TriggIter; // particle list iterators
42 UInt_t fNumCentBins, fNumVertBins, fPoolDepth, fNumCorrel, fNumTriggs, fNumAssocs; // counters
43 TList* fPool[2][kMAXNUMCORREL][kMAXVERTBIN][kMAXCENTBIN]; // the particle pools used for mixing
45 // disable (make private) copy constructor and assignment operator:
46 AliJetCorrelMixer(const AliJetCorrelMixer&);
47 AliJetCorrelMixer* operator=(const AliJetCorrelMixer&);
49 ClassDef(AliJetCorrelMixer, 1);