1 #ifndef AliAnalysisTaskProtons_cxx
2 #define AliAnalysisTaskProtons_cxx
4 // Analysis task creating a the 2d y-p_t spectrum of p and antip
5 // Author: Panos Cristakoglou
11 class AliProtonAnalysis;
14 #include "AliAnalysisTask.h"
16 class AliAnalysisTaskProtons : public AliAnalysisTask {
18 enum TriggerMode { kMB1 = 0, kMB2, kSPDFASTOR };
19 enum AnalysisMode { kInvalid = -1, kTPC = 0, kHybrid, kGlobal };
21 AliAnalysisTaskProtons();
22 AliAnalysisTaskProtons(const char *name);
23 virtual ~AliAnalysisTaskProtons() {}
25 virtual void ConnectInputData(Option_t *);
26 virtual void CreateOutputObjects();
27 virtual void Exec(Option_t *option);
28 virtual void Terminate(Option_t *);
30 void SetType(const char* type) {fAnalysisType = type;}
31 void SetPriorProbabilityFunctions(TF1 *felectrons,
36 fFunctionUsed = kTRUE;
37 fElectronFunction = felectrons;
38 fMuonFunction = fmuons;
39 fPionFunction = fpions;
40 fKaonFunction = fkaons;
41 fProtonFunction = fprotons;
44 void SetTriggerMode(TriggerMode triggermode) {fTriggerMode = triggermode;}
45 void SetAnalysisMode(AnalysisMode analysismode) {fProtonAnalysisMode = analysismode;}
46 void SetAcceptedVertexDiamond(Double_t gVx, Double_t gVy, Double_t gVz) {
47 fVxMax = gVx; fVyMax = gVy; fVzMax = gVz;}
49 static Bool_t IsEventTriggered(const AliESDEvent *esd,
50 TriggerMode trigger = kMB2);
51 static const AliESDVertex *GetVertex(AliESDEvent *esd,
52 AnalysisMode mode = kTPC,
58 AliESDEvent *fESD; //ESD object
59 AliAODEvent *fAOD; //AOD object
60 AliMCEvent *fMC; //MC object
62 TString fAnalysisType;//"ESD", "AOD" or "MC"
64 TList *fList; //TList output object
66 AliProtonAnalysis *fProtonAnalysis; //analysis object
68 TF1 *fElectronFunction; //TF1 for e
69 TF1 *fMuonFunction; //TF1 for mu
70 TF1 *fPionFunction; //TF1 for pi
71 TF1 *fKaonFunction; //TF1 for K
72 TF1 *fProtonFunction; //TF1 for p
74 Bool_t fFunctionUsed; //kTRUE if Functions are used
76 TriggerMode fTriggerMode; //Trigger mode
77 AnalysisMode fProtonAnalysisMode; //Analysis mode
78 Double_t fVxMax, fVyMax, fVzMax; //vertex diamond constrain
80 AliAnalysisTaskProtons(const AliAnalysisTaskProtons&); // not implemented
81 AliAnalysisTaskProtons& operator=(const AliAnalysisTaskProtons&); // not implemented
83 ClassDef(AliAnalysisTaskProtons, 1); // example of analysis