]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGHF/correlationHF/AliDxHFEParticleSelectionEl.h
Update in D-electon correlation code (Hege, Matthias)
[u/mrichter/AliRoot.git] / PWGHF / correlationHF / AliDxHFEParticleSelectionEl.h
index 5c3b627464b13bafeb1672889766a41c869c1c37..e3a91b665cb0609d6ad3c9e9b85bec547e5165e8 100644 (file)
 #define ALIDXHFEPARTICLESELECTIONEL_H
 
 #include "AliDxHFEParticleSelection.h"
+class AliPID;
+class AliPIDResponse;
+class AliHFEcuts;
+class AliHFEvarManager;
+class AliHFEpid;
+class AliHFEpidBase;
+class AliHFEtools;
+class AliVEvent;
+class AliCFManager;
+class TH1;
 
 /**
  * @class AliDxHFEParticleSelectionEl
@@ -28,8 +38,25 @@ class AliDxHFEParticleSelectionEl : public AliDxHFEParticleSelection {
   /// destructor
   virtual ~AliDxHFEParticleSelectionEl();
 
+  enum {
+    kCutHFE = 0,
+    kCutPID = 1,
+    kNCuts
+  };
+
+  /// overloaded from AliDxHFEParticleSelection: init the control objects
+  virtual int InitControlObjects();
+
   /// overloaded from AliDxHFEParticleSelection: check particle
-  virtual bool IsSelected(AliVParticle* p);
+  virtual int IsSelected(AliVParticle* p, const AliVEvent*);
+
+  virtual int HistogramParticleProperties(AliVParticle* p, int selected);
+
+  // overloaded from AliDxHFEParticleSelection: specific for electrons
+  //virtual TObjArray* Select(const AliVEvent *pEvent);
+
+  /// set cuts object: a type cast check is implemented in the method
+  virtual void SetCuts(TObject* /*cuts*/, int /*level*/=0);
 
  protected:
 
@@ -39,7 +66,17 @@ class AliDxHFEParticleSelectionEl : public AliDxHFEParticleSelection {
   /// assignment operator prohibited
   AliDxHFEParticleSelectionEl& operator=(const AliDxHFEParticleSelectionEl&);
 
-  ClassDef(AliDxHFEParticleSelectionEl, 1);
+  /// check cut of specified step, e.g.
+  bool ProcessCutStep(Int_t cutStep, AliVParticle *track);
+
+  AliHFEpid*    fPID;                //! the PID object
+  THnSparse*    fElectronProperties; // the particle properties of selected particles
+  TH1*          fWhichCut;           // effective cut for a rejected particle
+  AliHFEcuts*   fCuts;               //! Cuts for HF electrons
+  AliCFManager* fCFM;                //! Correction Framework Manager
+
+
+  ClassDef(AliDxHFEParticleSelectionEl, 2);
 };
 
 #endif