]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG3/dielectron/AliAnalysisTaskMultiDielectron.h
Major update of the framework
[u/mrichter/AliRoot.git] / PWG3 / dielectron / AliAnalysisTaskMultiDielectron.h
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
6 //#####################################################
7 //#                                                   # 
8 //#        Basic Analysis task for Dielectron         #
9 //#          single event analysis                    #
10 //#                                                   #
11 //#  by WooJin J. Park, GSI / W.J.Park@gsi.de         #
12 //#     Ionut C. Arsene, GSI / I.C.Arsene@gsi.de      #
13 //#     Magnus Mager, CERN / Magnus.Mager@cern.ch     #
14 //#     Jens Wiechula, Uni HD / Jens.Wiechula@cern.ch #
15 //#                                                   #
16 //#####################################################
17
18 #include "TList.h"
19
20 #include "AliAnalysisTaskSE.h"
21
22 class AliDielectron;
23 class TH1D;
24
25 class AliAnalysisTaskMultiDielectron : public AliAnalysisTaskSE {
26   
27 public:
28   AliAnalysisTaskMultiDielectron();
29   AliAnalysisTaskMultiDielectron(const char *name);
30   virtual ~AliAnalysisTaskMultiDielectron(){  }
31
32   virtual void UserExec(Option_t *option);
33   virtual void UserCreateOutputObjects();
34   virtual void FinishTaskOutput();
35   
36   void UsePhysicsSelection(Bool_t phy=kTRUE) {fSelectPhysics=phy;}
37   void SetTriggerMask(UInt_t mask) {fTriggerMask=mask;}
38   UInt_t GetTriggerMask() const { return fTriggerMask; }
39   
40   void AddDielectron(AliDielectron * const die) { fListDielectron.Add(die); }
41   
42 private:
43   
44   TList fListDielectron;             // List of dielectron framework instances
45   TList fListHistos;                 //! List of histogram manager lists in the framework classes
46   TList fListCF;                     //! List with CF Managers
47
48   Bool_t fSelectPhysics;             // Whether to use physics selection
49   UInt_t fTriggerMask;               // Event trigger mask
50
51   TH1D *fEventStat;                  //! Histogram with event statistics
52   
53   AliAnalysisTaskMultiDielectron(const AliAnalysisTaskMultiDielectron &c);
54   AliAnalysisTaskMultiDielectron& operator= (const AliAnalysisTaskMultiDielectron &c);
55   
56   ClassDef(AliAnalysisTaskMultiDielectron, 1); //Analysis Task handling multiple instances of AliDielectron
57 };
58 #endif