1 #ifndef ALIHFEEFFICIENCY_H
2 #define ALIHFEEFFICIENCY_H
4 /**************************************************************************
5 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
7 * Author: The ALICE Off-line Project. *
8 * Contributors are mentioned in the code where appropriate. *
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 **************************************************************************/
22 // Task for Efficiency studies
23 // Used for testing classes AliHFEcontainer and AliHFEfilter
24 // Creates Efficiency Histograms
26 #include "AliAnalysisTaskSE.h"
30 class AliCFAcceptanceCuts;
33 class AliHFEcollection;
34 class AliHFEcontainer;
35 class AliHFEtrackFilter;
37 class AliHFEefficiency : public AliAnalysisTaskSE{
40 AliHFEefficiency(const Char_t *name);
43 virtual void UserCreateOutputObjects();
44 virtual void UserExec(Option_t *);
45 virtual void Terminate(Option_t *);
48 void CutTRD() { fCutTRD = kTRUE; }
50 void SetHFEcontainer(AliHFEcontainer * const cont) { fEfficiency = cont; };
51 void UnsetHFEcontainer() { fEfficiency = NULL; }
53 void Load(const char* filename = "EffTask.root");
55 Bool_t IsRunningTerminate() const { return TestBit(kTerminate); }
56 void SetRunTerminate(Bool_t terminate = kTRUE) { SetBit(kTerminate, terminate); }
58 void CalculatePTsmearing();
59 void DrawPtResolution(const TList * const l);
66 enum{ // Bit Definition
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);
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
81 ClassDef(AliHFEefficiency, 1);