#include "STRUCT/AliFRAMEv2.h"
#include "STRUCT/AliSHILv2.h"
#include "STRUCT/AliPIPEv0.h"
-#include "ITS/AliITSvPPRasymm.h"
+#include "ITS/AliITSvPPRasymmFMD.h"
#include "TPC/AliTPCv2.h"
-#include "TOF/AliTOFv2FHoles.h"
#include "TOF/AliTOFv4T0.h"
-#include "RICH/AliRICHv3.h"
+#include "HMPID/AliHMPIDv1.h"
#include "ZDC/AliZDCv2.h"
#include "TRD/AliTRDv1.h"
#include "FMD/AliFMDv1.h"
#include "MUON/AliMUONv1.h"
#include "PHOS/AliPHOSv1.h"
#include "PMD/AliPMDv1.h"
-#include "START/AliSTARTv1.h"
+#include "T0/AliT0v1.h"
#include "EMCAL/AliEMCALv1.h"
-#include "CRT/AliCRTv0.h"
-#include "VZERO/AliVZEROv2.h"
+#include "ACORDE/AliACORDEv1.h"
+#include "VZERO/AliVZEROv3.h"
#endif
enum PprRun_t
kHijing_per1, kHijing_per2, kHijing_per3, kHijing_per4, kHijing_per5,
kHijing_jj25, kHijing_jj50, kHijing_jj75, kHijing_jj100, kHijing_jj200,
kHijing_gj25, kHijing_gj50, kHijing_gj75, kHijing_gj100, kHijing_gj200,
- kHijing_pA //, kPythia
+ kHijing_pA, kPythia6, kPythia6Jets, kD0PbPb5500
};
enum PprGeo_t
// This part for configuration
-//static PprRun_t srun = test50;
-//static PprRun_t srun = kPythia;
-static PprRun_t srun = kHijing_cent2;
+static PprRun_t srun = test50;
+//static PprRun_t srun = kPythia6;
static PprGeo_t sgeo = kNoHoles;
static PprRad_t srad = kGluonRadiation;
-static PprMag_t smag = k4kG;
+static PprMag_t smag = k5kG;
// Comment line
static TString comment;
cout<<"Config.C: Creating Run Loader ..."<<endl;
rl = AliRunLoader::Open("galice.root",
- AliConfig::fgkDefaultEventFolderName,
+ AliConfig::GetDefaultEventFolderName(),
"recreate");
if (rl == 0x0)
{
gAlice->SetDebug(1);
AliGenerator* gener = GeneratorFactory(srun);
gener->SetOrigin(0, 0, 0); // vertex position
- gener->SetSigma(0, 0, 0); // Sigma in (X,Y,Z) (cm) on IP position
- //gener->SetCutVertexZ(1.); // Truncate at 1 sigma
- //gener->SetVertexSmear(kPerEvent);
- gener->SetThetaRange(45.,135.);
+ gener->SetSigma(0, 0, 5.3); // Sigma in (X,Y,Z) (cm) on IP position
+ gener->SetCutVertexZ(1.); // Truncate at 1 sigma
+ gener->SetVertexSmear(kPerEvent);
gener->SetTrackingFlag(1);
gener->Init();
if (sgeo == kHoles)
{
- comment = comment.Append(" | Holes for PHOS/RICH");
+ comment = comment.Append(" | Holes for PHOS/HMPID");
} else {
- comment = comment.Append(" | No holes for PHOS/RICH");
+ comment = comment.Append(" | No holes for PHOS/HMPID");
}
printf("\n \n Comment: %s \n \n", comment.Data());
// Field (L3 0.4 T)
AliMagFMaps* field = new AliMagFMaps("Maps","Maps", 2, 1., 10., smag);
+ field->SetL3ConstField(0); //Using const. field in the barrel
rl->CdGAFile();
-
+ gAlice->SetField(field);
//
- Int_t iABSO = 1;
- Int_t iDIPO = 0; //1;
- Int_t iFMD = 0; //1;
+ Int_t iABSO = 0;
+ Int_t iDIPO = 0;
+ Int_t iFMD = 0;
Int_t iFRAME = 1;
- Int_t iHALL = 0; //1;
+ Int_t iHALL = 0;
Int_t iITS = 1;
Int_t iMAG = 1;
- Int_t iMUON = 0; //1;
- Int_t iPHOS = 0; //1;
+ Int_t iMUON = 0;
+ Int_t iPHOS = 0;
Int_t iPIPE = 1;
- Int_t iPMD = 0; //1;
- Int_t iRICH = 0; //1;
- Int_t iSHIL = 0; //1;
- Int_t iSTART = 0; //1;
+ Int_t iPMD = 0;
+ Int_t iHMPID = 0;
+ Int_t iSHIL = 0;
+ Int_t iT0 = 0;
Int_t iTOF = 1;
Int_t iTPC = 1;
Int_t iTRD = 1;
- Int_t iZDC = 0; //1;
- Int_t iEMCAL = 0; //1;
- Int_t iVZERO = 0; //1;
- Int_t iCRT = 0;
+ Int_t iZDC = 0;
+ Int_t iEMCAL = 0;
+ Int_t iVZERO = 0;
+ Int_t iACORDE = 0;
//=================== Alice BODY parameters =============================
AliBODY *BODY = new AliBODY("BODY", "Alice envelop");
//
//AliITS *ITS = new AliITSv5asymm("ITS","Updates ITS TDR detailed version with asymmetric services");
//
- AliITSvPPRasymm *ITS = new AliITSvPPRasymm("ITS","New ITS PPR detailed version with asymmetric services");
- ITS->SetMinorVersion(2); // don't touch this parameter if you're not an ITS developer
- ITS->SetReadDet(kFALSE); // don't touch this parameter if you're not an ITS developer
+ AliITSvPPRasymmFMD *ITS = new AliITSvPPRasymmFMD("ITS","New ITS PPR detailed version with asymmetric services");
+ ITS->SetMinorVersion(2); // don't touch this parameter if you're not an ITS developer
+ ITS->SetReadDet(kTRUE); // don't touch this parameter if you're not an ITS developer
// ITS->SetWriteDet("$ALICE_ROOT/ITS/ITSgeometry_vPPRasymm2.det"); // don't touch this parameter if you're not an ITS developer
ITS->SetThicknessDet1(200.); // detector thickness on layer 1 must be in the range [100,300]
ITS->SetThicknessDet2(200.); // detector thickness on layer 2 must be in the range [100,300]
ITS->SetThicknessChip2(200.); // chip thickness on layer 2 must be in the range [150,300]
ITS->SetRails(0); // 1 --> rails in ; 0 --> rails out
ITS->SetCoolingFluid(1); // 1 --> water ; 0 --> freon
- //
- //AliITSvPPRsymm *ITS = new AliITSvPPRsymm("ITS","New ITS PPR detailed version with symmetric services");
- //ITS->SetMinorVersion(2); // don't touch this parameter if you're not an ITS developer
- //ITS->SetReadDet(kFALSE); // don't touch this parameter if you're not an ITS developer
- //ITS->SetWriteDet("$ALICE_ROOT/ITS/ITSgeometry_vPPRsymm2.det"); // don't touch this parameter if you're not an ITS developer
- //ITS->SetThicknessDet1(200.); // detector thickness on layer 1 must be in the range [100,300]
- //ITS->SetThicknessDet2(200.); // detector thickness on layer 2 must be in the range [100,300]
- //ITS->SetThicknessChip1(200.); // chip thickness on layer 1 must be in the range [150,300]
- //ITS->SetThicknessChip2(200.); // chip thickness on layer 2 must be in the range [150,300]
- //ITS->SetRails(0); // 1 --> rails in ; 0 --> rails out
- //ITS->SetCoolingFluid(1); // 1 --> water ; 0 --> freon
- //
- //
+
// Coarse geometries (warning: no hits are produced with these coarse geometries and they unuseful
// for reconstruction !):
//
if (iTOF) {
- if (sgeo == kHoles) {
//=================== TOF parameters ============================
- AliTOF *TOF = new AliTOFv2FHoles("TOF", "TOF with Holes");
- } else {
- AliTOF *TOF = new AliTOFv4T0("TOF", "normal TOF");
- }
+ AliTOF *TOF = new AliTOFv4T0("TOF", "normal TOF");
}
- if (iRICH)
+ if (iHMPID)
{
- //=================== RICH parameters ===========================
- AliRICH *RICH = new AliRICHv3("RICH", "normal RICH");
+ //=================== HMPID parameters ===========================
+ AliHMPID *HMPID = new AliHMPIDv1("HMPID", "normal HMPID");
}
if (sgeo == kHoles) {
// With hole in front of PHOS
TRD->SetPHOShole();
- // With hole in front of RICH
- TRD->SetRICHhole();
+ // With hole in front of HMPID
+ TRD->SetHMPIDhole();
}
// Switch on TR
AliTRDsim *TRDsim = TRD->CreateTR();
AliPMD *PMD = new AliPMDv1("PMD", "normal PMD");
}
- if (iSTART)
+ if (iT0)
{
- //=================== START parameters ============================
- AliSTART *START = new AliSTARTv1("START", "START Detector");
+ //=================== T0 parameters ============================
+ AliT0 *T0 = new AliT0v1("T0", "T0 Detector");
}
if (iEMCAL)
AliEMCAL *EMCAL = new AliEMCALv1("EMCAL", "G56_2_55_19");
}
- if (iCRT)
+ if (iACORDE)
{
- //=================== CRT parameters ============================
- AliCRT *CRT = new AliCRTv0("CRT", "normal ACORDE");
+ //=================== ACORDE parameters ============================
+ AliACORDE *ACORDE = new AliACORDEv1("ACORDE", "normal ACORDE");
}
if (iVZERO)
{
- //=================== CRT parameters ============================
- AliVZERO *VZERO = new AliVZEROv2("VZERO", "normal VZERO");
+ //=================== ACORDE parameters ============================
+ AliVZERO *VZERO = new AliVZEROv3("VZERO", "normal VZERO");
}
case test50:
{
comment = comment.Append(":HIJINGparam test 50 particles");
- AliGenHIJINGpara *gener = new AliGenHIJINGpara(100);
+ AliGenHIJINGpara *gener = new AliGenHIJINGpara(50);
gener->SetMomentumRange(0, 999999.);
gener->SetPhiRange(0., 360.);
// Set pseudorapidity range from -8 to 8.
gener->SetThetaRange(thmin,thmax);
gGener=gener;
}
- break;
+ break;
case kParam_8000:
{
comment = comment.Append(":HIJINGparam N=8000");
gener->SetThetaRange(thmin,thmax);
gGener=gener;
}
- break;
+ break;
case kParam_4000:
{
comment = comment.Append("HIJINGparam N=4000");
gener->SetThetaRange(thmin,thmax);
gGener=gener;
}
- break;
+ break;
//
// Hijing Central
//
gener->SetImpactParameterRange(0., 5.);
gGener=gener;
}
- break;
+ break;
case kHijing_cent2:
{
comment = comment.Append("HIJING cent2");
// impact parameter range
gener->SetImpactParameterRange(0., 2.);
gGener=gener;
- break;
}
+ break;
//
// Hijing Peripheral
//
gener->SetImpactParameterRange(5., 8.6);
gGener=gener;
}
- break;
+ break;
case kHijing_per2:
{
comment = comment.Append("HIJING per2");
gener->SetImpactParameterRange(8.6, 11.2);
gGener=gener;
}
- break;
+ break;
case kHijing_per3:
{
comment = comment.Append("HIJING per3");
gener->SetImpactParameterRange(11.2, 13.2);
gGener=gener;
}
- break;
+ break;
case kHijing_per4:
{
comment = comment.Append("HIJING per4");
gener->SetImpactParameterRange(13.2, 15.);
gGener=gener;
}
- break;
+ break;
case kHijing_per5:
{
comment = comment.Append("HIJING per5");
gener->SetImpactParameterRange(15., 100.);
gGener=gener;
}
- break;
+ break;
//
// Jet-Jet
//
gener->SetJetPhiRange(75., 165.);
gGener=gener;
}
- break;
+ break;
case kHijing_jj50:
{
gener->SetJetPhiRange(75., 165.);
gGener=gener;
}
- break;
+ break;
case kHijing_jj100:
{
gener->SetJetPhiRange(75., 165.);
gGener=gener;
}
- break;
+ break;
case kHijing_jj200:
{
gener->SetJetPhiRange(75., 165.);
gGener=gener;
}
- break;
+ break;
//
// Gamma-Jet
//
gener->SetJetPhiRange(220., 320.);
gGener=gener;
}
- break;
+ break;
case kHijing_gj50:
{
gener->SetJetPhiRange(220., 320.);
gGener=gener;
}
- break;
+ break;
case kHijing_gj75:
{
gener->SetJetPhiRange(220., 320.);
gGener=gener;
}
- break;
+ break;
case kHijing_gj100:
{
gener->SetJetPhiRange(220., 320.);
gGener=gener;
}
- break;
+ break;
case kHijing_gj200:
{
gener->SetJetPhiRange(220., 320.);
gGener=gener;
}
- break;
+ break;
case kHijing_pA:
{
comment = comment.Append("HIJING pA");
gener->AddGenerator(gray, "Gray Particles",1);
gGener=gener;
}
- break;
- case kPythia:
+ break;
+ case kPythia6:
{
comment = comment.Append(":Pythia p-p @ 14 TeV");
AliGenPythia *gener = new AliGenPythia(-1);
gener->SetEnergyCMS(14000.);
gGener=gener;
}
- break;
+ break;
+ case kPythia6Jets:
+ {
+ comment = comment.Append(":Pythia jets @ 5.5 TeV");
+ AliGenPythia * gener = new AliGenPythia(-1);
+ gener->SetEnergyCMS(5500.);// Centre of mass energy
+ gener->SetProcess(kPyJets);// Process type
+ gener->SetJetEtaRange(-0.5, 0.5);// Final state kinematic cuts
+ gener->SetJetPhiRange(0., 360.);
+ gener->SetJetEtRange(10., 1000.);
+ gener->SetGluonRadiation(1,1);
+ // gener->SetPtKick(0.);
+ // Structure function
+ gener->SetStrucFunc(kCTEQ4L);
+ gener->SetPtHard(86., 104.);// Pt transfer of the hard scattering
+ gener->SetPycellParameters(2., 274, 432, 0., 4., 5., 1.0);
+ gener->SetForceDecay(kAll);// Decay type (semielectronic, etc.)
+ gGener=gener;
+ }
+ break;
+ case kD0PbPb5500:
+ {
+ comment = comment.Append(" D0 in Pb-Pb at 5.5 TeV");
+ AliGenPythia * gener = new AliGenPythia(10);
+ gener->SetProcess(kPyD0PbPbMNR);
+ gener->SetStrucFunc(kCTEQ4L);
+ gener->SetPtHard(2.1,-1.0);
+ gener->SetEnergyCMS(5500.);
+ gener->SetNuclei(208,208);
+ gGener=gener;
+ }
+ break;
}
return gGener;
}