]>
Commit | Line | Data |
---|---|---|
25c94fc8 | 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 | ||
7b45817b | 7 | /* $Id$ */ |
25c94fc8 | 8 | |
9 | /////////////////////////////////////////////////////////////////// | |
10 | // // | |
11 | // Analysis task to produce Ds candidates mass spectra // | |
12 | // Origin: F.Prino, Torino, prino@to.infn.it // | |
13 | // // | |
14 | /////////////////////////////////////////////////////////////////// | |
15 | ||
16 | #include <TROOT.h> | |
17 | #include <TSystem.h> | |
18 | #include <TH1F.h> | |
19 | #include <TH2F.h> | |
20 | ||
21 | #include "AliAnalysisTaskSE.h" | |
4c230f6d | 22 | #include "AliRDHFCutsDstoKKpi.h" |
c3379416 | 23 | |
24 | class AliNormalizationCounter; | |
25 | ||
25c94fc8 | 26 | |
27 | class AliAnalysisTaskSEDs : public AliAnalysisTaskSE | |
28 | { | |
29 | public: | |
2e153422 | 30 | |
25c94fc8 | 31 | AliAnalysisTaskSEDs(); |
1f796bc2 | 32 | AliAnalysisTaskSEDs(const char *name, AliRDHFCutsDstoKKpi* analysiscuts, Int_t fillNtuple=0); |
25c94fc8 | 33 | virtual ~AliAnalysisTaskSEDs(); |
96b8e7bb | 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 | } | |
2e153422 | 39 | void SetFillNtuple(Int_t fill=0){fFillNtuple=fill;} |
9dbb1d69 | 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 | ||
a0bb2d06 | 44 | void SetInvMassBinSize(Double_t binsiz=0.002){fMassBinSize=binsiz;} |
4c230f6d | 45 | void SetPtBins(Int_t n, Float_t* lim); |
4c230f6d | 46 | void SetAnalysisCuts(AliRDHFCutsDstoKKpi* cuts){fAnalysisCuts=cuts;} |
25c94fc8 | 47 | // Implementation of interface methods |
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: | |
c2a0a9d5 | 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;} | |
25c94fc8 | 59 | |
c135594e | 60 | enum {kMaxPtBins=20}; |
25c94fc8 | 61 | |
62 | AliAnalysisTaskSEDs(const AliAnalysisTaskSEDs &source); | |
63 | AliAnalysisTaskSEDs& operator=(const AliAnalysisTaskSEDs& source); | |
64 | ||
65 | TList* fOutput; //! list send on output slot 0 | |
66 | TH1F* fHistNEvents; //! hist. for No. of events | |
c2a0a9d5 | 67 | TH1F* fChanHist[4]; //! hist. with KKpi and piKK candidates (sig,bkg,tot) |
c2a0a9d5 | 68 | TH1F* fMassHist[4*kMaxPtBins]; //! hist. of mass spectra (sig,bkg,tot) |
addffa76 | 69 | TH1F* fMassHistPhi[4*kMaxPtBins]; //! hist. of mass spectra via phi (sig,bkg,tot) |
70 | TH1F* fMassHistK0st[4*kMaxPtBins]; //! hist. of mass spectra via K0* (sig,bkg,tot) | |
71 | TH1F* fMassHistKK[kMaxPtBins]; //! hist. of mass spectra of KK | |
72 | TH1F* fMassHistKpi[kMaxPtBins]; //! hist. of mass spectra of Kpi | |
c2a0a9d5 | 73 | TH1F* fCosPHist[4*kMaxPtBins]; //! hist. of cos pointing angle (sig,bkg,tot) |
74 | TH1F* fDLenHist[4*kMaxPtBins]; //! hist. of decay length (sig,bkg,tot) | |
75 | TH1F* fSumd02Hist[4*kMaxPtBins]; //! hist. for sum d02 (Prod Cuts) | |
76 | TH1F* fSigVertHist[4*kMaxPtBins]; //! hist. for sigVert (Prod Cuts) | |
77 | TH1F* fPtMaxHist[4*kMaxPtBins]; //! hist. for Pt Max (Prod Cuts) | |
78 | TH1F* fPtCandHist[4*kMaxPtBins]; //! hist. for Pt Max (Prod Cuts) | |
79 | TH1F* fDCAHist[4*kMaxPtBins]; //! hist. for DCA (Prod Cuts) | |
80 | TH1F* fPtProng0Hist[4*kMaxPtBins]; //! hist. for Pt Max (Prod Cuts) | |
81 | TH1F* fPtProng1Hist[4*kMaxPtBins]; //! hist. for DCA (Prod Cuts) | |
82 | TH1F* fPtProng2Hist[4*kMaxPtBins]; //! hist. for DCA (Prod Cuts) | |
83 | TH2F* fDalitz[4*kMaxPtBins]; //! dalitz plot (sig,bkg,tot) | |
86ede1c0 | 84 | TH2F* fDalitzPhi[4*kMaxPtBins]; //! dalitz plot via phi (sig,bkg,tot) |
85 | TH2F* fDalitzK0st[4*kMaxPtBins]; //! dalitz plot via K0* (sig,bkg,tot) | |
3787d195 | 86 | TH2F *fPtVsMass; //! hist. of pt vs. mass (prod. cuts) |
811a34ce | 87 | TH2F *fPtVsMassPhi; //! hist. of pt vs. mass (phi selection) |
88 | TH2F *fPtVsMassK0st; //! hist. of pt vs. mass (K0* selection) | |
3787d195 | 89 | TH2F *fYVsPt; //! hist. of Y vs. Pt (prod. cuts) |
3787d195 | 90 | TH2F *fYVsPtSig; //! hist. of Y vs. Pt (MC, only sig, prod. cuts) |
010f88b8 | 91 | TH1F *fHistCentrality[3];//!hist. for cent distr (all,sel ev, ) |
92 | TH2F *fHistCentralityMult[3];//!hist. for cent distr vs mult (all,sel ev, ) | |
2e153422 | 93 | TNtuple *fNtupleDs; //! output ntuple |
94 | Int_t fFillNtuple; // 0 not to fill ntuple | |
95 | // 1 for filling ntuple for events through Phi | |
96 | // 2 for filling ntuple for events through K0Star | |
97 | // 3 for filling all | |
98 | ||
99 | ||
25c94fc8 | 100 | Bool_t fReadMC; // flag for access to MC |
96b8e7bb | 101 | Bool_t fWriteOnlySignal; // flag to control ntuple writing in MC |
9dbb1d69 | 102 | Bool_t fDoCutVarHistos; // flag to create and fill histos with distributions of cut variables |
103 | Bool_t fUseSelectionBit; // flag for useage of HasSelectionBit | |
25c94fc8 | 104 | UChar_t fNPtBins; // number of Pt bins |
4c230f6d | 105 | TList *fListCuts; //list of cuts |
106 | Float_t fPtLimits[kMaxPtBins+1]; // limits for pt bins | |
25c94fc8 | 107 | Double_t fMassRange; // range for mass histogram |
a0bb2d06 | 108 | Double_t fMassBinSize; // bin size for inv. mass histo |
109 | ||
f93cbbb4 | 110 | AliNormalizationCounter *fCounter;//!Counter for normalization |
a0bb2d06 | 111 | AliRDHFCutsDstoKKpi *fAnalysisCuts; // Cuts for Analysis |
25c94fc8 | 112 | |
addffa76 | 113 | ClassDef(AliAnalysisTaskSEDs,14); // AliAnalysisTaskSE for Ds mass spectra |
25c94fc8 | 114 | }; |
115 | ||
116 | #endif | |
117 | ||
f93cbbb4 | 118 |