]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG3/hfe/AliAnalysisTaskHFE.h
Classes for efficiency corrections (Xaver, Roberta)
[u/mrichter/AliRoot.git] / PWG3 / hfe / AliAnalysisTaskHFE.h
CommitLineData
809a4336 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#ifndef ALIANALYSISTASKHFE_H
16#define ALIANALYSISTASKHFE_H
17
dbe3abbe 18#ifndef ALIANALYSISTASK_H
809a4336 19#include "AliAnalysisTask.h"
dbe3abbe 20#endif
21
22#ifndef ROOT_THnSparse
23#include <THnSparse.h>
24#endif
809a4336 25
26class AliHFEpid;
27class AliHFEcuts;
259c3296 28class AliHFEmcQA;
29class AliHFEsecVtx;
809a4336 30class AliCFManager;
31class AliESDEvent;
32class AliESDtrackCuts;
33class AliMCEvent;
34class TH1I;
35class TList;
36
37class AliAnalysisTaskHFE : public AliAnalysisTask{
38 enum{
dbe3abbe 39 kIsQAOn = BIT(18),
40 kIsMCQAOn = BIT(19),
41 kIsSecVtxOn = BIT(20),
42 kIsPriVtxOn = BIT(21)
809a4336 43 };
dbe3abbe 44 public:
45 AliAnalysisTaskHFE();
46 AliAnalysisTaskHFE(const AliAnalysisTaskHFE &ref);
47 AliAnalysisTaskHFE& operator=(const AliAnalysisTaskHFE &ref);
48 ~AliAnalysisTaskHFE();
809a4336 49
dbe3abbe 50 virtual void ConnectInputData(Option_t *);
51 virtual void CreateOutputObjects();
52 virtual void Exec(Option_t *);
53 virtual void Terminate(Option_t *);
809a4336 54
259c3296 55 Bool_t IsQAOn() const { return TestBit(kIsQAOn); };
dbe3abbe 56 Bool_t IsMCQAOn() const { return TestBit(kIsMCQAOn); };
259c3296 57 Bool_t IsSecVtxOn() const { return TestBit(kIsSecVtxOn); };
dbe3abbe 58 Bool_t IsPriVtxOn() const { return TestBit(kIsPriVtxOn); };
259c3296 59 void SetQAOn() { SetBit(kIsQAOn, kTRUE); };
60 void SetMCQAOn() { SetBit(kIsMCQAOn, kTRUE); };
dbe3abbe 61 void SetPriVtxOn() { SetBit(kIsPriVtxOn, kTRUE); };
259c3296 62 void SetSecVtxOn() { SetBit(kIsSecVtxOn, kTRUE); };
dbe3abbe 63
64 protected:
65 void Copy(TObject &o) const;
809a4336 66
dbe3abbe 67 private:
809a4336 68 void MakeParticleContainer();
69
dbe3abbe 70 AliESDEvent *fESD; //! The ESD Event
71 AliMCEvent *fMC; //! The MC Event
72 AliCFManager *fCFM; //! Correction Framework Manager
259c3296 73 THnSparseF *fCorrelation; //! response matrix for unfolding
74 THnSparseF *fFakeElectrons; //! Contamination from Fake Electrons
dbe3abbe 75 AliHFEpid *fPID; //! PID
259c3296 76 AliHFEcuts *fCuts; //! Cut Collection
77 AliHFEsecVtx *fSecVtx; //! Secondary Vertex Analysis
dbe3abbe 78 AliHFEmcQA *fMCQA; //! MC QA
79 TH1I *fNEvents; //! counter for the number of Events
80 TList *fQA; //! QA histos for the cuts
259c3296 81 TList *fOutput; //! Container for Task Output
82 TList *fHistMCQA; //! Output container for MC QA histograms
83 TList *fHistSECVTX; //! Output container for sec. vertexing results
809a4336 84
dbe3abbe 85 ClassDef(AliAnalysisTaskHFE, 1) // The electron Analysis Task
809a4336 86};
87#endif
dbe3abbe 88