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 AliDxHFEParticleSelectionD0.h
9 /// @author Sedat Altinpinar, Hege Erdal, Matthias Richter
11 /// @brief D0 selection for D-HFE correlations
14 #ifndef ALIDXHFEPARTICLESELECTIOND0_H
15 #define ALIDXHFEPARTICLESELECTIOND0_H
17 #include "AliDxHFEParticleSelection.h"
23 * @class AliDxHFEParticleSelectionD0
24 * D0 selection for D-HFE correlations, implements the specific
27 class AliDxHFEParticleSelectionD0 : public AliDxHFEParticleSelection {
30 AliDxHFEParticleSelectionD0(const char* opt="");
32 virtual ~AliDxHFEParticleSelectionD0();
34 /// overloaded from AliDxHFEParticleSelection: init the control objects
35 virtual int InitControlObjects();
37 //Function for daughter control objects
38 //TODO: move to AliDxHFEParticleSelection to be used for several particles?
39 virtual int InitControlObjectsDaughters(TString name, int daughter);
41 //Overloaded from AliDxHFEParticleSelection
42 virtual TObjArray* Select(TObjArray* particles, const AliVEvent* pEvent);
43 using AliDxHFEParticleSelection::Select;
45 /// overloaded from AliDxHFEParticleSelection: check particle
46 virtual int IsSelected(AliVParticle* p, const AliVEvent *pEvent=NULL);
47 /// overloaded from AliDxHFEParticleSelection: set cuts
48 virtual void SetCuts(TObject* /*cuts*/, int level=0);
50 //AliRDHFCutsD0toKpi GetCuts()const {return fCuts;}
51 Int_t GetFillOnlyD0D0bar() const {return fFillOnlyD0D0bar;}
54 /// overloaded from AliDxHFEParticleSelection: histogram particle properties
55 virtual int HistogramParticleProperties(AliVParticle* p, int selected=1);
58 /// copy contructor prohibited
59 AliDxHFEParticleSelectionD0(const AliDxHFEParticleSelectionD0&);
60 /// assignment operator prohibited
61 AliDxHFEParticleSelectionD0& operator=(const AliDxHFEParticleSelectionD0&);
63 THnSparse* fD0Properties; // the particle properties of selected particles
64 THnSparse* fD0Daughter0; // the particle properties of selected particles
65 THnSparse* fD0Daughter1; // the particle properties of selected particles
66 AliRDHFCuts* fCuts; //! pointer to external cuts object
67 Int_t fFillOnlyD0D0bar; // flag to set what to fill (0 = both, 1 = D0 only, 2 = D0bar only)
69 // TODO: at the moment the dimensions of the different THnSparse objects are different
70 // needs to be consolidated
71 // TODO: one might need particle properties of all and/or at different cut stages
73 ClassDef(AliDxHFEParticleSelectionD0, 2);