]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/SPECTRA/ChargedHadrons/dNdPt/AlidNdPt.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / ChargedHadrons / 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
df1c0513 8// last change: 2011-06-13 by M.Knichel
0aaa8b91 9//------------------------------------------------------------------------------
10
11class AliESDEvent;
12class AliMCEvent;
13class AliESDtrackCuts;
14class AlidNdPtEventCuts;
15class AlidNdPtAcceptanceCuts;
d269b0e6 16class AliPhysicsSelection;
7f7dd416 17class AlidNdPtBackgroundCuts;
0aaa8b91 18
19#include "TNamed.h"
20#include "TFolder.h"
70fdd197 21#include "AliTriggerAnalysis.h"
0aaa8b91 22#include "AlidNdPtHelper.h"
23
24class AlidNdPt : public TNamed {
25public:
26 AlidNdPt();
27 AlidNdPt(Char_t* name, Char_t* title);
28 ~AlidNdPt();
29
30 // Init data members
31 virtual void Init() = 0;
32
33 // Process events
34 virtual void Process(AliESDEvent *const esdEvent=0, AliMCEvent *const mcEvent=0) = 0;
35
36 // Merge output objects (needed by PROOF)
c931948b 37 virtual Long64_t Merge(TCollection* const list=0) = 0;
0aaa8b91 38
39 // Analyse output histograms
40 virtual void Analyse() = 0;
41
42 // Export analysed output objects to folder
c931948b 43 virtual TFolder *ExportToFolder(TObjArray * const array=0) = 0;
0aaa8b91 44
45 //
0aaa8b91 46
47 //
bad4ba69 48 void SetEventCuts(AlidNdPtEventCuts* const cuts) { fdNdPtEventCuts = cuts; }
df1c0513 49 void SetAcceptanceCuts(AlidNdPtAcceptanceCuts* const cuts) { fdNdPtAcceptanceCuts = cuts; }
68f10917 50 void SetRecAcceptanceCuts(AlidNdPtAcceptanceCuts* const cuts) { fdNdPtRecAcceptanceCuts = cuts; }
df1c0513 51 void SetMultAcceptanceCuts(AlidNdPtAcceptanceCuts* const cuts){ fMultAcceptanceCuts = cuts; }
bad4ba69 52 void SetTrackCuts(AliESDtrackCuts* const cuts) { fEsdTrackCuts = cuts; }
df1c0513 53 void SetMultTrackCuts(AliESDtrackCuts* const cuts) { fMultTrackCuts = cuts; }
bad4ba69 54 void SetUseMCInfo(const Bool_t info) { fUseMCInfo = info; }
55 void SetAnalysisMode(const AlidNdPtHelper::AnalysisMode mode) { fAnalysisMode = mode; }
70fdd197 56 void SetTrigger(const AliTriggerAnalysis::Trigger trigger) { fTrigger = trigger; }
985bdfd5 57 void SetTriggerClass(const Char_t *triggerClass) { fTriggerClass = triggerClass; }
847e74b2 58 void SetParticleMode(const AlidNdPtHelper::ParticleMode mode) { fParticleMode = mode; }
d269b0e6 59 void SetPhysicsTriggerSelection(AliPhysicsSelection* const selection) { fPhysicsSelection = selection; }
7f7dd416 60 void SetBackgroundCuts(AlidNdPtBackgroundCuts* const cuts) { fdNdPtBackgroundCuts = cuts; }
bad4ba69 61
62 AlidNdPtEventCuts* GetEventCuts() const { return fdNdPtEventCuts; }
63 AlidNdPtAcceptanceCuts* GetAcceptanceCuts() const { return fdNdPtAcceptanceCuts; }
df1c0513 64 AlidNdPtAcceptanceCuts* GetMultAcceptanceCuts() const { return (fMultAcceptanceCuts) ? fMultAcceptanceCuts : fdNdPtAcceptanceCuts; }
65 AlidNdPtAcceptanceCuts* GetRecAcceptanceCuts() const { return fdNdPtRecAcceptanceCuts; }
bad4ba69 66 AliESDtrackCuts* GetTrackCuts() const { return fEsdTrackCuts; }
df1c0513 67 AliESDtrackCuts* GetMultTrackCuts() const { return (fMultTrackCuts) ? fMultTrackCuts: fEsdTrackCuts; }
bad4ba69 68 Bool_t IsUseMCInfo() const { return fUseMCInfo; }
69 AlidNdPtHelper::AnalysisMode GetAnalysisMode() const { return fAnalysisMode; }
70fdd197 70 AliTriggerAnalysis::Trigger GetTrigger() const { return fTrigger; }
985bdfd5 71 const Char_t* GetTriggerClass() const { return fTriggerClass; }
847e74b2 72 AlidNdPtHelper::ParticleMode GetParticleMode() const { return fParticleMode; }
d269b0e6 73 AliPhysicsSelection* GetPhysicsTriggerSelection() const { return fPhysicsSelection; }
7f7dd416 74 AlidNdPtBackgroundCuts* GetBackgroundCuts() const { return fdNdPtBackgroundCuts; }
10360c58 75 Double_t* CreateLogAxis(Int_t nbins, Double_t xmin, Double_t xmax);
0aaa8b91 76
a26e43aa 77 void SetAnalyseOutput(Bool_t analyseoutput) { fAnalyseOutput = analyseoutput; }
78 Bool_t GetAnalyseOutput() const { return fAnalyseOutput; }
79
80 void SetMergeTHnSparse(Bool_t mergethnsparse) { fMergeTHnSparse = mergethnsparse; }
81 Bool_t GetMergeTHnSparse() const { return fMergeTHnSparse; }
82
b2c68775 83 void SetTriggerMask(UInt_t triggermask) { fTriggerMask = triggermask; }
84 UInt_t GetTriggerMask() { return fTriggerMask; }
85
86
fc98fbb5 87protected:
88 static Double_t* CloneArray(Int_t n, Double_t* source);
89
0aaa8b91 90private:
91
154caed0 92 AlidNdPt(const AlidNdPt&); // not implemented
93 AlidNdPt& operator=(const AlidNdPt&); // not implemented
94
0aaa8b91 95 AlidNdPtEventCuts *fdNdPtEventCuts; // event cuts
68f10917 96 AlidNdPtAcceptanceCuts *fdNdPtAcceptanceCuts; // acceptance cuts
97 AlidNdPtAcceptanceCuts *fdNdPtRecAcceptanceCuts; // additional recontruction acceptance cuts (not used for MC truth)
df1c0513 98 AlidNdPtAcceptanceCuts *fMultAcceptanceCuts; // acceptance cuts for multiplicity estimator
0aaa8b91 99 AliESDtrackCuts *fEsdTrackCuts; // esd track cuts
df1c0513 100 AliESDtrackCuts *fMultTrackCuts; // esd track cuts for multiplicity estimator
0aaa8b91 101
102 Bool_t fUseMCInfo; // use MC information
103 AlidNdPtHelper::AnalysisMode fAnalysisMode; // analysis mode TPC only, TPC + ITS
70fdd197 104 AliTriggerAnalysis::Trigger fTrigger; // trigger definition MB1, MB2 ...
985bdfd5 105 const Char_t * fTriggerClass; // trigger class
847e74b2 106 AlidNdPtHelper::ParticleMode fParticleMode; // selected particle (pion, kaon, ...)
0aaa8b91 107
d269b0e6 108 AliPhysicsSelection* fPhysicsSelection; // physics trigger selection class
7f7dd416 109 AlidNdPtBackgroundCuts *fdNdPtBackgroundCuts; // background cuts (cosmics and splitted tracks)
a26e43aa 110
b2c68775 111 Bool_t fAnalyseOutput; // call Analyse() function in the FinishTaskOutput
a26e43aa 112 Bool_t fMergeTHnSparse; // merge THnSparse histograms in Merge() function
d269b0e6 113
b2c68775 114 UInt_t fTriggerMask; // trigger mask
115
df1c0513 116 ClassDef(AlidNdPt,6);
0aaa8b91 117};
118
119#endif