]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/vertexingHF/AliCFVertexingHFLctoV0bachelor.h
Merge branch 'master' of http://git.cern.ch/pub/AliRoot
[u/mrichter/AliRoot.git] / PWGHF / vertexingHF / AliCFVertexingHFLctoV0bachelor.h
1 #ifndef ALICFVERTEXINGHFLCTOV0BACHELOR_H
2 #define ALICFVERTEXINGHFLCTOV0BACHELOR_H
3
4 /**************************************************************************
5  * Copyright(c) 1998-2011, ALICE Experiment at CERN, All rights reserved. *
6  *                                                                        *
7  * Author: The ALICE Off-line Project.                                    *
8  * Contributors are mentioned in the code where appropriate.              *
9  *                                                                        *
10  * Permission to use, copy, modify and distribute this software and its   *
11  * documentation strictly for non-commercial purposes is hereby granted   *
12  * without fee, provided that the above copyright notice appears in all   *
13  * copies and that both the copyright notice and this permission notice   *
14  * appear in the supporting documentation. The authors make no claims     *
15  * about the suitability of this software for any purpose. It is          *
16  * provided "as is" without express or implied warranty.                  *
17  **************************************************************************/
18
19 /* $Id$ */ 
20
21 //-----------------------------------------------------------------------
22 // Class for HF corrections as a function of many variables and steps
23 // For Lc->V0 bachelor
24 // 
25 // Author : A. De Caro
26 //-----------------------------------------------------------------------
27
28
29 #include "AliCFVertexingHF.h"
30 #include "AliAODRecoDecayHF.h"
31 #include "AliAODRecoCascadeHF.h"
32 #include "AliAODRecoDecayHF2Prong.h"
33
34 class AliAODMCParticle;
35 class TClonesArray;
36 class AliCFVertexingHF;
37 class AliESDtrack;
38 class TDatabasePDG;
39
40 class AliCFVertexingHFLctoV0bachelor : public AliCFVertexingHF{
41  public:
42
43   enum ELctoV0Sel {
44     kCountK0Sp=0,
45     kCountLambdapi=1
46   };
47
48   AliCFVertexingHFLctoV0bachelor();
49   AliCFVertexingHFLctoV0bachelor(TClonesArray *mcArray, UShort_t originDselection, Int_t lcDecay=0);
50
51   virtual ~AliCFVertexingHFLctoV0bachelor(){};
52
53   Bool_t GetGeneratedValuesFromMCParticle(Double_t* /*vectorMC*/);
54   Bool_t GetRecoValuesFromCandidate(Double_t* /*vectorReco*/ ) const;
55   Bool_t CheckMCChannelDecay()const;
56   
57   Bool_t SetRecoCandidateParam(AliAODRecoDecayHF *recoCand);
58
59   Double_t GetEtaProng(Int_t iProng)const;
60   Double_t GetPtProng(Int_t iProng) const;
61
62   virtual Bool_t SetLabelArray();
63
64  protected:
65
66   Double_t Ctau(AliAODMCParticle *mcPartCandidate);
67   Bool_t FillVectorFromMCarray(AliAODMCParticle *mcPartDaughterBachelor,
68                                AliAODMCParticle *mcPartDaughterK0,
69                                Double_t *vectorMC);
70
71  private:       
72
73   AliCFVertexingHFLctoV0bachelor(const AliCFVertexingHFLctoV0bachelor& c);
74   AliCFVertexingHFLctoV0bachelor& operator= (const AliCFVertexingHFLctoV0bachelor& other);
75   
76   Int_t fGenLcOption;  // option for selection Lc (see enum)
77
78   ClassDef(AliCFVertexingHFLctoV0bachelor, 1); // CF class for Lc->V0+bachelor and other cascades
79   
80 };
81
82 #endif