]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/SPECTRA/Nuclei/B2/AliLnDriver.h
cumulative changes for root scripts and code cleanup
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / Nuclei / B2 / AliLnDriver.h
CommitLineData
2403d402 1#ifndef ALILNDRIVER_H
2#define ALILNDRIVER_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7// driver for computing the pt and spectra
8// author: Eulogio Serradilla <eulogio.serradilla@cern.ch>
9
10#include <TObject.h>
11#include <TString.h>
12
13class TString;
14class TFileMerger;
15
16class AliLnDriver: public TObject
17{
18 public:
19
20 AliLnDriver();
21 virtual ~AliLnDriver();
22
23 void MakePtCorr() const;
24 void MakePt() const;
25 void MakeRatio() const;
26 void MakeSpectra() const;
27
2403d402 28 Int_t Run() const;
29
30 TString GetSpecies() const { return fSpecies; }
31 TString GetOutputTag() const { return fOutputTag; }
32 TString GetOutputCorrTag() const { return fOutputCorTag; }
33
34 TString GetPtCorrDebugFilename() const { return fOutputPtCorrDebug; }
35 TString GetPtDebugFilename() const { return fOutputPtDebug; }
36
37 void SetInputFilenames(const TString& data, const TString& simu, const TString& simuFix, const TString& ptcorr);
38 void SetOutputFilenames(const TString& pt, const TString& ratio, const TString& spectra);
39 void SetDebugFilenames(const TString& corrdebug, const TString& ptdebug) { fOutputPtCorrDebug = corrdebug; fOutputPtDebug = ptdebug; }
40
41 void SetSpecies(const TString& species) { fSpecies = species; }
42
43 void SetOutputTag(const TString& tag) { fOutputTag = tag; }
44 void SetOutputCorTag(const TString& tag) { fOutputCorTag = tag; }
45
46 void SetTriggerEfficiency(Double_t eff[3]);
d2dadf60 47 void SetExtrapolateToINEL(Bool_t flag=1) { fINEL = flag; }
2403d402 48 void SetOnlyGeneration(Bool_t flag=1) { fIsOnlyGen = flag; }
49
50 void SetMakeCorrections(Bool_t flag=1) { fMakeCorr = flag; }
51 void SetMakePt(Bool_t flag=1) { fMakePt = flag; }
52 void SetMakeRatio(Bool_t flag=1) { fMakeRatio = flag; }
53 void SetMakeSpectra(Bool_t flag=1) { fMakeSpectra = flag; }
54 void SetMakeStats(Bool_t flag=1) { fMakeStats = flag; }
55
56 void SetRapidityInterval(Double_t ymin, Double_t ymax) { fYMin = ymin; fYMax = ymax; }
57
aa54def0 58 void SetPtInterval(Double_t min, Double_t max) { fPtMin = min; fPtMax = max; }
59 void SetPidPt(Double_t ptpid) { fPidPt = ptpid; }
60 void SetBkgInterval(Double_t min, Double_t max) { fBkgMin = min; fBkgMax = max; }
61 void SetPidInterval(Double_t min, Double_t max) { fIntMin = min; fIntMax = max; }
62 void SetPid(Bool_t flag=1) { fPid = flag; }
2403d402 63 void SetSecondaries(Bool_t flag=1) { fSecondaries = flag; }
aa54def0 64 void SetSecProcedure(Int_t proc) { fSecProc = proc; }
fe25d981 65 void SetAntiNucleusAsTemplate(Bool_t flag=1) { fANucTemplate = flag; }
2403d402 66 void SetMatDCAxyModel(Int_t model=1) { fMatDCAxyMod = model; }
67 void SetNBin(Int_t nbin) { fNbin = nbin; }
68 void SetDCAxyInterval(Double_t dcamin, Double_t dcamax) { fMinDCAxy = dcamin; fMaxDCAxy = dcamax; }
69 void SetEfficiency(Bool_t flag=1, Bool_t g3Fluka=0) { fEfficiency = flag; fG3Fluka=g3Fluka; }
70 void SetScalingFactors(Double_t mat, Double_t fd) { fScMat=mat; fScFd=fd; }
71
d2dadf60 72 void SetMCtoINEL(Bool_t flag=1) { fMCtoINEL = flag; }
2403d402 73 void SetFitFractionCorr(Bool_t flag=1) { fFitFrac=flag; }
1cb68411 74 void SetFeedDownCorr(Bool_t flag=1) { fFdwnCorr=flag; }
2403d402 75 void SetSameFeedDownCorr(Bool_t flag=1) { fSameFdwn = flag; }
76
aa54def0 77 void SetPidProcedure(Int_t proc) { fPidProc=proc; }
78
79 void SetPidEfficiency(Double_t eff) { fPidEff=eff; }
80
0f539a2b 81 void SetAddFakeTracks(Bool_t flag=1) { fAddFakeTracks = flag; }
82
aa54def0 83 void SetDebugLevel(Int_t level) { fDebugLevel = level; }
2403d402 84
85 private:
86
87 AliLnDriver(const AliLnDriver& other);
88 AliLnDriver& operator=(const AliLnDriver& other);
89
90 private:
91
92 TString fSpecies; // particle species
93 TString fOutputTag; // tag for output file
1cb68411 94 TString fOutputCorTag; // tag for correction file
2403d402 95
96 Double_t fTrigEff[3]; // trigger efficiency, stat. and syst. errors
97 Double_t fXsec[3]; // total inelastic cross section, stat. and syst. errors
98 Bool_t fIsOnlyGen; // if it is only generation
d2dadf60 99 Bool_t fINEL; // extrapolate to inelastic events
2403d402 100
101 Bool_t fMakeCorr; // make corrections
102 Bool_t fMakePt; // make pt
103 Bool_t fMakeRatio; // make antiparticle/particle ratio
104 Bool_t fMakeSpectra; // make spectra
105 Bool_t fMakeStats; // make event stats
106
aa54def0 107 Double_t fPtMin; // minimum pt value
108 Double_t fPtMax; // maximum pt value
109 Bool_t fPid; // enable pid correction
110 Double_t fPidPt; // minimum pt value for pid correction
2403d402 111 Bool_t fSecondaries; // correction of secondaries
aa54def0 112 Int_t fSecProc; // procedure to estimate fractions
2403d402 113 Int_t fMatDCAxyMod; // DCAxy model for correction of secondaries
fe25d981 114 Bool_t fANucTemplate; // enable antinucleus as template for primaries
2403d402 115 Int_t fNbin; // rebin of DCAxy distribution
116 Double_t fYMin; // min rapidity
117 Double_t fYMax; // max rapidity
118 Double_t fMinDCAxy; // min DCAxy
119 Double_t fMaxDCAxy; // max DCAxy
aa54def0 120 Double_t fBkgMin; // lower limit for removing background
121 Double_t fBkgMax; // upper limit for removing background
122 Double_t fIntMin; // lower limit for integration
123 Double_t fIntMax; // upper limit for integration
2403d402 124 Bool_t fEfficiency; // efficiency correction
d2dadf60 125 Bool_t fG3Fluka; // enable G3/Fluka correction for TPC
2403d402 126 Double_t fScMat; // scaling factor for material fraction
127 Double_t fScFd; // scaling factor for feed-down fraction
128
2403d402 129 TString fInputData; // input data filename
130 TString fInputSimu; // input simulation filename
131 TString fInputSimuFix; // input fixed simulation filename
132
133 TString fOutputPtCorr; // output filename for pt corrections
134 TString fOutputPt; // output filename for pt
135 TString fOutputRatio; // output filename for antiparticle/particle ratio
136 TString fOutputSpectra; // output filename for differential yields
137
138 TString fOutputPtCorrDebug; // output filename for debugging pt corrections
139 TString fOutputPtDebug; // output filename for debugging pt
140
141 Bool_t fFitFrac; // fit for fraction of secondaries
1cb68411 142 Bool_t fFdwnCorr; // enable feed-down correction
2403d402 143 Bool_t fSameFdwn; // same feed-down correction for positives and negatives
d2dadf60 144 Bool_t fMCtoINEL; // MC to extrapolate to inel or for triggering events
2403d402 145
0f539a2b 146 Bool_t fAddFakeTracks; // include fake tracks in the efficiency and templates
147
aa54def0 148 Int_t fPidProc; // pid procedure on the pt distribution
149
150 Double_t fPidEff; // pid efficiency for all pt
151
152 Int_t fDebugLevel; // 0 no verbose, > 1 verbose
153
2403d402 154 ClassDef(AliLnDriver,3)
155};
156
157#endif // ALILNDRIVER_H