]>
Commit | Line | Data |
---|---|---|
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 | 19 | class AliVEvent; |
20 | class AliRDHFCuts; | |
21 | ||
72c0a987 | 22 | /** |
23 | * @class AliDxHFEParticleSelectionD0 | |
24 | * D0 selection for D-HFE correlations, implements the specific | |
25 | * selection criteria. | |
26 | */ | |
27 | class 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 |