]>
Commit | Line | Data |
---|---|---|
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 | ||
13 | class TString; | |
14 | class TFileMerger; | |
15 | ||
16 | class 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 |