]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - PWGHF/correlationHF/AliDxHFEParticleSelectionMCEl.h
Removing left-over "return".
[u/mrichter/AliRoot.git] / PWGHF / correlationHF / AliDxHFEParticleSelectionMCEl.h
... / ...
CommitLineData
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 AliDxHFEParticleSelectionMCEl.h
9/// @author Hege Erdal, Matthias Richter
10/// @date 2012-07-19
11/// @brief El MC selection for D-HFE correlations
12///
13
14#ifndef ALIDXHFEPARTICLESELECTIONMCEL_H
15#define ALIDXHFEPARTICLESELECTIONMCEL_H
16
17#include "AliDxHFEParticleSelectionEl.h"
18#include "AliDxHFEToolsMC.h"
19
20class THnSparse;
21class TH1;
22
23/**
24 * @class AliDxHFEParticleSelectionMCEl
25 * Monte Carlo electron selection for D-HFE correlations, implements the specific
26 * selection criteria.
27 */
28class AliDxHFEParticleSelectionMCEl : public AliDxHFEParticleSelectionEl {
29 public:
30 /// constructor
31 AliDxHFEParticleSelectionMCEl(const char* opt="");
32 /// destructor
33 virtual ~AliDxHFEParticleSelectionMCEl();
34
35 //Overload Init function from electron selection class
36 virtual int Init();
37
38 // Setting up control objects: overloaded from AliDxHFEParticleSelection
39 virtual THnSparse* DefineTHnSparse();
40
41 virtual int FillParticleProperties(AliVParticle* p, Double_t* date, int dimension) const;
42 virtual AliVParticle* CreateParticle(AliVParticle* track);
43
44
45 /// overloaded from AliDxHFEParticleSelection: check particle
46 virtual int IsSelected(AliVParticle* p, const AliVEvent *pEvent=NULL);
47
48 /// check MC criteria
49 int CheckMC(AliVParticle* p, const AliVEvent* pEvent);
50
51 /// clear internal memory
52 virtual void Clear(const char* option="");
53
54 protected:
55
56 private:
57 /// copy contructor prohibited
58 AliDxHFEParticleSelectionMCEl(const AliDxHFEParticleSelectionMCEl&);
59 /// assignment operator prohibited
60 AliDxHFEParticleSelectionMCEl& operator=(const AliDxHFEParticleSelectionMCEl&);
61
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[];
66
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
77
78
79 ClassDef(AliDxHFEParticleSelectionMCEl, 4);
80};
81
82#endif