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