Dplus and Ds tasks use the new cuts classes (Francesco, Renu, Giacomo)
[u/mrichter/AliRoot.git] / PWG3 / vertexingHF / AliAnalysisTaskSEDs.h
CommitLineData
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
25class 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;}
4c230f6d 34 void SetPtBins(Int_t n, Float_t* lim);
35 void SetProductionCuts(AliRDHFCutsDstoKKpi* cuts){fProdCuts=cuts;}
36 void SetAnalysisCuts(AliRDHFCutsDstoKKpi* cuts){fAnalysisCuts=cuts;}
25c94fc8 37 // Implementation of interface methods
38 virtual void UserCreateOutputObjects();
39 virtual void Init();
40 virtual void LocalInit() {Init();}
41 virtual void UserExec(Option_t *option);
42 virtual void Terminate(Option_t *option);
43
44 private:
45 Int_t GetHistoIndex(Int_t iPtBin) const { return iPtBin*3;}
46 Int_t GetSignalHistoIndex(Int_t iPtBin) const { return iPtBin*3+1;}
47 Int_t GetBackgroundHistoIndex(Int_t iPtBin) const { return iPtBin*3+2;}
48
49 enum {kMaxPtBins=10};
50
51 AliAnalysisTaskSEDs(const AliAnalysisTaskSEDs &source);
52 AliAnalysisTaskSEDs& operator=(const AliAnalysisTaskSEDs& source);
53
54 TList* fOutput; //! list send on output slot 0
55 TH1F* fHistNEvents; //! hist. for No. of events
56 TH1F* fChanHist[3]; //! hist. with KKpi and piKK candidates (sig,bkg,tot)
57 TH1F* fChanHistCuts[3]; //! hist. with KKpi and piKK candidates analysis cuts
58 TH1F* fMassHist[3*kMaxPtBins]; //! hist. of mass spectra (sig,bkg,tot)
59 TH1F* fMassHistCuts[3*kMaxPtBins];//! hist. of mass spectra (sig,bkg,tot) analysis cuts
60 TH1F* fCosPHist[3*kMaxPtBins]; //! hist. of cos pointing angle (sig,bkg,tot)
61 TH1F* fDLenHist[3*kMaxPtBins]; //! hist. of decay length (sig,bkg,tot)
62 TH2F* fDalitz[3*kMaxPtBins]; //! dalitz plot (sig,bkg,tot)
63 Bool_t fReadMC; // flag for access to MC
64 UChar_t fNPtBins; // number of Pt bins
4c230f6d 65 TList *fListCuts; //list of cuts
66 Float_t fPtLimits[kMaxPtBins+1]; // limits for pt bins
25c94fc8 67 Double_t fMassRange; // range for mass histogram
4c230f6d 68 AliRDHFCutsDstoKKpi *fProdCuts; //Cuts for Analysis
69 AliRDHFCutsDstoKKpi *fAnalysisCuts; //Cuts for Analysis
25c94fc8 70
4c230f6d 71 ClassDef(AliAnalysisTaskSEDs,2); // AliAnalysisTaskSE for Ds mass spectra
25c94fc8 72};
73
74#endif
75