]>
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 | ||
7 | ||
8 | /* $Id: $ */ | |
9 | ||
10 | /////////////////////////////////////////////////////////////////// | |
11 | // // | |
12 | // Analysis task to produce Ds candidates mass spectra // | |
13 | // Origin: F.Prino, Torino, prino@to.infn.it // | |
14 | // // | |
15 | /////////////////////////////////////////////////////////////////// | |
16 | ||
17 | #include <TROOT.h> | |
18 | #include <TSystem.h> | |
19 | #include <TH1F.h> | |
20 | #include <TH2F.h> | |
21 | ||
22 | #include "AliAnalysisTaskSE.h" | |
4c230f6d | 23 | #include "AliRDHFCutsDstoKKpi.h" |
25c94fc8 | 24 | |
25 | class AliAnalysisTaskSEDs : public AliAnalysisTaskSE | |
26 | { | |
27 | public: | |
28 | ||
29 | AliAnalysisTaskSEDs(); | |
4c230f6d | 30 | AliAnalysisTaskSEDs(const char *name, AliRDHFCutsDstoKKpi* productioncuts, AliRDHFCutsDstoKKpi* analysiscuts); |
25c94fc8 | 31 | virtual ~AliAnalysisTaskSEDs(); |
32 | void SetReadMC(Bool_t readMC=kTRUE){fReadMC=readMC;} | |
33 | void SetMassRange(Double_t rang=0.2){fMassRange=rang;} | |
a0bb2d06 | 34 | void SetInvMassBinSize(Double_t binsiz=0.002){fMassBinSize=binsiz;} |
4c230f6d | 35 | void SetPtBins(Int_t n, Float_t* lim); |
36 | void SetProductionCuts(AliRDHFCutsDstoKKpi* cuts){fProdCuts=cuts;} | |
37 | void SetAnalysisCuts(AliRDHFCutsDstoKKpi* cuts){fAnalysisCuts=cuts;} | |
25c94fc8 | 38 | // Implementation of interface methods |
39 | virtual void UserCreateOutputObjects(); | |
40 | virtual void Init(); | |
41 | virtual void LocalInit() {Init();} | |
42 | virtual void UserExec(Option_t *option); | |
43 | virtual void Terminate(Option_t *option); | |
44 | ||
45 | private: | |
c2a0a9d5 | 46 | Int_t GetHistoIndex(Int_t iPtBin) const { return iPtBin*4;} |
47 | Int_t GetSignalHistoIndex(Int_t iPtBin) const { return iPtBin*4+1;} | |
48 | Int_t GetBackgroundHistoIndex(Int_t iPtBin) const { return iPtBin*4+2;} | |
49 | Int_t GetReflSignalHistoIndex(Int_t iPtBin) const { return iPtBin*4+3;} | |
25c94fc8 | 50 | |
51 | enum {kMaxPtBins=10}; | |
52 | ||
53 | AliAnalysisTaskSEDs(const AliAnalysisTaskSEDs &source); | |
54 | AliAnalysisTaskSEDs& operator=(const AliAnalysisTaskSEDs& source); | |
55 | ||
56 | TList* fOutput; //! list send on output slot 0 | |
57 | TH1F* fHistNEvents; //! hist. for No. of events | |
c2a0a9d5 | 58 | TH1F* fChanHist[4]; //! hist. with KKpi and piKK candidates (sig,bkg,tot) |
59 | TH1F* fChanHistCuts[4]; //! hist. with KKpi and piKK candidates analysis cuts | |
60 | TH1F* fMassHist[4*kMaxPtBins]; //! hist. of mass spectra (sig,bkg,tot) | |
61 | TH1F* fMassHistCuts[4*kMaxPtBins];//! hist. of mass spectra (sig,bkg,tot) analysis cuts | |
86ede1c0 | 62 | TH1F* fMassHistPhi[3*kMaxPtBins]; //! hist. of mass spectra via phi (sig,bkg,tot) |
63 | TH1F* fMassHistCutsPhi[3*kMaxPtBins];//! hist. of mass spectra via phi (sig,bkg,tot) analysis cuts | |
64 | TH1F* fMassHistK0st[3*kMaxPtBins]; //! hist. of mass spectra via K0* (sig,bkg,tot) | |
65 | TH1F* fMassHistCutsK0st[3*kMaxPtBins];//! hist. of mass spectra via K0* (sig,bkg,tot) analysis cuts | |
c2a0a9d5 | 66 | TH1F* fCosPHist[4*kMaxPtBins]; //! hist. of cos pointing angle (sig,bkg,tot) |
67 | TH1F* fDLenHist[4*kMaxPtBins]; //! hist. of decay length (sig,bkg,tot) | |
68 | TH1F* fSumd02Hist[4*kMaxPtBins]; //! hist. for sum d02 (Prod Cuts) | |
69 | TH1F* fSigVertHist[4*kMaxPtBins]; //! hist. for sigVert (Prod Cuts) | |
70 | TH1F* fPtMaxHist[4*kMaxPtBins]; //! hist. for Pt Max (Prod Cuts) | |
71 | TH1F* fPtCandHist[4*kMaxPtBins]; //! hist. for Pt Max (Prod Cuts) | |
72 | TH1F* fDCAHist[4*kMaxPtBins]; //! hist. for DCA (Prod Cuts) | |
73 | TH1F* fPtProng0Hist[4*kMaxPtBins]; //! hist. for Pt Max (Prod Cuts) | |
74 | TH1F* fPtProng1Hist[4*kMaxPtBins]; //! hist. for DCA (Prod Cuts) | |
75 | TH1F* fPtProng2Hist[4*kMaxPtBins]; //! hist. for DCA (Prod Cuts) | |
76 | TH2F* fDalitz[4*kMaxPtBins]; //! dalitz plot (sig,bkg,tot) | |
86ede1c0 | 77 | TH2F* fDalitzPhi[4*kMaxPtBins]; //! dalitz plot via phi (sig,bkg,tot) |
78 | TH2F* fDalitzK0st[4*kMaxPtBins]; //! dalitz plot via K0* (sig,bkg,tot) | |
3787d195 | 79 | TH2F *fPtVsMass; //! hist. of pt vs. mass (prod. cuts) |
80 | TH2F *fPtVsMassAC; //! hist. of pt vs. mass (analysis cuts) | |
81 | TH2F *fYVsPt; //! hist. of Y vs. Pt (prod. cuts) | |
82 | TH2F *fYVsPtAC; //! hist. of Y vs. Pt (analysis cuts) | |
83 | TH2F *fYVsPtSig; //! hist. of Y vs. Pt (MC, only sig, prod. cuts) | |
84 | TH2F *fYVsPtSigAC; //! hist. of Y vs. Pt (MC, only sig, analysis cuts) | |
85 | ||
25c94fc8 | 86 | Bool_t fReadMC; // flag for access to MC |
87 | UChar_t fNPtBins; // number of Pt bins | |
4c230f6d | 88 | TList *fListCuts; //list of cuts |
89 | Float_t fPtLimits[kMaxPtBins+1]; // limits for pt bins | |
25c94fc8 | 90 | Double_t fMassRange; // range for mass histogram |
a0bb2d06 | 91 | Double_t fMassBinSize; // bin size for inv. mass histo |
92 | ||
93 | AliRDHFCutsDstoKKpi *fProdCuts; // Cuts for Analysis | |
94 | AliRDHFCutsDstoKKpi *fAnalysisCuts; // Cuts for Analysis | |
25c94fc8 | 95 | |
3787d195 | 96 | ClassDef(AliAnalysisTaskSEDs,6); // AliAnalysisTaskSE for Ds mass spectra |
25c94fc8 | 97 | }; |
98 | ||
99 | #endif | |
100 |