]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/correlationHF/AliDxHFEParticleSelectionEl.h
Update in D-electon correlation code (Hege, Matthias)
[u/mrichter/AliRoot.git] / PWGHF / correlationHF / AliDxHFEParticleSelectionEl.h
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   AliDxHFEParticleSelectionEl.h
9 /// @author Sedat Altinpinar, Hege Erdal, Matthias Richter
10 /// @date   2012-03-19
11 /// @brief  Electron selection for D-HFE correlations
12 ///
13
14 #ifndef ALIDXHFEPARTICLESELECTIONEL_H
15 #define ALIDXHFEPARTICLESELECTIONEL_H
16
17 #include "AliDxHFEParticleSelection.h"
18 class AliPID;
19 class AliPIDResponse;
20 class AliHFEcuts;
21 class AliHFEvarManager;
22 class AliHFEpid;
23 class AliHFEpidBase;
24 class AliHFEtools;
25 class AliVEvent;
26 class AliCFManager;
27 class TH1;
28
29 /**
30  * @class AliDxHFEParticleSelectionEl
31  * Electron selection for D-HFE correlations, implements the specific
32  * selection criteria.
33  */
34 class AliDxHFEParticleSelectionEl : public AliDxHFEParticleSelection {
35   public:
36   /// constructor
37   AliDxHFEParticleSelectionEl(const char* opt="");
38   /// destructor
39   virtual ~AliDxHFEParticleSelectionEl();
40
41   enum {
42     kCutHFE = 0,
43     kCutPID = 1,
44     kNCuts
45   };
46
47   /// overloaded from AliDxHFEParticleSelection: init the control objects
48   virtual int InitControlObjects();
49
50   /// overloaded from AliDxHFEParticleSelection: check particle
51   virtual int IsSelected(AliVParticle* p, const AliVEvent*);
52
53   virtual int HistogramParticleProperties(AliVParticle* p, int selected);
54
55   // overloaded from AliDxHFEParticleSelection: specific for electrons
56   //virtual TObjArray* Select(const AliVEvent *pEvent);
57
58   /// set cuts object: a type cast check is implemented in the method
59   virtual void SetCuts(TObject* /*cuts*/, int /*level*/=0);
60
61  protected:
62
63  private:
64   /// copy contructor prohibited
65   AliDxHFEParticleSelectionEl(const AliDxHFEParticleSelectionEl&);
66   /// assignment operator prohibited
67   AliDxHFEParticleSelectionEl& operator=(const AliDxHFEParticleSelectionEl&);
68
69   /// check cut of specified step, e.g.
70   bool ProcessCutStep(Int_t cutStep, AliVParticle *track);
71
72   AliHFEpid*    fPID;                //! the PID object
73   THnSparse*    fElectronProperties; // the particle properties of selected particles
74   TH1*          fWhichCut;           // effective cut for a rejected particle
75   AliHFEcuts*   fCuts;               //! Cuts for HF electrons
76   AliCFManager* fCFM;                //! Correction Framework Manager
77
78
79   ClassDef(AliDxHFEParticleSelectionEl, 2);
80 };
81
82 #endif