Cleanup the code. Fix memory leak. Now inherit from AliAnalysisTaskSE (Antoine, Phili...
[u/mrichter/AliRoot.git] / PWG3 / hfe / AliHFEpostAnalysis.h
1 #ifndef ALIHFEPOSTANALYSIS_H
2 #define ALIHFEPOSTANALYSIS_H
3
4 /**************************************************************************
5 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6 *                                                                        *
7 * Author: The ALICE Off-line Project.                                    *
8 * Contributors are mentioned in the code where appropriate.              *
9 *                                                                        *
10 * Permission to use, copy, modify and distribute this software and its   *
11 * documentation strictly for non-commercial purposes is hereby granted   *
12 * without fee, provided that the above copyright notice appears in all   *
13 * copies and that both the copyright notice and this permission notice   *
14 * appear in the supporting documentation. The authors make no claims     *
15 * about the suitability of this software for any purpose. It is          *
16 * provided "as is" without express or implied warranty.                  *
17 **************************************************************************/
18
19 /* $Id$ */ 
20
21 //
22 // Post analysis class
23 // Creating results and draw pictures
24 // Called in AliAnalysisTaskHFE::Terminate or in a macro
25 //
26 #ifndef ROOT_THnSparse
27 #include <THnSparse.h>
28 #endif
29
30 class AliHFEcontainer;
31 class TH1;
32 class TList;
33
34 class AliHFEpostAnalysis : public TObject{
35   public:
36     AliHFEpostAnalysis();
37     AliHFEpostAnalysis(const AliHFEpostAnalysis &ref);
38     AliHFEpostAnalysis &operator=(const AliHFEpostAnalysis &ref);
39     ~AliHFEpostAnalysis();
40
41     Int_t SetTaskResults(AliHFEcontainer *trackContainer) { fEfficiencyContainer = trackContainer; return 1; };
42     Int_t SetTaskQA(const TList *qa);
43     void StoreOutput(const char *filename = "HFEresults.root");
44
45     void DrawMCSignal2Background();
46     void DrawEfficiency();
47     void DrawPIDperformance();
48     void DrawCutEfficiency(Bool_t MC = kTRUE, Int_t source = -1);
49   private:
50     enum{
51       kCFC,
52       kPIDperf,
53       kSigBackg
54     };
55     TH1 *CreateHistoSignalToBackgroundMC(Int_t mode, Int_t charge);
56     TH1 *CreateHistoPIDperformance(Int_t mode, Int_t charge);
57
58     TList *fResults;                          // Container for output objects
59     UChar_t fAnalysisObjects;                       // S
60     AliHFEcontainer *fEfficiencyContainer;     // Task Results
61     THnSparseF *fPIDperformance;              // PID Performance Studies
62     THnSparseF *fSignalToBackgroundMC;        // Signal To Background Studies
63
64     ClassDef(AliHFEpostAnalysis, 1)           // Result Creator class
65 };
66
67 #endif