]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG3/hfe/AliHFEefficiency.h
Added pass1 and pass2 directories
[u/mrichter/AliRoot.git] / PWG3 / hfe / AliHFEefficiency.h
CommitLineData
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
28class TList;
29class TObjArray;
30class AliCFAcceptanceCuts;
31class AliCFEffGrid;
32class AliCFContainer;
33class AliHFEcollection;
34class AliHFEcontainer;
35class AliHFEtrackFilter;
36
37class 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