]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/AliAnalysisTaskProtons.h
i)Code cleanup ii)Reading MC info from the same class - To be done: CORRFW interface
[u/mrichter/AliRoot.git] / PWG2 / AliAnalysisTaskProtons.h
1 #ifndef AliAnalysisTaskProtons_cxx
2 #define AliAnalysisTaskProtons_cxx
3
4 // Analysis task creating a the 2d y-p_t spectrum of p and antip
5 // Author: Panos Cristakoglou
6
7 class TString;
8 class TList;
9 class AliESDEvent;
10 class AliAODEvent;
11 class AliMCEvent;
12 class AliProtonAnalysis;
13 class TF1;
14
15 #include "AliAnalysisTask.h"
16
17 class AliAnalysisTaskProtons : public AliAnalysisTask {
18  public:
19   AliAnalysisTaskProtons();
20   AliAnalysisTaskProtons(const char *name);
21   virtual ~AliAnalysisTaskProtons() {}
22   
23   virtual void   ConnectInputData(Option_t *);
24   virtual void   CreateOutputObjects();
25   virtual void   Exec(Option_t *option);
26   virtual void   Terminate(Option_t *);
27
28   void SetType(const char* type) {fAnalysisType = type;}
29   void SetPriorProbabilityFunctions(TF1 *felectrons, 
30                                     TF1 *fmuons,
31                                     TF1 *fpions,
32                                     TF1 *fkaons,
33                                     TF1 *fprotons) {
34     fFunctionUsed = kTRUE;
35     fElectronFunction = felectrons;
36     fMuonFunction = fmuons;
37     fPionFunction = fpions;
38     fKaonFunction = fkaons;
39     fProtonFunction = fprotons;
40   }
41   
42  private:
43   AliESDEvent *fESD;    //ESD object
44   AliAODEvent *fAOD;    //AOD object
45   AliMCEvent  *fMC;     //MC object
46   TString fAnalysisType;//"ESD", "AOD" or "MC"
47
48   TList  *fList; //TList output object
49
50   AliProtonAnalysis *fAnalysis; //analysis object
51
52   TF1 *fElectronFunction; //TF1 for e
53   TF1 *fMuonFunction; //TF1 for mu
54   TF1 *fPionFunction; //TF1 for pi
55   TF1 *fKaonFunction; //TF1 for K
56   TF1 *fProtonFunction; //TF1 for p
57
58   Bool_t fFunctionUsed; //kTRUE if Functions are used
59
60   AliAnalysisTaskProtons(const AliAnalysisTaskProtons&); // not implemented
61   AliAnalysisTaskProtons& operator=(const AliAnalysisTaskProtons&); // not implemented
62   
63   ClassDef(AliAnalysisTaskProtons, 1); // example of analysis
64 };
65
66 #endif