AliPhysics  5dd2c10 (5dd2c10)
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros
AliAnalysisTaskSEDs.h
Go to the documentation of this file.
1 #ifndef ALIANALYSISTASKDS_H
2 #define ALIANALYSISTASKDS_H
3 
4 /* Copyright(c) 2007-2009, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice */
6 
7 /* $Id$ */
8 
15 
16 #include <TROOT.h>
17 #include <TSystem.h>
18 #include <TH1F.h>
19 #include <TH2F.h>
20 
21 #include "AliAnalysisTaskSE.h"
22 #include "AliRDHFCutsDstoKKpi.h"
23 
25 
26 
27 class AliAnalysisTaskSEDs : public AliAnalysisTaskSE
28 {
29  public:
30 
32  AliAnalysisTaskSEDs(const char *name, AliRDHFCutsDstoKKpi* analysiscuts, Int_t fillNtuple=0);
33  virtual ~AliAnalysisTaskSEDs();
34  void SetReadMC(Bool_t readMC=kTRUE){fReadMC=readMC;}
35  void SetWriteOnlySignalInNtuple(Bool_t opt=kTRUE){
36  if(fReadMC) fWriteOnlySignal=opt;
37  else AliError("fReadMC has to be kTRUE");
38  }
39  void SetFillNtuple(Int_t fill=0){fFillNtuple=fill;}
40  void SetMassRange(Double_t rang=0.4){fMassRange=rang;}
41  void SetDoCutVarHistos(Bool_t opt=kTRUE) {fDoCutVarHistos=opt;}
42  void SetUseSelectionBit(Bool_t opt=kFALSE){ fUseSelectionBit=opt;}
43 
44  void SetInvMassBinSize(Double_t binsiz=0.002){fMassBinSize=binsiz;}
45  void SetPtBins(Int_t n, Float_t* lim);
48  virtual void UserCreateOutputObjects();
49  virtual void Init();
50  virtual void LocalInit() {Init();}
51  virtual void UserExec(Option_t *option);
52  virtual void Terminate(Option_t *option);
53 
54  private:
55  Int_t GetHistoIndex(Int_t iPtBin) const { return iPtBin*4;}
56  Int_t GetSignalHistoIndex(Int_t iPtBin) const { return iPtBin*4+1;}
57  Int_t GetBackgroundHistoIndex(Int_t iPtBin) const { return iPtBin*4+2;}
58  Int_t GetReflSignalHistoIndex(Int_t iPtBin) const { return iPtBin*4+3;}
59 
60  enum {kMaxPtBins=20};
61 
64 
65  TList* fOutput;
66  TH1F* fHistNEvents;
67  TH1F* fChanHist[4];
68  TH1F* fMassHist[4*kMaxPtBins];
73  TH1F* fCosPHist[4*kMaxPtBins];
74  TH1F* fDLenHist[4*kMaxPtBins];
79  TH1F* fDCAHist[4*kMaxPtBins];
83  TH2F* fDalitz[4*kMaxPtBins];
86  TH2F *fPtVsMass;
87  TH2F *fPtVsMassPhi;
88  TH2F *fPtVsMassK0st;
89  TH2F *fYVsPt;
90  TH2F *fYVsPtSig;
91  TH1F *fHistCentrality[3];
93  TNtuple *fNtupleDs;
94  Int_t fFillNtuple;
95 
99 
100  Bool_t fReadMC;
104  UChar_t fNPtBins;
105  TList *fListCuts; //list of cuts
106  Float_t fPtLimits[kMaxPtBins+1];
107  Double_t fMassRange;
108  Double_t fMassBinSize;
109 
112 
114  ClassDef(AliAnalysisTaskSEDs,14);
115 };
117 
118 #endif
119 
120 
virtual void LocalInit()
TH1F * fPtMaxHist[4 *kMaxPtBins]
! hist. for Pt Max (Prod Cuts)
AliAnalysisTaskSEDs & operator=(const AliAnalysisTaskSEDs &source)
TH1F * fPtProng1Hist[4 *kMaxPtBins]
! hist. for DCA (Prod Cuts)
void SetInvMassBinSize(Double_t binsiz=0.002)
void SetUseSelectionBit(Bool_t opt=kFALSE)
void SetPtBins(Int_t n, Float_t *lim)
TH2F * fDalitzK0st[4 *kMaxPtBins]
! dalitz plot via K0* (sig,bkg,tot)
Int_t GetHistoIndex(Int_t iPtBin) const
Double_t fMassRange
limits for pt bins
TH2F * fPtVsMass
! hist. of pt vs. mass (prod. cuts)
TH1F * fPtProng0Hist[4 *kMaxPtBins]
! hist. for Pt Max (Prod Cuts)
void SetFillNtuple(Int_t fill=0)
TH2F * fYVsPtSig
! hist. of Y vs. Pt (MC, only sig, prod. cuts)
virtual void UserCreateOutputObjects()
Implementation of interface methods.
TH1F * fSumd02Hist[4 *kMaxPtBins]
! hist. for sum d02 (Prod Cuts)
TH1F * fMassHistPhi[4 *kMaxPtBins]
! hist. of mass spectra via phi (sig,bkg,tot)
TNtuple * fNtupleDs
! output ntuple
TH1F * fHistCentrality[3]
!hist. for cent distr (all,sel ev, )
void SetWriteOnlySignalInNtuple(Bool_t opt=kTRUE)
AliNormalizationCounter * fCounter
bin size for inv. mass histo
TH2F * fHistCentralityMult[3]
!hist. for cent distr vs mult (all,sel ev, )
TH1F * fHistNEvents
! hist. for No. of events
AliRDHFCutsDstoKKpi * fAnalysisCuts
TList * fOutput
! list send on output slot 0
void SetMassRange(Double_t rang=0.4)
TH2F * fDalitzPhi[4 *kMaxPtBins]
! dalitz plot via phi (sig,bkg,tot)
TH1F * fMassHistKpi[kMaxPtBins]
! hist. of mass spectra of Kpi
TH1F * fPtCandHist[4 *kMaxPtBins]
! hist. for Pt Max (Prod Cuts)
Int_t GetSignalHistoIndex(Int_t iPtBin) const
virtual void UserExec(Option_t *option)
Int_t GetReflSignalHistoIndex(Int_t iPtBin) const
virtual void Terminate(Option_t *option)
TH1F * fCosPHist[4 *kMaxPtBins]
! hist. of cos pointing angle (sig,bkg,tot)
TH1F * fDLenHist[4 *kMaxPtBins]
! hist. of decay length (sig,bkg,tot)
void SetReadMC(Bool_t readMC=kTRUE)
Bool_t fUseSelectionBit
flag to create and fill histos with distributions of cut variables
void SetDoCutVarHistos(Bool_t opt=kTRUE)
TH1F * fChanHist[4]
! hist. with KKpi and piKK candidates (sig,bkg,tot)
TH1F * fMassHist[4 *kMaxPtBins]
! hist. of mass spectra (sig,bkg,tot)
TH1F * fDCAHist[4 *kMaxPtBins]
! hist. for DCA (Prod Cuts)
Bool_t fDoCutVarHistos
flag to control ntuple writing in MC
TH1F * fPtProng2Hist[4 *kMaxPtBins]
! hist. for DCA (Prod Cuts)
void SetAnalysisCuts(AliRDHFCutsDstoKKpi *cuts)
TH2F * fDalitz[4 *kMaxPtBins]
! dalitz plot (sig,bkg,tot)
TH1F * fSigVertHist[4 *kMaxPtBins]
! hist. for sigVert (Prod Cuts)
TH2F * fPtVsMassPhi
! hist. of pt vs. mass (phi selection)
TH1F * fMassHistKK[kMaxPtBins]
! hist. of mass spectra of KK
TH1F * fMassHistK0st[4 *kMaxPtBins]
! hist. of mass spectra via K0* (sig,bkg,tot)
TH2F * fYVsPt
! hist. of Y vs. Pt (prod. cuts)
TH2F * fPtVsMassK0st
! hist. of pt vs. mass (K0* selection)
TList * fListCuts
number of Pt bins
UChar_t fNPtBins
flag for useage of HasSelectionBit
Bool_t fWriteOnlySignal
flag for access to MC
Double_t fMassBinSize
range for mass histogram
Int_t GetBackgroundHistoIndex(Int_t iPtBin) const
Float_t fPtLimits[kMaxPtBins+1]