// LHC10x config for protons and antiprotons
// author: Eulogio Serradilla <eulogio.serradilla@cern.ch>
+#if !defined(__CINT__) || defined(__MAKECINT__)
#include <TString.h>
#include "AliLnDriver.h"
+#endif
+
#include "Config.h"
-Int_t Config_Proton_TPC_LHC10x(const TString& inputDir = "~/alice/input",
- const TString& outputDir = "~/alice/output",
- const TString& period = "lhc10d",
- const TString& outputTag = "lhc10d",
- const TString& multTag = "",
- const TString& multCorTag = "",
- Bool_t inel = 1, // for mult
- Bool_t drawOutput = 1, // for batch
- Int_t lowPtBin = 5, // 0.4 GeV/c
- Int_t hiPtBin = 11, // 1.0 GeV/c
- Bool_t makeStats = 1,
- Bool_t makeCor = 1,
- Bool_t makePt = 1,
- Bool_t makeRatio = 1,
- Bool_t makeSpectra = 1 )
+Int_t Config_Proton_TPC_LHC10x( const TString& inputDir = "~/alice/input"
+ , const TString& outputDir = "~/alice/output"
+ , const TString& period = "lhc10d"
+ , const TString& outputTag = "lhc10d"
+ , const TString& trkselTag = "-bayes-nsd"
+ , const TString& multTag = ""
+ , const TString& multCorTag = ""
+ , Double_t ymax = 0.5
+ , Bool_t inel = 0 // for mult
+ , Bool_t drawOutput = 1 // for batch
+ , Double_t ptmin = 0.4
+ , Double_t ptmax = 1.0
+ , Bool_t makeStats = 1
+ , Bool_t makeCor = 1
+ , Bool_t makePt = 1
+ , Bool_t makeRatio = 1
+ , Bool_t makeSpectra = 1 )
{
//
// lhc10b, lhc10c, lhc10d, lhc10e config for protons and antiprotons
// (TPC)
//
const TString kSpecies = "Proton";
- const TString kTrkSel = "its_tpc_dca_spd-bayes";
+ const TString& kTrkSel = "its_tpc_dca_spd";
const TString kTrigName = "mbor";
const Bool_t kMCtoINEL = 1;
- const Bool_t kUnfolding = 0;
- const Int_t kIter = 5;
const Bool_t kSecondaries = 1;
- const Int_t kSecProd = 0; // 0 tff, 1 roofit, 2 mc
+ const Int_t kSecProc = 0; // 0 tff, 1 mc
const Int_t kMatDCAxyMod = 1; // 0 geant, 1 flat
- const Int_t kNbin = 10;
+ const Int_t kNbin = 12;
const Double_t kDCAxy[2] = {-1.,1.};
const Bool_t kEfficiency = 1;
const Bool_t kG3Fluka = 0;
- const Double_t kMatScaling = 1.9;
- const Double_t kFdwnScaling = 1.9;
- const Bool_t kFitFrac = 0;
+ const Double_t kMatScaling = 1;
+ const Double_t kFdwnScaling = 1;
const Bool_t kSameFdwn = 1;
- const Double_t kSysErr[2] = {0.08,0.08} ;
-
- Double_t xsec[3];
- GetInelXSection(xsec, period);
+ const Int_t kDebugLevel = 1;
Double_t trigEff[3];
GetTriggerEfficiency(trigEff, kTrigName, period);
// input and output filenames
- TString inputData = inputDir + "/" + period + "/" + MakeInputName(kSpecies, period, kTrkSel+multTag) + ".root";
- TString inputSimu = inputDir + "/" + period + "/" + MakeSimuName(kSpecies, period, kTrkSel+multCorTag) + ".root";
- TString inputSimuFix = inputDir + "/" + period + "/" + MakeSimuFixName(kSpecies, period, kTrkSel+multCorTag, kG3Fluka) + ".root";
- TString inputCorr = inputDir + "/" + period + "/" + MakeInputName(kSpecies, period, kTrkSel+multTag) + "-corr.root";
+ TString inputData = inputDir + "/" + period + "/" + MakeInputName(kSpecies, period, kTrkSel+trkselTag+multTag) + ".root";
+ TString inputSimu = inputDir + "/" + period + "/" + MakeSimuName(kSpecies, period, kTrkSel+trkselTag+multCorTag) + ".root";
+ TString inputSimuFix = inputDir + "/" + period + "/" + MakeSimuFixName(kSpecies, period, kTrkSel+trkselTag+multCorTag, kG3Fluka) + ".root";
+ TString inputCorr = inputDir + "/" + period + "/" + MakeInputName(kSpecies, period, kTrkSel+trkselTag+multTag) + "-corr.root";
TString outputPt = outputDir + "/" + MakeOutputName(kSpecies, outputTag) + "-Pt.root";
TString outputRatio = outputDir + "/" + MakeOutputName(kSpecies, outputTag) + "-Ratio.root";
driver.SetInputFilenames(inputData, inputSimu, inputSimuFix, inputCorr);
driver.SetOutputFilenames(outputPt, outputRatio, outputSpectra);
+ driver.SetRapidityInterval(-ymax,ymax);
+
driver.SetOutputTag(outputTag);
+ driver.SetOutputCorTag(outputTag);
+
driver.SetTriggerEfficiency(trigEff);
- driver.SetInelXSection(xsec);
driver.SetExtrapolateToINEL(inel);
driver.SetMCtoINEL(kMCtoINEL);
- driver.SetPtBinInterval(lowPtBin, hiPtBin);
- driver.SetPidM2(0);
- driver.SetUnfolding(kUnfolding, kIter);
+ driver.SetPtInterval(ptmin, ptmax);
+ driver.SetPid(0);
driver.SetSecondaries(kSecondaries);
- driver.SetSecProd(kSecProd);
+ driver.SetSecProcedure(kSecProc);
driver.SetMatDCAxyModel(kMatDCAxyMod);
driver.SetNBin(kNbin);
driver.SetDCAxyInterval(kDCAxy[0], kDCAxy[1]);
driver.SetEfficiency(kEfficiency,kG3Fluka);
driver.SetScalingFactors(kMatScaling, kFdwnScaling);
- driver.SetFitFractionCorr(kFitFrac);
driver.SetSameFeedDownCorr(kSameFdwn);
- driver.SetSysErr(kSysErr[0],kSysErr[1]);
+
+ driver.SetDebugLevel(kDebugLevel);
driver.SetMakeStats(makeStats);
driver.SetMakeCorrections(makeCor);
if(!drawOutput) return 0;
- TStyle* st = GetDrawingStyle();
- st->cd();
- gROOT->ForceStyle();
-
DrawOutputCorr(kSpecies, inputCorr, driver.GetOutputCorrTag());
- if(kSecProd != 2) DrawCorrDebug(driver.GetPtCorrDebugFilename(), driver.GetOutputCorrTag(), kSpecies, lowPtBin, hiPtBin, kDCAxy[0], kDCAxy[1]);
+ if(kSecProc == 0) DrawCorrDebug(driver.GetPtCorrDebugFilename(), driver.GetOutputCorrTag(), kSpecies, ptmin, ptmax, kDCAxy[0], kDCAxy[1]);
DrawPtDebug(driver.GetPtDebugFilename(), outputTag, kSpecies, 0);
DrawOutputRatio(outputRatio, outputTag, kSpecies);