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 AliDxHFEParticleSelectionEl.h
9 /// @author Sedat Altinpinar, Hege Erdal, Matthias Richter
11 /// @brief Electron selection for D-HFE correlations
14 #ifndef ALIDXHFEPARTICLESELECTIONEL_H
15 #define ALIDXHFEPARTICLESELECTIONEL_H
17 #include "AliDxHFEParticleSelection.h"
21 class AliHFEvarManager;
30 * @class AliDxHFEParticleSelectionEl
31 * Electron selection for D-HFE correlations, implements the specific
34 class AliDxHFEParticleSelectionEl : public AliDxHFEParticleSelection {
37 AliDxHFEParticleSelectionEl(const char* opt="");
39 virtual ~AliDxHFEParticleSelectionEl();
58 ///overloaded from AliDxHFEParticleSelection: Init
61 /// overloaded from AliDxHFEParticleSelection: init the control objects
62 virtual int InitControlObjects();
63 virtual THnSparse* DefineTHnSparse() const;
65 /// overloaded from AliDxHFEParticleSelection: check particle
66 virtual int IsSelected(AliVParticle* p, const AliVEvent*);
68 virtual int HistogramParticleProperties(AliVParticle* p, int selected);
70 // TODO: function can be renamed to better describe what it's doing
71 virtual int DefineParticleProperties(AliVParticle* p, Double_t* date, int dimension) const;
73 /// set cuts object: a type cast check is implemented in the method
74 virtual void SetCuts(TObject* /*cuts*/, int /*level*/=0);
79 /// copy contructor prohibited
80 AliDxHFEParticleSelectionEl(const AliDxHFEParticleSelectionEl&);
81 /// assignment operator prohibited
82 AliDxHFEParticleSelectionEl& operator=(const AliDxHFEParticleSelectionEl&);
84 /// check cut of specified step, e.g.
85 bool ProcessCutStep(Int_t cutStep, AliVParticle *track);
87 AliHFEpid* fPID; //! the PID object
88 THnSparse* fElectronProperties; // the particle properties of selected particles
89 TH1* fWhichCut; // effective cut for a rejected particle
90 AliHFEcuts* fCuts; //! Cuts for HF electrons
91 AliCFManager* fCFM; //! Correction Framework Manager
93 static const char* fgkTrackControlBinNames[]; //! bin labels for track control histogram
94 static const char* fgkCutBinNames[]; //! bin labels for cuts histogram
96 ClassDef(AliDxHFEParticleSelectionEl, 2);