]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/correlationHF/AliDxHFEParticleSelectionMCD0.h
cleanup
[u/mrichter/AliRoot.git] / PWGHF / correlationHF / AliDxHFEParticleSelectionMCD0.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   AliDxHFEParticleSelectionMCD0.h
9 /// @author Hege Erdal, Matthias Richter
10 /// @date   2012-07-19
11 /// @brief  D0 MC selection for D-HFE correlations
12 ///
13
14 #ifndef ALIDXHFEPARTICLESELECTIONMCD0_H
15 #define ALIDXHFEPARTICLESELECTIONMCD0_H
16
17 #include "AliDxHFEParticleSelectionD0.h"
18 #include "AliDxHFEToolsMC.h"
19
20 class TH1;
21
22 /**
23  * @class AliDxHFEParticleSelectionMCD0
24  * Monte Carlo D0 selection for D-HFE correlations, implements the specific
25  * selection criteria.
26  */
27 class AliDxHFEParticleSelectionMCD0 : public AliDxHFEParticleSelectionD0 {
28   public:
29   /// constructor
30   AliDxHFEParticleSelectionMCD0(const char* opt="");
31   /// destructor
32   virtual ~AliDxHFEParticleSelectionMCD0();
33
34   /// overloaded from AliDxHFEParticleSelection: check particle
35   virtual int IsSelected(AliVParticle* p, const AliVEvent *pEvent=NULL);
36
37   virtual THnSparse* DefineTHnSparse();
38   virtual int FillParticleProperties(AliVParticle* p, Double_t* date, int dimension) const;
39   virtual AliVParticle* CreateParticle(AliVParticle* track);
40
41   /// check MC criteria
42   int CheckMC(AliVParticle* p, const AliVEvent* pEvent);
43
44   /// Flag to run over MC "stack". Not used at the moment
45   void SetUseKine(bool kine){fUseKine=kine;}
46
47   /// clear internal memory
48   virtual void Clear(const char* option="");
49
50  protected:
51
52  private:
53   /// copy contructor prohibited
54   AliDxHFEParticleSelectionMCD0(const AliDxHFEParticleSelectionMCD0&);
55   /// assignment operator prohibited
56   AliDxHFEParticleSelectionMCD0& operator=(const AliDxHFEParticleSelectionMCD0&);
57
58   AliDxHFEToolsMC fMCTools;  // MC selction tools
59   TH1* fPDGnotMCD0;          // holds PDG of not MC truth D0s
60   int fResultMC;             // Result on MC check
61   int fOriginMother;         // Holds info on the original mother particle
62   bool fUseKine;             // Whether to run over MC particles (true) or Reco (false)
63
64   ClassDef(AliDxHFEParticleSelectionMCD0, 2);
65 };
66
67 #endif