4 //* This file is property of and copyright by the ALICE Project *
5 //* ALICE Experiment at CERN, All rights reserved. *
6 //* See cxx source for full Copyright notice *
8 /// @file AliDxHFECorrelation.h
9 /// @author Sedat Altinpinar, Hege Erdal, Matthias Richter
11 /// @brief Worker class for D0-HF electron correlation
14 #ifndef ALIDXHFECORRELATION_H
15 #define ALIDXHFECORRELATION_H
19 class AliRDHFCutsD0toKpi;
25 class AliDxHFECorrelation : public TNamed {
27 /// default constructor
28 AliDxHFECorrelation(const char* name=NULL);
30 virtual ~AliDxHFECorrelation();
32 // event control histogram
34 kEventsAll = 0, // all events
35 kEventsSel, // selected events
36 kEventsD0 , // events with D0s
37 kEventsD0e, // events with correlated D0s
44 /// fill histograms from particles
45 int Fill(const TObjArray* candidatesD0, const TObjArray* candidatesElectron);
47 /// histogram event properties
48 virtual int HistogramEventProperties(int bin);
50 /// overloaded from TObject: cleanup
51 virtual void Clear(Option_t * option ="");
52 /// overloaded from TObject: print info
53 virtual void Print(Option_t *option="") const;
54 /// overloaded from TObject: draw histograms
55 virtual void Draw(Option_t *option="");
56 /// overloaded from TObject: find object by name
57 virtual TObject* FindObject(const char *name) const;
58 /// overloaded from TObject: find object by pointer
59 virtual TObject* FindObject(const TObject *obj) const;
60 /// overloaded from TObject: save to file
61 virtual void SaveAs(const char *filename="",Option_t *option="") const; // *MENU*
63 virtual void SetCuts(AliRDHFCutsD0toKpi* cuts) {fCuts=cuts;}
64 virtual void SetUseMC(Bool_t useMC){fUseMC=useMC;}
66 Bool_t GetUseMC() const {return fUseMC;}
67 const TList* GetControlObjects() const {return fControlObjects;}
70 AliDxHFECorrelation& operator+=(const AliDxHFECorrelation& other);
73 // Probably not needed anymore, since code was changed to THnSparse
74 // but keep here in case we need it later
80 khElectronPhi, // TH1F
81 khElectronEta, // TH1F
86 /// add control object to list, the base class becomes owner of the object
87 int AddControlObject(TObject* pObj);
91 AliDxHFECorrelation(const AliDxHFECorrelation& other);
92 /// assignment operator
93 AliDxHFECorrelation& operator=(const AliDxHFECorrelation& other);
95 TObjArray* fHistograms; // the histograms - for the moment not in use.
96 TList* fControlObjects; // list of control objects
97 THnSparse* fCorrProperties; // the Correlation properties of selected particles
98 TH1* fhEventControlCorr; // event control histogram
99 AliRDHFCutsD0toKpi *fCuts; // Cuts
100 Bool_t fUseMC; // use MC info
102 static const char* fgkEventControlBinNames[];
103 static const char* fgkCorrControlBinNames[];
105 ClassDef(AliDxHFECorrelation, 2)