]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGHF/hfe/AliHFEefficiency.h
Fix of sigmaZ for crossing tracklets from Alex
[u/mrichter/AliRoot.git] / PWGHF / hfe / AliHFEefficiency.h
CommitLineData
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
25class TList;
26class TObjArray;
27class AliCFAcceptanceCuts;
28class AliCFEffGrid;
29class AliCFContainer;
30class AliHFEcollection;
31class AliHFEcontainer;
32class AliHFEtrackFilter;
33
34class 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);
d44e3c84 57 void DrawSignalEfficiency(AliCFEffGrid *eff, AliCFContainer *cont, Int_t var);
58 void DrawCutEfficiency(AliCFEffGrid *eff, AliCFContainer *cont, Int_t var);
70da6c5a 59
60 private:
61 enum{
62 kNTracks,
63 kPt
64 };
faee3b18 65 enum{ // Bit Definition
66 kTerminate = BIT(18)
67 };
70da6c5a 68 AliHFEefficiency(const AliHFEefficiency &);
69 AliHFEefficiency &operator=(const AliHFEefficiency &);
d44e3c84 70
70da6c5a 71
72 AliHFEtrackFilter *fFilter; //! Track Filter
73 AliHFEcutStep *fMCcut; //! MC Signal
74 AliCFAcceptanceCuts *fAcceptanceCuts; //! MC Acceptance cuts
75 AliHFEcontainer *fEfficiency; //! Efficiency container
76 AliHFEcollection *fOutput; //! QA histo container
77 Bool_t fCutTRD; // Apply TRD cuts
78
79 ClassDef(AliHFEefficiency, 1);
80};
81#endif