91c7e1ec |
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 | // Task for PID QA |
17 | // Using AliHFEpidQA and AliHFEMCpidQA |
18 | // More information can be found in the source file |
19 | // |
c2690925 |
20 | #ifndef ALIANALYSISTASKHFEPIDQA_H |
21 | #define ALIANALYSISTASKHFEPIDQA_H |
22 | |
70da6c5a |
23 | #ifndef ALIANALYSISTASKSE_H |
24 | #include "AliAnalysisTaskSE.h" |
25 | #endif |
26 | |
27 | class TH1; |
28 | class TList; |
faee3b18 |
29 | class TFile; |
30 | |
31 | class AliLog; |
32 | class AliMCEvent; |
70da6c5a |
33 | |
34 | class AliHFEpidQA; |
35 | |
36 | class AliAnalysisTaskHFEpidQA : public AliAnalysisTaskSE{ |
70da6c5a |
37 | public: |
38 | AliAnalysisTaskHFEpidQA(); |
39 | AliAnalysisTaskHFEpidQA(const Char_t *name); |
40 | ~AliAnalysisTaskHFEpidQA(); |
41 | |
91c7e1ec |
42 | virtual void UserCreateOutputObjects(); |
70da6c5a |
43 | virtual void UserExec(Option_t *); |
44 | virtual void Terminate(Option_t *); |
91c7e1ec |
45 | virtual Bool_t UserNotify(); |
70da6c5a |
46 | |
47 | Bool_t HasV0pidQA() const { return TestBit(kV0pidQA); }; |
48 | Bool_t HasRecalculateTRDpid() const { return TestBit(kRecalculateTRDpid); }; |
49 | void SetV0pidQA(Bool_t v0pidQA = kTRUE) { SetBit(kV0pidQA, v0pidQA); }; |
50 | void SetRecalculateTRDpid(Bool_t recal = kTRUE) { SetBit(kRecalculateTRDpid, recal); }; |
e156c3bb |
51 | void SetTRDTotalChargeInSlice0() { fTRDTotalChargeInSlice0 = kTRUE; } |
70da6c5a |
52 | |
faee3b18 |
53 | void SetNNref(TFile *f) { fNNref = f; }; |
54 | |
e17c1f86 |
55 | void SetQAPbPb() { fIsQAPbPb = kTRUE; }; |
56 | void SetQAPP() { fIsQAPbPb = kFALSE; }; |
57 | void SetQAPPMultiBin() { fIsQAppMultiBin = kFALSE; }; |
58 | Bool_t IsQAPbPb() const { return fIsQAPbPb; }; |
59 | Bool_t IsQAPP() const { return !fIsQAPbPb; }; |
60 | Bool_t IsQAPPMultiBin() const { return fIsQAppMultiBin; }; |
61 | |
62 | |
70da6c5a |
63 | private: |
91c7e1ec |
64 | enum{ |
65 | kV0pidQA = BIT(22), |
66 | kRecalculateTRDpid = BIT(23) |
67 | }; |
70da6c5a |
68 | AliAnalysisTaskHFEpidQA(const AliAnalysisTaskHFEpidQA &ref); |
69 | AliAnalysisTaskHFEpidQA &operator=(const AliAnalysisTaskHFEpidQA &ref); |
70 | AliHFEpidQA *fPIDqa; //! The heart of the analysis |
71 | TList *fOutput; //! Container for output histos |
72 | TH1 *fEvents; //! Number of Events |
faee3b18 |
73 | TFile *fNNref; // reference file for NN |
e156c3bb |
74 | Bool_t fTRDTotalChargeInSlice0; // Fix for Foreware/Backward compatibility |
e17c1f86 |
75 | Bool_t fIsQAPbPb; // Analysis Type: pp or PbPb |
76 | Bool_t fIsQAppMultiBin; // pp multiplicity bin analysis |
70da6c5a |
77 | |
78 | ClassDef(AliAnalysisTaskHFEpidQA, 1) |
79 | }; |
80 | |
81 | #endif |
82 | |