10 #if !defined(__CINT__) || defined(__MAKECINT__) 11 #include <Riostream.h> 14 #include <TVirtualMC.h> 15 #include <TGeant3TGeo.h> 22 #include "STEER/AliLog.h" 23 #include "PYTHIA6/AliDecayerPythia.h" 24 #include "EVGEN/AliGenHIJINGpara.h" 25 #include "THijing/AliGenHijing.h" 26 #include "EVGEN/AliGenCocktail.h" 27 #include "EVGEN/AliGenSlowNucleons.h" 28 #include "EVGEN/AliSlowNucleonModelExp.h" 29 #include "EVGEN/AliGenParam.h" 30 #include "EVGEN/AliGenMUONlib.h" 31 #include "EVGEN/AliGenSTRANGElib.h" 32 #include "EVGEN/AliGenMUONCocktail.h" 33 #include "EVGEN/AliGenCocktail.h" 34 #include "EVGEN/AliGenGeVSim.h" 35 #include "EVGEN/AliGeVSimParticle.h" 36 #include "PYTHIA6/AliGenPythia.h" 37 #include "STEER/AliMagF.h" 38 #include "STRUCT/AliBODY.h" 39 #include "STRUCT/AliMAG.h" 40 #include "STRUCT/AliABSOv3.h" 41 #include "STRUCT/AliDIPOv3.h" 42 #include "STRUCT/AliHALLv3.h" 43 #include "STRUCT/AliFRAMEv2.h" 44 #include "STRUCT/AliSHILv3.h" 45 #include "STRUCT/AliPIPEv3.h" 46 #include "ITS/AliITSv11.h" 47 #include "TPC/AliTPCv2.h" 48 #include "TOF/AliTOFv6T0.h" 49 #include "HMPID/AliHMPIDv3.h" 50 #include "ZDC/AliZDCv3.h" 51 #include "TRD/AliTRDv1.h" 52 #include "FMD/AliFMDv1.h" 53 #include "MUON/AliMUONv1.h" 54 #include "PHOS/AliPHOSv1.h" 55 #include "PMD/AliPMDv1.h" 56 #include "T0/AliT0v1.h" 57 #include "EMCAL/AliEMCALv2.h" 58 #include "ACORDE/AliACORDEv1.h" 59 #include "VZERO/AliVZEROv7.h" 60 #include "EVGEN/AliGenCosmicsParam.h" 88 "kParam_8000",
"kParam_4000",
"kParam_2000",
89 "kHijing_cent1",
"kHijing_cent2",
90 "kHijing_per1",
"kHijing_per2",
"kHijing_per3",
"kHijing_per4",
92 "kHijing_jj25",
"kHijing_jj50",
"kHijing_jj75",
"kHijing_jj100",
94 "kHijing_gj25",
"kHijing_gj50",
"kHijing_gj75",
"kHijing_gj100",
95 "kHijing_gj200",
"kHijing_pA",
"kPythia6",
96 "kPythia6Jets20_24",
"kPythia6Jets24_29",
"kPythia6Jets29_35",
97 "kPythia6Jets35_42",
"kPythia6Jets42_50",
"kPythia6Jets50_60",
98 "kPythia6Jets60_72",
"kPythia6Jets72_86",
"kPythia6Jets86_104",
99 "kPythia6Jets104_125",
"kPythia6Jets125_150",
"kPythia6Jets150_180",
100 "kD0PbPb5500",
"kCharmSemiElPbPb5500",
"kBeautySemiElPbPb5500",
101 "kCocktailTRD",
"kPyJJ",
"kPyGJ",
102 "kMuonCocktailCent1",
"kMuonCocktailPer1",
"kMuonCocktailPer4",
103 "kMuonCocktailCent1HighPt",
"kMuonCocktailPer1HighPt",
"kMuonCocktailPer4HighPt",
104 "kMuonCocktailCent1Single",
"kMuonCocktailPer1Single",
"kMuonCocktailPer4Single",
105 "kFlow_2_2000",
"kFlow_10_2000",
"kFlow_6_2000",
"kFlow_6_5000",
"kHIJINGplus" 149 gRandom->SetSeed(
sseed);
150 cout<<
"Seed for random number generation= "<<gRandom->GetSeed()<<endl;
154 #if defined(__CINT__) 155 gSystem->Load(
"liblhapdf");
156 gSystem->Load(
"libEGPythia6");
157 gSystem->Load(
"libpythia6");
158 gSystem->Load(
"libAliPythia6");
159 gSystem->Load(
"libgeant321");
162 new TGeant3TGeo(
"C++ Interface to Geant3");
165 ((TGeant3*)gMC)->SetSWIT(4,100);
176 gAlice->Fatal(
"Config.C",
"Can not instatiate the Run Loader");
189 AliDecayer *decayer =
new AliDecayerPythia();
194 decayer->SetForceDecay(kHadronicD);
197 decayer->SetForceDecay(kSemiElectronic);
200 decayer->SetForceDecay(kSemiElectronic);
203 decayer->SetForceDecay(kAll);
207 gMC->SetExternalDecayer(decayer);
217 gMC->SetProcess(
"DCAY",1);
218 gMC->SetProcess(
"PAIR",1);
219 gMC->SetProcess(
"COMP",1);
220 gMC->SetProcess(
"PHOT",1);
221 gMC->SetProcess(
"PFIS",0);
222 gMC->SetProcess(
"DRAY",0);
223 gMC->SetProcess(
"ANNI",1);
224 gMC->SetProcess(
"BREM",1);
225 gMC->SetProcess(
"MUNU",1);
226 gMC->SetProcess(
"CKOV",1);
227 gMC->SetProcess(
"HADR",1);
228 gMC->SetProcess(
"LOSS",2);
229 gMC->SetProcess(
"MULS",1);
230 gMC->SetProcess(
"RAYL",1);
233 Float_t tofmax = 1.e10;
235 gMC->SetCut(
"CUTGAM", cut);
236 gMC->SetCut(
"CUTELE", cut);
237 gMC->SetCut(
"CUTNEU", cut);
238 gMC->SetCut(
"CUTHAD", cut);
239 gMC->SetCut(
"CUTMUO", cut);
240 gMC->SetCut(
"BCUTE", cut);
241 gMC->SetCut(
"BCUTM", cut);
242 gMC->SetCut(
"DCUTE", cut);
243 gMC->SetCut(
"DCUTM", cut);
244 gMC->SetCut(
"PPCUTM", cut);
245 gMC->SetCut(
"TOFMAX", tofmax);
275 TGeoGlobalMagField::Instance()->SetField(
new AliMagF(
"Maps",
"Maps", 1., 1.,
smag));
304 AliBODY *BODY =
new AliBODY(
"BODY",
"Alice envelop");
312 AliMAG *MAG =
new AliMAG(
"MAG",
"Magnet");
319 AliABSO *ABSO =
new AliABSOv3(
"ABSO",
"Muon Absorber");
326 AliDIPO *DIPO =
new AliDIPOv3(
"DIPO",
"Dipole version 3");
333 AliHALL *HALL =
new AliHALLv3(
"HALL",
"Alice Hall");
341 AliFRAMEv2 *
FRAME =
new AliFRAMEv2(
"FRAME",
"Space Frame");
349 AliSHIL *SHIL =
new AliSHILv3(
"SHIL",
"Shielding Version 3");
357 AliPIPE *PIPE =
new AliPIPEv3(
"PIPE",
"Beam Pipe");
364 AliITS *ITS =
new AliITSv11(
"ITS",
"ITS v11");
370 AliTPC *TPC =
new AliTPCv2(
"TPC",
"Default");
376 AliTOF *TOF =
new AliTOFv6T0(
"TOF",
"normal TOF");
383 AliHMPID *HMPID =
new AliHMPIDv3(
"HMPID",
"normal HMPID");
392 AliZDC *ZDC =
new AliZDCv3(
"ZDC",
"normal ZDC");
399 AliTRD *TRD =
new AliTRDv1(
"TRD",
"TRD slow simulator");
418 AliPHOS *
PHOS =
new AliPHOSv1(
"PHOS",
"IHEP");
425 AliPMD *PMD =
new AliPMDv1(
"PMD",
"normal PMD");
431 AliT0 *T0 =
new AliT0v1(
"T0",
"T0 Detector");
443 AliACORDE *ACORDE =
new AliACORDEv1(
"ACORDE",
"normal ACORDE");
449 AliVZERO *VZERO =
new AliVZEROv7(
"VZERO",
"normal VZERO");
456 return (180./TMath::Pi())*2.*atan(exp(-arg));
485 AliGenCocktail *gener =
new AliGenCocktail();
488 for (Int_t ipart=0; ipart<500; ipart++){
489 AliGenFixed *generCosmic =
new AliGenFixed(1);
491 Int_t sign = (gRandom->Rndm()>0.5)? 1:-1;
494 Double_t mom = gRandom->Exp(8.);
497 Double_t theta = gRandom->Gaus(90,0.42*180/TMath::Pi());
498 Double_t phi = gRandom->Gaus(-90,0.42*180/TMath::Pi());
499 generCosmic->SetMomentum(mom);
500 generCosmic->SetPhi(phi);
501 generCosmic->SetTheta(theta);
502 generCosmic->SetVertex(xcosmic,700.,zcosmic);
504 generCosmic->SetVRange(-700,700,
507 generCosmic->SetPart(13*sign);
510 sprintf(gname,
"G_%d",ipart);
511 gener->AddGenerator(generCosmic,gname,1);
519 AliGenHIJINGpara *gener =
new AliGenHIJINGpara(86030);
520 gener->SetMomentumRange(0, 999999.);
521 gener->SetPhiRange(0., 360.);
525 gener->SetThetaRange(thmin,thmax);
532 AliGenHIJINGpara *gener =
new AliGenHIJINGpara(43015);
533 gener->SetMomentumRange(0, 999999.);
534 gener->SetPhiRange(0., 360.);
538 gener->SetThetaRange(thmin,thmax);
545 AliGenHIJINGpara *gener =
new AliGenHIJINGpara(21507);
546 gener->SetMomentumRange(0, 999999.);
547 gener->SetPhiRange(0., 360.);
551 gener->SetThetaRange(thmin,thmax);
563 gener->SetImpactParameterRange(0., 5.);
572 gener->SetImpactParameterRange(0., 2.);
584 gener->SetImpactParameterRange(5., 8.6);
593 gener->SetImpactParameterRange(8.6, 11.2);
602 gener->SetImpactParameterRange(11.2, 13.2);
611 gener->SetImpactParameterRange(13.2, 15.);
620 gener->SetImpactParameterRange(15., 100.);
632 gener->SetImpactParameterRange(0., 5.);
634 gener->SetTrigger(1);
635 gener->SetPtJet(25.);
636 gener->SetRadiation(isw);
637 gener->SetSimpleJets(!isw);
638 gener->SetJetEtaRange(-0.3,0.3);
639 gener->SetJetPhiRange(75., 165.);
649 gener->SetImpactParameterRange(0., 5.);
651 gener->SetTrigger(1);
652 gener->SetPtJet(50.);
653 gener->SetRadiation(isw);
654 gener->SetSimpleJets(!isw);
655 gener->SetJetEtaRange(-0.3,0.3);
656 gener->SetJetPhiRange(75., 165.);
666 gener->SetImpactParameterRange(0., 5.);
668 gener->SetTrigger(1);
669 gener->SetPtJet(75.);
670 gener->SetRadiation(isw);
671 gener->SetSimpleJets(!isw);
672 gener->SetJetEtaRange(-0.3,0.3);
673 gener->SetJetPhiRange(75., 165.);
683 gener->SetImpactParameterRange(0., 5.);
685 gener->SetTrigger(1);
686 gener->SetPtJet(100.);
687 gener->SetRadiation(isw);
688 gener->SetSimpleJets(!isw);
689 gener->SetJetEtaRange(-0.3,0.3);
690 gener->SetJetPhiRange(75., 165.);
700 gener->SetImpactParameterRange(0., 5.);
702 gener->SetTrigger(1);
703 gener->SetPtJet(200.);
704 gener->SetRadiation(isw);
705 gener->SetSimpleJets(!isw);
706 gener->SetJetEtaRange(-0.3,0.3);
707 gener->SetJetPhiRange(75., 165.);
719 gener->SetImpactParameterRange(0., 5.);
721 gener->SetTrigger(2);
722 gener->SetPtJet(25.);
723 gener->SetRadiation(isw);
724 gener->SetSimpleJets(!isw);
725 gener->SetJetEtaRange(-0.12, 0.12);
726 gener->SetJetPhiRange(220., 320.);
736 gener->SetImpactParameterRange(0., 5.);
738 gener->SetTrigger(2);
739 gener->SetPtJet(50.);
740 gener->SetRadiation(isw);
741 gener->SetSimpleJets(!isw);
742 gener->SetJetEtaRange(-0.12, 0.12);
743 gener->SetJetPhiRange(220., 320.);
753 gener->SetImpactParameterRange(0., 5.);
755 gener->SetTrigger(2);
756 gener->SetPtJet(75.);
757 gener->SetRadiation(isw);
758 gener->SetSimpleJets(!isw);
759 gener->SetJetEtaRange(-0.12, 0.12);
760 gener->SetJetPhiRange(220., 320.);
770 gener->SetImpactParameterRange(0., 5.);
772 gener->SetTrigger(2);
773 gener->SetPtJet(100.);
774 gener->SetRadiation(isw);
775 gener->SetSimpleJets(!isw);
776 gener->SetJetEtaRange(-0.12, 0.12);
777 gener->SetJetPhiRange(220., 320.);
787 gener->SetImpactParameterRange(0., 5.);
789 gener->SetTrigger(2);
790 gener->SetPtJet(200.);
791 gener->SetRadiation(isw);
792 gener->SetSimpleJets(!isw);
793 gener->SetJetEtaRange(-0.12, 0.12);
794 gener->SetJetPhiRange(220., 320.);
802 AliGenCocktail *gener =
new AliGenCocktail();
804 AliGenHijing *hijing =
new AliGenHijing(-1);
806 hijing->SetEnergyCMS(TMath::Sqrt(82./208.) * 14000.);
808 hijing->SetImpactParameterRange(0., 15.);
810 hijing->SetReferenceFrame(
"CMS");
811 hijing->SetBoostLHC(1);
813 hijing->SetProjectile(
"P", 1, 1);
814 hijing->SetTarget (
"A", 208, 82);
816 hijing->KeepFullEvent();
818 hijing->SetJetQuenching(0);
820 hijing->SetShadowing(1);
822 hijing->SetSpectators(0);
824 hijing->SetSelectAll(0);
826 AliGenSlowNucleons* gray =
new AliGenSlowNucleons(1);
827 AliSlowNucleonModel* model =
new AliSlowNucleonModelExp();
828 gray->SetSlowNucleonModel(model);
830 gener->AddGenerator(hijing,
"Hijing pPb", 1);
831 gener->AddGenerator(gray,
"Gray Particles",1);
838 AliGenPythia *gener =
new AliGenPythia(-1);
839 gener->SetMomentumRange(0,999999);
840 gener->SetThetaRange(0., 180.);
841 gener->SetYRange(-12,12);
842 gener->SetPtRange(0,1000);
843 gener->SetProcess(kPyMb);
844 gener->SetEnergyCMS(14000.);
851 AliGenPythia * gener =
new AliGenPythia(-1);
852 gener->SetEnergyCMS(5500.);
853 gener->SetProcess(kPyJets);
854 gener->SetJetEtaRange(-0.5, 0.5);
855 gener->SetJetPhiRange(0., 360.);
856 gener->SetJetEtRange(10., 1000.);
857 gener->SetGluonRadiation(1,1);
860 gener->SetStrucFunc(kCTEQ4L);
861 gener->SetPtHard(20., 24.);
862 gener->SetPycellParameters(2., 274, 432, 0., 4., 5., 1.0);
863 gener->SetForceDecay(kAll);
870 AliGenPythia * gener =
new AliGenPythia(-1);
871 gener->SetEnergyCMS(5500.);
872 gener->SetProcess(kPyJets);
873 gener->SetJetEtaRange(-0.5, 0.5);
874 gener->SetJetPhiRange(0., 360.);
875 gener->SetJetEtRange(10., 1000.);
876 gener->SetGluonRadiation(1,1);
879 gener->SetStrucFunc(kCTEQ4L);
880 gener->SetPtHard(24., 29.);
881 gener->SetPycellParameters(2., 274, 432, 0., 4., 5., 1.0);
882 gener->SetForceDecay(kAll);
889 AliGenPythia * gener =
new AliGenPythia(-1);
890 gener->SetEnergyCMS(5500.);
891 gener->SetProcess(kPyJets);
892 gener->SetJetEtaRange(-0.5, 0.5);
893 gener->SetJetPhiRange(0., 360.);
894 gener->SetJetEtRange(10., 1000.);
895 gener->SetGluonRadiation(1,1);
898 gener->SetStrucFunc(kCTEQ4L);
899 gener->SetPtHard(29., 35.);
900 gener->SetPycellParameters(2., 274, 432, 0., 4., 5., 1.0);
901 gener->SetForceDecay(kAll);
908 AliGenPythia * gener =
new AliGenPythia(-1);
909 gener->SetEnergyCMS(5500.);
910 gener->SetProcess(kPyJets);
911 gener->SetJetEtaRange(-0.5, 0.5);
912 gener->SetJetPhiRange(0., 360.);
913 gener->SetJetEtRange(10., 1000.);
914 gener->SetGluonRadiation(1,1);
917 gener->SetStrucFunc(kCTEQ4L);
918 gener->SetPtHard(35., 42.);
919 gener->SetPycellParameters(2., 274, 432, 0., 4., 5., 1.0);
920 gener->SetForceDecay(kAll);
927 AliGenPythia * gener =
new AliGenPythia(-1);
928 gener->SetEnergyCMS(5500.);
929 gener->SetProcess(kPyJets);
930 gener->SetJetEtaRange(-0.5, 0.5);
931 gener->SetJetPhiRange(0., 360.);
932 gener->SetJetEtRange(10., 1000.);
933 gener->SetGluonRadiation(1,1);
936 gener->SetStrucFunc(kCTEQ4L);
937 gener->SetPtHard(42., 50.);
938 gener->SetPycellParameters(2., 274, 432, 0., 4., 5., 1.0);
939 gener->SetForceDecay(kAll);
946 AliGenPythia * gener =
new AliGenPythia(-1);
947 gener->SetEnergyCMS(5500.);
948 gener->SetProcess(kPyJets);
949 gener->SetJetEtaRange(-0.5, 0.5);
950 gener->SetJetPhiRange(0., 360.);
951 gener->SetJetEtRange(10., 1000.);
952 gener->SetGluonRadiation(1,1);
955 gener->SetStrucFunc(kCTEQ4L);
956 gener->SetPtHard(50., 60.);
957 gener->SetPycellParameters(2., 274, 432, 0., 4., 5., 1.0);
958 gener->SetForceDecay(kAll);
965 AliGenPythia * gener =
new AliGenPythia(-1);
966 gener->SetEnergyCMS(5500.);
967 gener->SetProcess(kPyJets);
968 gener->SetJetEtaRange(-0.5, 0.5);
969 gener->SetJetPhiRange(0., 360.);
970 gener->SetJetEtRange(10., 1000.);
971 gener->SetGluonRadiation(1,1);
974 gener->SetStrucFunc(kCTEQ4L);
975 gener->SetPtHard(60., 72.);
976 gener->SetPycellParameters(2., 274, 432, 0., 4., 5., 1.0);
977 gener->SetForceDecay(kAll);
984 AliGenPythia * gener =
new AliGenPythia(-1);
985 gener->SetEnergyCMS(5500.);
986 gener->SetProcess(kPyJets);
987 gener->SetJetEtaRange(-0.5, 0.5);
988 gener->SetJetPhiRange(0., 360.);
989 gener->SetJetEtRange(10., 1000.);
990 gener->SetGluonRadiation(1,1);
993 gener->SetStrucFunc(kCTEQ4L);
994 gener->SetPtHard(72., 86.);
995 gener->SetPycellParameters(2., 274, 432, 0., 4., 5., 1.0);
996 gener->SetForceDecay(kAll);
1003 AliGenPythia * gener =
new AliGenPythia(-1);
1004 gener->SetEnergyCMS(5500.);
1005 gener->SetProcess(kPyJets);
1006 gener->SetJetEtaRange(-0.5, 0.5);
1007 gener->SetJetPhiRange(0., 360.);
1008 gener->SetJetEtRange(10., 1000.);
1009 gener->SetGluonRadiation(1,1);
1012 gener->SetStrucFunc(kCTEQ4L);
1013 gener->SetPtHard(86., 104.);
1014 gener->SetPycellParameters(2., 274, 432, 0., 4., 5., 1.0);
1015 gener->SetForceDecay(kAll);
1022 AliGenPythia * gener =
new AliGenPythia(-1);
1023 gener->SetEnergyCMS(5500.);
1024 gener->SetProcess(kPyJets);
1025 gener->SetJetEtaRange(-0.5, 0.5);
1026 gener->SetJetPhiRange(0., 360.);
1027 gener->SetJetEtRange(10., 1000.);
1028 gener->SetGluonRadiation(1,1);
1031 gener->SetStrucFunc(kCTEQ4L);
1032 gener->SetPtHard(104., 125.);
1033 gener->SetPycellParameters(2., 274, 432, 0., 4., 5., 1.0);
1034 gener->SetForceDecay(kAll);
1041 AliGenPythia * gener =
new AliGenPythia(-1);
1042 gener->SetEnergyCMS(5500.);
1043 gener->SetProcess(kPyJets);
1044 gener->SetJetEtaRange(-0.5, 0.5);
1045 gener->SetJetPhiRange(0., 360.);
1046 gener->SetJetEtRange(10., 1000.);
1047 gener->SetGluonRadiation(1,1);
1050 gener->SetStrucFunc(kCTEQ4L);
1051 gener->SetPtHard(125., 150.);
1052 gener->SetPycellParameters(2., 274, 432, 0., 4., 5., 1.0);
1053 gener->SetForceDecay(kAll);
1060 AliGenPythia * gener =
new AliGenPythia(-1);
1061 gener->SetEnergyCMS(5500.);
1062 gener->SetProcess(kPyJets);
1063 gener->SetJetEtaRange(-0.5, 0.5);
1064 gener->SetJetPhiRange(0., 360.);
1065 gener->SetJetEtRange(10., 1000.);
1066 gener->SetGluonRadiation(1,1);
1069 gener->SetStrucFunc(kCTEQ4L);
1070 gener->SetPtHard(150., 180.);
1071 gener->SetPycellParameters(2., 274, 432, 0., 4., 5., 1.0);
1072 gener->SetForceDecay(kAll);
1079 AliGenPythia * gener =
new AliGenPythia(10);
1080 gener->SetProcess(kPyD0PbPbMNR);
1081 gener->SetStrucFunc(kCTEQ4L);
1082 gener->SetPtHard(2.1,-1.0);
1083 gener->SetEnergyCMS(5500.);
1084 gener->SetNuclei(208,208);
1085 gener->SetForceDecay(kHadronicD);
1086 gener->SetYRange(-2,2);
1087 gener->SetFeedDownHigherFamily(kFALSE);
1088 gener->SetStackFillOpt(AliGenPythia::kParentSelection);
1089 gener->SetCountMode(AliGenPythia::kCountParents);
1096 AliGenPythia * gener =
new AliGenPythia(10);
1097 gener->SetProcess(kPyCharmPbPbMNR);
1098 gener->SetStrucFunc(kCTEQ4L);
1099 gener->SetPtHard(2.1,-1.0);
1100 gener->SetEnergyCMS(5500.);
1101 gener->SetNuclei(208,208);
1102 gener->SetForceDecay(kSemiElectronic);
1103 gener->SetYRange(-2,2);
1104 gener->SetFeedDownHigherFamily(kFALSE);
1105 gener->SetCountMode(AliGenPythia::kCountParents);
1112 AliGenPythia *gener =
new AliGenPythia(10);
1113 gener->SetProcess(kPyBeautyPbPbMNR);
1114 gener->SetStrucFunc(kCTEQ4L);
1115 gener->SetPtHard(2.75,-1.0);
1116 gener->SetEnergyCMS(5500.);
1117 gener->SetNuclei(208,208);
1118 gener->SetForceDecay(kSemiElectronic);
1119 gener->SetYRange(-2,2);
1120 gener->SetFeedDownHigherFamily(kFALSE);
1121 gener->SetCountMode(AliGenPythia::kCountParents);
1128 AliGenCocktail *gener =
new AliGenCocktail();
1130 AliGenParam *phi =
new AliGenParam(10,
1131 new AliGenMUONlib(),
1132 AliGenMUONlib::kPhi,
1135 phi->SetPtRange(0, 100);
1136 phi->SetYRange(-1., +1.);
1137 phi->SetForceDecay(kDiElectron);
1139 AliGenParam *omega =
new AliGenParam(10,
1140 new AliGenMUONlib(),
1141 AliGenMUONlib::kOmega,
1144 omega->SetPtRange(0, 100);
1145 omega->SetYRange(-1., +1.);
1146 omega->SetForceDecay(kDiElectron);
1148 AliGenParam *jpsi =
new AliGenParam(10,
1149 new AliGenMUONlib(),
1150 AliGenMUONlib::kJpsiFamily,
1153 jpsi->SetPtRange(0, 100);
1154 jpsi->SetYRange(-1., +1.);
1155 jpsi->SetForceDecay(kDiElectron);
1157 AliGenParam *ups =
new AliGenParam(10,
1158 new AliGenMUONlib(),
1159 AliGenMUONlib::kUpsilonFamily,
1161 ups->SetPtRange(0, 100);
1162 ups->SetYRange(-1., +1.);
1163 ups->SetForceDecay(kDiElectron);
1165 AliGenParam *charm =
new AliGenParam(10,
1166 new AliGenMUONlib(),
1167 AliGenMUONlib::kCharm,
1169 charm->SetPtRange(0, 100);
1170 charm->SetYRange(-1.5, +1.5);
1171 charm->SetForceDecay(kSemiElectronic);
1174 AliGenParam *beauty =
new AliGenParam(10,
1175 new AliGenMUONlib(),
1176 AliGenMUONlib::kBeauty,
1178 beauty->SetPtRange(0, 100);
1179 beauty->SetYRange(-1.5, +1.5);
1180 beauty->SetForceDecay(kSemiElectronic);
1182 AliGenParam *beautyJ =
new AliGenParam(10,
1183 new AliGenMUONlib(),
1184 AliGenMUONlib::kBeauty,
1186 beautyJ->SetPtRange(0, 100);
1187 beautyJ->SetYRange(-1.5, +1.5);
1188 beautyJ->SetForceDecay(kBJpsiDiElectron);
1190 gener->AddGenerator(phi,
"Phi",1);
1191 gener->AddGenerator(omega,
"Omega",1);
1192 gener->AddGenerator(jpsi,
"J/psi",1);
1193 gener->AddGenerator(ups,
"Upsilon",1);
1194 gener->AddGenerator(charm,
"Charm",1);
1195 gener->AddGenerator(beauty,
"Beauty",1);
1196 gener->AddGenerator(beautyJ,
"J/Psi from Beauty",1);
1203 AliGenPythia *gener =
new AliGenPythia(-1);
1204 gener->SetEnergyCMS(5500.);
1205 gener->SetProcess(kPyJets);
1208 gener->SetYHard(-0.7,0.7);
1209 gener->SetJetEtaRange(-0.2,0.2);
1210 gener->SetEventListRange(0,1);
1217 AliGenPythia *gener =
new AliGenPythia(-1);
1218 gener->SetEnergyCMS(5500.);
1219 gener->SetProcess(kPyDirectGamma);
1222 gener->SetYHard(-1.0,1.0);
1223 gener->SetGammaEtaRange(-0.13,0.13);
1224 gener->SetGammaPhiRange(210.,330.);
1225 gener->SetEventListRange(0,1);
1232 AliGenMUONCocktail * gener =
new AliGenMUONCocktail();
1233 gener->SetPtRange(0.4,100.);
1234 gener->SetPhiRange(0.,360.);
1235 gener->SetYRange(-4.0,-2.4);
1236 gener->SetMuonPtCut(0.8);
1237 gener->SetMuonThetaCut(171.,178.);
1238 gener->SetMuonMultiplicity(2);
1239 gener->SetImpactParameterRange(0.,5.);
1246 AliGenMUONCocktail * gener =
new AliGenMUONCocktail();
1247 gener->SetPtRange(0.0,100.);
1248 gener->SetPhiRange(0.,360.);
1249 gener->SetYRange(-4.0,-2.4);
1250 gener->SetMuonPtCut(0.8);
1251 gener->SetMuonThetaCut(171.,178.);
1252 gener->SetMuonMultiplicity(2);
1253 gener->SetImpactParameterRange(5.,8.6);
1260 AliGenMUONCocktail * gener =
new AliGenMUONCocktail();
1261 gener->SetPtRange(0.0,100.);
1262 gener->SetPhiRange(0.,360.);
1263 gener->SetYRange(-4.0,-2.4);
1264 gener->SetMuonPtCut(0.8);
1265 gener->SetMuonThetaCut(171.,178.);
1266 gener->SetMuonMultiplicity(2);
1267 gener->SetImpactParameterRange(13.2,15.0);
1274 AliGenMUONCocktail * gener =
new AliGenMUONCocktail();
1275 gener->SetPtRange(0.0,100.);
1276 gener->SetPhiRange(0.,360.);
1277 gener->SetYRange(-4.0,-2.4);
1278 gener->SetMuonPtCut(2.5);
1279 gener->SetMuonThetaCut(171.,178.);
1280 gener->SetMuonMultiplicity(2);
1281 gener->SetImpactParameterRange(0.,5.);
1288 AliGenMUONCocktail * gener =
new AliGenMUONCocktail();
1289 gener->SetPtRange(0.0,100.);
1290 gener->SetPhiRange(0.,360.);
1291 gener->SetYRange(-4.0,-2.4);
1292 gener->SetMuonPtCut(2.5);
1293 gener->SetMuonThetaCut(171.,178.);
1294 gener->SetMuonMultiplicity(2);
1295 gener->SetImpactParameterRange(5.,8.6);
1302 AliGenMUONCocktail * gener =
new AliGenMUONCocktail();
1303 gener->SetPtRange(0.0,100.);
1304 gener->SetPhiRange(0.,360.);
1305 gener->SetYRange(-4.0,-2.4);
1306 gener->SetMuonPtCut(2.5);
1307 gener->SetMuonThetaCut(171.,178.);
1308 gener->SetMuonMultiplicity(2);
1309 gener->SetImpactParameterRange(13.2,15.0);
1316 AliGenMUONCocktail * gener =
new AliGenMUONCocktail();
1317 gener->SetPtRange(0.0,100.);
1318 gener->SetPhiRange(0.,360.);
1319 gener->SetYRange(-4.0,-2.4);
1320 gener->SetMuonPtCut(0.8);
1321 gener->SetMuonThetaCut(171.,178.);
1322 gener->SetMuonMultiplicity(1);
1323 gener->SetImpactParameterRange(0.,5.);
1330 AliGenMUONCocktail * gener =
new AliGenMUONCocktail();
1331 gener->SetPtRange(0.0,100.);
1332 gener->SetPhiRange(0.,360.);
1333 gener->SetYRange(-4.0,-2.4);
1334 gener->SetMuonPtCut(0.8);
1335 gener->SetMuonThetaCut(171.,178.);
1336 gener->SetMuonMultiplicity(1);
1337 gener->SetImpactParameterRange(5.,8.6);
1338 gener->SetNumberOfParticipants(229.3);
1345 AliGenMUONCocktail * gener =
new AliGenMUONCocktail();
1346 gener->SetPtRange(0.0,100.);
1347 gener->SetPhiRange(0.,360.);
1348 gener->SetYRange(-4.0,-2.4);
1349 gener->SetMuonPtCut(0.8);
1350 gener->SetMuonThetaCut(171.,178.);
1351 gener->SetMuonMultiplicity(1);
1352 gener->SetImpactParameterRange(13.2,15.0);
1387 AliGenCocktail *gener =
new AliGenCocktail();
1391 AliGenPythia * genpyc =
new AliGenPythia(230);
1392 genpyc->SetProcess(kPyCharmPbPbMNR);
1393 genpyc->SetStrucFunc(kCTEQ4L);
1394 genpyc->SetPtHard(2.1,-1.0);
1395 genpyc->SetEnergyCMS(5500.);
1396 genpyc->SetNuclei(208,208);
1397 genpyc->SetYRange(-999,999);
1398 genpyc->SetForceDecay(kAll);
1399 genpyc->SetFeedDownHigherFamily(kFALSE);
1400 genpyc->SetCountMode(AliGenPythia::kCountParents);
1403 AliGenPythia * genpyb =
new AliGenPythia(9);
1404 genpyb->SetProcess(kPyBeautyPbPbMNR);
1405 genpyb->SetStrucFunc(kCTEQ4L);
1406 genpyb->SetPtHard(2.75,-1.0);
1407 genpyb->SetEnergyCMS(5500.);
1408 genpyb->SetNuclei(208,208);
1409 genpyb->SetYRange(-999,999);
1410 genpyb->SetForceDecay(kAll);
1411 genpyb->SetFeedDownHigherFamily(kFALSE);
1412 genpyb->SetCountMode(AliGenPythia::kCountParents);
1416 AliGenSTRANGElib *lib =
new AliGenSTRANGElib();
1419 particle = kXiMinus;
1420 AliGenParam *genXi =
new AliGenParam(16,particle,lib->GetPt(particle),lib->GetY(particle),lib->GetIp(particle));
1421 genXi->SetPtRange(0., 12.);
1422 genXi->SetYRange(-1.1, 1.1);
1423 genXi->SetForceDecay(kNoDecay);
1427 particle = kOmegaMinus;
1428 AliGenParam *genOmega =
new AliGenParam(10,particle,lib->GetPt(particle),lib->GetY(particle),lib->GetIp(particle));
1429 genOmega->SetPtRange(0, 12.);
1430 genOmega->SetYRange(-1.1, 1.1);
1431 genOmega->SetForceDecay(kNoDecay);
1436 genHi->SwitchOffHeavyQuarks(kTRUE);
1437 genHi->SetImpactParameterRange(0.,5.);
1440 gener->AddGenerator(genHi,
"Hijing cent1", 1);
1441 gener->AddGenerator(genpyc,
"Extra charm", 1);
1442 gener->AddGenerator(genpyb,
"Extra beauty", 1);
1443 gener->AddGenerator(genXi,
"Xi" , 1);
1444 gener->AddGenerator(genOmega,
"Omega", 1);
1456 AliGenHijing *gener =
new AliGenHijing(-1);
1458 gener->SetEnergyCMS(5500.);
1460 gener->SetReferenceFrame(
"CMS");
1462 gener->SetProjectile(
"A", 208, 82);
1463 gener->SetTarget (
"A", 208, 82);
1465 gener->KeepFullEvent();
1467 gener->SetJetQuenching(1);
1469 gener->SetShadowing(1);
1471 gener->SetDecaysOff(1);
1473 gener->SetSpectators(0);
1475 gener->SetSelectAll(0);
1481 AliGenGeVSim* gener =
new AliGenGeVSim(0);
1487 Float_t sigma_eta = 2.75;
1490 Float_t etamax = 7.00;
1494 Float_t mm = mult * (TMath::Erf(etamax/sigma_eta/sqrt(2.)) / TMath::Erf(0.5/sigma_eta/sqrt(2.)));
1507 AliGeVSimParticle *pp =
new AliGeVSimParticle(kPiPlus, 1, 0.26 * mm, 0.25, sigma_eta) ;
1508 AliGeVSimParticle *pm =
new AliGeVSimParticle(kPiMinus, 1, 0.26 * mm, 0.25, sigma_eta) ;
1509 AliGeVSimParticle *p0 =
new AliGeVSimParticle(kPi0, 1, 0.26 * mm, 0.25, sigma_eta) ;
1512 AliGeVSimParticle *ks =
new AliGeVSimParticle(kK0Short, 1, 0.03 * mm, 0.30, sigma_eta) ;
1513 AliGeVSimParticle *kl =
new AliGeVSimParticle(kK0Long, 1, 0.03 * mm, 0.30, sigma_eta) ;
1514 AliGeVSimParticle *kp =
new AliGeVSimParticle(kKPlus, 1, 0.03 * mm, 0.30, sigma_eta) ;
1515 AliGeVSimParticle *km =
new AliGeVSimParticle(kKMinus, 1, 0.03 * mm, 0.30, sigma_eta) ;
1518 AliGeVSimParticle *pr =
new AliGeVSimParticle(kProton, 1, 0.05 * mm, 0.25, sigma_eta) ;
1519 AliGeVSimParticle *ne =
new AliGeVSimParticle(kNeutron, 1, 0.05 * mm, 0.25, sigma_eta) ;
1523 Float_t pTsaturation = 2. ;
1525 pp->SetEllipticParam(vn,pTsaturation,0.) ;
1526 pm->SetEllipticParam(vn,pTsaturation,0.) ;
1527 p0->SetEllipticParam(vn,pTsaturation,0.) ;
1528 pr->SetEllipticParam(vn,pTsaturation,0.) ;
1529 ne->SetEllipticParam(vn,pTsaturation,0.) ;
1530 ks->SetEllipticParam(vn,pTsaturation,0.) ;
1531 kl->SetEllipticParam(vn,pTsaturation,0.) ;
1532 kp->SetEllipticParam(vn,pTsaturation,0.) ;
1533 km->SetEllipticParam(vn,pTsaturation,0.) ;
1536 pp->SetDirectedParam(vn,1.0,0.) ;
1537 pm->SetDirectedParam(vn,1.0,0.) ;
1538 p0->SetDirectedParam(vn,1.0,0.) ;
1539 pr->SetDirectedParam(vn,1.0,0.) ;
1540 ne->SetDirectedParam(vn,1.0,0.) ;
1541 ks->SetDirectedParam(vn,1.0,0.) ;
1542 kl->SetDirectedParam(vn,1.0,0.) ;
1543 kp->SetDirectedParam(vn,1.0,0.) ;
1544 km->SetDirectedParam(vn,1.0,0.) ;
1547 gener->AddParticleType(pp) ;
1548 gener->AddParticleType(pm) ;
1549 gener->AddParticleType(p0) ;
1550 gener->AddParticleType(pr) ;
1551 gener->AddParticleType(ne) ;
1552 gener->AddParticleType(ks) ;
1553 gener->AddParticleType(kl) ;
1554 gener->AddParticleType(kp) ;
1555 gener->AddParticleType(km) ;
1558 TF1 *rpa =
new TF1(
"gevsimPsiRndm",
"1", 0, 360);
1560 gener->SetPtRange(0., 9.) ;
1561 gener->SetPhiRange(0, 360);
1566 gener->SetThetaRange(thmin,thmax);
1576 if (gSystem->Getenv(
"CONFIG_RUN_TYPE")) {
1577 for (Int_t iRun = 0; iRun <
kRunMax; iRun++) {
1578 if (strcmp(gSystem->Getenv(
"CONFIG_RUN_TYPE"),
pprRunName[iRun])==0) {
1580 cout<<
"Run type set to "<<
pprRunName[iRun]<<endl;
1586 if (gSystem->Getenv(
"CONFIG_SEED")) {
1587 sseed = atoi(gSystem->Getenv(
"CONFIG_SEED"));
printf("Chi2/npoints = %f\n", TMath::Sqrt(chi2/npoints))
void SetRunLoader(AliRunLoader *rloader)
static const TString & GetDefaultEventFolderName()
static void Message(UInt_t level, const char *message, const char *module, const char *className, const char *function, const char *file, Int_t line)
AliDetector class for MUON subsystem providing simulation data management.
void ProcessEnvironmentVars()
Forward Multiplicity Detector based on Silicon wafers. This class is the driver for especially simula...
Forward Multiplicity Detector based on Silicon wafers.
static AliRunLoader * Open(const char *filename="galice.root", const char *eventfoldername=AliConfig::GetDefaultEventFolderName(), Option_t *option="READ")
virtual void SetCutVertexZ(Float_t cut=999999.)
static AliMagF::BMap_t smag
AliGenerator * GeneratorFactory(PprRun_t srun)
Float_t EtaToTheta(Float_t arg)
void SetTriggerConfig(TString conf)
const char * pprTrigConfName[]
AliDetector class for MUON subsystem which implements functions for simulation.
void SetCompressionLevel(Int_t cl)
virtual void SetOrigin(Float_t ox, Float_t oy, Float_t oz)
static AliSimulation * Instance()
const char * pprRunName[]
AliGenGeVSim * GeVSimStandard(Float_t, Float_t)
Base Class for EMCAL description.
virtual void SetVertexSmear(VertexSmear_t smear)
AliGenHijing * HijingStandard()
virtual void SetTrackingFlag(Int_t flag=1)
void SetNumberOfEventsPerFile(Int_t nevpf)
virtual void SetSigma(Float_t sx, Float_t sy, Float_t sz)
static PprTrigConf_t strig
EMCal simulation manager class v2.