]>
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 AliDxHFEParticleSelectionEl.h | |
9 | /// @author Sedat Altinpinar, Hege Erdal, Matthias Richter | |
10 | /// @date 2012-03-19 | |
11 | /// @brief Electron selection for D-HFE correlations | |
12 | /// | |
13 | ||
14 | #ifndef ALIDXHFEPARTICLESELECTIONEL_H | |
15 | #define ALIDXHFEPARTICLESELECTIONEL_H | |
16 | ||
17 | #include "AliDxHFEParticleSelection.h" | |
7de5d5a3 | 18 | |
19 | ||
20 | // 2012-09-17: there has been a problem in the dictionary generation for par file | |
21 | // compilation, so we have to include the header files indicated below | |
22 | // Generating dictionary ... | |
23 | // In file included from $ROOTSYS/include/TObject.h:230:0, | |
24 | // from G__PWGHFcorrelationHF.h:32, | |
25 | // from G__PWGHFcorrelationHF.cxx:17: | |
26 | // $ROOTSYS/include/TBuffer.h: In function ‘TBuffer& operator>>(TBuffer&, Tmpl*&) [with Tmpl = AliHFEcuts]’: | |
27 | // G__PWGHFcorrelationHF.cxx:1658:15: instantiated from here | |
28 | // $ROOTSYS/include/TBuffer.h:373:47: error: invalid use of incomplete type ‘struct AliHFEcuts’ | |
29 | // correlationHF/AliDxHFEParticleSelectionEl.h:25:7: error: forward declaration of ‘struct AliHFEcuts’ | |
b86451e1 | 30 | |
7de5d5a3 | 31 | #include "AliHFEcuts.h" // need to directly include to avoid compilation error in the dictionary |
32 | #include "AliHFEpid.h" // need to directly include to avoid compilation error in the dictionary | |
33 | ||
9535cec9 | 34 | class AliPID; |
35 | class AliPIDResponse; | |
9535cec9 | 36 | class AliHFEvarManager; |
9535cec9 | 37 | class AliHFEpidBase; |
38 | class AliHFEtools; | |
39 | class AliVEvent; | |
40 | class AliCFManager; | |
2229ac91 | 41 | class TList; |
42 | ||
72c0a987 | 43 | /** |
44 | * @class AliDxHFEParticleSelectionEl | |
45 | * Electron selection for D-HFE correlations, implements the specific | |
46 | * selection criteria. | |
47 | */ | |
48 | class AliDxHFEParticleSelectionEl : public AliDxHFEParticleSelection { | |
49 | public: | |
50 | /// constructor | |
51 | AliDxHFEParticleSelectionEl(const char* opt=""); | |
52 | /// destructor | |
53 | virtual ~AliDxHFEParticleSelectionEl(); | |
b86451e1 | 54 | |
9535cec9 | 55 | enum { |
56 | kCutHFE = 0, | |
57 | kCutPID = 1, | |
b86451e1 | 58 | kCutPIDTOF = 2, |
2229ac91 | 59 | kCutList=3, |
9535cec9 | 60 | kNCuts |
61 | }; | |
62 | ||
d731501a | 63 | enum { |
64 | kRecKineITSTPC=0, | |
65 | kRecPrim, | |
66 | kHFEcutsITS, | |
67 | kHFEcutsTOF, | |
68 | kHFEcutsTPC, | |
b86451e1 | 69 | kPIDTOF, |
d731501a | 70 | kPID, |
71 | kSelected, | |
72 | kNCutLabels | |
73 | }; | |
74 | ||
75 | ///overloaded from AliDxHFEParticleSelection: Init | |
76 | virtual int Init(); | |
77 | ||
9535cec9 | 78 | /// overloaded from AliDxHFEParticleSelection: init the control objects |
79 | virtual int InitControlObjects(); | |
dcf83226 | 80 | virtual THnSparse* DefineTHnSparse(); |
9535cec9 | 81 | |
72c0a987 | 82 | /// overloaded from AliDxHFEParticleSelection: check particle |
b32d523b | 83 | virtual int IsSelected(AliVParticle* p, const AliVEvent* pEvent); |
9535cec9 | 84 | |
85 | virtual int HistogramParticleProperties(AliVParticle* p, int selected); | |
86 | ||
dcf83226 | 87 | virtual int FillParticleProperties(AliVParticle* p, Double_t* date, int dimension) const; |
9535cec9 | 88 | |
89 | /// set cuts object: a type cast check is implemented in the method | |
90 | virtual void SetCuts(TObject* /*cuts*/, int /*level*/=0); | |
b86451e1 | 91 | |
92 | virtual void SetPIDResponse(const AliPIDResponse* const pidresp){fPIDResponse=(AliPIDResponse*)(pidresp);} | |
72c0a987 | 93 | |
94 | protected: | |
95 | ||
96 | private: | |
b86451e1 | 97 | |
72c0a987 | 98 | /// copy contructor prohibited |
99 | AliDxHFEParticleSelectionEl(const AliDxHFEParticleSelectionEl&); | |
100 | /// assignment operator prohibited | |
101 | AliDxHFEParticleSelectionEl& operator=(const AliDxHFEParticleSelectionEl&); | |
b86451e1 | 102 | |
9535cec9 | 103 | /// check cut of specified step, e.g. |
104 | bool ProcessCutStep(Int_t cutStep, AliVParticle *track); | |
105 | ||
106 | AliHFEpid* fPID; //! the PID object | |
b86451e1 | 107 | AliHFEpid* fPIDTOF; //! the PID TOF object |
9535cec9 | 108 | THnSparse* fElectronProperties; // the particle properties of selected particles |
2229ac91 | 109 | TList* fHistoList; // list of histograms |
110 | TList* fCutPidList; // list for pid and cut objects | |
b86451e1 | 111 | AliPIDResponse* fPIDResponse; // fPIDResponse |
9535cec9 | 112 | AliHFEcuts* fCuts; //! Cuts for HF electrons |
113 | AliCFManager* fCFM; //! Correction Framework Manager | |
114 | ||
d731501a | 115 | static const char* fgkCutBinNames[]; //! bin labels for cuts histogram |
9535cec9 | 116 | |
2229ac91 | 117 | ClassDef(AliDxHFEParticleSelectionEl, 4); |
72c0a987 | 118 | }; |
119 | ||
120 | #endif |