#ifndef ALIDXHFECORRELATION_H
#define ALIDXHFECORRELATION_H
#include "TNamed.h"
class TH1;
class THnSparse;
class TObject;
class TList;
class AliHFCorrelator;
class AliVParticle;
class TObjArray;
class AliVEvent;
class AliAnalysisCuts;
class AliDxHFECorrelation : public TNamed {
public:
AliDxHFECorrelation(const char* name=NULL);
virtual ~AliDxHFECorrelation();
enum {
kEventsAll = 0,
kEventsSel,
kEventsTriggered,
kEventsCorrelated,
kNEventControlLabels
};
enum {
kD=0,
kElectron=1
} ;
int Init(const char* arguments="");
int ParseArguments(const char* arguments);
int Fill(const TObjArray* candidatesD0, const TObjArray* candidatesElectron, const AliVEvent* pEvent);
virtual int HistogramEventProperties(int bin);
virtual THnSparse* DefineTHnSparse();
virtual int FillParticleProperties(AliVParticle* tr, AliVParticle* as, Double_t* data, int dimension) const;
THnSparse* CreateControlTHnSparse(const char* name,
int thnSize,
int* thnBins,
double* thnMin,
double* thnMax,
const char** binLabels) const;
virtual void Clear(Option_t * option ="");
virtual void Print(Option_t *option="") const;
virtual void Draw(Option_t *option="");
virtual TObject* FindObject(const char *name) const;
virtual TObject* FindObject(const TObject *obj) const;
virtual void SaveAs(const char *filename="",Option_t *option="") const;
virtual void SetCuts(AliAnalysisCuts* cuts) {fCuts=cuts;}
virtual void SetUseMC(Bool_t useMC){fUseMC=useMC;}
virtual void SetEventType(int type){fEventType=type;}
Bool_t GetUseMC() const {return fUseMC;}
const TList* GetControlObjects() const {return fControlObjects;}
Double_t GetMinPhi() const {return fMinPhi;}
Double_t GetMaxPhi() const {return fMaxPhi;}
Double_t GetDeltaPhi() const {return fDeltaPhi;}
Double_t GetDeltaEta() const {return fDeltaEta;}
inline int GetDimTHnSparse() const {return fDimThn;}
Int_t GetTriggerParticleType() const {return fTriggerParticleType;}
void EventMixingChecks(const AliVEvent* pEvent);
AliDxHFECorrelation& operator+=(const AliDxHFECorrelation& other);
enum {
khD0pT,
khD0Phi,
khD0Eta,
khElectronpT,
khElectronPhi,
khElectronEta,
kNofHistograms
};
protected:
int AddControlObject(TObject* pObj);
void InitTHnSparseArray(int dimension) {
fDimThn=dimension;
if (fCorrArray) delete[] fCorrArray; fCorrArray=NULL;
if (dimension>0) fCorrArray=new Double_t[dimension];
}
inline Double_t* ParticleProperties() const {return fCorrArray;}
private:
AliDxHFECorrelation(const AliDxHFECorrelation& other);
AliDxHFECorrelation& operator=(const AliDxHFECorrelation& other);
TObjArray* fHistograms;
TList* fControlObjects;
THnSparse* fCorrProperties;
TH1* fhEventControlCorr;
AliAnalysisCuts *fCuts;
Bool_t fUseMC;
AliHFCorrelator *fCorrelator;
Bool_t fUseEventMixing;
Short_t fSystem;
Double_t fMinPhi;
Double_t fMaxPhi;
Double_t fDeltaPhi;
Double_t fDeltaEta;
int fDimThn;
Double_t* fCorrArray;
Int_t fEventType;
Int_t fTriggerParticleType;
static const char* fgkEventControlBinNames[];
ClassDef(AliDxHFECorrelation, 5)
};
#endif
AliDxHFECorrelation.h:100 AliDxHFECorrelation.h:101 AliDxHFECorrelation.h:102 AliDxHFECorrelation.h:103 AliDxHFECorrelation.h:104 AliDxHFECorrelation.h:105 AliDxHFECorrelation.h:106 AliDxHFECorrelation.h:107 AliDxHFECorrelation.h:108 AliDxHFECorrelation.h:109 AliDxHFECorrelation.h:110 AliDxHFECorrelation.h:111 AliDxHFECorrelation.h:112 AliDxHFECorrelation.h:113 AliDxHFECorrelation.h:114 AliDxHFECorrelation.h:115 AliDxHFECorrelation.h:116 AliDxHFECorrelation.h:117 AliDxHFECorrelation.h:118 AliDxHFECorrelation.h:119 AliDxHFECorrelation.h:120 AliDxHFECorrelation.h:121 AliDxHFECorrelation.h:122 AliDxHFECorrelation.h:123 AliDxHFECorrelation.h:124 AliDxHFECorrelation.h:125 AliDxHFECorrelation.h:126 AliDxHFECorrelation.h:127 AliDxHFECorrelation.h:128 AliDxHFECorrelation.h:129 AliDxHFECorrelation.h:130 AliDxHFECorrelation.h:131 AliDxHFECorrelation.h:132 AliDxHFECorrelation.h:133 AliDxHFECorrelation.h:134 AliDxHFECorrelation.h:135 AliDxHFECorrelation.h:136 AliDxHFECorrelation.h:137 AliDxHFECorrelation.h:138 AliDxHFECorrelation.h:139 AliDxHFECorrelation.h:140 AliDxHFECorrelation.h:141 AliDxHFECorrelation.h:142 AliDxHFECorrelation.h:143 AliDxHFECorrelation.h:144 AliDxHFECorrelation.h:145 AliDxHFECorrelation.h:146 AliDxHFECorrelation.h:147 AliDxHFECorrelation.h:148 AliDxHFECorrelation.h:149 AliDxHFECorrelation.h:150 AliDxHFECorrelation.h:151 AliDxHFECorrelation.h:152 AliDxHFECorrelation.h:153 AliDxHFECorrelation.h:154 AliDxHFECorrelation.h:155 AliDxHFECorrelation.h:156 AliDxHFECorrelation.h:157 AliDxHFECorrelation.h:158 AliDxHFECorrelation.h:159 AliDxHFECorrelation.h:160 AliDxHFECorrelation.h:161 AliDxHFECorrelation.h:162 AliDxHFECorrelation.h:163 AliDxHFECorrelation.h:164 AliDxHFECorrelation.h:165 AliDxHFECorrelation.h:166 AliDxHFECorrelation.h:167 AliDxHFECorrelation.h:168 AliDxHFECorrelation.h:169