]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG3/dielectron/AliAnalysisTaskDielectronFilter.h
updates and tuning for the central train run (data and MC)
[u/mrichter/AliRoot.git] / PWG3 / dielectron / AliAnalysisTaskDielectronFilter.h
1 #ifndef ALIANALYSISTASKDIELECTRONFILTER_H
2 #define ALIANALYSISTASKDIELECTRONFILTER_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 //#        Dielectron even filter task                #
9 //#                                                   #
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 Filter Event based on cuts provided in the AliDielectron class.
19
20 Write an AOD file containing events with Dielectron candidates.
21 Add a sattelite AOD with the array of candidates.
22 */
23
24
25
26 #include "AliAnalysisTaskSE.h"
27
28 #include "AliDielectronPID.h"
29
30 class AliDielectron;
31 class TH1D;
32
33 class AliAnalysisTaskDielectronFilter : public AliAnalysisTaskSE {
34   
35 public:
36   AliAnalysisTaskDielectronFilter();
37   AliAnalysisTaskDielectronFilter(const char *name);
38   virtual ~AliAnalysisTaskDielectronFilter(){}
39
40   virtual void UserExec(Option_t *option);
41   virtual void Init();
42   virtual void UserCreateOutputObjects();
43   virtual void LocalInit() {Init();}
44   //temporary
45   virtual void NotifyRun(){AliDielectronPID::SetCorrVal((Double_t)fCurrentRunNumber);}
46   
47   void UsePhysicsSelection(Bool_t phy=kTRUE) {fSelectPhysics=phy;}
48   void SetTriggerMask(UInt_t mask) {fTriggerMask=mask;}
49   UInt_t GetTriggerMask() const { return fTriggerMask; }
50   
51   void SetDielectron(AliDielectron * const die) { fDielectron = die; }
52   
53 private:
54   
55   AliDielectron *fDielectron;             // J/psi framework object
56
57   Bool_t fSelectPhysics;                  // Whether to use physics selection
58   UInt_t fTriggerMask;               // Event trigger mask
59
60   TH1D *fEventStat;                  //! Histogram with event statistics
61   
62   AliAnalysisTaskDielectronFilter(const AliAnalysisTaskDielectronFilter &c);
63   AliAnalysisTaskDielectronFilter& operator= (const AliAnalysisTaskDielectronFilter &c);
64   
65   ClassDef(AliAnalysisTaskDielectronFilter, 1);
66 };
67 #endif