]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG3/vertexingHF/AliCFVertexingHF.h
Macro for total ccbar cross section from D meson pt-diff cross sections (J. Wilkinson)
[u/mrichter/AliRoot.git] / PWG3 / vertexingHF / AliCFVertexingHF.h
index ea223153329bdca897c6a12676df7b60680c9c9b..7f31be70d778724e914fd5d23d279558ccf95d64 100644 (file)
@@ -1,6 +1,7 @@
 #ifndef ALICFVERTEXINGHF_H
 #define ALICFVERTEXINGHF_H
 
+
 /**************************************************************************
  * Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
  *                                                                        *
@@ -16,8 +17,6 @@
  * provided "as is" without express or implied warranty.                  *
  **************************************************************************/
 
-/* $Id$ */ 
-
 //-----------------------------------------------------------------------
 // Class for HF corrections as a function of many variables and step 
 // Author : C. Zampolli, CERN
@@ -80,20 +79,21 @@ class AliCFVertexingHF : public TObject {
        Bool_t FillMCContainer(Double_t *containerInputMC); 
        Bool_t FillRecoContainer(Double_t *containerInput); 
        Bool_t MCAcceptanceStep() const;
-       Bool_t MCRefitStep(AliAODEvent *aodEvent, AliESDtrackCuts *trackCuts) const;
+       Bool_t MCRefitStep(AliAODEvent *aodEvent, AliESDtrackCuts **trackCuts) const;
        Bool_t RecoStep();
 
-       Double_t GetEtaProng(Int_t iProng) const;
-       Double_t GetPtProng(Int_t iProng) const;
+       virtual Double_t GetEtaProng(Int_t iProng) const;
+       virtual Double_t GetPtProng(Int_t iProng) const;
 
        Double_t GetPtCand() const {return fRecoCandidate->Pt();}
        Double_t GetYCand() const {return fRecoCandidate->Y();}
 
-       Bool_t RecoAcceptStep(AliESDtrackCuts *trackCuts) const;
+       Bool_t RecoAcceptStep(AliESDtrackCuts **trackCuts) const;
        
        Bool_t FillUnfoldingMatrix(Double_t fill[4]) const;
        
        void SetNProngs(Int_t nProngs){fProngs = nProngs;}
+       Int_t GetNProngs() const {return fProngs;}
        void SetDselection(UShort_t originDselection); 
        UShort_t GetDselection() {return fOriginDselection;}; 
        Int_t CheckReflexion(Char_t isSign);
@@ -101,6 +101,16 @@ class AliCFVertexingHF : public TObject {
 
        void SetCentralityValue(Float_t centValue) {fCentValue = centValue;}
 
+       virtual void SetPtAccCut(Float_t* ptAccCut);
+       virtual void SetEtaAccCut(Float_t* etaAccCut);
+       virtual void SetAccCut(Float_t* ptAccCut, Float_t* etaAccCut);
+       virtual void SetAccCut();
+
+       void SetFakeSelection(Int_t fakeSel){fFakeSelection = fakeSel;}
+       Int_t GetFakeSelection(){return fFakeSelection;}
+
+       void SetRejectCandidateIfNotFromQuark(Bool_t opt){fRejectIfNoQuark=opt;}
+
        protected:
        
        TClonesArray      *fmcArray;               //mcArray candidate
@@ -121,8 +131,13 @@ class AliCFVertexingHF : public TObject {
        Int_t* fLabelArray;          //[fProngs]  array of labels
 
        Float_t fCentValue;         // centrality value
+       Float_t* fPtAccCut;         //[fProngs] array of pt cut values for the Acceptance (MC+Rec) steps 
+       Float_t* fEtaAccCut;          //[fProngs] array of eta (absolute value) cut values for the Acceptance (MC+Rec) steps 
+       Int_t fFakeSelection; // fakes selection: 0 --> all, 1 --> non-fake, 2 --> fake
+       Float_t fFake;              // variable to indicate whether the D0 was a fake or not: 0 --> fake, 1 --> MC, 2 --> non-fake
+       Bool_t fRejectIfNoQuark;  // flag to remove events not geenrated with PYTHIA
 
-       ClassDef(AliCFVertexingHF, 3);
+       ClassDef(AliCFVertexingHF, 6);
        
 };