1 /**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
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
18 #ifndef ALIANALYSISTASK_H
19 #include "AliAnalysisTask.h"
22 #ifndef ROOT_THnSparse
23 #include <THnSparse.h>
32 class AliESDtrackCuts;
37 class AliAnalysisTaskHFE : public AliAnalysisTask{
41 kIsSecVtxOn = BIT(20),
46 AliAnalysisTaskHFE(const AliAnalysisTaskHFE &ref);
47 AliAnalysisTaskHFE& operator=(const AliAnalysisTaskHFE &ref);
48 ~AliAnalysisTaskHFE();
50 virtual void ConnectInputData(Option_t *);
51 virtual void CreateOutputObjects();
52 virtual void Exec(Option_t *);
53 virtual void Terminate(Option_t *);
55 Bool_t IsQAOn() const { return TestBit(kIsQAOn); };
56 Bool_t IsMCQAOn() const { return TestBit(kIsMCQAOn); };
57 Bool_t IsSecVtxOn() const { return TestBit(kIsSecVtxOn); };
58 Bool_t IsPriVtxOn() const { return TestBit(kIsPriVtxOn); };
59 void SetQAOn() { SetBit(kIsQAOn, kTRUE); };
60 void SetMCQAOn() { SetBit(kIsMCQAOn, kTRUE); };
61 void SetPriVtxOn() { SetBit(kIsPriVtxOn, kTRUE); };
62 void SetSecVtxOn() { SetBit(kIsSecVtxOn, kTRUE); };
65 void Copy(TObject &o) const;
68 void MakeParticleContainer();
70 AliESDEvent *fESD; //! The ESD Event
71 AliMCEvent *fMC; //! The MC Event
72 AliCFManager *fCFM; //! Correction Framework Manager
73 THnSparseF *fCorrelation; //! response matrix for unfolding
74 THnSparseF *fFakeElectrons; //! Contamination from Fake Electrons
75 AliHFEpid *fPID; //! PID
76 AliHFEcuts *fCuts; //! Cut Collection
77 AliHFEsecVtx *fSecVtx; //! Secondary Vertex Analysis
78 AliHFEmcQA *fMCQA; //! MC QA
79 TH1I *fNEvents; //! counter for the number of Events
80 TList *fQA; //! QA histos for the cuts
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
85 ClassDef(AliAnalysisTaskHFE, 1) // The electron Analysis Task