Incrementing class version.
[u/mrichter/AliRoot.git] / PWGHF / correlationHF / AliAnalysisTaskDxHFECorrelation.h
CommitLineData
72c0a987 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"
9535cec9 19
20class AliPID;
21class AliPIDResponse;
72c0a987 22class TList;
23class AliDxHFEParticleSelection;
9535cec9 24class AliDxHFEParticleSelectionD0;
25class AliDxHFEParticleSelectionEl;
72c0a987 26class AliDxHFECorrelation;
9535cec9 27class AliAnalysisCuts;
28class AliHFEpid;
29class AliHFEcuts;
dfe96b90 30class AliHFAssociatedTrackCuts;
72c0a987 31
32/**
33 * @class AliAnalysisTaskDxHFECorrelation
34 * Task for D0-HFE correleations
35 */
36class 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
2229ac91 58 // TODO: Some of them are not in use, as the members are set by parsing arguments.
59 // Keep it for now.
72c0a987 60 void SetOption(const char* opt) { fOption = opt; }
9535cec9 61 virtual void SetUseMC(Bool_t useMC){fUseMC=useMC;}
62 virtual void SetCutsD0(AliAnalysisCuts* cuts){fCutsD0=cuts;}
2229ac91 63 virtual void SetCutsHFE(TList* cuts){fListHFE=cuts;}
64
dfe96b90 65 void SetCuts(AliAnalysisCuts* cuts){fCuts=cuts;}
66 void SetUseEventMixing(Bool_t useMixing) {fUseEventMixing=useMixing;}
67 void SetSystem(Bool_t system){fSystem=system;}
2229ac91 68 void SetTriggerParticle(int trigger){fTriggerParticle=trigger;}
9535cec9 69
72c0a987 70 /// overloaded from TObject: get option
71 virtual Option_t* GetOption() const { return fOption;}
9535cec9 72 Bool_t GetUseMC() const {return fUseMC;}
72c0a987 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
2229ac91 82 int ParseArguments(const char* arguments);
72c0a987 83 int DefineSlots();
84
85 TList* fOutput; //! list send on output slot 1
9535cec9 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
dfe96b90 91 AliAnalysisCuts *fCuts; // Cuts which holds info for AliHFCorrelator
2229ac91 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
b4779749 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
2229ac91 102
b4779749 103 ClassDef(AliAnalysisTaskDxHFECorrelation, 6);
72c0a987 104};
105
106#endif