]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG3/dielectron/AliAnalysisTaskMultiDielectron.h
Updating the functionality of AliAnalysisHadEtCorrections to accomodate centrality...
[u/mrichter/AliRoot.git] / PWG3 / dielectron / AliAnalysisTaskMultiDielectron.h
CommitLineData
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 26class AliDielectron;
61d106d3 27class TH1D;
2a14a7b1 28class AliAnalysisCuts;
29class AliTriggerAnalysis;
b2a297fa 30
31class AliAnalysisTaskMultiDielectron : public AliAnalysisTaskSE {
32
33public:
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
53private:
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