ROOT logo
/**************************************************************************
 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

// LHC10x config for deuterons and antideuterons
// author: Eulogio Serradilla <eulogio.serradilla@cern.ch>

#if !defined(__CINT__) || defined(__MAKECINT__)
#include <TROOT.h>
#include <TString.h>
#include "AliLnDriver.h"
#endif

#include "Config.h"

Int_t Config_Deuteron_TPC_LHC10x(  const TString& inputDir   = "~/alice/input"
                                 , const TString& outputDir  = "~/alice/output"
                                 , const TString& period     = "lhc10d"
                                 , const TString& outputTag  = "lhc10d"
                                 , const TString& trkselTag  = "-tpc3-nsd-moc"
                                 , const TString& multTag    = ""
                                 , const TString& multCorTag = ""
                                 , Double_t ymax             = 0.5
                                 , Bool_t   inel             = 0
                                 , Bool_t   drawOutput       = 1
                                 , Double_t ptmin            = 0.5  // GeV/c
                                 , Double_t ptmax            = 1.1  // GeV/c
                                 , 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 deuterons and antideuterons
// (TPC)
//
	const TString  kSpecies         = "Deuteron";
	const TString  kTrkSel          = "its_tpc_dca";
	const TString  kTrigName        = "mband";
	const Bool_t   kMCtoINEL        = 1;
	const Double_t kPidEff          = 1.;
	const Bool_t   kSecondaries     = 1;
	const Int_t    kSecProc         = 0; // 0 tff, 1 mc
	const Int_t    kMatDCAxyMod     = 1; // 0 geant, 1 flat
	const Bool_t   kAntiNucTemplate = 0;
	const Int_t    kNbin            = 5;
	const Double_t kDCAxy[2]        = {-0.2, 0.2};
	const Bool_t   kEfficiency      = 1;
	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+trkselTag+multTag) + ".root";
	TString inputSimu     = inputDir + "/" + period + "/" + MakeSimuName(kSpecies, period, kTrkSel+trkselTag+multCorTag) + ".root";
	TString inputSimuFix  = inputDir + "/" + period + "/" + MakeSimuFixName(kSpecies, period, kTrkSel+trkselTag+multCorTag) + ".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";
	TString outputSpectra = outputDir + "/" + MakeOutputName(kSpecies, outputTag) + "-Spectra.root";
	
	// configure the driver and run
	
	AliLnDriver driver;
	
	driver.SetSpecies(kSpecies);
	
	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.SetExtrapolateToINEL(inel);
	driver.SetMCtoINEL(kMCtoINEL);
	driver.SetPtInterval(ptmin, ptmax);
	driver.SetPid(0);
	driver.SetPidEfficiency(kPidEff);
	driver.SetSecondaries(kSecondaries);
	driver.SetSecProcedure(kSecProc);
	driver.SetMatDCAxyModel(kMatDCAxyMod);
	driver.SetAntiNucleusAsTemplate(kAntiNucTemplate);
	driver.SetNBin(kNbin);
	driver.SetDCAxyInterval(kDCAxy[0], kDCAxy[1]);
	driver.SetEfficiency(kEfficiency,0);
	
	driver.SetMakeStats(makeStats);
	driver.SetMakeCorrections(makeCor);
	driver.SetMakePt(makePt);
	driver.SetMakeRatio(makeRatio);
	driver.SetMakeSpectra(makeSpectra);
	
	driver.SetDebugLevel(kDebugLevel);
	
	driver.Run();
	
	// draw output
	
	if(!drawOutput) return 0;
	
	DrawOutputCorr(kSpecies, inputCorr, driver.GetOutputCorrTag());
	
	if(kSecProc == 0) gROOT->ProcessLine(Form(".x DrawSec.C+g(\"%s\",\"%s\",\"Deuteron\", %f, %f, %f, %f)", driver.GetPtCorrDebugFilename().Data(), driver.GetOutputCorrTag().Data(), ptmin, ptmax, kDCAxy[0], kDCAxy[1]));
	
	DrawPtDebug(driver.GetPtDebugFilename(), outputTag, kSpecies, 0);
	DrawOutputRatio(outputRatio, outputTag, kSpecies);
	DrawOutputSpectra(outputSpectra, outputTag, kSpecies);
	
	return 0;
}
 Config_Deuteron_TPC_LHC10x.C:1
 Config_Deuteron_TPC_LHC10x.C:2
 Config_Deuteron_TPC_LHC10x.C:3
 Config_Deuteron_TPC_LHC10x.C:4
 Config_Deuteron_TPC_LHC10x.C:5
 Config_Deuteron_TPC_LHC10x.C:6
 Config_Deuteron_TPC_LHC10x.C:7
 Config_Deuteron_TPC_LHC10x.C:8
 Config_Deuteron_TPC_LHC10x.C:9
 Config_Deuteron_TPC_LHC10x.C:10
 Config_Deuteron_TPC_LHC10x.C:11
 Config_Deuteron_TPC_LHC10x.C:12
 Config_Deuteron_TPC_LHC10x.C:13
 Config_Deuteron_TPC_LHC10x.C:14
 Config_Deuteron_TPC_LHC10x.C:15
 Config_Deuteron_TPC_LHC10x.C:16
 Config_Deuteron_TPC_LHC10x.C:17
 Config_Deuteron_TPC_LHC10x.C:18
 Config_Deuteron_TPC_LHC10x.C:19
 Config_Deuteron_TPC_LHC10x.C:20
 Config_Deuteron_TPC_LHC10x.C:21
 Config_Deuteron_TPC_LHC10x.C:22
 Config_Deuteron_TPC_LHC10x.C:23
 Config_Deuteron_TPC_LHC10x.C:24
 Config_Deuteron_TPC_LHC10x.C:25
 Config_Deuteron_TPC_LHC10x.C:26
 Config_Deuteron_TPC_LHC10x.C:27
 Config_Deuteron_TPC_LHC10x.C:28
 Config_Deuteron_TPC_LHC10x.C:29
 Config_Deuteron_TPC_LHC10x.C:30
 Config_Deuteron_TPC_LHC10x.C:31
 Config_Deuteron_TPC_LHC10x.C:32
 Config_Deuteron_TPC_LHC10x.C:33
 Config_Deuteron_TPC_LHC10x.C:34
 Config_Deuteron_TPC_LHC10x.C:35
 Config_Deuteron_TPC_LHC10x.C:36
 Config_Deuteron_TPC_LHC10x.C:37
 Config_Deuteron_TPC_LHC10x.C:38
 Config_Deuteron_TPC_LHC10x.C:39
 Config_Deuteron_TPC_LHC10x.C:40
 Config_Deuteron_TPC_LHC10x.C:41
 Config_Deuteron_TPC_LHC10x.C:42
 Config_Deuteron_TPC_LHC10x.C:43
 Config_Deuteron_TPC_LHC10x.C:44
 Config_Deuteron_TPC_LHC10x.C:45
 Config_Deuteron_TPC_LHC10x.C:46
 Config_Deuteron_TPC_LHC10x.C:47
 Config_Deuteron_TPC_LHC10x.C:48
 Config_Deuteron_TPC_LHC10x.C:49
 Config_Deuteron_TPC_LHC10x.C:50
 Config_Deuteron_TPC_LHC10x.C:51
 Config_Deuteron_TPC_LHC10x.C:52
 Config_Deuteron_TPC_LHC10x.C:53
 Config_Deuteron_TPC_LHC10x.C:54
 Config_Deuteron_TPC_LHC10x.C:55
 Config_Deuteron_TPC_LHC10x.C:56
 Config_Deuteron_TPC_LHC10x.C:57
 Config_Deuteron_TPC_LHC10x.C:58
 Config_Deuteron_TPC_LHC10x.C:59
 Config_Deuteron_TPC_LHC10x.C:60
 Config_Deuteron_TPC_LHC10x.C:61
 Config_Deuteron_TPC_LHC10x.C:62
 Config_Deuteron_TPC_LHC10x.C:63
 Config_Deuteron_TPC_LHC10x.C:64
 Config_Deuteron_TPC_LHC10x.C:65
 Config_Deuteron_TPC_LHC10x.C:66
 Config_Deuteron_TPC_LHC10x.C:67
 Config_Deuteron_TPC_LHC10x.C:68
 Config_Deuteron_TPC_LHC10x.C:69
 Config_Deuteron_TPC_LHC10x.C:70
 Config_Deuteron_TPC_LHC10x.C:71
 Config_Deuteron_TPC_LHC10x.C:72
 Config_Deuteron_TPC_LHC10x.C:73
 Config_Deuteron_TPC_LHC10x.C:74
 Config_Deuteron_TPC_LHC10x.C:75
 Config_Deuteron_TPC_LHC10x.C:76
 Config_Deuteron_TPC_LHC10x.C:77
 Config_Deuteron_TPC_LHC10x.C:78
 Config_Deuteron_TPC_LHC10x.C:79
 Config_Deuteron_TPC_LHC10x.C:80
 Config_Deuteron_TPC_LHC10x.C:81
 Config_Deuteron_TPC_LHC10x.C:82
 Config_Deuteron_TPC_LHC10x.C:83
 Config_Deuteron_TPC_LHC10x.C:84
 Config_Deuteron_TPC_LHC10x.C:85
 Config_Deuteron_TPC_LHC10x.C:86
 Config_Deuteron_TPC_LHC10x.C:87
 Config_Deuteron_TPC_LHC10x.C:88
 Config_Deuteron_TPC_LHC10x.C:89
 Config_Deuteron_TPC_LHC10x.C:90
 Config_Deuteron_TPC_LHC10x.C:91
 Config_Deuteron_TPC_LHC10x.C:92
 Config_Deuteron_TPC_LHC10x.C:93
 Config_Deuteron_TPC_LHC10x.C:94
 Config_Deuteron_TPC_LHC10x.C:95
 Config_Deuteron_TPC_LHC10x.C:96
 Config_Deuteron_TPC_LHC10x.C:97
 Config_Deuteron_TPC_LHC10x.C:98
 Config_Deuteron_TPC_LHC10x.C:99
 Config_Deuteron_TPC_LHC10x.C:100
 Config_Deuteron_TPC_LHC10x.C:101
 Config_Deuteron_TPC_LHC10x.C:102
 Config_Deuteron_TPC_LHC10x.C:103
 Config_Deuteron_TPC_LHC10x.C:104
 Config_Deuteron_TPC_LHC10x.C:105
 Config_Deuteron_TPC_LHC10x.C:106
 Config_Deuteron_TPC_LHC10x.C:107
 Config_Deuteron_TPC_LHC10x.C:108
 Config_Deuteron_TPC_LHC10x.C:109
 Config_Deuteron_TPC_LHC10x.C:110
 Config_Deuteron_TPC_LHC10x.C:111
 Config_Deuteron_TPC_LHC10x.C:112
 Config_Deuteron_TPC_LHC10x.C:113
 Config_Deuteron_TPC_LHC10x.C:114
 Config_Deuteron_TPC_LHC10x.C:115
 Config_Deuteron_TPC_LHC10x.C:116
 Config_Deuteron_TPC_LHC10x.C:117
 Config_Deuteron_TPC_LHC10x.C:118
 Config_Deuteron_TPC_LHC10x.C:119
 Config_Deuteron_TPC_LHC10x.C:120
 Config_Deuteron_TPC_LHC10x.C:121
 Config_Deuteron_TPC_LHC10x.C:122
 Config_Deuteron_TPC_LHC10x.C:123
 Config_Deuteron_TPC_LHC10x.C:124
 Config_Deuteron_TPC_LHC10x.C:125
 Config_Deuteron_TPC_LHC10x.C:126
 Config_Deuteron_TPC_LHC10x.C:127
 Config_Deuteron_TPC_LHC10x.C:128
 Config_Deuteron_TPC_LHC10x.C:129