AliPhysics  vAN-20150810 (e477c3b)
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros
Go to the documentation of this file.
3 /**************************************************************************
4  * Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
5  * *
6  * Author: The ALICE Off-line Project. *
7  * Contributors are mentioned in the code where appropriate. *
8  * *
9  * Permission to use, copy, modify and distribute this software and its *
10  * documentation strictly for non-commercial purposes is hereby granted *
11  * without fee, provided that the above copyright notice appears in all *
12  * copies and that both the copyright notice and this permission notice *
13  * appear in the supporting documentation. The authors make no claims *
14  * about the suitability of this software for any purpose. It is *
15  * provided "as is" without express or implied warranty. *
16  **************************************************************************/
27 #include <vector>
29 #include "TNamed.h"
30 #include "THnSparse.h"
31 #include "TH3F.h"
34 #include "AliAODMCParticle.h"
36 class TList;
37 class TClonesArray;
38 class AliAODEvent;
39 class AliAODVertex;
40 class AliNeutralTrackParam;
42 class AliHFsubtractBFDcuts : public TNamed{
44 public:
46  AliHFsubtractBFDcuts(const char* name,const char* title);
49  void InitHistos();
51  void FillGenStep(AliAODMCParticle *dzeroMC,Double_t pt=-1,Double_t weight=1.,TClonesArray* mcArray=0x0);
52  THnSparseF* GetSparseData() const {return fCutsData;}
53  THnSparseF* GetSparseMC() const {return fCutsMC;}
54  TH3F* GetHistoPtMCgen() const {return fPtMCGenStep;}
56  void SetHistoPtMCgen(TH3F *h){if(fPtMCGenStep)delete fPtMCGenStep;fPtMCGenStep=(TH3F*)h->Clone();return;}
57  void SetSparseData(THnSparseF *h){if(fCutsData)delete fCutsData;fCutsData=(THnSparseF*)h->Clone();return;}
58  void SetSparseMC(THnSparseF *h){if(fCutsMC)delete fCutsMC;fCutsMC=(THnSparseF*)h->Clone();return;}
60  void SetFillMC (Bool_t fillMC = kTRUE) {fIsMC = fillMC;}
62  void FillSparses(AliAODRecoDecayHF2Prong *dzeroPart,Int_t isSelected,Double_t pt=-1,Double_t massD0=-1,Double_t massD0bar=-1,Double_t weight=1.,TClonesArray* mcArray=0x0, AliAODEvent* aodEvent=0x0);
63  TList* GetDecayStrings() { return fDecayStrList; }
64  TList* GetQAhists() { return fQAhists; }
66 private:
70  Bool_t GetCandidateLabel();
71  Bool_t AnalyseDecay(Bool_t generateString, Bool_t mcOnly);
72  void CountProngs(Int_t labCurrMother, Int_t labCurrExcl, Bool_t generateString, Bool_t mConly);
74  Bool_t IsStable(Int_t labProng) const;
75  Bool_t IsInAcceptance(Int_t labProng) const;
76  AliAODVertex* RecBvtx(TObjArray *tracks) const;
77  Bool_t CheckBhypothesis(Int_t iAODtrack, Bool_t Bprong);
79  Bool_t fIsMC;
82  TH3F* fPtMCGenStep;
83  THnSparseF* fCutsData;
84  THnSparseF* fCutsMC;
85  TList* fQAhists;
88  TClonesArray* fMCarray;
89  TClonesArray* fAODtracks;
90  AliAODVertex* fPriVtx;
91  Double_t fBkG;
93  AliNeutralTrackParam* fD0CandParam;
94  Int_t fLabCand;
95  Int_t fLabMother;
96  UInt_t fNprongs;
97  UInt_t fNprongsInAcc;
98  Bool_t fDecayChain;
99  Double_t fMotherPt;
100  Bool_t fGenerateDecayList;
102  std::vector<Int_t> fDecayProngs;
103  TList* fDecayStrList;
106  ClassDef(AliHFsubtractBFDcuts,8);
108 };
110 #endif
Bool_t AnalyseDecay(Bool_t generateString, Bool_t mcOnly)
Bool_t fIsMC
Method to check Whether the current D0 candidate and the track originate from a B decay...
const char * title
Definition: MakeQAPdf.C:26
AliAODVertex * RecBvtx(TObjArray *tracks) const
Is that prong within the fiducial acceptance.
void SetSparseData(THnSparseF *h)
THnSparseF * GetSparseMC() const
std::vector< Int_t > fDecayProngs
Generate the list containig strings with all PDG codes of the decay prongs.
void FillSparses(AliAODRecoDecayHF2Prong *dzeroPart, Int_t isSelected, Double_t pt=-1, Double_t massD0=-1, Double_t massD0bar=-1, Double_t weight=1., TClonesArray *mcArray=0x0, AliAODEvent *aodEvent=0x0)
AliAODRecoDecayHF2Prong * fD0Cand
Magnetic field (z-direction) in units of kG.
AliNeutralTrackParam * fD0CandParam
Pointer to the D0 candidate from reconstruction.
Int_t fLabMother
Label of the candidate D0 (charmed hadron in case of a chained decay)
Bool_t fCheckAcceptance
flag for MC/Data
THnSparseF * GetSparseData() const
TH3F * fPtMCGenStep
flag resolve resonances in during the prong determination
void SetFillMC(Bool_t fillMC=kTRUE)
TClonesArray * fAODtracks
! TClonesArray holding the AliAODTracks of the event to be processed
TH3F * GetHistoPtMCgen() const
AliAODVertex * fPriVtx
! Primary AOD vertex
void FillGenStep(AliAODMCParticle *dzeroMC, Double_t pt=-1, Double_t weight=1., TClonesArray *mcArray=0x0)
TList * fQAhists
! List with QA histograms
THnSparseF * fCutsData
! THnSparse for cut variables (data, with inv mass axis), first axis is always mass ...
TList * fDecayStrList
PDG codes of the daughters separated.
THnSparseF * fCutsMC
! THnSparse for cut variables (MC at PID level, w/o mass axis)y
TClonesArray * fMCarray
Event specific variables.
UInt_t fNprongsInAcc
Number of prongs, counting the first charmed hadron as one particle (simulation cuts can lead to loss...
UInt_t fNprongs
Label of the mother of the candidate D0 (or charmed hadron)
Bool_t IsStable(Int_t labProng) const
counting the prongs of labCurrMother, labCurrExcl is assumed to be a stable particle ...
void CountProngs(Int_t labCurrMother, Int_t labCurrExcl, Bool_t generateString, Bool_t mConly)
check in which decay process a particle was created
Double_t fMotherPt
Chained decay of charmed hadrons.
void SetSparseMC(THnSparseF *h)
Bool_t fResolveResonances
flag for checking whether the decay prongs are within acceptance
Bool_t fDecayChain
Number of prongs, counting only the particles within acceptance.
Bool_t IsInAcceptance(Int_t labProng) const
Is that prong a stable particle?
AliHFsubtractBFDcuts operator=(const AliHFsubtractBFDcuts &c)
Int_t fLabCand
Pointer to an AliNeutralTrackParam of the D0 candidata for DCA calculation.
Bool_t CheckBhypothesis(Int_t iAODtrack, Bool_t Bprong)
Reconstruct a secondary vertex with the supplied tracks.