Update (Andrea)
[u/mrichter/AliRoot.git] / PWG3 / vertexingHF / AliCFVertexingHFCascade.h
1 #ifndef ALICFVERTEXINGHFCASCADE_H
2 #define ALICFVERTEXINGHFCASCADE_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 //-----------------------------------------------------------------------
20 // Class for HF corrections as a function of many variables and steps
21 // For D* and other cascades
22 // 
23 // Author : A.GRELLI - a.grelli@uu.nl UTRECHT
24 //-----------------------------------------------------------------------
25
26
27 #include "AliCFVertexingHF.h"
28 #include "AliAODRecoDecayHF.h"
29 #include "AliAODRecoCascadeHF.h"
30 #include "AliAODRecoDecayHF2Prong.h"
31
32 class AliAODMCParticle;
33 class TClonesArray;
34 class AliCFVertexingHF;
35 class AliESDtrack;
36 class TDatabasePDG;
37
38 class AliCFVertexingHFCascade : public AliCFVertexingHF{
39  public:
40                 
41   AliCFVertexingHFCascade(){};
42   AliCFVertexingHFCascade(TClonesArray *mcArray, UShort_t originDselection);
43         
44   //virtual ~AliCFVertexingHFCascade(){};
45   
46   
47   Bool_t GetGeneratedValuesFromMCParticle(Double_t* /*vectorMC*/);
48   Bool_t GetRecoValuesFromCandidate(Double_t* /*vectorReco*/ ) const;
49   Bool_t CheckMCChannelDecay()const;
50   
51   Bool_t SetRecoCandidateParam(AliAODRecoDecayHF *recoCand);
52   Bool_t EvaluateIfD0toKpi(AliAODMCParticle* neutralDaugh, Double_t* VectorD0)const;
53
54   void SetPtAccCut(Float_t* ptAccCut);
55   void SetEtaAccCut(Float_t* etaAccCut);
56   void SetAccCut(Float_t* ptAccCut, Float_t* etaAccCut);
57   void SetAccCut();
58
59   Double_t GetEtaProng(Int_t iProng)const;
60   Double_t GetPtProng(Int_t iProng) const;
61
62  protected:
63   
64   
65  private:       
66   AliCFVertexingHFCascade(const AliCFVertexingHFCascade& c);
67   AliCFVertexingHFCascade& operator= (const AliCFVertexingHFCascade& other);
68   
69   ClassDef(AliCFVertexingHFCascade, 2); // CF class for D* and other cascades
70   
71 };
72
73 #endif