10 #if !defined(__CINT__) || defined(__MAKECINT__)
11 #include <Riostream.h>
14 #include <TVirtualMC.h>
15 #include <TGeant3TGeo.h>
16 #include "STEER/AliRunLoader.h"
17 #include "STEER/AliRun.h"
18 #include "STEER/AliConfig.h"
19 #include "PYTHIA6/AliDecayerPythia.h"
20 #include "EVGEN/AliGenCocktail.h"
21 #include "EVGEN/AliGenCosmicsParam.h"
22 #include "EVGEN/AliGenHIJINGpara.h"
23 #include "STEER/AliMagF.h"
24 #include "STRUCT/AliBODY.h"
25 #include "STRUCT/AliMAG.h"
26 #include "STRUCT/AliABSOv0.h"
27 #include "STRUCT/AliDIPOv2.h"
28 #include "STRUCT/AliHALL.h"
29 #include "STRUCT/AliFRAMEv2.h"
30 #include "STRUCT/AliSHILv2.h"
31 #include "STRUCT/AliPIPEv0.h"
32 #include "ITS/AliITSvPPRasymmFMD.h"
33 #include "TPC/AliTPCv2.h"
34 #include "TOF/AliTOFv5T0.h"
35 #include "RICH/AliRICHv1.h"
36 #include "ZDC/AliZDCv2.h"
37 #include "TRD/AliTRDv1.h"
38 #include "FMD/AliFMDv1.h"
39 #include "MUON/AliMUONv1.h"
40 #include "PHOS/AliPHOSv1.h"
41 #include "PMD/AliPMDv1.h"
42 #include "START/AliSTARTv1.h"
43 #include "EMCAL/AliEMCALv2.h"
44 #include "ACORDE/AliACORDEv0.h"
45 #include "VZERO/AliVZEROv7.h"
67 UInt_t curtime=dt.Get();
68 UInt_t procid=gSystem->GetPid();
69 UInt_t seed=curtime-procid;
70 if (gSystem->Getenv(
"envevno")) {
71 seed=atoi(gSystem->Getenv(
"envevno"));
73 printf(
"...taking seed as event number + 1000...\n");
75 printf(
"...setting seed as %d...\n",seed);
76 gRandom->SetSeed(seed);
77 printf(
"Seed for random number generation = %d \n",gRandom->GetSeed());
85 gSystem->Load(
"libgeant321");
88 new TGeant3TGeo(
"C++ Interface to Geant3");
90 if(!AliCDBManager::Instance()->IsDefaultStorageSet()){
91 AliCDBManager::Instance()->SetDefaultStorage(
"local://$ALICE_ROOT/OCDB");
92 AliCDBManager::Instance()->SetRun(0);
97 AliLog::Message(AliLog::kInfo,
"Creating Run Loader",
"Config.C",
"Config.C",
"Config()",
" Config.C", __LINE__);
100 AliConfig::GetDefaultEventFolderName(),
104 gAlice->Fatal(
"Config.C",
"Can not instatiate the Run Loader");
107 rl->SetCompressionLevel(2);
108 rl->SetNumberOfEventsPerFile(1000);
115 AliSimulation::Instance()->SetTriggerConfig(
"ACORDE");
116 cout<<
"Trigger configuration is set to ACORDE"<<endl;
120 TVirtualMCDecayer *decayer =
new AliDecayerPythia();
122 decayer->SetForceDecay(kAll);
124 gMC->SetExternalDecayer(decayer);
131 gMC->SetProcess(
"DCAY",1);
132 gMC->SetProcess(
"PAIR",1);
133 gMC->SetProcess(
"COMP",1);
134 gMC->SetProcess(
"PHOT",1);
135 gMC->SetProcess(
"PFIS",0);
136 gMC->SetProcess(
"DRAY",0);
137 gMC->SetProcess(
"ANNI",1);
138 gMC->SetProcess(
"BREM",1);
139 gMC->SetProcess(
"MUNU",1);
140 gMC->SetProcess(
"CKOV",1);
141 gMC->SetProcess(
"HADR",1);
142 gMC->SetProcess(
"LOSS",2);
143 gMC->SetProcess(
"MULS",1);
144 gMC->SetProcess(
"RAYL",1);
147 Float_t tofmax = 1.e10;
149 gMC->SetCut(
"CUTGAM", cut);
150 gMC->SetCut(
"CUTELE", cut);
151 gMC->SetCut(
"CUTNEU", cut);
152 gMC->SetCut(
"CUTHAD", cut);
153 gMC->SetCut(
"CUTMUO", cut);
154 gMC->SetCut(
"BCUTE", cut);
155 gMC->SetCut(
"BCUTM", cut);
156 gMC->SetCut(
"DCUTE", cut);
157 gMC->SetCut(
"DCUTM", cut);
158 gMC->SetCut(
"PPCUTM", cut);
159 gMC->SetCut(
"TOFMAX", tofmax);
163 AliGenCosmicsParam *gener =
new AliGenCosmicsParam();
164 gener->SetNumberParticles(100);
165 gener->SetParamACORDE();
166 gener->SetYOrigin(260.);
167 gener->SetMomentumRange(8.,1000.);
168 gener->SetMaxAngleWRTVertical(3.1415/4.);
187 TGeoGlobalMagField::Instance()->SetField(
new AliMagF(
"Maps",
"Maps", 1., 1.,
mag));
215 AliBODY *BODY =
new AliBODY(
"BODY",
"Alice envelop");
222 AliMAG *MAG =
new AliMAG(
"MAG",
"Magnet");
229 AliABSO *ABSO =
new AliABSOv0(
"ABSO",
"Muon Absorber");
236 AliDIPO *DIPO =
new AliDIPOv2(
"DIPO",
"Dipole version 2");
243 AliHALL *HALL =
new AliHALL(
"HALL",
"Alice Hall");
251 AliFRAMEv2 *
FRAME =
new AliFRAMEv2(
"FRAME",
"Space Frame");
258 AliSHIL *SHIL =
new AliSHILv2(
"SHIL",
"Shielding Version 2");
266 AliPIPE *PIPE =
new AliPIPEv0(
"PIPE",
"Beam Pipe");
273 AliITSvPPRasymmFMD *ITS =
new AliITSvPPRasymmFMD(
"ITS",
"ITS PPR detailed version with asymmetric services");
279 AliTPC *TPC =
new AliTPCv2(
"TPC",
"Default");
285 AliTOF *TOF =
new AliTOFv5T0(
"TOF",
"normal TOF");
292 AliRICH *RICH =
new AliRICHv1(
"RICH",
"normal RICH");
301 AliZDC *ZDC =
new AliZDCv2(
"ZDC",
"normal ZDC");
308 AliTRD *TRD =
new AliTRDv1(
"TRD",
"TRD slow simulator");
314 AliFMD *FMD =
new AliFMDv1(
"FMD",
"normal FMD");
327 AliPHOS *PHOS =
new AliPHOSv1(
"PHOS",
"IHEP");
334 AliPMD *PMD =
new AliPMDv1(
"PMD",
"normal PMD");
340 AliSTART *START =
new AliSTARTv1(
"START",
"START Detector");
346 AliEMCAL *EMCAL =
new AliEMCALv2(
"EMCAL",
"SHISH_77_TRD1_2X2_FINAL_110DEG");
352 AliACORDE *ACORDE =
new AliACORDEv0(
"ACORDE",
"normal ACORDE");
358 AliVZERO *VZERO =
new AliVZEROv7(
"VZERO",
"normal VZERO");
361 AliLog::Message(AliLog::kInfo,
"End of Config",
"Config.C",
"Config.C",
"Config()",
" Config.C", __LINE__);
366 return (180./TMath::Pi())*2.*atan(exp(-arg));
printf("Chi2/npoints = %f\n", TMath::Sqrt(chi2/npoints))
TFile * Open(const char *filename, Long64_t &nevents)
AliDetector class for MUON subsystem providing simulation data management.
AliDetector class for MUON subsystem which implements functions for simulation.
static AliMagF::BMap_t mag
Float_t EtaToTheta(Float_t arg)