]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG3/vertexingHF/AliAnalysisTaskSED0Mass.h
Bug fix
[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) and cut variables
11 // distributions
12 // Authors: A.Dainese, andrea.dainese@ln.infn.it
13 // and C.Bianchin, chiara.bianchin@pd.infn.it
14 //*************************************************************************
15
16 #include <TROOT.h>
17 #include <TSystem.h>
18 #include <TNtuple.h>
19 #include <TH1F.h>
20
21 #include "AliAnalysisTaskSE.h"
22 #include "AliRDHFCutsD0toKpi.h"
23
24
25 class AliAnalysisTaskSED0Mass : public AliAnalysisTaskSE
26 {
27  public:
28
29   AliAnalysisTaskSED0Mass();
30   AliAnalysisTaskSED0Mass(const char *name,AliRDHFCutsD0toKpi* cuts);
31   virtual ~AliAnalysisTaskSED0Mass();
32
33
34   // Implementation of interface methods
35   virtual void UserCreateOutputObjects();
36   virtual void Init();
37   virtual void LocalInit() {Init();}
38   virtual void UserExec(Option_t *option);
39   virtual void Terminate(Option_t *option);
40
41   void SetArray(Int_t type=AliAnalysisTaskSED0Mass::kD0){fArray=type;}
42   enum{kD0,kLS};
43
44   void SetReadMC(Bool_t readMC=kFALSE){fReadMC=readMC;}
45   void SetCutOnDistr(Bool_t cutondistr=kFALSE){fCutOnDistr=cutondistr;}
46
47  private:
48
49   AliAnalysisTaskSED0Mass(const AliAnalysisTaskSED0Mass &source);
50   AliAnalysisTaskSED0Mass& operator=(const AliAnalysisTaskSED0Mass& source); 
51   void     FillMassHists(AliAODRecoDecayHF2Prong *part, TClonesArray *arrMC, AliRDHFCutsD0toKpi *cuts, TList *listout);
52   void     FillVarHists(AliAODRecoDecayHF2Prong *part, TClonesArray *arrMC, AliRDHFCutsD0toKpi *cuts, TList *listout);
53   TList    *fOutputMass; //! list send on output slot 1
54   TList    *fDistr;       //! list send on output slot 2
55   TH1F     *fNentries;    //! histogram with number of events on output slot 3
56   TList    *fChecks;       //! list send on output slot 4
57   //TList*   fCutList; //!
58   AliRDHFCutsD0toKpi *fCuts;  // Cuts - sent to output slot 5
59   Int_t    fArray;        //   can be D0 or Like Sign candidates
60   Bool_t   fReadMC;       // flag for MC array: kTRUE = read it, kFALSE = do not read it
61   Bool_t    fCutOnDistr;   // Flag to decide if apply cut also on distributions: 0 no cuts, 1 looser cuts, 2 tighter cuts 
62
63   Int_t*    fTotPosPairs;     //
64   Int_t*    fTotNegPairs;     // 
65   Double_t fLsNormalization;  //  normalization
66
67
68   ClassDef(AliAnalysisTaskSED0Mass,6); // AliAnalysisTaskSE for the MC association of heavy-flavour decay candidates
69 };
70
71 #endif