4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 // driver for computing the pt and spectra
8 // author: Eulogio Serradilla <eulogio.serradilla@cern.ch>
16 class AliLnDriver: public TObject
21 virtual ~AliLnDriver();
23 void MakePtCorr() const;
25 void MakeRatio() const;
26 void MakeSpectra() const;
30 TString GetSpecies() const { return fSpecies; }
31 TString GetOutputTag() const { return fOutputTag; }
32 TString GetOutputCorrTag() const { return fOutputCorTag; }
34 TString GetPtCorrDebugFilename() const { return fOutputPtCorrDebug; }
35 TString GetPtDebugFilename() const { return fOutputPtDebug; }
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; }
41 void SetSpecies(const TString& species) { fSpecies = species; }
43 void SetOutputTag(const TString& tag) { fOutputTag = tag; }
44 void SetOutputCorTag(const TString& tag) { fOutputCorTag = tag; }
46 void SetTriggerEfficiency(Double_t eff[3]);
47 void SetExtrapolateToINEL(Bool_t flag=1) { fINEL = flag; }
48 void SetOnlyGeneration(Bool_t flag=1) { fIsOnlyGen = flag; }
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; }
56 void SetRapidityInterval(Double_t ymin, Double_t ymax) { fYMin = ymin; fYMax = ymax; }
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; }
63 void SetSecondaries(Bool_t flag=1) { fSecondaries = flag; }
64 void SetSecProcedure(Int_t proc) { fSecProc = proc; }
65 void SetAntiNucleusAsTemplate(Bool_t flag=1) { fANucTemplate = flag; }
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; }
72 void SetMCtoINEL(Bool_t flag=1) { fMCtoINEL = flag; }
73 void SetFitFractionCorr(Bool_t flag=1) { fFitFrac=flag; }
74 void SetFeedDownCorr(Bool_t flag=1) { fFdwnCorr=flag; }
75 void SetSameFeedDownCorr(Bool_t flag=1) { fSameFdwn = flag; }
77 void SetPidProcedure(Int_t proc) { fPidProc=proc; }
78 void SetPidEfficiency(Double_t eff) { fPidEff=eff; }
79 void SetAddFakeTracks(Bool_t flag=1) { fAddFakeTracks = flag; }
81 void SetDebugLevel(Int_t level) { fDebugLevel = level; }
85 AliLnDriver(const AliLnDriver& other);
86 AliLnDriver& operator=(const AliLnDriver& other);
90 TString fSpecies; // particle species
91 TString fOutputTag; // tag for output file
92 TString fOutputCorTag; // tag for correction file
94 Double_t fTrigEff[3]; // trigger efficiency, stat. and syst. errors
95 Bool_t fIsOnlyGen; // if it is only generation
96 Bool_t fINEL; // extrapolate to inelastic events
98 Bool_t fMakeCorr; // make corrections
99 Bool_t fMakePt; // make pt
100 Bool_t fMakeRatio; // make antiparticle/particle ratio
101 Bool_t fMakeSpectra; // make spectra
102 Bool_t fMakeStats; // make event stats
104 Double_t fPtMin; // minimum pt value
105 Double_t fPtMax; // maximum pt value
106 Bool_t fPid; // enable pid correction
107 Double_t fPidPt; // minimum pt value for pid correction
108 Bool_t fSecondaries; // enable correction of secondaries
109 Int_t fSecProc; // procedure to estimate fractions
110 Int_t fMatDCAxyMod; // DCAxy model for correction of secondaries
111 Bool_t fANucTemplate; // enable antinucleus as template for primaries
112 Int_t fNbin; // rebin of DCAxy distribution
113 Double_t fYMin; // min rapidity
114 Double_t fYMax; // max rapidity
115 Double_t fMinDCAxy; // min DCAxy
116 Double_t fMaxDCAxy; // max DCAxy
117 Double_t fBkgMin; // lower limit for removing background
118 Double_t fBkgMax; // upper limit for removing background
119 Double_t fIntMin; // lower limit for integration
120 Double_t fIntMax; // upper limit for integration
121 Bool_t fEfficiency; // enable efficiency correction
122 Bool_t fG3Fluka; // enable G3/Fluka correction for TPC
123 Double_t fScMat; // scaling factor for material fraction
124 Double_t fScFd; // scaling factor for feed-down fraction
126 TString fInputData; // input data filename
127 TString fInputSimu; // input simulation filename
128 TString fInputSimuFix; // input fixed simulation filename
130 TString fOutputPtCorr; // output filename for pt corrections
131 TString fOutputPt; // output filename for pt
132 TString fOutputRatio; // output filename for antiparticle/particle ratio
133 TString fOutputSpectra; // output filename for differential yields
135 TString fOutputPtCorrDebug; // output filename for debugging pt corrections
136 TString fOutputPtDebug; // output filename for debugging pt
138 Bool_t fFitFrac; // enable fit to fractions
139 Bool_t fFdwnCorr; // enable feed-down correction
140 Bool_t fSameFdwn; // same feed-down correction for positives and negatives
141 Bool_t fMCtoINEL; // MC to extrapolate to inel or for triggering events
143 Bool_t fAddFakeTracks; // include fake tracks in the efficiency and templates
145 Int_t fPidProc; // pid procedure for the pt distribution
147 Double_t fPidEff; // pid efficiency for all pt bins
149 Int_t fDebugLevel; // 0 no verbose, > 1 verbose
151 ClassDef(AliLnDriver,3)
154 #endif // ALILNDRIVER_H