]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/correlationHF/AliDxHFEParticleSelectionD0.h
Bug fix
[u/mrichter/AliRoot.git] / PWGHF / correlationHF / AliDxHFEParticleSelectionD0.h
CommitLineData
72c0a987 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 AliDxHFEParticleSelectionD0.h
9/// @author Sedat Altinpinar, Hege Erdal, Matthias Richter
10/// @date 2012-03-19
11/// @brief D0 selection for D-HFE correlations
12///
13
14#ifndef ALIDXHFEPARTICLESELECTIOND0_H
15#define ALIDXHFEPARTICLESELECTIOND0_H
16
17#include "AliDxHFEParticleSelection.h"
18
9535cec9 19class AliVEvent;
20class AliRDHFCuts;
21
72c0a987 22/**
23 * @class AliDxHFEParticleSelectionD0
24 * D0 selection for D-HFE correlations, implements the specific
25 * selection criteria.
26 */
27class AliDxHFEParticleSelectionD0 : public AliDxHFEParticleSelection {
28 public:
29 /// constructor
30 AliDxHFEParticleSelectionD0(const char* opt="");
31 /// destructor
32 virtual ~AliDxHFEParticleSelectionD0();
33
93fcaf9f 34 /// overloaded from AliDxHFEParticleSelection: init the control objects
35 virtual int InitControlObjects();
dcf83226 36 virtual THnSparse* DefineTHnSparse();
37 virtual int FillParticleProperties(AliVParticle* p, Double_t* date, int dimension) const;
dfe96b90 38 virtual AliVParticle* CreateParticle(AliVParticle* track);
93fcaf9f 39
9535cec9 40 //Function for daughter control objects
41 //TODO: move to AliDxHFEParticleSelection to be used for several particles?
42 virtual int InitControlObjectsDaughters(TString name, int daughter);
43
44 //Overloaded from AliDxHFEParticleSelection
45 virtual TObjArray* Select(TObjArray* particles, const AliVEvent* pEvent);
46 using AliDxHFEParticleSelection::Select;
47
72c0a987 48 /// overloaded from AliDxHFEParticleSelection: check particle
9535cec9 49 virtual int IsSelected(AliVParticle* p, const AliVEvent *pEvent=NULL);
50 /// overloaded from AliDxHFEParticleSelection: set cuts
51 virtual void SetCuts(TObject* /*cuts*/, int level=0);
52
53 //AliRDHFCutsD0toKpi GetCuts()const {return fCuts;}
54 Int_t GetFillOnlyD0D0bar() const {return fFillOnlyD0D0bar;}
d731501a 55 Int_t GetPtBin() const {return fPtBin;}
56 Double_t GetInvMass() const {return fD0InvMass;}
72c0a987 57
58 protected:
93fcaf9f 59 /// overloaded from AliDxHFEParticleSelection: histogram particle properties
9535cec9 60 virtual int HistogramParticleProperties(AliVParticle* p, int selected=1);
72c0a987 61
62 private:
63 /// copy contructor prohibited
64 AliDxHFEParticleSelectionD0(const AliDxHFEParticleSelectionD0&);
65 /// assignment operator prohibited
66 AliDxHFEParticleSelectionD0& operator=(const AliDxHFEParticleSelectionD0&);
67
9535cec9 68 THnSparse* fD0Properties; // the particle properties of selected particles
69 THnSparse* fD0Daughter0; // the particle properties of selected particles
70 THnSparse* fD0Daughter1; // the particle properties of selected particles
71 AliRDHFCuts* fCuts; //! pointer to external cuts object
72 Int_t fFillOnlyD0D0bar; // flag to set what to fill (0 = both, 1 = D0 only, 2 = D0bar only)
d731501a 73 Double_t fD0InvMass; // D0InvMass
74 Int_t fPtBin; // Pt Bin
75
d731501a 76 static const char* fgkDgTrackControlBinNames[]; //! bin labels for track control histogram
9535cec9 77
93fcaf9f 78 // TODO: at the moment the dimensions of the different THnSparse objects are different
79 // needs to be consolidated
80 // TODO: one might need particle properties of all and/or at different cut stages
81
9535cec9 82 ClassDef(AliDxHFEParticleSelectionD0, 2);
72c0a987 83};
84
85#endif