]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/SPECTRA/Nuclei/B2/AliLnDriver.h
Add deuteron TPC config example and some minor fixes
[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
28 void PrintFilenames() const;
29
30 Int_t Run() const;
31
32 TString GetSpecies() const { return fSpecies; }
33 TString GetOutputTag() const { return fOutputTag; }
34 TString GetOutputCorrTag() const { return fOutputCorTag; }
35
36 TString GetPtCorrDebugFilename() const { return fOutputPtCorrDebug; }
37 TString GetPtDebugFilename() const { return fOutputPtDebug; }
38
39 void SetInputFilenames(const TString& data, const TString& simu, const TString& simuFix, const TString& ptcorr);
40 void SetOutputFilenames(const TString& pt, const TString& ratio, const TString& spectra);
41 void SetDebugFilenames(const TString& corrdebug, const TString& ptdebug) { fOutputPtCorrDebug = corrdebug; fOutputPtDebug = ptdebug; }
42
43 void SetSpecies(const TString& species) { fSpecies = species; }
44
45 void SetOutputTag(const TString& tag) { fOutputTag = tag; }
46 void SetOutputCorTag(const TString& tag) { fOutputCorTag = tag; }
47
48 void SetTriggerEfficiency(Double_t eff[3]);
49 void SetInelXSection(Double_t xsec[3]);
50 void SetNormalizeToINEL(Bool_t flag=1) { fNormToInel = flag; }
51 void SetOnlyGeneration(Bool_t flag=1) { fIsOnlyGen = flag; }
52
53 void SetMakeCorrections(Bool_t flag=1) { fMakeCorr = flag; }
54 void SetMakePt(Bool_t flag=1) { fMakePt = flag; }
55 void SetMakeRatio(Bool_t flag=1) { fMakeRatio = flag; }
56 void SetMakeSpectra(Bool_t flag=1) { fMakeSpectra = flag; }
57 void SetMakeStats(Bool_t flag=1) { fMakeStats = flag; }
58
59 void SetRapidityInterval(Double_t ymin, Double_t ymax) { fYMin = ymin; fYMax = ymax; }
60
61 void SetPtBinInterval(Int_t lowbin, Int_t hibin) { fLowPtBin = lowbin; fHighPtBin = hibin; }
62 void SetM2BinInterval(Int_t lowbin, Int_t hibin) { fLowM2Bin = lowbin; fHighM2Bin = hibin; }
63 void SetM2BkgInterval(Double_t min, Double_t max) { fMinM2Bkg = min; fMaxM2Bkg = max; }
64 void SetM2TPCInterval(Double_t min, Double_t max) { fMinM2tpc = min; fMaxM2tpc = max; }
65 void SetPidM2(Bool_t flag=1) { fPidM2 = flag; }
66 void SetUnfolding(Bool_t flag=1, Int_t niter=4) { fUnfolding = flag; fNIter=niter; }
67 void SetFakeTracks(Bool_t flag=1) { fFakeTracks = flag; }
68 void SetSecondaries(Bool_t flag=1) { fSecondaries = flag; }
69 void SetSecProd(Int_t prod) { fSecProd = prod; }
fe25d981 70 void SetAntiNucleusAsTemplate(Bool_t flag=1) { fANucTemplate = flag; }
2403d402 71 void SetMatDCAxyModel(Int_t model=1) { fMatDCAxyMod = model; }
72 void SetNBin(Int_t nbin) { fNbin = nbin; }
73 void SetDCAxyInterval(Double_t dcamin, Double_t dcamax) { fMinDCAxy = dcamin; fMaxDCAxy = dcamax; }
74 void SetEfficiency(Bool_t flag=1, Bool_t g3Fluka=0) { fEfficiency = flag; fG3Fluka=g3Fluka; }
75 void SetScalingFactors(Double_t mat, Double_t fd) { fScMat=mat; fScFd=fd; }
76
77 void SetVertexCorrection(Bool_t flag=1, Double_t val=1) { fVtxCorr = flag; fVtxCorrVal=val; }
78 void SetFitFractionCorr(Bool_t flag=1) { fFitFrac=flag; }
79 void SetSameFeedDownCorr(Bool_t flag=1) { fSameFdwn = flag; }
80
81 void SetSysErr( Double_t pos, Double_t neg) { fSysPos = pos; fSysNeg = neg; }
82
83 private:
84
85 AliLnDriver(const AliLnDriver& other);
86 AliLnDriver& operator=(const AliLnDriver& other);
87
88 private:
89
90 TString fSpecies; // particle species
91 TString fOutputTag; // tag for output file
92 TString fOutputCorTag; // tag for correction file
93
94 Double_t fTrigEff[3]; // trigger efficiency, stat. and syst. errors
95 Double_t fXsec[3]; // total inelastic cross section, stat. and syst. errors
96 Bool_t fIsOnlyGen; // if it is only generation
97 Bool_t fNormToInel; // normalize to inelastic events
98
99 Bool_t fMakeCorr; // make corrections
100 Bool_t fMakePt; // make pt
101 Bool_t fMakeRatio; // make antiparticle/particle ratio
102 Bool_t fMakeSpectra; // make spectra
103 Bool_t fMakeStats; // make event stats
104
105 Int_t fLowPtBin; // low pt bin
106 Int_t fHighPtBin; // high pt bin
107 Bool_t fPidM2; // enable m2 pid correction
108 Int_t fLowM2Bin; // low m2 bin for pid contamination
109 Int_t fHighM2Bin; // high m2 bin for pid contamination
110 Bool_t fUnfolding; // unfolding correction
111 Int_t fNIter; // number of iterations for Bayesian unfolding
112 Bool_t fFakeTracks; // fake tracks correction
113 Bool_t fSecondaries; // correction of secondaries
114 Int_t fSecProd; // procedure for estimating fractions
115 Int_t fMatDCAxyMod; // DCAxy model for correction of secondaries
fe25d981 116 Bool_t fANucTemplate; // enable antinucleus as template for primaries
2403d402 117 Int_t fNbin; // rebin of DCAxy distribution
118 Double_t fYMin; // min rapidity
119 Double_t fYMax; // max rapidity
120 Double_t fMinDCAxy; // min DCAxy
121 Double_t fMaxDCAxy; // max DCAxy
122 Double_t fMinM2Bkg; // min M2 for removing background
123 Double_t fMaxM2Bkg; // max M2 for removing background
124 Double_t fMinM2tpc; // min M2 for integration
125 Double_t fMaxM2tpc; // max M2 for integration
126 Bool_t fEfficiency; // efficiency correction
127 Bool_t fG3Fluka; // enable G3/Fluka correction
128 Double_t fScMat; // scaling factor for material fraction
129 Double_t fScFd; // scaling factor for feed-down fraction
130
131 Double_t fSysPos; // variation for positives
132 Double_t fSysNeg; // variation for negatives
133
134 TString fInputData; // input data filename
135 TString fInputSimu; // input simulation filename
136 TString fInputSimuFix; // input fixed simulation filename
137
138 TString fOutputPtCorr; // output filename for pt corrections
139 TString fOutputPt; // output filename for pt
140 TString fOutputRatio; // output filename for antiparticle/particle ratio
141 TString fOutputSpectra; // output filename for differential yields
142
143 TString fOutputPtCorrDebug; // output filename for debugging pt corrections
144 TString fOutputPtDebug; // output filename for debugging pt
145
146 Bool_t fFitFrac; // fit for fraction of secondaries
147 Bool_t fSameFdwn; // same feed-down correction for positives and negatives
148 Bool_t fVtxCorr; // enable vertex correction from simulation
149 Double_t fVtxCorrVal; // vertex correction value
150
151 ClassDef(AliLnDriver,3)
152};
153
154#endif // ALILNDRIVER_H