]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/correlationHF/AliDxHFECorrelation.h
Update in D-electron correlation macros (Matthias)
[u/mrichter/AliRoot.git] / PWGHF / correlationHF / AliDxHFECorrelation.h
CommitLineData
72c0a987 1//-*- Mode: C++ -*-
2// $Id$
3
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 *
7
8/// @file AliDxHFECorrelation.h
9/// @author Sedat Altinpinar, Hege Erdal, Matthias Richter
10/// @date 2012-04-25
11/// @brief Worker class for D0-HF electron correlation
12///
13
14#ifndef ALIDXHFECORRELATION_H
15#define ALIDXHFECORRELATION_H
16
17#include "TNamed.h"
18
9535cec9 19class AliRDHFCutsD0toKpi;
20class TH1;
21class THnSparse;
22class TObject;
23class TList;
72c0a987 24
25class AliDxHFECorrelation : public TNamed {
26 public:
27 /// default constructor
28 AliDxHFECorrelation(const char* name=NULL);
29 /// destructor
30 virtual ~AliDxHFECorrelation();
31
9535cec9 32 // event control histogram
33 enum {
34 kEventsAll = 0, // all events
35 kEventsSel, // selected events
36 kEventsD0 , // events with D0s
37 kEventsD0e, // events with correlated D0s
38 kNEventControlLabels
39 };
40
72c0a987 41 // init
42 int Init();
43
44 /// fill histograms from particles
45 int Fill(const TObjArray* candidatesD0, const TObjArray* candidatesElectron);
46
9535cec9 47 /// histogram event properties
48 virtual int HistogramEventProperties(int bin);
49
72c0a987 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*
62
9535cec9 63 virtual void SetCuts(AliRDHFCutsD0toKpi* cuts) {fCuts=cuts;}
64 virtual void SetUseMC(Bool_t useMC){fUseMC=useMC;}
65
66 Bool_t GetUseMC() const {return fUseMC;}
67 const TList* GetControlObjects() const {return fControlObjects;}
68
69
72c0a987 70 AliDxHFECorrelation& operator+=(const AliDxHFECorrelation& other);
71
9535cec9 72
73 // Probably not needed anymore, since code was changed to THnSparse
74 // but keep here in case we need it later
72c0a987 75 enum {
76 khD0pT, // TH1F
77 khD0Phi, // TH1F
78 khD0Eta, // TH1F
79 khElectronpT, // TH1F
80 khElectronPhi, // TH1F
81 khElectronEta, // TH1F
72c0a987 82 kNofHistograms
83 };
84
85 protected:
9535cec9 86 /// add control object to list, the base class becomes owner of the object
87 int AddControlObject(TObject* pObj);
88
72c0a987 89 private:
90 /// copy constructor
91 AliDxHFECorrelation(const AliDxHFECorrelation& other);
92 /// assignment operator
93 AliDxHFECorrelation& operator=(const AliDxHFECorrelation& other);
94
9535cec9 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
101
102 static const char* fgkEventControlBinNames[];
103 static const char* fgkCorrControlBinNames[];
72c0a987 104
9535cec9 105 ClassDef(AliDxHFECorrelation, 2)
72c0a987 106};
107#endif