1 #ifndef ALICFVERTEXINGHFCASCADE_H
2 #define ALICFVERTEXINGHFCASCADE_H
4 /**************************************************************************
5 * Copyright(c) 1998-2011, ALICE Experiment at CERN, All rights reserved. *
7 * Author: The ALICE Off-line Project. *
8 * Contributors are mentioned in the code where appropriate. *
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 **************************************************************************/
19 //-----------------------------------------------------------------------
20 // Class for HF corrections as a function of many variables and steps
21 // For D* and other cascades
23 // Author : A.GRELLI - a.grelli@uu.nl UTRECHT
24 //-----------------------------------------------------------------------
27 #include "AliCFVertexingHF.h"
28 #include "AliAODRecoDecayHF.h"
29 #include "AliAODRecoCascadeHF.h"
30 #include "AliAODRecoDecayHF2Prong.h"
32 class AliAODMCParticle;
34 class AliCFVertexingHF;
39 class AliCFVertexingHFCascade : public AliCFVertexingHF{
42 AliCFVertexingHFCascade(){};
43 AliCFVertexingHFCascade(TClonesArray *mcArray, UShort_t originDselection);
45 //virtual ~AliCFVertexingHFCascade(){};
48 Bool_t GetGeneratedValuesFromMCParticle(Double_t* /*vectorMC*/);
49 Bool_t GetRecoValuesFromCandidate(Double_t* /*vectorReco*/ ) const;
50 Bool_t CheckMCChannelDecay()const;
52 Bool_t SetRecoCandidateParam(AliAODRecoDecayHF *recoCand);
53 //Bool_t EvaluateIfD0toKpi(AliAODMCParticle* neutralDaugh, Double_t* VectorD0)const;
54 Bool_t EvaluateIfCorrectNeutrDaugh(AliAODMCParticle* neutralDaugh, Double_t* VectorD0)const;
56 void SetPtAccCut(Float_t* ptAccCut);
57 void SetEtaAccCut(Float_t* etaAccCut);
58 void SetAccCut(Float_t* ptAccCut, Float_t* etaAccCut);
61 Double_t GetEtaProng(Int_t iProng)const;
62 Double_t GetPtProng(Int_t iProng) const;
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;}
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;}
80 Bool_t CheckAdditionalCuts(AliPIDResponse* pidResponse) const;
82 void SetUseCutsForTMVA(Bool_t useCutsForTMVA) {fUseCutsForTMVA = useCutsForTMVA;}
83 Bool_t GetUseCutsForTMVA() const {return fUseCutsForTMVA;}
89 AliCFVertexingHFCascade(const AliCFVertexingHFCascade& c);
90 AliCFVertexingHFCascade& operator= (const AliCFVertexingHFCascade& other);
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
102 ClassDef(AliCFVertexingHFCascade, 3); // CF class for D* and other cascades