Covery fixes (Ivana, Antonio)
[u/mrichter/AliRoot.git] / PWG0 / dNdPt / AlidNdPt.h
CommitLineData
0aaa8b91 1#ifndef ALIDNDPT_H
2#define ALIDNDPT_H
3
4//------------------------------------------------------------------------------
5// Abstract class for dNdPt analysis. All dNdPt components should derive from it.
6//
7// Author: J.Otwinowski 03/11/2008
8//------------------------------------------------------------------------------
9
10class AliESDEvent;
11class AliMCEvent;
12class AliESDtrackCuts;
13class AlidNdPtEventCuts;
14class AlidNdPtAcceptanceCuts;
d269b0e6 15class AliPhysicsSelection;
7f7dd416 16class AlidNdPtBackgroundCuts;
0aaa8b91 17
18#include "TNamed.h"
19#include "TFolder.h"
70fdd197 20#include "AliTriggerAnalysis.h"
0aaa8b91 21#include "AlidNdPtHelper.h"
22
23class AlidNdPt : public TNamed {
24public:
25 AlidNdPt();
26 AlidNdPt(Char_t* name, Char_t* title);
27 ~AlidNdPt();
28
29 // Init data members
30 virtual void Init() = 0;
31
32 // Process events
33 virtual void Process(AliESDEvent *const esdEvent=0, AliMCEvent *const mcEvent=0) = 0;
34
35 // Merge output objects (needed by PROOF)
c931948b 36 virtual Long64_t Merge(TCollection* const list=0) = 0;
0aaa8b91 37
38 // Analyse output histograms
39 virtual void Analyse() = 0;
40
41 // Export analysed output objects to folder
c931948b 42 virtual TFolder *ExportToFolder(TObjArray * const array=0) = 0;
0aaa8b91 43
44 //
0aaa8b91 45
46 //
bad4ba69 47 void SetEventCuts(AlidNdPtEventCuts* const cuts) { fdNdPtEventCuts = cuts; }
48 void SetAcceptanceCuts(AlidNdPtAcceptanceCuts* const cuts) { fdNdPtAcceptanceCuts = cuts; }
49 void SetTrackCuts(AliESDtrackCuts* const cuts) { fEsdTrackCuts = cuts; }
50 void SetUseMCInfo(const Bool_t info) { fUseMCInfo = info; }
51 void SetAnalysisMode(const AlidNdPtHelper::AnalysisMode mode) { fAnalysisMode = mode; }
70fdd197 52 void SetTrigger(const AliTriggerAnalysis::Trigger trigger) { fTrigger = trigger; }
985bdfd5 53 void SetTriggerClass(const Char_t *triggerClass) { fTriggerClass = triggerClass; }
847e74b2 54 void SetParticleMode(const AlidNdPtHelper::ParticleMode mode) { fParticleMode = mode; }
d269b0e6 55 void SetPhysicsTriggerSelection(AliPhysicsSelection* const selection) { fPhysicsSelection = selection; }
7f7dd416 56 void SetBackgroundCuts(AlidNdPtBackgroundCuts* const cuts) { fdNdPtBackgroundCuts = cuts; }
bad4ba69 57
58 AlidNdPtEventCuts* GetEventCuts() const { return fdNdPtEventCuts; }
59 AlidNdPtAcceptanceCuts* GetAcceptanceCuts() const { return fdNdPtAcceptanceCuts; }
60 AliESDtrackCuts* GetTrackCuts() const { return fEsdTrackCuts; }
61 Bool_t IsUseMCInfo() const { return fUseMCInfo; }
62 AlidNdPtHelper::AnalysisMode GetAnalysisMode() const { return fAnalysisMode; }
70fdd197 63 AliTriggerAnalysis::Trigger GetTrigger() const { return fTrigger; }
985bdfd5 64 const Char_t* GetTriggerClass() const { return fTriggerClass; }
847e74b2 65 AlidNdPtHelper::ParticleMode GetParticleMode() const { return fParticleMode; }
d269b0e6 66 AliPhysicsSelection* GetPhysicsTriggerSelection() const { return fPhysicsSelection; }
7f7dd416 67 AlidNdPtBackgroundCuts* GetBackgroundCuts() const { return fdNdPtBackgroundCuts; }
0aaa8b91 68
69private:
70
154caed0 71 AlidNdPt(const AlidNdPt&); // not implemented
72 AlidNdPt& operator=(const AlidNdPt&); // not implemented
73
0aaa8b91 74 AlidNdPtEventCuts *fdNdPtEventCuts; // event cuts
75 AlidNdPtAcceptanceCuts *fdNdPtAcceptanceCuts; // acceptance cuts
76 AliESDtrackCuts *fEsdTrackCuts; // esd track cuts
77
78 Bool_t fUseMCInfo; // use MC information
79 AlidNdPtHelper::AnalysisMode fAnalysisMode; // analysis mode TPC only, TPC + ITS
70fdd197 80 AliTriggerAnalysis::Trigger fTrigger; // trigger definition MB1, MB2 ...
985bdfd5 81 const Char_t * fTriggerClass; // trigger class
847e74b2 82 AlidNdPtHelper::ParticleMode fParticleMode; // selected particle (pion, kaon, ...)
0aaa8b91 83
d269b0e6 84 AliPhysicsSelection* fPhysicsSelection; // physics trigger selection class
7f7dd416 85 AlidNdPtBackgroundCuts *fdNdPtBackgroundCuts; // background cuts (cosmics and splitted tracks)
d269b0e6 86
0aaa8b91 87 ClassDef(AlidNdPt,1);
88};
89
90#endif