]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/vertexingHF/AliCFVertexingHFCascade.h
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / PWGHF / vertexingHF / AliCFVertexingHFCascade.h
CommitLineData
a9f238cf 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
32class AliAODMCParticle;
33class TClonesArray;
34class AliCFVertexingHF;
35class AliESDtrack;
36class TDatabasePDG;
4539d15b 37class AliPIDResponse;
a9f238cf 38
39class AliCFVertexingHFCascade : public AliCFVertexingHF{
40 public:
41
42 AliCFVertexingHFCascade(){};
43 AliCFVertexingHFCascade(TClonesArray *mcArray, UShort_t originDselection);
44
45 //virtual ~AliCFVertexingHFCascade(){};
46
47
48 Bool_t GetGeneratedValuesFromMCParticle(Double_t* /*vectorMC*/);
49 Bool_t GetRecoValuesFromCandidate(Double_t* /*vectorReco*/ ) const;
50 Bool_t CheckMCChannelDecay()const;
51
52 Bool_t SetRecoCandidateParam(AliAODRecoDecayHF *recoCand);
4539d15b 53 //Bool_t EvaluateIfD0toKpi(AliAODMCParticle* neutralDaugh, Double_t* VectorD0)const;
54 Bool_t EvaluateIfCorrectNeutrDaugh(AliAODMCParticle* neutralDaugh, Double_t* VectorD0)const;
a9f238cf 55
2bf2e62b 56 void SetPtAccCut(Float_t* ptAccCut);
57 void SetEtaAccCut(Float_t* etaAccCut);
58 void SetAccCut(Float_t* ptAccCut, Float_t* etaAccCut);
59 void SetAccCut();
60
367e9aa3 61 Double_t GetEtaProng(Int_t iProng)const;
62 Double_t GetPtProng(Int_t iProng) const;
63
4539d15b 64 void SetPDGcascade(Int_t pdg) {fPDGcascade = pdg;}
65 void SetPDGbachelor(Int_t pdg) {fPDGbachelor = pdg;}
66 void SetPDGneutrDaugh(Int_t pdg) {fPDGneutrDaugh = pdg;}
67 void SetPDGneutrDaughForMC(Int_t pdg) {fPDGneutrDaughForMC = pdg;}
68 void SetPDGneutrDaughPositive(Int_t pdg) {fPDGneutrDaughPositive = pdg;}
69 void SetPDGneutrDaughNegative(Int_t pdg) {fPDGneutrDaughNegative = pdg;}
70 void SetPrimaryVertex(AliAODVertex* vtx) {fPrimVtx = vtx;}
71
72 Int_t GetPDGcascade() const {return fPDGcascade;}
73 Int_t GetPDGbachelor() const {return fPDGbachelor;}
74 Int_t GetPDGneutrDaugh() const {return fPDGneutrDaugh;}
75 Int_t GetPDGneutrDaughForMC() const {return fPDGneutrDaughForMC;}
76 Int_t GetPDGneutrDaughPositive() const {return fPDGneutrDaughPositive;}
77 Int_t GetPDGneutrDaughNegative() const {return fPDGneutrDaughNegative;}
78 AliAODVertex* GetPrimaryVertex() const {return fPrimVtx;}
79
80 Bool_t CheckAdditionalCuts(AliPIDResponse* pidResponse) const;
81
82 void SetUseCutsForTMVA(Bool_t useCutsForTMVA) {fUseCutsForTMVA = useCutsForTMVA;}
83 Bool_t GetUseCutsForTMVA() const {return fUseCutsForTMVA;}
84
a9f238cf 85 protected:
86
87
88 private:
89 AliCFVertexingHFCascade(const AliCFVertexingHFCascade& c);
90 AliCFVertexingHFCascade& operator= (const AliCFVertexingHFCascade& other);
4539d15b 91
92 Int_t fPDGcascade; // pdg code of the cascade
93 Int_t fPDGbachelor; // pdg code of the bachelor
94 Int_t fPDGneutrDaugh; // pdg code of the V0
95 Int_t fPDGneutrDaughForMC; // pdg code of the V0
96 Int_t fPDGneutrDaughPositive; // pdg code of the positive daughter of the V0
97 Int_t fPDGneutrDaughNegative; // pdg code of the negative daughter of the V0
98 AliAODVertex* fPrimVtx; // primaryVertex
99 Bool_t fUseCutsForTMVA; // flag to decide whether to use or not the preselection
100 // cuts of the TMVA when filling the CF
101
102 ClassDef(AliCFVertexingHFCascade, 3); // CF class for D* and other cascades
a9f238cf 103
104};
105
106#endif