kMuonCocktailCent1Single, //
kMuonCocktailPer1Single, //
kMuonCocktailPer4Single,
+ kFMD1Flat,
+ kFMD2Flat,
+ kFMD3Flat,
+ kFMDFlat,
kEgMax
};
"kMuonCocktailPer4HighPt", //
"kMuonCocktailCent1Single", //
"kMuonCocktailPer1Single", //
- "kMuonCocktailPer4Single"
+ "kMuonCocktailPer4Single",
+ "kFMD1Flat",
+ "kFMD2Flat",
+ "kFMD3Flat",
+ "kFMDFlat"
};
//____________________________________________________________________
//____________________________________________________________________
// This part for configuration
//static EG_t eg = test50;
- EG_t eg = kParam_fmd;
+ //EG_t eg = kParam_fmd;
+ EG_t eg = kParam_2000; // kPythia;
Geo_t geo = kNoHoles;
Rad_t rad = kGluonRadiation;
Mag_t mag = k5kG;
gSystem->Load("libGeom");
cout << "\t* Loading TFluka..." << endl;
gSystem->Load("libTFluka");
-
+ gSystem->MakeDirectory("peg");
//
// FLUKA MC
//
new TFluka("C++ Interface to Fluka", 0/*verbosity*/);
break;
case kGEANT3:
- //
- // Libraries needed by GEANT 3.21
- //
- gSystem->Load("libgeant321");
-
- //
- // GEANT 3.21 MC
- //
- new TGeant3("C++ Interface to Geant3");
+ {
+ //
+ // Libraries needed by GEANT 3.21
+ //
+ gSystem->Load("libgeant321");
+
+ //
+ // GEANT 3.21 MC
+ //
+ TGeant3* gmc = new TGeant3("C++ Interface to Geant3");
+ gmc->SetSWIT(4, 1000);
+ }
break;
case kGEANT3TGEO:
- //
- // Libraries needed by GEANT 3.21
- //
- gSystem->Load("libgeant321");
+ {
+ //
+ // Libraries needed by GEANT 3.21
+ //
+ gSystem->Load("libgeant321");
- //
- // GEANT 3.21 MC
- //
- new TGeant3TGeo("C++ Interface to Geant3");
- Printf("Making a TGeant3TGeo objet");
+ //
+ // GEANT 3.21 MC
+ //
+ TGeant3TGeo* gmc = new TGeant3TGeo("C++ Interface to Geant3");
+ gmc->SetSWIT(4, 1000);
+ Printf("Making a TGeant3TGeo objet");
+ }
break;
default:
gAlice->Fatal("Config.C", "No MC type chosen");
((TFluka*)gMC)->SetGeneratePemf(kFALSE);
else
((TFluka*)gMC)->SetGeneratePemf(kTRUE);
+ TString flupro(gSystem->Getenv("FLUPRO"));
+ if (flupro.IsNull())
+ Fatal("Config.C", "Environment variable FLUPRO not set");
+#if 0
+ char* files[] = { "brems_fin.bin", "cohff.bin", "elasct.bin",
+ "gxsect.bin", "nuclear.bin", "sigmapi.bin",
+ 0 };
+ char* file = files[0];
+ while (file) {
+ TString which(gSystem->Which(".", file));
+ if (which.IsNull()) {
+ if (gSystem->Symlink(Form("%s/%s", flupro.Data(), file), file)!=0)
+ Fatal("Config.C", "Couldn't link $(FLUPRO)/%s -> .", file);
+ }
+ file++;
+ }
+#endif
+ TString neuxsc(gSystem->Which(".", "neuxsc.bin"));
+ if (neuxsc.IsNull())
+ gSystem->Symlink(Form("%s/neuxsc_72.bin", flupro.Data()),
+ "neuxsc.bin");
+ gSystem->CopyFile("$(FLUPRO)/random.dat", "old.seed", kTRUE);
}
break;
}
//__________________________________________________________________
//
// Set External decayer
+#if 0
AliDecayer *decayer = new AliDecayerPythia();
switch (eg) {
case kD0PbPb5500: decayer->SetForceDecay(kHadronicD); break;
}
decayer->Init();
gMC->SetExternalDecayer(decayer);
+#endif
//__________________________________________________________________
// ************* STEERING parameters FOR ALICE SIMULATION **************
gMC->SetCut("PPCUTM", cut);
gMC->SetCut("TOFMAX", tofmax);
-
+
//__________________________________________________________________
// Generator Configuration
AliGenerator* gener = GeneratorFactory(eg, rad, comment);
//
// Used detectors
//
- Bool_t useABSO = kTRUE;
- Bool_t useCRT = kTRUE;
- Bool_t useDIPO = kTRUE;
+ Bool_t useABSO = kFALSE;
+ Bool_t useCRT = kFALSE;
+ Bool_t useDIPO = kFALSE;
Bool_t useFMD = kTRUE;
- Bool_t useFRAME = kTRUE;
- Bool_t useHALL = kTRUE;
- Bool_t useITS = kTRUE;
- Bool_t useMAG = kTRUE;
- Bool_t useMUON = kTRUE;
- Bool_t usePHOS = kTRUE;
- Bool_t usePIPE = kTRUE;
- Bool_t usePMD = kTRUE;
- Bool_t useRICH = kTRUE;
- Bool_t useSHIL = kTRUE;
- Bool_t useSTART = kTRUE;
- Bool_t useTOF = kTRUE;
- Bool_t useTPC = kTRUE;
- Bool_t useTRD = kTRUE;
- Bool_t useZDC = kTRUE;
- Bool_t useEMCAL = kTRUE;
- Bool_t useVZERO = kTRUE;
+ Bool_t useFRAME = kFALSE;
+ Bool_t useHALL = kFALSE;
+ Bool_t useITS = kFALSE;
+ Bool_t useMAG = kFALSE;
+ Bool_t useMUON = kFALSE;
+ Bool_t usePHOS = kFALSE;
+ Bool_t usePIPE = kFALSE;
+ Bool_t usePMD = kFALSE;
+ Bool_t useRICH = kFALSE;
+ Bool_t useSHIL = kFALSE;
+ Bool_t useSTART = kFALSE;
+ Bool_t useTOF = kFALSE;
+ Bool_t useTPC = kFALSE;
+ Bool_t useTRD = kFALSE;
+ Bool_t useZDC = kFALSE;
+ Bool_t useEMCAL = kFALSE;
+ Bool_t useVZERO = kFALSE;
cout << "\t* Creating the detectors ..." << endl;
//=================== Alice BODY parameters =============================
if (useFMD) {
//=================== FMD parameters ============================
AliFMD *FMD = new AliFMDv1("FMD", "normal FMD");
- AliLog::SetModuleDebugLevel("FMD", 10);
+ AliLog::SetModuleDebugLevel("FMD", 1);
+ // FMD->UseDetailed(kFALSE);
+ // FMD->UseAssembly();
+ // FMD->UseOld();
}
if (useMUON) {
gGener=gener;
}
break;
+ case kFMD1Flat:
+ {
+ comment = comment.Append(" Flat in FMD1 range");
+ AliGenBox* gener = new AliGenBox(2000);
+ gener->SetPart(211);
+ gener->SetMomentumRange(3,4);
+ gener->SetPhiRange(0, 360);
+ gener->SetThetaRange(0.77, 3.08);
+ gGener = gener;
+ }
+ break;
+ case kFMD2Flat:
+ {
+ comment = comment.Append(" Flat in FMD2 range");
+ AliGenBox* gener = new AliGenBox(2000);
+ gener->SetPart(211);
+ gener->SetMomentumRange(3,4);
+ gener->SetPhiRange(0, 360);
+ gener->SetThetaRange(2.95, 20.42);
+ gGener = gener;
+ }
+ break;
+ case kFMD3Flat:
+ {
+ comment = comment.Append(" Flat in FMD3 range");
+ AliGenBox* gener = new AliGenBox(2000);
+ gener->SetPart(211);
+ gener->SetMomentumRange(3,4);
+ gener->SetPhiRange(0, 360);
+ gener->SetThetaRange(155.97, 176.73);
+ gGener = gener;
+ }
+ break;
+ case kFMDFlat:
+ {
+ comment = comment.Append(" Flat in FMD range");
+ AliGenCocktail* gener = AliGenCocktail("FMD cocktail");
+ gener->SetPart(211);
+ gener->SetMomentumRange(3,4);
+ gener->SetPhiRange(0, 360);
+ AliGenBox* gener3 = new AliGenBox(2000);
+ gener3->SetThetaRange(155.97, 176.73);
+ gener->AddGenerator(gener3, "FMD3", .33);
+ AliGenBox* gener2 = new AliGenBox(2000);
+ gener2->SetThetaRange(2.95, 20.42);
+ gener->AddGenerator(gener2, "FMD2", .33);
+ AliGenBox* gener1 = new AliGenBox(2000);
+ gener1->SetThetaRange(0.77, 3.08);
+ gener->AddGenerator(gener1, "FMD1", .34);
+ gGener = gener;
+ }
+ break;
+
default: break;
}
return gGener;