AliPhysics  3b4a69f (3b4a69f)
AliAnalysisTaskSESignificance.h
Go to the documentation of this file.
1 #ifndef ALIANALYSISTASKSESIGNIFICANCE_H
2 #define ALIANALYSISTASKSESIGNIFICANCE_H
3 
4 /* Copyright(c) 1998-2008, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice */
6 
7 /* $Id$ */
8 
9 //*************************************************************************
16 //*************************************************************************
17 
18 #include "AliAnalysisTaskSE.h"
19 #include "AliAnalysisVertexingHF.h"
20 
21 class TH1F;
22 class AliMultiDimVector;
23 class AliRDHFCuts;
24 
26 {
27  public:
28 
31 
33  AliAnalysisTaskSESignificance(const char *name, TList *listMDV,AliRDHFCuts *RDCuts, Int_t decaychannel,Int_t selectionlevel=AliRDHFCuts::kAll);
34 
36 
38  void SetReadMC(Bool_t readMC=kTRUE){fReadMC=readMC;}
39  void SetBFeedDown(FeedDownEnum flagB);//see enum
41  void SetDFromBeautyOnly(){SetBFeedDown(kBeautyOnly);}
42  void SetMassLimits(Float_t range,Int_t pdg);
43  void SetMassLimits(Float_t lowlimit, Float_t uplimit);
46  void SetDsChannel(Int_t chan){fDsChannel=chan;}
47  void SetUseSelBit(Bool_t selBit=kTRUE){fUseSelBit=selBit;}
49 
50  //void SetMultiVector(const AliMultiDimVector *MultiDimVec){fMultiDimVec->CopyStructure(MultiDimVec);}
53  Int_t GetNBins()const {return fNBins;}
55  Int_t GetBFeedDown()const {return fBFeedDown;}
56  Int_t GetDsChannel()const {return fDsChannel;}
57  Bool_t GetUseSelBit()const {return fUseSelBit;}
58 
60  virtual void UserCreateOutputObjects();
61  virtual void LocalInit();// {Init();}
62  virtual void UserExec(Option_t *option);
63  virtual void Terminate(Option_t *option);
64 
65  private:
66 
68  fPDGdaughters[0]=321;//K
69  fPDGdaughters[1]=321;//K
70  fPDGdaughters[2]=211;//pi
71  fPDGdaughters[3]=0; //empty
72  }
74  fPDGdaughters[0]=211;//pi
75  fPDGdaughters[1]=321;//K
76  fPDGdaughters[2]=321;//K
77  fPDGdaughters[3]=0; //empty
78  }
79 
82  void SetPDGCodes();
83  Int_t GetHistoIndex(Int_t iPtBin) const { return iPtBin*3;}
84  Int_t GetSignalHistoIndex(Int_t iPtBin) const { return iPtBin*3+1;}
85  Int_t GetBackgroundHistoIndex(Int_t iPtBin) const { return iPtBin*3+2;}
86  Int_t GetLSHistoIndex(Int_t iPtBin)const { return iPtBin*5;}
87  Int_t CheckOrigin(const AliAODMCParticle* mcPart, const TClonesArray* mcArray) const;
88 
89  void FillDplus(AliAODRecoDecayHF* d,TClonesArray *arrayMC,Int_t index,Int_t isSel);
90  void FillD02p(AliAODRecoDecayHF* d,TClonesArray *arrayMC,Int_t index, Int_t isSel);
91  void FillDs(AliAODRecoDecayHF* d,TClonesArray *arrayMC,Int_t index,Int_t isSel,Int_t optDecay);
92  void FillDstar(AliAODRecoCascadeHF* dstarD0pi,TClonesArray *arrayMC,Int_t index,Int_t isSel);
93  void FillD04p(AliAODRecoDecayHF* d,TClonesArray *arrayMC,Int_t index,Int_t isSel);
94  void FillLambdac(AliAODRecoDecayHF* d,TClonesArray *arrayMC,Int_t index, Int_t isSel);
95 
96 
97  enum {kMaxPtBins=8};
98  enum {kMaxCutVar=10};
99  enum {kMaxSteps=10};
100  enum {kMaxNHist=500000};
102 
109  TH1F* fHistNEvents;
115  Bool_t fReadMC;
132 
134  ClassDef(AliAnalysisTaskSESignificance,6);
135 };
137 
138 #endif
Float_t fLowmasslimit
upper inv mass limit for histos
Int_t pdg
AliAnalysisTaskSESignificance & operator=(const AliAnalysisTaskSESignificance &source)
Float_t fVars[kMaxCutVar]
number of selection variables
AliRDHFCuts * fRDCuts
lower inv mass limit for histos
virtual void UserExec(Option_t *option)
Int_t GetBackgroundHistoIndex(Int_t iPtBin) const
Int_t fNBins
array with values of cut variables
Int_t GetHistoIndex(Int_t iPtBin) const
Int_t fPDGD0ToKpi[2]
PDG codes for the particles in the D* -> pi + D0 decay.
Int_t fPDGdaughters[4]
number of prong of the decay channel
TH1F * fBkgHist[kMaxNHist]
!hist. for inv mass (bkg from MC truth)
FeedDownEnum fBFeedDown
flag to use selection bit (speed up candidates selection)
TList * fOutput
! list send on output slot 0
Int_t fPartOrAndAntiPart
number of bins in the mass histograms
void FillDs(AliAODRecoDecayHF *d, TClonesArray *arrayMC, Int_t index, Int_t isSel, Int_t optDecay)
Int_t fSelectionlevel
AOD branch name for channel.
Bool_t fUseSelBit
flag for access to MC
void FillLambdac(AliAODRecoDecayHF *d, TClonesArray *arrayMC, Int_t index, Int_t isSel)
int Int_t
Definition: External.C:63
Int_t GetSignalHistoIndex(Int_t iPtBin) const
TH1F * fRflHist[kMaxNHist]
!hist. for inv mass (bkg from MC truth)
float Float_t
Definition: External.C:68
Int_t CheckOrigin(const AliAODMCParticle *mcPart, const TClonesArray *mcArray) const
virtual void UserCreateOutputObjects()
Implementation of interface methods.
Int_t fPDGmother
decay channel identifier
void FillD04p(AliAODRecoDecayHF *d, TClonesArray *arrayMC, Int_t index, Int_t isSel)
Int_t GetLSHistoIndex(Int_t iPtBin) const
Int_t fPDGDStarToD0pi[2]
Ds resonant channel selected.
TString fBranchName
PDG codes of daughters.
void FillDplus(AliAODRecoDecayHF *d, TClonesArray *arrayMC, Int_t index, Int_t isSel)
void FillD02p(AliAODRecoDecayHF *d, TClonesArray *arrayMC, Int_t index, Int_t isSel)
void SetMassLimits(Float_t range, Int_t pdg)
virtual void Terminate(Option_t *option)
Int_t fNVars
selection level: kALL,kTracks,kCandidate
const char Option_t
Definition: External.C:48
const Int_t nbins
bool Bool_t
Definition: External.C:53
TH1F * fMassHist[kMaxNHist]
Multidimvector container.
Int_t fDecChannel
flag to search for D from B decays
void FillDstar(AliAODRecoCascadeHF *dstarD0pi, TClonesArray *arrayMC, Int_t index, Int_t isSel)
Int_t fDsChannel
fill histograms with particle only (+1), antiparticle only (-1), both (0)
TH1F * fSigHist[kMaxNHist]
!hist. for inv mass (sig from MC truth)