]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/correlationHF/AliDxHFEParticleSelectionMCEl.h
Consistent handling of THnSparse dimensions for different selection classes; code...
[u/mrichter/AliRoot.git] / PWGHF / correlationHF / AliDxHFEParticleSelectionMCEl.h
CommitLineData
d731501a 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 // Setting up control objects: overloaded from AliDxHFEParticleSelection
dcf83226 36 virtual THnSparse* DefineTHnSparse();
d731501a 37
dcf83226 38 virtual int FillParticleProperties(AliVParticle* p, Double_t* date, int dimension) const;
d731501a 39
40 /// overloaded from AliDxHFEParticleSelection: check particle
41 virtual int IsSelected(AliVParticle* p, const AliVEvent *pEvent=NULL);
42
43 /// check MC criteria
44 int CheckMC(AliVParticle* p, const AliVEvent* pEvent);
45
46 /// clear internal memory
47 virtual void Clear(const char* option="");
48
49 protected:
50
51 private:
52 /// copy contructor prohibited
53 AliDxHFEParticleSelectionMCEl(const AliDxHFEParticleSelectionMCEl&);
54 /// assignment operator prohibited
55 AliDxHFEParticleSelectionMCEl& operator=(const AliDxHFEParticleSelectionMCEl&);
56
57 /// TODO: check if the label definitions can be used from the ToolsMC
58 static const char* fgkPDGMotherBinLabels[];
d731501a 59
60 AliDxHFEToolsMC fMCTools; // MC selection tools
61 THnSparse* fElectronProperties; // the particle properties of selected particles
62 TH1* fWhichCut; // effective cut for a rejected particle
63 int fOriginMother; // Holds the origin motherquark (process)
64 int fResultMC; // Holds information on check on MC
65
66 ClassDef(AliDxHFEParticleSelectionMCEl, 1);
67};
68
69#endif