AliPhysics  a0db429 (a0db429)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
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 
25 class AliAnalysisTaskSESignificance : public AliAnalysisTaskSE
26 {
27  public:
28 
31 
33  AliAnalysisTaskSESignificance(const char *name, TList *listMDV,AliRDHFCuts *RDCuts, Int_t decaychannel,Int_t selectionlevel=AliRDHFCuts::kAll);
34 
36 
37  Bool_t CheckConsistency();
38  void SetReadMC(Bool_t readMC=kTRUE){fReadMC=readMC;}
39  void SetBFeedDown(FeedDownEnum flagB);//see enum
42  void SetMassLimits(Float_t range,Int_t pdg);
43  void SetMassLimits(Float_t lowlimit, Float_t uplimit);
44  void SetNBins(Int_t nbins){fNBins=nbins;}
46  void SetDsChannel(Int_t chan){fDsChannel=chan;}
47  void SetUseSelBit(Bool_t selBit=kTRUE){fUseSelBit=selBit;}
48 
49  //void SetMultiVector(const AliMultiDimVector *MultiDimVec){fMultiDimVec->CopyStructure(MultiDimVec);}
50  Float_t GetUpperMassLimit()const {return fUpmasslimit;}
51  Float_t GetLowerMassLimit()const {return fLowmasslimit;}
52  Int_t GetNBins()const {return fNBins;}
54  Int_t GetBFeedDown()const {return fBFeedDown;}
55  Int_t GetDsChannel()const {return fDsChannel;}
56  Bool_t GetUseSelBit()const {return fUseSelBit;}
57 
59  virtual void UserCreateOutputObjects();
60  virtual void LocalInit();// {Init();}
61  virtual void UserExec(Option_t *option);
62  virtual void Terminate(Option_t *option);
63 
64  private:
65 
67  fPDGdaughters[0]=321;//K
68  fPDGdaughters[1]=321;//K
69  fPDGdaughters[2]=211;//pi
70  fPDGdaughters[3]=0; //empty
71  }
73  fPDGdaughters[0]=211;//pi
74  fPDGdaughters[1]=321;//K
75  fPDGdaughters[2]=321;//K
76  fPDGdaughters[3]=0; //empty
77  }
78 
81  void SetPDGCodes();
82  Int_t GetHistoIndex(Int_t iPtBin) const { return iPtBin*3;}
83  Int_t GetSignalHistoIndex(Int_t iPtBin) const { return iPtBin*3+1;}
84  Int_t GetBackgroundHistoIndex(Int_t iPtBin) const { return iPtBin*3+2;}
85  Int_t GetLSHistoIndex(Int_t iPtBin)const { return iPtBin*5;}
86  Int_t CheckOrigin(const AliAODMCParticle* mcPart, const TClonesArray* mcArray) const;
87 
88  void FillDplus(AliAODRecoDecayHF* d,TClonesArray *arrayMC,Int_t index,Int_t isSel);
89  void FillD02p(AliAODRecoDecayHF* d,TClonesArray *arrayMC,Int_t index, Int_t isSel);
90  void FillDs(AliAODRecoDecayHF* d,TClonesArray *arrayMC,Int_t index,Int_t isSel,Int_t optDecay);
91  void FillDstar(AliAODRecoCascadeHF* dstarD0pi,TClonesArray *arrayMC,Int_t index,Int_t isSel);
92  void FillD04p(AliAODRecoDecayHF* d,TClonesArray *arrayMC,Int_t index,Int_t isSel);
93  void FillLambdac(AliAODRecoDecayHF* d,TClonesArray *arrayMC,Int_t index, Int_t isSel);
94 
95 
96  enum {kMaxPtBins=8};
97  enum {kMaxCutVar=10};
98  enum {kMaxSteps=10};
99  enum {kMaxNHist=500000};
101 
102  TList *fOutput;
103  TList *fCutList;
108  TH1F* fHistNEvents;
109  Float_t fUpmasslimit;
110  Float_t fLowmasslimit;
112  Int_t fNPtBins;
113  Bool_t fReadMC;
114  Bool_t fUseSelBit;
116  Int_t fDecChannel;
117  Int_t fPDGmother;
118  Int_t fNProngs;
119  Int_t fPDGdaughters[4];
120  TString fBranchName;
122  Int_t fNVars;
123  Float_t fVars[kMaxCutVar];
124  Int_t fNBins;
126  Int_t fDsChannel;
127  Int_t fPDGDStarToD0pi[2];
128  Int_t fPDGD0ToKpi[2];
129 
131  ClassDef(AliAnalysisTaskSESignificance,5);
132 };
134 
135 #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_t GetSignalHistoIndex(Int_t iPtBin) const
TH1F * fRflHist[kMaxNHist]
!hist. for inv mass (bkg from MC truth)
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 Int_t nbins
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)