4 //------------------------------------------------------------------------------
5 // Abstract class for dNdPt analysis. All dNdPt components should derive from it.
7 // Author: J.Otwinowski 03/11/2008
8 //------------------------------------------------------------------------------
12 class AliESDtrackCuts;
13 class AlidNdPtEventCuts;
14 class AlidNdPtAcceptanceCuts;
18 #include "AlidNdPtHelper.h"
20 class AlidNdPt : public TNamed {
23 AlidNdPt(Char_t* name, Char_t* title);
27 virtual void Init() = 0;
30 virtual void Process(AliESDEvent *const esdEvent=0, AliMCEvent *const mcEvent=0) = 0;
32 // Merge output objects (needed by PROOF)
33 virtual Long64_t Merge(TCollection* list=0) = 0;
35 // Analyse output histograms
36 virtual void Analyse() = 0;
38 // Export analysed output objects to folder
39 virtual TFolder *ExportToFolder(TObjArray * array=0) = 0;
42 AlidNdPt(const AlidNdPt&); // not implemented
43 AlidNdPt& operator=(const AlidNdPt&); // not implemented
46 void SetEventCuts(AlidNdPtEventCuts* const cuts) { fdNdPtEventCuts = cuts; }
47 void SetAcceptanceCuts(AlidNdPtAcceptanceCuts* const cuts) { fdNdPtAcceptanceCuts = cuts; }
48 void SetTrackCuts(AliESDtrackCuts* const cuts) { fEsdTrackCuts = cuts; }
49 void SetUseMCInfo(Bool_t info) { fUseMCInfo = info; }
50 void SetAnalysisMode(AlidNdPtHelper::AnalysisMode mode) { fAnalysisMode = mode; }
51 void SetTrigger(AlidNdPtHelper::Trigger trigger) { fTrigger = trigger; }
53 AlidNdPtEventCuts* GetEventCuts() const { return fdNdPtEventCuts; }
54 AlidNdPtAcceptanceCuts* GetAcceptanceCuts() const { return fdNdPtAcceptanceCuts; }
55 AliESDtrackCuts* GetTrackCuts() const { return fEsdTrackCuts; }
56 Bool_t IsUseMCInfo() { return fUseMCInfo; }
57 AlidNdPtHelper::AnalysisMode GetAnalysisMode() { return fAnalysisMode; }
58 AlidNdPtHelper::Trigger GetTrigger() { return fTrigger; }
62 AlidNdPtEventCuts *fdNdPtEventCuts; // event cuts
63 AlidNdPtAcceptanceCuts *fdNdPtAcceptanceCuts; // acceptance cuts
64 AliESDtrackCuts *fEsdTrackCuts; // esd track cuts
66 Bool_t fUseMCInfo; // use MC information
67 AlidNdPtHelper::AnalysisMode fAnalysisMode; // analysis mode TPC only, TPC + ITS
68 AlidNdPtHelper::Trigger fTrigger; // trigger definition MB1, MB2 ...