AliPhysics  a56b849 (a56b849)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliAnalysisTaskSED0MassNonPromptFraction.h
Go to the documentation of this file.
1 #ifndef AliAnalysisTaskSED0MassNonPromptFraction_H
2 #define AliAnalysisTaskSED0MassNonPromptFraction_H
3 
4 /* Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice */
6 
7 /* $Id$ */
8 
17 
18 #include <TROOT.h>
19 #include <TSystem.h>
20 #include <TNtuple.h>
21 #include <TTree.h>
22 #include <TH1F.h>
23 #include <THnSparse.h>
24 #include <TVector3.h>
25 #include <TVector2.h>
26 #include "AliAnalysisTaskSE.h"
27 #include "AliRDHFCutsD0toKpi.h"
29 
30 class AliAODEvent;
31 
33 {
34  public:
35 
39 
40 
42  virtual void UserCreateOutputObjects();
43  virtual void Init();
44  virtual void LocalInit() {Init();}
45  virtual void UserExec(Option_t *option);
46  virtual void Terminate(Option_t *option);
47 
49  enum{kD0,kLS};
50 
51  void SetReadMC(Bool_t readMC=kFALSE){fReadMC=readMC;}
52  void SetCutOnDistr(Bool_t cutondistr=kFALSE){fCutOnDistr=cutondistr;}
53  void SetUsePid4Distr(Bool_t usepid=kTRUE){fUsePid4Distr=usepid;}
54  void SetFillOnlyD0D0bar(Int_t flagfill){fFillOnlyD0D0bar=flagfill;}
56  void SetFillAfterCuts(Bool_t flag) {fFillAfterCuts=flag;}//new setter
57  void SetFillPtHistos(Bool_t flag) {fFillPtHist=flag;}
58  void SetFillYHistos(Bool_t flag) {fFillYHist=flag;}
60  void SetSystem(Int_t sys){fSys=sys; if(fSys==1) SetFillVarHists(kFALSE);}
64  void SetDrawDetSignal(Bool_t flag) { fDrawDetSignal=flag; }
65  void SetPIDCheck(Bool_t flag) { fPIDCheck=flag; }
68 
69 
70 
71  Bool_t GetCutOnDistr() const {return fCutOnDistr;}
76  Bool_t GetFillYHistos() const {return fFillYHist;}
78  Int_t GetSystem() const {return fSys;}
84  Bool_t GetPIDCheck() const {return fPIDCheck;}
85 
86  private:
87 
90  void DrawDetSignal(AliAODRecoDecayHF2Prong *part, TList *ListDetSignal);
91 
92  void FillMassHists(AliAODRecoDecayHF2Prong *part, TClonesArray *arrMC, AliAODMCHeader *mcHeader, AliRDHFCutsD0toKpi *cuts, TList *listout);
93  void FillMCGenHists(AliAODEvent* aod, TClonesArray *arrMC, AliRDHFCutsD0toKpi *cuts, TList *listout);
94  void FillVarHists(AliAODEvent *aodev,AliAODRecoDecayHF2Prong *part, TClonesArray *arrMC, AliRDHFCutsD0toKpi *cuts, TList *listout);
95  AliAODVertex* GetPrimaryVtxSkipped(AliAODEvent *aodev);
97  Int_t CheckOrigin(TClonesArray* arrayMC, AliAODMCParticle *mcPartCandidate) const;
98  Float_t GetTrueImpactParameter(AliAODMCHeader *mcHeader, TClonesArray* arrayMC, AliAODMCParticle *partD0) const ;
99 
104  TH1F *fNentries;
105  AliRDHFCutsD0toKpi *fCuts; // Cuts - sent to output slot 4
106  THnSparseF *fHistMassPtImpParTC[5];
110  Bool_t fUsePid4Distr; // flag to use the particle identification to fill the signal histograms of distributions. It has effect only with fReadMC=kFALSE
119  Bool_t fFill; //flag to enable filling variable histos for correlations
127  Bool_t fUseQuarkTagInKine; // flag for quark/hadron level identification of prompt and feeddown
128 
135 
141 };
143 
144 #endif
145 
TList * fDetSignal
flag to decide whether to draw the TPC dE/dx and TOF signal before/after PID
Bool_t fFillYHist
flag to fill Pt and Impact Parameter Histograms
Double_t * fCandidateVariables
! variables to be written to the tree
double Double_t
Definition: External.C:58
Bool_t fDrawDetSignal
flag to decide whether to fill "PID = x" bins in fNentrie
Definition: External.C:236
TH1F * fNentries
! histogram with number of events on output slot 3
Bool_t fFillVarHists
flag for filling var hists only after cuts
AliAnalysisTaskSED0MassNonPromptFraction & operator=(const AliAnalysisTaskSED0MassNonPromptFraction &source)
TTree * fVariablesTree
flag to decide whether to write the candidate variables on a tree variables
AliNormalizationCounter * fCounter
! AliNormalizationCounter on output slot 5
Float_t GetTrueImpactParameter(AliAODMCHeader *mcHeader, TClonesArray *arrayMC, AliAODMCParticle *partD0) const
void FillMCGenHists(AliAODEvent *aod, TClonesArray *arrMC, AliRDHFCutsD0toKpi *cuts, TList *listout)
Int_t fAODProtection
flag to check or not the selection bit
TObjArray fDaughterTracks
flag to fill mass histogram with D0/D0bar only (0 = fill with both, 1 = fill with D0 only...
int Int_t
Definition: External.C:63
float Float_t
Definition: External.C:68
Bool_t fUsePid4Distr
flag to decide if apply cut also on distributions: 0 no cuts, 1 looser cuts, 2 tighter/ cuts ...
Bool_t fUseSelectionBit
flag to fill Pt and Impact Parameter Histograms
void FillVarHists(AliAODEvent *aodev, AliAODRecoDecayHF2Prong *part, TClonesArray *arrMC, AliRDHFCutsD0toKpi *cuts, TList *listout)
virtual void UserCreateOutputObjects()
Implementation of interface methods.
THnSparseF * fHistMassPtImpParTC[5]
! histograms for impact paramter studies
Bool_t fFillPtHist
flag to reject events with SDD clusters
Int_t CheckOrigin(TClonesArray *arrayMC, AliAODMCParticle *mcPartCandidate) const
Bool_t fCutOnDistr
flag for MC array: kTRUE = read it, kFALSE = do not read it
void FillMassHists(AliAODRecoDecayHF2Prong *part, TClonesArray *arrMC, AliAODMCHeader *mcHeader, AliRDHFCutsD0toKpi *cuts, TList *listout)
void SetArray(Int_t type=AliAnalysisTaskSED0MassNonPromptFraction::kD0)
Bool_t fFill
flag to enable filling variable histos
void DrawDetSignal(AliAODRecoDecayHF2Prong *part, TList *ListDetSignal)
const char Option_t
Definition: External.C:48
bool Bool_t
Definition: External.C:53
Bool_t fIsRejectSDDClusters
fSys=0 -> p-p; fSys=1 ->PbPb (in this case fFillVarHists=kFALSE by default: set it to kTRUE after if ...