New task for D0 mass distributions (Chiara B)
[u/mrichter/AliRoot.git] / PWG3 / vertexingHF / AliAnalysisTaskSED0Mass.h
1 #ifndef ALIANALYSISTASKSED0MASS_H
2 #define ALIANALYSISTASKSED0MASS_H
3
4 /* Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 //*************************************************************************
8 // Class AliAnalysisTaskSED0Mass
9 // AliAnalysisTaskSE for D0 candidates invariant mass histogram
10 // and comparison to MC truth (kinematics stored in the AOD)
11 // Authors: A.Dainese, andrea.dainese@ln.infn.it
12 // and C.Bianchin, chiara.bianchin@pd.infn.it
13 //*************************************************************************
14
15 #include <TROOT.h>
16 #include <TSystem.h>
17 #include <TNtuple.h>
18 #include <TH1F.h>
19
20 #include "AliAnalysisTaskSE.h"
21 #include "AliAnalysisVertexingHF.h"
22
23 class AliAnalysisTaskSED0Mass : public AliAnalysisTaskSE
24 {
25  public:
26
27   AliAnalysisTaskSED0Mass();
28   AliAnalysisTaskSED0Mass(const char *name);
29   virtual ~AliAnalysisTaskSED0Mass();
30
31
32   // Implementation of interface methods
33   virtual void UserCreateOutputObjects();
34   virtual void Init();
35   virtual void LocalInit() {Init();}
36   virtual void UserExec(Option_t *option);
37   virtual void Terminate(Option_t *option);
38
39   
40  private:
41
42   AliAnalysisTaskSED0Mass(const AliAnalysisTaskSED0Mass &source);
43   AliAnalysisTaskSED0Mass& operator=(const AliAnalysisTaskSED0Mass& source); 
44   void    FillHists(Int_t ptbin, AliAODRecoDecayHF2Prong *part, TClonesArray *arrMC);
45   TList   *fOutput; //! list send on output slot 0
46   //TNtuple *fNtupleD0Cmp; // output ntuple
47   TClonesArray    *fhistMass;  // output total invariant mass histogram - no MC truth
48   TClonesArray    *fhistSgn;  // output signal invariant mass histogram - use cuts
49   TClonesArray    *fhistBkg;  // output background invariant mass histogram - use cuts
50
51   AliAnalysisVertexingHF *fVHF;  // Vertexer heavy flavour (used to pass the cuts)
52   
53   ClassDef(AliAnalysisTaskSED0Mass,1); // AliAnalysisTaskSE for the MC association of heavy-flavour decay candidates
54 };
55
56 #endif
57