]>
Commit | Line | Data |
---|---|---|
19f796ed | 1 | // |
19f796ed | 2 | // Configuration for the Physics Data Challenge 2006 |
19f796ed | 3 | // |
19f796ed | 4 | // One can use the configuration macro in compiled mode by |
19f796ed | 5 | // root [0] gSystem->Load("libgeant321"); |
19f796ed | 6 | // root [0] gSystem->SetIncludePath("-I$ROOTSYS/include -I$ALICE_ROOT/include\ |
19f796ed | 7 | // -I$ALICE_ROOT -I$ALICE/geant3/TGeant3"); |
19f796ed | 8 | // root [0] .x grun.C(1,"Config_PDC06.C++") |
19f796ed | 9 | #if !defined(__CINT__) || defined(__MAKECINT__) |
19f796ed | 10 | #include <Riostream.h> |
19f796ed | 11 | #include <TRandom.h> |
19f796ed | 12 | #include <TDatime.h> |
19f796ed | 13 | #include <TSystem.h> |
19f796ed | 14 | #include <TVirtualMC.h> |
19f796ed | 15 | #include <TGeant3TGeo.h> |
19f796ed | 16 | #include "EVGEN/AliGenCocktail.h" |
19f796ed | 17 | #include "EVGEN/AliGenParam.h" |
19f796ed | 18 | #include "EVGEN/AliGenMUONlib.h" |
19f796ed | 19 | #include "STEER/AliRunLoader.h" |
19f796ed | 20 | #include "STEER/AliRun.h" |
19f796ed | 21 | #include "STEER/AliConfig.h" |
19f796ed | 22 | #include "PYTHIA6/AliDecayerPythia.h" |
19f796ed | 23 | #include "PYTHIA6/AliGenPythia.h" |
f7a1cc68 | 24 | #include "STEER/AliMagF.h" |
19f796ed | 25 | #include "STRUCT/AliBODY.h" |
19f796ed | 26 | #include "STRUCT/AliMAG.h" |
19f796ed | 27 | #include "STRUCT/AliABSOv0.h" |
19f796ed | 28 | #include "STRUCT/AliDIPOv2.h" |
19f796ed | 29 | #include "STRUCT/AliHALL.h" |
19f796ed | 30 | #include "STRUCT/AliFRAMEv2.h" |
19f796ed | 31 | #include "STRUCT/AliSHILv2.h" |
19f796ed | 32 | #include "STRUCT/AliPIPEv0.h" |
19f796ed | 33 | #include "ITS/AliITSgeom.h" |
19f796ed | 34 | #include "ITS/AliITSvPPRasymmFMD.h" |
19f796ed | 35 | #include "TPC/AliTPCv2.h" |
19f796ed | 36 | #include "TOF/AliTOFv5T0.h" |
19f796ed | 37 | #include "HMPID/AliHMPIDv1.h" |
19f796ed | 38 | #include "ZDC/AliZDCv2.h" |
19f796ed | 39 | #include "TRD/AliTRDv1.h" |
19f796ed | 40 | #include "FMD/AliFMDv1.h" |
19f796ed | 41 | #include "MUON/AliMUONv1.h" |
19f796ed | 42 | #include "PHOS/AliPHOSv1.h" |
19f796ed | 43 | #include "PMD/AliPMDv1.h" |
19f796ed | 44 | #include "T0/AliT0v1.h" |
19f796ed | 45 | #include "EMCAL/AliEMCALv2.h" |
19f796ed | 46 | #include "CRT/AliCRTv0.h" |
19f796ed | 47 | #include "VZERO/AliVZEROv7.h" |
19f796ed | 48 | #endif |
19f796ed | 49 | //--- Trigger config --- |
19f796ed | 50 | enum TrigConf_t |
19f796ed | 51 | { |
19f796ed | 52 | kDefaultPPTrig, kDefaultPbPbTrig |
19f796ed | 53 | }; |
19f796ed | 54 | const char * TrigConfName[] = { |
19f796ed | 55 | "p-p","Pb-Pb" |
19f796ed | 56 | }; |
19f796ed | 57 | //--- Decay Mode --- |
19f796ed | 58 | enum DecayHvFl_t |
19f796ed | 59 | { |
19f796ed | 60 | kNature, kHadr, kSemiEl, kSemiMu |
19f796ed | 61 | }; |
19f796ed | 62 | //--- Rapidity Cut --- |
19f796ed | 63 | enum YCut_t |
19f796ed | 64 | { |
19f796ed | 65 | kFull, kBarrel, kMuonArm |
19f796ed | 66 | }; |
19f796ed | 67 | void ProcessEnvironmentVars(); |
19f796ed | 68 | // This part for configuration |
19f796ed | 69 | static DecayHvFl_t decHvFl = kNature; |
19f796ed | 70 | static YCut_t ycut = kFull; |
f7a1cc68 | 71 | static AliMagF::BMap_t mag = AliMagF::k5kG; |
19f796ed | 72 | static TrigConf_t trig = kDefaultPPTrig; |
19f796ed | 73 | //========================// |
19f796ed | 74 | // Set Random Number seed // |
19f796ed | 75 | //========================// |
19f796ed | 76 | TDatime dt; |
19f796ed | 77 | static UInt_t seed = dt.Get(); |
19f796ed | 78 | // Comment line |
19f796ed | 79 | static TString comment; |
19f796ed | 80 | void Config() |
19f796ed | 81 | { |
19f796ed | 82 | |
19f796ed | 83 | // Get settings from environment variables |
19f796ed | 84 | ProcessEnvironmentVars(); |
19f796ed | 85 | gRandom->SetSeed(seed); |
19f796ed | 86 | // gRandom->SetSeed(12345); |
19f796ed | 87 | cerr<<"Seed for random number generation= "<<seed<<endl; |
19f796ed | 88 | // libraries required by geant321 |
19f796ed | 89 | #if defined(__CINT__) |
19f796ed | 90 | gSystem->Load("libgeant321"); |
19f796ed | 91 | #endif |
19f796ed | 92 | new TGeant3TGeo("C++ Interface to Geant3"); |
19f796ed | 93 | //======================================================================= |
19f796ed | 94 | // Create the output file |
19f796ed | 95 | |
19f796ed | 96 | AliRunLoader* rl=0x0; |
19f796ed | 97 | cout<<"Config.C: Creating Run Loader ..."<<endl; |
19f796ed | 98 | rl = AliRunLoader::Open("galice.root", |
19f796ed | 99 | AliConfig::GetDefaultEventFolderName(), |
19f796ed | 100 | "recreate"); |
19f796ed | 101 | if (rl == 0x0) |
19f796ed | 102 | { |
19f796ed | 103 | gAlice->Fatal("Config.C","Can not instatiate the Run Loader"); |
19f796ed | 104 | return; |
19f796ed | 105 | } |
19f796ed | 106 | rl->SetCompressionLevel(2); |
19f796ed | 107 | rl->SetNumberOfEventsPerFile(1000); |
19f796ed | 108 | gAlice->SetRunLoader(rl); |
19f796ed | 109 | |
19f796ed | 110 | // Set the trigger configuration |
28da60d3 | 111 | AliSimulation::Instance()->SetTriggerConfig(TrigConfName[trig]); |
19f796ed | 112 | cout<<"Trigger configuration is set to "<<TrigConfName[trig]<<endl; |
19f796ed | 113 | // |
19f796ed | 114 | //======================================================================= |
19f796ed | 115 | // ************* STEERING parameters FOR ALICE SIMULATION ************** |
19f796ed | 116 | // --- Specify event type to be tracked through the ALICE setup |
19f796ed | 117 | // --- All positions are in cm, angles in degrees, and P and E in GeV |
19f796ed | 118 | gMC->SetProcess("DCAY",1); |
19f796ed | 119 | gMC->SetProcess("PAIR",1); |
19f796ed | 120 | gMC->SetProcess("COMP",1); |
19f796ed | 121 | gMC->SetProcess("PHOT",1); |
19f796ed | 122 | gMC->SetProcess("PFIS",0); |
19f796ed | 123 | gMC->SetProcess("DRAY",0); |
19f796ed | 124 | gMC->SetProcess("ANNI",1); |
19f796ed | 125 | gMC->SetProcess("BREM",1); |
19f796ed | 126 | gMC->SetProcess("MUNU",1); |
19f796ed | 127 | gMC->SetProcess("CKOV",1); |
19f796ed | 128 | gMC->SetProcess("HADR",1); |
19f796ed | 129 | gMC->SetProcess("LOSS",2); |
19f796ed | 130 | gMC->SetProcess("MULS",1); |
19f796ed | 131 | gMC->SetProcess("RAYL",1); |
19f796ed | 132 | Float_t cut = 1.e-3; // 1MeV cut by default |
19f796ed | 133 | Float_t tofmax = 1.e10; |
19f796ed | 134 | gMC->SetCut("CUTGAM", cut); |
19f796ed | 135 | gMC->SetCut("CUTELE", cut); |
19f796ed | 136 | gMC->SetCut("CUTNEU", cut); |
19f796ed | 137 | gMC->SetCut("CUTHAD", cut); |
19f796ed | 138 | gMC->SetCut("CUTMUO", cut); |
19f796ed | 139 | gMC->SetCut("BCUTE", cut); |
19f796ed | 140 | gMC->SetCut("BCUTM", cut); |
19f796ed | 141 | gMC->SetCut("DCUTE", cut); |
19f796ed | 142 | gMC->SetCut("DCUTM", cut); |
19f796ed | 143 | gMC->SetCut("PPCUTM", cut); |
19f796ed | 144 | gMC->SetCut("TOFMAX", tofmax); |
19f796ed | 145 | // ((TGeant3 *) gMC)->SetSWIT(2,2); |
19f796ed | 146 | // ((TGeant3 *) gMC)->SetDEBU(1,999,1); |
19f796ed | 147 | // Set External decayer // |
19f796ed | 148 | //======================// |
19f796ed | 149 | TVirtualMCDecayer* decayer = new AliDecayerPythia(); |
19f796ed | 150 | // DECAYS |
19f796ed | 151 | // |
19f796ed | 152 | switch(decHvFl) { |
19f796ed | 153 | case kNature: |
19f796ed | 154 | decayer->SetForceDecay(kAll); |
19f796ed | 155 | break; |
19f796ed | 156 | case kHadr: |
19f796ed | 157 | decayer->SetForceDecay(kHadronicD); |
19f796ed | 158 | break; |
19f796ed | 159 | case kSemiEl: |
19f796ed | 160 | decayer->SetForceDecay(kSemiElectronic); |
19f796ed | 161 | break; |
19f796ed | 162 | case kSemiMu: |
19f796ed | 163 | decayer->SetForceDecay(kSemiMuonic); |
19f796ed | 164 | break; |
19f796ed | 165 | } |
19f796ed | 166 | decayer->Init(); |
19f796ed | 167 | gMC->SetExternalDecayer(decayer); |
19f796ed | 168 | //=========================// |
19f796ed | 169 | // Generator Configuration // |
19f796ed | 170 | //=========================// |
19f796ed | 171 | AliGenBox* gener = new AliGenBox(); |
19f796ed | 172 | gener->SetThetaRange(45,135); |
19f796ed | 173 | gener->SetPhiRange(30,150); |
19f796ed | 174 | gener->SetMomentumRange(9.8,10.2); |
19f796ed | 175 | gener->SetPart(kMuonMinus); |
19f796ed | 176 | gener->SetNumberParticles(20); |
19f796ed | 177 | gener->Init(); |
19f796ed | 178 | // FIELD |
19f796ed | 179 | // |
f7a1cc68 | 180 | if (mag == AliMagF::k2kG) { |
19f796ed | 181 | comment = comment.Append(" | L3 field 0.2 T"); |
f7a1cc68 | 182 | } else if (mag == AliMagF::k5kG) { |
19f796ed | 183 | comment = comment.Append(" | L3 field 0.5 T"); |
19f796ed | 184 | } |
19f796ed | 185 | printf("\n \n Comment: %s \n \n", comment.Data()); |
19f796ed | 186 | |
4642ac4b | 187 | AliMagF* field = new AliMagF("Maps","Maps",-1.,-1., mag); |
f7a1cc68 | 188 | TGeoGlobalMagField::Instance()->SetField(field); |
19f796ed | 189 | |
190 | rl->CdGAFile(); | |
191 | ||
19f796ed | 192 | Int_t iABSO = 0; |
19f796ed | 193 | Int_t iACORDE = 1; |
19f796ed | 194 | Int_t iDIPO = 0; |
19f796ed | 195 | Int_t iEMCAL = 0; |
19f796ed | 196 | Int_t iFMD = 0; |
19f796ed | 197 | Int_t iFRAME = 0; |
19f796ed | 198 | Int_t iHALL = 0; |
19f796ed | 199 | Int_t iITS = 0; |
19f796ed | 200 | Int_t iMAG = 0; |
19f796ed | 201 | Int_t iMUON = 0; |
19f796ed | 202 | Int_t iPHOS = 0; |
19f796ed | 203 | Int_t iPIPE = 0; |
19f796ed | 204 | Int_t iPMD = 0; |
19f796ed | 205 | Int_t iHMPID = 0; |
19f796ed | 206 | Int_t iSHIL = 0; |
19f796ed | 207 | Int_t iT0 = 0; |
19f796ed | 208 | Int_t iTOF = 0; |
19f796ed | 209 | Int_t iTPC = 0; |
19f796ed | 210 | Int_t iTRD = 0; |
19f796ed | 211 | Int_t iVZERO = 0; |
19f796ed | 212 | Int_t iZDC = 0; |
19f796ed | 213 | |
19f796ed | 214 | //=================== Alice BODY parameters ============================= |
19f796ed | 215 | AliBODY *BODY = new AliBODY("BODY", "Alice envelop"); |
19f796ed | 216 | if (iMAG) |
19f796ed | 217 | { |
19f796ed | 218 | //=================== MAG parameters ============================ |
19f796ed | 219 | // --- Start with Magnet since detector layouts may be depending --- |
19f796ed | 220 | // --- on the selected Magnet dimensions --- |
19f796ed | 221 | AliMAG *MAG = new AliMAG("MAG", "Magnet"); |
19f796ed | 222 | } |
19f796ed | 223 | if (iABSO) |
19f796ed | 224 | { |
19f796ed | 225 | //=================== ABSO parameters ============================ |
19f796ed | 226 | AliABSO *ABSO = new AliABSOv0("ABSO", "Muon Absorber"); |
19f796ed | 227 | } |
19f796ed | 228 | if (iDIPO) |
f7a1cc68 | 229 | { |
230 | //=================== DIPO parameters ============================ | |
19f796ed | 231 | AliDIPO *DIPO = new AliDIPOv2("DIPO", "Dipole version 2"); |
19f796ed | 232 | } |
19f796ed | 233 | if (iHALL) |
19f796ed | 234 | { |
19f796ed | 235 | //=================== HALL parameters ============================ |
19f796ed | 236 | AliHALL *HALL = new AliHALL("HALL", "Alice Hall"); |
19f796ed | 237 | } |
19f796ed | 238 | if (iFRAME) |
19f796ed | 239 | { |
19f796ed | 240 | //=================== FRAME parameters ============================ |
19f796ed | 241 | AliFRAMEv2 *FRAME = new AliFRAMEv2("FRAME", "Space Frame"); |
19f796ed | 242 | } |
19f796ed | 243 | if (iSHIL) |
19f796ed | 244 | { |
19f796ed | 245 | //=================== SHIL parameters ============================ |
19f796ed | 246 | AliSHIL *SHIL = new AliSHILv2("SHIL", "Shielding Version 2"); |
19f796ed | 247 | } |
19f796ed | 248 | if (iPIPE) |
19f796ed | 249 | { |
19f796ed | 250 | //=================== PIPE parameters ============================ |
19f796ed | 251 | AliPIPE *PIPE = new AliPIPEv0("PIPE", "Beam Pipe"); |
19f796ed | 252 | } |
19f796ed | 253 | |
19f796ed | 254 | if(iITS) { |
19f796ed | 255 | //=================== ITS parameters ============================ |
19f796ed | 256 | // |
19f796ed | 257 | // As the innermost detector in ALICE, the Inner Tracking System "impacts" on |
19f796ed | 258 | // almost all other detectors. This involves the fact that the ITS geometry |
19f796ed | 259 | // still has several options to be followed in parallel in order to determine |
19f796ed | 260 | // the best set-up which minimizes the induced background. All the geometries |
19f796ed | 261 | // available to date are described in the following. Read carefully the comments |
19f796ed | 262 | // and use the default version (the only one uncommented) unless you are making |
19f796ed | 263 | // comparisons and you know what you are doing. In this case just uncomment the |
19f796ed | 264 | // ITS geometry you want to use and run Aliroot. |
19f796ed | 265 | // |
19f796ed | 266 | // Detailed geometries: |
19f796ed | 267 | // |
19f796ed | 268 | // |
19f796ed | 269 | //AliITS *ITS = new AliITSv5symm("ITS","Updated ITS TDR detailed version with symmetric services"); |
19f796ed | 270 | // |
19f796ed | 271 | //AliITS *ITS = new AliITSv5asymm("ITS","Updates ITS TDR detailed version with asymmetric services"); |
19f796ed | 272 | // |
19f796ed | 273 | AliITSvPPRasymmFMD *ITS = new AliITSvPPRasymmFMD("ITS","New ITS PPR detailed version with asymmetric services"); |
19f796ed | 274 | ITS->SetMinorVersion(2); // don't touch this parameter if you're not an ITS developer |
19f796ed | 275 | ITS->SetReadDet(kFALSE); // don't touch this parameter if you're not an ITS developer |
19f796ed | 276 | // ITS->SetWriteDet("$ALICE_ROOT/ITS/ITSgeometry_vPPRasymm2.det"); // don't touch this parameter if you're not an ITS developer |
19f796ed | 277 | ITS->SetThicknessDet1(200.); // detector thickness on layer 1 must be in the range [100,300] |
19f796ed | 278 | ITS->SetThicknessDet2(200.); // detector thickness on layer 2 must be in the range [100,300] |
19f796ed | 279 | ITS->SetThicknessChip1(150.); // chip thickness on layer 1 must be in the range [150,300] |
19f796ed | 280 | ITS->SetThicknessChip2(150.); // chip thickness on layer 2 must be in the range [150,300] |
19f796ed | 281 | ITS->SetRails(0); // 1 --> rails in ; 0 --> rails out |
19f796ed | 282 | ITS->SetCoolingFluid(1); // 1 --> water ; 0 --> freon |
19f796ed | 283 | // Coarse geometries (warning: no hits are produced with these coarse geometries and they unuseful |
19f796ed | 284 | // for reconstruction !): |
19f796ed | 285 | // |
19f796ed | 286 | // |
19f796ed | 287 | //AliITSvPPRcoarseasymm *ITS = new AliITSvPPRcoarseasymm("ITS","New ITS PPR coarse version with asymmetric services"); |
19f796ed | 288 | //ITS->SetRails(0); // 1 --> rails in ; 0 --> rails out |
19f796ed | 289 | //ITS->SetSupportMaterial(0); // 0 --> Copper ; 1 --> Aluminum ; 2 --> Carbon |
19f796ed | 290 | // |
19f796ed | 291 | //AliITS *ITS = new AliITSvPPRcoarsesymm("ITS","New ITS PPR coarse version with symmetric services"); |
19f796ed | 292 | //ITS->SetRails(0); // 1 --> rails in ; 0 --> rails out |
19f796ed | 293 | //ITS->SetSupportMaterial(0); // 0 --> Copper ; 1 --> Aluminum ; 2 --> Carbon |
19f796ed | 294 | // |
19f796ed | 295 | // |
19f796ed | 296 | // |
19f796ed | 297 | // Geant3 <-> EUCLID conversion |
19f796ed | 298 | // ============================ |
19f796ed | 299 | // |
19f796ed | 300 | // SetEUCLID is a flag to output (=1) or not to output (=0) both geometry and |
19f796ed | 301 | // media to two ASCII files (called by default ITSgeometry.euc and |
19f796ed | 302 | // ITSgeometry.tme) in a format understandable to the CAD system EUCLID. |
19f796ed | 303 | // The default (=0) means that you dont want to use this facility. |
19f796ed | 304 | // |
19f796ed | 305 | ITS->SetEUCLID(0); |
19f796ed | 306 | } |
19f796ed | 307 | if (iTPC) |
19f796ed | 308 | { |
19f796ed | 309 | //============================ TPC parameters ===================== |
19f796ed | 310 | AliTPC *TPC = new AliTPCv2("TPC", "Default"); |
19f796ed | 311 | } |
19f796ed | 312 | if (iTOF) { |
19f796ed | 313 | //=================== TOF parameters ============================ |
19f796ed | 314 | AliTOF *TOF = new AliTOFv5T0("TOF", "normal TOF"); |
19f796ed | 315 | // Partial geometry: modules at 2,3,4,6,7,11,12,14,15,16 |
19f796ed | 316 | // starting at 6h in positive direction |
19f796ed | 317 | // Int_t TOFSectors[18]={-1,-1,0,0,0,-1,0,0,-1,-1,-1,0,0,-1,0,0,0,0}; |
19f796ed | 318 | // Partial geometry: modules at 1,2,6,7,9,10,11,12,15,16,17 |
19f796ed | 319 | // (ALICE numbering convention) |
19f796ed | 320 | Int_t TOFSectors[18]={-1,0,0,-1,-1,-1,0,0,-1,0,0,0,0,-1,-1,0,0,0}; |
19f796ed | 321 | TOF->SetTOFSectors(TOFSectors); |
19f796ed | 322 | } |
19f796ed | 323 | if (iHMPID) |
19f796ed | 324 | { |
19f796ed | 325 | //=================== HMPID parameters =========================== |
19f796ed | 326 | AliHMPID *HMPID = new AliHMPIDv1("HMPID", "normal HMPID"); |
19f796ed | 327 | } |
19f796ed | 328 | if (iZDC) |
19f796ed | 329 | { |
19f796ed | 330 | //=================== ZDC parameters ============================ |
19f796ed | 331 | AliZDC *ZDC = new AliZDCv2("ZDC", "normal ZDC"); |
19f796ed | 332 | } |
19f796ed | 333 | if (iTRD) |
19f796ed | 334 | { |
19f796ed | 335 | //=================== TRD parameters ============================ |
19f796ed | 336 | AliTRD *TRD = new AliTRDv1("TRD", "TRD slow simulator"); |
19f796ed | 337 | AliTRDgeometry *geoTRD = TRD->GetGeometry(); |
19f796ed | 338 | // Partial geometry: modules at 2,3,4,6,11,12,14,15 |
19f796ed | 339 | // starting at 6h in positive direction |
19f796ed | 340 | geoTRD->SetSMstatus(0,0); |
19f796ed | 341 | geoTRD->SetSMstatus(1,0); |
19f796ed | 342 | geoTRD->SetSMstatus(5,0); |
19f796ed | 343 | geoTRD->SetSMstatus(7,0); |
19f796ed | 344 | geoTRD->SetSMstatus(8,0); |
19f796ed | 345 | geoTRD->SetSMstatus(9,0); |
19f796ed | 346 | geoTRD->SetSMstatus(10,0); |
19f796ed | 347 | geoTRD->SetSMstatus(13,0); |
19f796ed | 348 | geoTRD->SetSMstatus(16,0); |
19f796ed | 349 | geoTRD->SetSMstatus(17,0); |
19f796ed | 350 | } |
19f796ed | 351 | if (iFMD) |
19f796ed | 352 | { |
19f796ed | 353 | //=================== FMD parameters ============================ |
19f796ed | 354 | AliFMD *FMD = new AliFMDv1("FMD", "normal FMD"); |
19f796ed | 355 | } |
19f796ed | 356 | if (iMUON) |
19f796ed | 357 | { |
19f796ed | 358 | //=================== MUON parameters =========================== |
19f796ed | 359 | // New MUONv1 version (geometry defined via builders) |
19f796ed | 360 | AliMUON *MUON = new AliMUONv1("MUON", "default"); |
19f796ed | 361 | } |
19f796ed | 362 | //=================== PHOS parameters =========================== |
19f796ed | 363 | if (iPHOS) |
19f796ed | 364 | { |
19f796ed | 365 | AliPHOS *PHOS = new AliPHOSv1("PHOS", "IHEP"); |
19f796ed | 366 | } |
19f796ed | 367 | if (iPMD) |
19f796ed | 368 | { |
19f796ed | 369 | //=================== PMD parameters ============================ |
19f796ed | 370 | AliPMD *PMD = new AliPMDv1("PMD", "normal PMD"); |
19f796ed | 371 | } |
19f796ed | 372 | if (iT0) |
19f796ed | 373 | { |
19f796ed | 374 | //=================== T0 parameters ============================ |
19f796ed | 375 | AliT0 *T0 = new AliT0v1("T0", "T0 Detector"); |
19f796ed | 376 | } |
19f796ed | 377 | if (iEMCAL) |
19f796ed | 378 | { |
19f796ed | 379 | //=================== EMCAL parameters ============================ |
c76b9217 | 380 | AliEMCAL *EMCAL = new AliEMCALv2("EMCAL", "EMCAL_COMPLETEV1"); |
19f796ed | 381 | } |
19f796ed | 382 | if (iACORDE) |
19f796ed | 383 | { |
19f796ed | 384 | //=================== ACORDE parameters ============================ |
f7882672 | 385 | AliACORDE *ACORDE = new AliACORDEv1("ACORDE", "normal ACORDE"); |
19f796ed | 386 | // ACORDE->SetITSGeometry(kTRUE); |
19f796ed | 387 | // ACORDE->SetCreateCavern(kFALSE); |
19f796ed | 388 | } |
19f796ed | 389 | if (iVZERO) |
19f796ed | 390 | { |
19f796ed | 391 | //=================== VZERO parameters ============================= |
19f796ed | 392 | AliVZERO *VZERO = new AliVZEROv7("VZERO", "normal VZERO"); |
19f796ed | 393 | } |
19f796ed | 394 | } |
19f796ed | 395 | void ProcessEnvironmentVars() |
19f796ed | 396 | { |
19f796ed | 397 | // Run type |
19f796ed | 398 | if (gSystem->Getenv("CONFIG_RUN_TYPE")) { |
19f796ed | 399 | for (Int_t iRun = 0; iRun < kRunMax; iRun++) { |
19f796ed | 400 | if (strcmp(gSystem->Getenv("CONFIG_RUN_TYPE"), pprRunName[iRun])==0) { |
19f796ed | 401 | proc = (PDC06Proc_t)iRun; |
19f796ed | 402 | cout<<"Run type set to "<<pprRunName[iRun]<<endl; |
19f796ed | 403 | } |
19f796ed | 404 | } |
19f796ed | 405 | } |
19f796ed | 406 | // Random Number seed |
19f796ed | 407 | if (gSystem->Getenv("CONFIG_SEED")) { |
19f796ed | 408 | seed = atoi(gSystem->Getenv("CONFIG_SEED")); |
19f796ed | 409 | } |
19f796ed | 410 | } |