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 *
8 /// @file AliAnalysisTaskDxHFECorrelation.h
9 /// @author Sedat Altinpinar, Hege Erdal, Matthias Richter
11 /// @brief AnalysisTask D0 - HFE correlation
14 #ifndef ALIANALYSISTASKDXHFECORRELATION_H
15 #define ALIANALYSISTASKDXHFECORRELATION_H
17 #include "AliAnalysisTaskSE.h"
23 class AliDxHFEParticleSelection;
24 class AliDxHFEParticleSelectionD0;
25 class AliDxHFEParticleSelectionEl;
26 class AliDxHFECorrelation;
27 class AliAnalysisCuts;
30 class AliHFAssociatedTrackCuts;
33 * @class AliAnalysisTaskDxHFECorrelation
34 * Task for D0-HFE correleations
36 class AliAnalysisTaskDxHFECorrelation : public AliAnalysisTaskSE {
39 AliAnalysisTaskDxHFECorrelation(const char* opt="");
41 virtual ~AliAnalysisTaskDxHFECorrelation();
43 /// inherited from AliAnalysisTask: connect tree branches at input slots
44 virtual void ConnectInputData(Option_t *option="") {
45 return AliAnalysisTaskSE::ConnectInputData(option);
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*);
58 // TODO: Some of them are not in use, as the members are set by parsing arguments.
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;}
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;}
70 /// overloaded from TObject: get option
71 virtual Option_t* GetOption() const { return fOption;}
72 Bool_t GetUseMC() const {return fUseMC;}
77 /// copy constructor prohibited: might change
78 AliAnalysisTaskDxHFECorrelation(const AliAnalysisTaskDxHFECorrelation&);
79 /// assignment operator prohibited: might change
80 AliAnalysisTaskDxHFECorrelation& operator=(const AliAnalysisTaskDxHFECorrelation&);
82 int ParseArguments(const char* arguments);
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
103 ClassDef(AliAnalysisTaskDxHFECorrelation, 6);