// Analysis task creating a the 2d y-p_t spectrum of p and antip
// Author: Panos Cristakoglou
-
+class TString;
class TList;
class AliESDEvent;
-#include "TF1.h"
+class AliAODEvent;
+class AliMCEvent;
+class AliProtonAnalysis;
+class TF1;
-#include "PWG2spectra/SPECTRA/AliProtonAnalysis.h"
#include "AliAnalysisTask.h"
class AliAnalysisTaskProtons : public AliAnalysisTask {
public:
- AliAnalysisTaskProtons(const char *name = "AliAnalysisTaskProtons");
+ enum TriggerMode { kMB1 = 0, kMB2, kSPDFASTOR };
+ enum AnalysisMode { kInvalid = -1, kTPC = 0, kHybrid, kGlobal };
+
+ AliAnalysisTaskProtons();
+ AliAnalysisTaskProtons(const char *name);
virtual ~AliAnalysisTaskProtons() {}
virtual void ConnectInputData(Option_t *);
virtual void Exec(Option_t *option);
virtual void Terminate(Option_t *);
- void SetPriorProbabilityFunctions(TF1 *felectrons,
- TF1 *fmuons,
- TF1 *fpions,
- TF1 *fkaons,
- TF1 *fprotons) {
+ void SetType(const char* type) {fAnalysisType = type;}
+ void SetPriorProbabilityFunctions(TF1 *felectrons,
+ TF1 *fmuons,
+ TF1 *fpions,
+ TF1 *fkaons,
+ TF1 *fprotons) {
fFunctionUsed = kTRUE;
fElectronFunction = felectrons;
fMuonFunction = fmuons;
fKaonFunction = fkaons;
fProtonFunction = fprotons;
}
+
+ void SetTriggerMode(TriggerMode triggermode) {fTriggerMode = triggermode;}
+ void SetAnalysisMode(AnalysisMode analysismode) {fProtonAnalysisMode = analysismode;}
+ void SetAcceptedVertexDiamond(Double_t gVx, Double_t gVy, Double_t gVz) {
+ fVxMax = gVx; fVyMax = gVy; fVzMax = gVz;}
+
+ static Bool_t IsEventTriggered(const AliESDEvent *esd,
+ TriggerMode trigger = kMB2);
+ static const AliESDVertex *GetVertex(AliESDEvent *esd,
+ AnalysisMode mode = kTPC,
+ Double_t gVx = 100.,
+ Double_t gVy = 100.,
+ Double_t gVz = 100.);
private:
- AliESDEvent *fESD; //ESD object
- TList *fList; //TList output object
- AliProtonAnalysis *fAnalysis; //analysis object
+ AliESDEvent *fESD; //ESD object
+ AliAODEvent *fAOD; //AOD object
+ AliMCEvent *fMC; //MC object
+
+ TString fAnalysisType;//"ESD", "AOD" or "MC"
+
+ TList *fList; //TList output object
+
+ AliProtonAnalysis *fProtonAnalysis; //analysis object
+
TF1 *fElectronFunction; //TF1 for e
TF1 *fMuonFunction; //TF1 for mu
TF1 *fPionFunction; //TF1 for pi
TF1 *fKaonFunction; //TF1 for K
TF1 *fProtonFunction; //TF1 for p
-
+
Bool_t fFunctionUsed; //kTRUE if Functions are used
+
+ TriggerMode fTriggerMode; //Trigger mode
+ AnalysisMode fProtonAnalysisMode; //Analysis mode
+ Double_t fVxMax, fVyMax, fVzMax; //vertex diamond constrain
AliAnalysisTaskProtons(const AliAnalysisTaskProtons&); // not implemented
AliAnalysisTaskProtons& operator=(const AliAnalysisTaskProtons&); // not implemented