#ifndef ALIDIELECTRONMIXINGHANDLER_H
#define ALIDIELECTRONMIXINGHANDLER_H
#include <TNamed.h>
#include <TObjArray.h>
#include <TClonesArray.h>
#include "AliDielectronVarManager.h"
class AliDielectron;
class AliVTrack;
class AliVEvent;
class AliDielectronMixingHandler : public TNamed {
public:
enum { kMaxCuts=10 };
enum EMixType {
kOSonly=0,
kOSandLS,
kAll
};
AliDielectronMixingHandler();
AliDielectronMixingHandler(const char*name, const char* title);
virtual ~AliDielectronMixingHandler();
void AddVariable(AliDielectronVarManager::ValueTypes type, Int_t nbins,
Double_t min, Double_t max, Bool_t log=kFALSE);
void AddVariable(AliDielectronVarManager::ValueTypes type, const char* binLimitStr);
void AddVariable(AliDielectronVarManager::ValueTypes type, TVectorD* const bins);
void SetDepth(UShort_t depth) { fDepth=depth; }
UShort_t GetDepth() const { return fDepth; }
void SetMixType(EMixType type) { fMixType=type; }
EMixType GetMixType() const { return fMixType; }
void SetMixUncomplete(Bool_t mix) { fMixIncomplete=mix; }
Bool_t GetMixUncomplete() const { return fMixIncomplete; }
void SetMoveToSameVertex(Bool_t move) { fMoveToSameVertex=move; }
Bool_t GetMoveToSameVertex() const { return fMoveToSameVertex; }
void SetSkipFirstEvent(Bool_t skip) { fSkipFirstEvt=skip; }
Int_t GetNumberOfBins() const;
Int_t FindBin(const Double_t values[], TString *dim=0x0);
void Fill(const AliVEvent *ev, AliDielectron *diele);
Bool_t MixRemaining(AliDielectron *diele, Int_t ipool);
void Init(const AliDielectron *diele=0x0);
static void MoveToSameVertex(AliVTrack * const vtrack, const Double_t vFirst[3], const Double_t vMix[3]);
private:
UShort_t fDepth;
TClonesArray fArrPools;
UShort_t fEventCuts[kMaxCuts];
TObjArray fAxes;
EMixType fMixType;
Bool_t fMixIncomplete;
Bool_t fMoveToSameVertex;
Bool_t fSkipFirstEvt;
TProcessID *fPID;
void DoMixing(TClonesArray &pool, AliDielectron *diele);
AliDielectronMixingHandler(const AliDielectronMixingHandler &c);
AliDielectronMixingHandler &operator=(const AliDielectronMixingHandler &c);
ClassDef(AliDielectronMixingHandler,1)
};
#endif
AliDielectronMixingHandler.h:1 AliDielectronMixingHandler.h:2 AliDielectronMixingHandler.h:3 AliDielectronMixingHandler.h:4 AliDielectronMixingHandler.h:5 AliDielectronMixingHandler.h:6 AliDielectronMixingHandler.h:7 AliDielectronMixingHandler.h:8 AliDielectronMixingHandler.h:9 AliDielectronMixingHandler.h:10 AliDielectronMixingHandler.h:11 AliDielectronMixingHandler.h:12 AliDielectronMixingHandler.h:13 AliDielectronMixingHandler.h:14 AliDielectronMixingHandler.h:15 AliDielectronMixingHandler.h:16 AliDielectronMixingHandler.h:17 AliDielectronMixingHandler.h:18 AliDielectronMixingHandler.h:19 AliDielectronMixingHandler.h:20 AliDielectronMixingHandler.h:21 AliDielectronMixingHandler.h:22 AliDielectronMixingHandler.h:23 AliDielectronMixingHandler.h:24 AliDielectronMixingHandler.h:25 AliDielectronMixingHandler.h:26 AliDielectronMixingHandler.h:27 AliDielectronMixingHandler.h:28 AliDielectronMixingHandler.h:29 AliDielectronMixingHandler.h:30 AliDielectronMixingHandler.h:31 AliDielectronMixingHandler.h:32 AliDielectronMixingHandler.h:33 AliDielectronMixingHandler.h:34 AliDielectronMixingHandler.h:35 AliDielectronMixingHandler.h:36 AliDielectronMixingHandler.h:37 AliDielectronMixingHandler.h:38 AliDielectronMixingHandler.h:39 AliDielectronMixingHandler.h:40 AliDielectronMixingHandler.h:41 AliDielectronMixingHandler.h:42 AliDielectronMixingHandler.h:43 AliDielectronMixingHandler.h:44 AliDielectronMixingHandler.h:45 AliDielectronMixingHandler.h:46 AliDielectronMixingHandler.h:47 AliDielectronMixingHandler.h:48 AliDielectronMixingHandler.h:49 AliDielectronMixingHandler.h:50 AliDielectronMixingHandler.h:51 AliDielectronMixingHandler.h:52 AliDielectronMixingHandler.h:53 AliDielectronMixingHandler.h:54 AliDielectronMixingHandler.h:55 AliDielectronMixingHandler.h:56 AliDielectronMixingHandler.h:57 AliDielectronMixingHandler.h:58 AliDielectronMixingHandler.h:59 AliDielectronMixingHandler.h:60 AliDielectronMixingHandler.h:61 AliDielectronMixingHandler.h:62 AliDielectronMixingHandler.h:63 AliDielectronMixingHandler.h:64 AliDielectronMixingHandler.h:65 AliDielectronMixingHandler.h:66 AliDielectronMixingHandler.h:67 AliDielectronMixingHandler.h:68 AliDielectronMixingHandler.h:69 AliDielectronMixingHandler.h:70 AliDielectronMixingHandler.h:71 AliDielectronMixingHandler.h:72 AliDielectronMixingHandler.h:73 AliDielectronMixingHandler.h:74 AliDielectronMixingHandler.h:75 AliDielectronMixingHandler.h:76 AliDielectronMixingHandler.h:77 AliDielectronMixingHandler.h:78 AliDielectronMixingHandler.h:79 AliDielectronMixingHandler.h:80 AliDielectronMixingHandler.h:81 AliDielectronMixingHandler.h:82 AliDielectronMixingHandler.h:83 AliDielectronMixingHandler.h:84 AliDielectronMixingHandler.h:85 AliDielectronMixingHandler.h:86 AliDielectronMixingHandler.h:87 AliDielectronMixingHandler.h:88 AliDielectronMixingHandler.h:89 AliDielectronMixingHandler.h:90 AliDielectronMixingHandler.h:91 AliDielectronMixingHandler.h:92 AliDielectronMixingHandler.h:93