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 */
6 //#####################################################
8 //# Basic Analysis task for Dielectron #
9 //# single event analysis #
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 #
16 //#####################################################
20 #include "AliAnalysisTaskSE.h"
22 // #include "AliDielectronPID.h"
26 class AliAnalysisCuts;
27 class AliTriggerAnalysis;
29 class AliAnalysisTaskMultiDielectron : public AliAnalysisTaskSE {
32 AliAnalysisTaskMultiDielectron();
33 AliAnalysisTaskMultiDielectron(const char *name);
34 virtual ~AliAnalysisTaskMultiDielectron(){ }
36 virtual void UserExec(Option_t *option);
37 virtual void UserCreateOutputObjects();
38 virtual void FinishTaskOutput();
40 // virtual void NotifyRun(){AliDielectronPID::SetCorrVal((Double_t)fCurrentRunNumber);}
42 void UsePhysicsSelection(Bool_t phy=kTRUE) {fSelectPhysics=phy;}
43 void SetTriggerMask(UInt_t mask) {fTriggerMask=mask;}
44 UInt_t GetTriggerMask() const { return fTriggerMask; }
46 void SetEventFilter(AliAnalysisCuts * const filter) {fEventFilter=filter;}
47 void SetTriggerOnV0AND(Bool_t v0and=kTRUE) { fTriggerOnV0AND=v0and; }
48 void SetRejectPileup(Bool_t pileup=kTRUE) { fRejectPileup=pileup; }
49 void AddDielectron(AliDielectron * const die) { fListDielectron.Add(die); }
52 enum {kAllEvents=0, kSelectedEvents, kV0andEvents, kFilteredEvents, kPileupEvents, kNbinsEvent};
53 TList fListDielectron; // List of dielectron framework instances
54 TList fListHistos; //! List of histogram manager lists in the framework classes
55 TList fListCF; //! List with CF Managers
57 Bool_t fSelectPhysics; // Whether to use physics selection
58 UInt_t fTriggerMask; // Event trigger mask
59 Bool_t fTriggerOnV0AND; // if to trigger on V0and
60 Bool_t fRejectPileup; // pileup rejection wanted
62 AliTriggerAnalysis *fTriggerAnalysis; //! trigger analysis class
64 AliAnalysisCuts *fEventFilter; // event filter
66 TH1D *fEventStat; //! Histogram with event statistics
68 AliAnalysisTaskMultiDielectron(const AliAnalysisTaskMultiDielectron &c);
69 AliAnalysisTaskMultiDielectron& operator= (const AliAnalysisTaskMultiDielectron &c);
71 ClassDef(AliAnalysisTaskMultiDielectron, 1); //Analysis Task handling multiple instances of AliDielectron