]>
Commit | Line | Data |
---|---|---|
b2a297fa | 1 | #ifndef ALIANALYSISTASKMULTIDIELECTRON_H |
2 | #define ALIANALYSISTASKMULTIDIELECTRON_H | |
3 | /* Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
27de2dfb | 6 | /* $Id$ */ |
7 | ||
b2a297fa | 8 | //##################################################### |
9 | //# # | |
10 | //# Basic Analysis task for Dielectron # | |
11 | //# single event analysis # | |
12 | //# # | |
13 | //# by WooJin J. Park, GSI / W.J.Park@gsi.de # | |
14 | //# Ionut C. Arsene, GSI / I.C.Arsene@gsi.de # | |
15 | //# Magnus Mager, CERN / Magnus.Mager@cern.ch # | |
16 | //# Jens Wiechula, Uni HD / Jens.Wiechula@cern.ch # | |
17 | //# # | |
18 | //##################################################### | |
19 | ||
20 | #include "TList.h" | |
21 | ||
22 | #include "AliAnalysisTaskSE.h" | |
23 | ||
ffbede40 | 24 | // #include "AliDielectronPID.h" |
48609e3d | 25 | |
b2a297fa | 26 | class AliDielectron; |
61d106d3 | 27 | class TH1D; |
2a14a7b1 | 28 | class AliAnalysisCuts; |
29 | class AliTriggerAnalysis; | |
b2a297fa | 30 | |
31 | class AliAnalysisTaskMultiDielectron : public AliAnalysisTaskSE { | |
32 | ||
33 | public: | |
34 | AliAnalysisTaskMultiDielectron(); | |
35 | AliAnalysisTaskMultiDielectron(const char *name); | |
572b0139 | 36 | virtual ~AliAnalysisTaskMultiDielectron(){ } |
b2a297fa | 37 | |
572b0139 | 38 | virtual void UserExec(Option_t *option); |
39 | virtual void UserCreateOutputObjects(); | |
40 | virtual void FinishTaskOutput(); | |
48609e3d | 41 | //temporary |
2a14a7b1 | 42 | // virtual void NotifyRun(){AliDielectronPID::SetCorrVal((Double_t)fCurrentRunNumber);} |
b2a297fa | 43 | |
572b0139 | 44 | void UsePhysicsSelection(Bool_t phy=kTRUE) {fSelectPhysics=phy;} |
61d106d3 | 45 | void SetTriggerMask(UInt_t mask) {fTriggerMask=mask;} |
46 | UInt_t GetTriggerMask() const { return fTriggerMask; } | |
2a14a7b1 | 47 | |
48 | void SetEventFilter(AliAnalysisCuts * const filter) {fEventFilter=filter;} | |
49 | void SetTriggerOnV0AND(Bool_t v0and=kTRUE) { fTriggerOnV0AND=v0and; } | |
50 | void SetRejectPileup(Bool_t pileup=kTRUE) { fRejectPileup=pileup; } | |
b2a297fa | 51 | void AddDielectron(AliDielectron * const die) { fListDielectron.Add(die); } |
52 | ||
53 | private: | |
2a14a7b1 | 54 | enum {kAllEvents=0, kSelectedEvents, kV0andEvents, kFilteredEvents, kPileupEvents, kNbinsEvent}; |
b2a297fa | 55 | TList fListDielectron; // List of dielectron framework instances |
56 | TList fListHistos; //! List of histogram manager lists in the framework classes | |
57 | TList fListCF; //! List with CF Managers | |
572b0139 | 58 | |
59 | Bool_t fSelectPhysics; // Whether to use physics selection | |
61d106d3 | 60 | UInt_t fTriggerMask; // Event trigger mask |
2a14a7b1 | 61 | Bool_t fTriggerOnV0AND; // if to trigger on V0and |
62 | Bool_t fRejectPileup; // pileup rejection wanted | |
63 | ||
64 | AliTriggerAnalysis *fTriggerAnalysis; //! trigger analysis class | |
61d106d3 | 65 | |
2a14a7b1 | 66 | AliAnalysisCuts *fEventFilter; // event filter |
67 | ||
61d106d3 | 68 | TH1D *fEventStat; //! Histogram with event statistics |
b2a297fa | 69 | |
70 | AliAnalysisTaskMultiDielectron(const AliAnalysisTaskMultiDielectron &c); | |
71 | AliAnalysisTaskMultiDielectron& operator= (const AliAnalysisTaskMultiDielectron &c); | |
72 | ||
73 | ClassDef(AliAnalysisTaskMultiDielectron, 1); //Analysis Task handling multiple instances of AliDielectron | |
74 | }; | |
75 | #endif |