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