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 AliDxHFEParticleSelectionMCEl.h
9 /// @author Hege Erdal, Matthias Richter
11 /// @brief El MC selection for D-HFE correlations
14 #ifndef ALIDXHFEPARTICLESELECTIONMCEL_H
15 #define ALIDXHFEPARTICLESELECTIONMCEL_H
17 #include "AliDxHFEParticleSelectionEl.h"
18 #include "AliDxHFEToolsMC.h"
24 * @class AliDxHFEParticleSelectionMCEl
25 * Monte Carlo electron selection for D-HFE correlations, implements the specific
28 class AliDxHFEParticleSelectionMCEl : public AliDxHFEParticleSelectionEl {
31 AliDxHFEParticleSelectionMCEl(const char* opt="");
33 virtual ~AliDxHFEParticleSelectionMCEl();
35 //Overload Init function from electron selection class
38 // Setting up control objects: overloaded from AliDxHFEParticleSelection
39 virtual THnSparse* DefineTHnSparse();
41 virtual int FillParticleProperties(AliVParticle* p, Double_t* date, int dimension) const;
42 virtual AliVParticle* CreateParticle(AliVParticle* track);
45 /// overloaded from AliDxHFEParticleSelection: check particle
46 virtual int IsSelected(AliVParticle* p, const AliVEvent *pEvent=NULL);
49 int CheckMC(AliVParticle* p, const AliVEvent* pEvent);
51 /// clear internal memory
52 virtual void Clear(const char* option="");
57 /// copy contructor prohibited
58 AliDxHFEParticleSelectionMCEl(const AliDxHFEParticleSelectionMCEl&);
59 /// assignment operator prohibited
60 AliDxHFEParticleSelectionMCEl& operator=(const AliDxHFEParticleSelectionMCEl&);
62 int ParseArguments(const char* arguments);
63 /// TODO: check if the label definitions can be used from the ToolsMC
64 static const char* fgkPDGMotherBinLabels[];
65 static const char* fgkPDGBinLabels[];
67 AliDxHFEToolsMC fMCTools; // MC selection tools
68 TH1* fPDGnotMCElectron; //! PDG of track not MC truth electron
69 TH1* fPDGNotHFMother; //! PDG of mother not HF
70 int fOriginMother; // Holds the origin motherquark (process)
71 int fResultMC; // Holds information on check on MC
72 Bool_t fUseKine; // Run over MC stack
73 vector<int> fMotherPDGs; // list off mothers counted as background
74 Bool_t fUseMCReco; // Run over all MC reconstructed tracks
75 Int_t fSelectionStep; // Where to stop track selection
76 Bool_t fStoreCutStepInfo; // Whether to store which cut step is the effective one
79 ClassDef(AliDxHFEParticleSelectionMCEl, 4);