]>
Commit | Line | Data |
---|---|---|
70da6c5a | 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 Efficiency studies | |
17 | // Used for testing classes AliHFEcontainer and AliHFEfilter | |
18 | // Creates Efficiency Histograms | |
19 | // | |
c2690925 | 20 | #ifndef ALIHFEEFFICIENCY_H |
21 | #define ALIHFEEFFICIENCY_H | |
22 | ||
70da6c5a | 23 | #include "AliAnalysisTaskSE.h" |
24 | ||
25 | class TList; | |
26 | class TObjArray; | |
27 | class AliCFAcceptanceCuts; | |
28 | class AliCFEffGrid; | |
29 | class AliCFContainer; | |
30 | class AliHFEcollection; | |
31 | class AliHFEcontainer; | |
32 | class AliHFEtrackFilter; | |
33 | ||
34 | class AliHFEefficiency : public AliAnalysisTaskSE{ | |
35 | public: | |
36 | AliHFEefficiency(); | |
37 | AliHFEefficiency(const Char_t *name); | |
38 | ~AliHFEefficiency(); | |
39 | ||
40 | virtual void UserCreateOutputObjects(); | |
41 | virtual void UserExec(Option_t *); | |
42 | virtual void Terminate(Option_t *); | |
43 | ||
44 | void FilterMC(); | |
45 | void CutTRD() { fCutTRD = kTRUE; } | |
46 | ||
47 | void SetHFEcontainer(AliHFEcontainer * const cont) { fEfficiency = cont; }; | |
48 | void UnsetHFEcontainer() { fEfficiency = NULL; } | |
49 | ||
50 | void Load(const char* filename = "EffTask.root"); | |
51 | void PostProcess(); | |
faee3b18 | 52 | Bool_t IsRunningTerminate() const { return TestBit(kTerminate); } |
53 | void SetRunTerminate(Bool_t terminate = kTRUE) { SetBit(kTerminate, terminate); } | |
70da6c5a | 54 | |
55 | void CalculatePTsmearing(); | |
3a72645a | 56 | void DrawPtResolution(const TList * const l); |
70da6c5a | 57 | |
58 | private: | |
59 | enum{ | |
60 | kNTracks, | |
61 | kPt | |
62 | }; | |
faee3b18 | 63 | enum{ // Bit Definition |
64 | kTerminate = BIT(18) | |
65 | }; | |
70da6c5a | 66 | AliHFEefficiency(const AliHFEefficiency &); |
67 | AliHFEefficiency &operator=(const AliHFEefficiency &); | |
68 | void DrawSignalEfficiency(AliCFEffGrid *eff, AliCFContainer *cont, Int_t var); | |
69 | void DrawCutEfficiency(AliCFEffGrid *eff, AliCFContainer *cont, Int_t var); | |
70 | ||
71 | AliHFEtrackFilter *fFilter; //! Track Filter | |
72 | AliHFEcutStep *fMCcut; //! MC Signal | |
73 | AliCFAcceptanceCuts *fAcceptanceCuts; //! MC Acceptance cuts | |
74 | AliHFEcontainer *fEfficiency; //! Efficiency container | |
75 | AliHFEcollection *fOutput; //! QA histo container | |
76 | Bool_t fCutTRD; // Apply TRD cuts | |
77 | ||
78 | ClassDef(AliHFEefficiency, 1); | |
79 | }; | |
80 | #endif |