]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGHF/correlationHF/AliAnalysisTaskDxHFECorrelation.h
Moving the signal function (synchronizing GSI svn and Aliroot ))
[u/mrichter/AliRoot.git] / PWGHF / correlationHF / AliAnalysisTaskDxHFECorrelation.h
1 //-*- Mode: C++ -*-
2 // $Id$
3
4 //* This file is property of and copyright by the ALICE Project        * 
5 //* ALICE Experiment at CERN, All rights reserved.                     *
6 //* See cxx source for full Copyright notice                           *
7
8 /// @file   AliAnalysisTaskDxHFECorrelation.h
9 /// @author Sedat Altinpinar, Hege Erdal, Matthias Richter
10 /// @date   2012-03-19
11 /// @brief  AnalysisTask D0 - HFE correlation
12 ///
13
14 #ifndef ALIANALYSISTASKDXHFECORRELATION_H
15 #define ALIANALYSISTASKDXHFECORRELATION_H
16
17 #include "AliAnalysisTaskSE.h"
18 #include "TString.h"
19
20 class AliPID;
21 class AliPIDResponse;
22 class TList;
23 class AliDxHFEParticleSelection;
24 class AliDxHFEParticleSelectionD0;
25 class AliDxHFEParticleSelectionEl;
26 class AliDxHFECorrelation;
27 class AliAnalysisCuts;
28 class AliHFEpid;
29 class AliHFEcuts;
30 class AliHFAssociatedTrackCuts;
31
32 /**
33  * @class AliAnalysisTaskDxHFECorrelation
34  * Task for D0-HFE correleations
35  */
36 class AliAnalysisTaskDxHFECorrelation : public AliAnalysisTaskSE {
37   public:
38   /// constructor
39   AliAnalysisTaskDxHFECorrelation(const char* opt="");
40   /// destructor
41   virtual ~AliAnalysisTaskDxHFECorrelation();
42
43   /// inherited from AliAnalysisTask: connect tree branches at input slots
44   virtual void ConnectInputData(Option_t *option="") {
45     return AliAnalysisTaskSE::ConnectInputData(option);
46   }
47
48   /// inherited from AliAnalysisTaskSE: create output objects
49   virtual void UserCreateOutputObjects();
50   /// inherited from AliAnalysisTaskSE: event processing
51   virtual void UserExec(Option_t*);
52   /// inherited from AliAnalysisTask: called in SlaveTerminate phase for each task
53   virtual void FinishTaskOutput();
54   /// inherited from AliAnalysisTask: final step
55   virtual void Terminate(Option_t*);
56
57   /// set options
58   // TODO: Some of them are not in use, as the members are set by parsing arguments.
59   // Keep it for now.
60   void SetOption(const char* opt) { fOption = opt; }
61   virtual void SetUseMC(Bool_t useMC){fUseMC=useMC;}
62   virtual void SetCutsD0(AliAnalysisCuts* cuts){fCutsD0=cuts;}
63   virtual void SetCutsHFE(TList* cuts){fListHFE=cuts;}
64
65   void SetCuts(AliAnalysisCuts* cuts){fCuts=cuts;}
66   void SetUseEventMixing(Bool_t useMixing) {fUseEventMixing=useMixing;}
67   void SetSystem(Bool_t system){fSystem=system;}
68   void SetTriggerParticle(int trigger){fTriggerParticle=trigger;} 
69
70   /// overloaded from TObject: get option
71   virtual Option_t* GetOption() const { return fOption;}
72   Bool_t GetUseMC() const {return fUseMC;}
73
74  protected:
75
76  private:
77   /// copy constructor prohibited: might change
78   AliAnalysisTaskDxHFECorrelation(const AliAnalysisTaskDxHFECorrelation&);
79   /// assignment operator prohibited: might change
80   AliAnalysisTaskDxHFECorrelation& operator=(const AliAnalysisTaskDxHFECorrelation&);
81
82   int ParseArguments(const char* arguments);
83   int DefineSlots();
84
85   TList* fOutput;                        //! list send on output slot 1
86   TString fOption;                       //  option string
87   AliDxHFECorrelation* fCorrelation;     //  correlation worker class
88   AliDxHFEParticleSelection* fD0s;       //  selection of D0s
89   AliDxHFEParticleSelection* fElectrons; //  selection of electrons
90   AliAnalysisCuts *fCutsD0;              //  Cuts D0 
91   AliAnalysisCuts *fCuts;                // Cuts which holds info for AliHFCorrelator 
92   Bool_t fUseMC;                         // use MC info
93   Bool_t fUseEventMixing;                // Run Event Mixing analysis
94   Int_t fSystem;                         // Which system pp/PbPb
95   TObjArray *fSelectedD0s;               // Array for selected D0s
96   TObjArray *fSelectedElectrons;         // Array for selected Electrons
97   TList* fListHFE;                       // List containing cut and pid objects for HFE
98   Int_t fTriggerParticle;                // Which particle to trigger on 
99   Bool_t fUseKine;                       // To run over MC or reconstructed data
100   TObjArray* fMCArray;                   // Array to hold MCarray
101   TString fCorrelationArguments;         // String argument for correlation
102
103   ClassDef(AliAnalysisTaskDxHFECorrelation, 6);
104 };
105
106 #endif