]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/vertexingHF/AliCFVertexingHF3Prong.h
#97492 Request to: patch AliSimulation; port to Release; make tag on release; for...
[u/mrichter/AliRoot.git] / PWGHF / vertexingHF / AliCFVertexingHF3Prong.h
1 #ifndef ALICFVERTEXINGHF3PRONG_H\r
2 #define ALICFVERTEXINGHF3PRONG_H\r
3 \r
4 /* Copyright(c) 2007-2009, ALICE Experiment at CERN, All rights reserved. *\r
5  * See cxx source for full Copyright notice                               */\r
6 \r
7 /* $Id$ */\r
8 \r
9 ///////////////////////////////////////////////////////////////////\r
10 //                                                               //\r
11 // Class to compute variables for correction framework           //  \r
12 // for 3-body decays of D mesons (D+, Ds, Lc)                    //\r
13 // in bins of cut variables                                      //\r
14 // Origin:       Francesco Prino (prino@to.infn.it)              //\r
15 //               Renu Bala       (bala@to.infn.it)               //\r
16 //                                                               //\r
17 ///////////////////////////////////////////////////////////////////\r
18 \r
19 #include "AliCFVertexingHF.h"\r
20 #include "AliAODRecoDecayHF.h"\r
21 #include "AliAODRecoDecayHF3Prong.h"\r
22 \r
23 class AliAODMCParticle;\r
24 class TClonesArray;\r
25 class AliCFVertexingHF;\r
26 class AliESDtrack;\r
27 class TDatabasePDG;\r
28 \r
29 class AliCFVertexingHF3Prong : public AliCFVertexingHF{\r
30         public:\r
31                 \r
32   AliCFVertexingHF3Prong(Int_t decay,UInt_t resonantDecay);\r
33   AliCFVertexingHF3Prong(Int_t decay);\r
34   AliCFVertexingHF3Prong(TClonesArray *mcArray, UShort_t originDselection, Int_t decay);  \r
35   AliCFVertexingHF3Prong(TClonesArray *mcArray, UShort_t originDselection, Int_t decay,UInt_t resonantDecay);  \r
36   virtual ~AliCFVertexingHF3Prong(){};\r
37   \r
38   \r
39   \r
40   Bool_t GetGeneratedValuesFromMCParticle(Double_t* /*vectorMC*/);\r
41   Bool_t GetRecoValuesFromCandidate(Double_t* /*vectorReco*/ ) const;\r
42   Bool_t CheckMCChannelDecay()const;\r
43   \r
44   Bool_t SetRecoCandidateParam(AliAODRecoDecayHF *recoCand);\r
45   virtual void SetDecay3Prong(Int_t decay){fDecay=decay;}\r
46   Bool_t CheckLc3Prong() const;\r
47   void SetResonantDecay(UInt_t resonantDecay) {fResonantDecay = resonantDecay;}\r
48   UInt_t GetResonantDecay() const {return fResonantDecay;}\r
49  \r
50   void SetGeneratedDsOption(Int_t opt) {fGenDsOption=opt;}\r
51   Int_t GetGeneratedDsOption() const {return fGenDsOption;}\r
52 \r
53   enum EDsSel {kCountAllDsKKpi=0, kCountPhipi=1, kCountK0stK=2, kCountResonant=3, kCountNonResonant=4};\r
54 \r
55  protected:\r
56   \r
57   \r
58   \r
59  private:       \r
60   AliCFVertexingHF3Prong(const AliCFVertexingHF3Prong& c);\r
61   AliCFVertexingHF3Prong& operator= (const AliCFVertexingHF3Prong& other);\r
62   \r
63   Int_t fDecay;   // decay mode id\r
64   Int_t fGenDsOption;  // option for selection Ds (see enum)\r
65   UInt_t fResonantDecay; // resonant decay for which to run the CF\r
66 \r
67   ClassDef(AliCFVertexingHF3Prong, 3);\r
68   \r
69 };\r
70 \r
71 #endif\r