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" 86 "kParam_8000",
"kParam_4000",
"kParam_2000",
87 "kHijing_cent1",
"kHijing_cent2",
88 "kHijing_per1",
"kHijing_per2",
"kHijing_per3",
"kHijing_per4",
90 "kHijing_jj25",
"kHijing_jj50",
"kHijing_jj75",
"kHijing_jj100",
92 "kHijing_gj25",
"kHijing_gj50",
"kHijing_gj75",
"kHijing_gj100",
93 "kHijing_gj200",
"kHijing_pA",
"kPythia6",
94 "kPythia6Jets20_24",
"kPythia6Jets24_29",
"kPythia6Jets29_35",
95 "kPythia6Jets35_42",
"kPythia6Jets42_50",
"kPythia6Jets50_60",
96 "kPythia6Jets60_72",
"kPythia6Jets72_86",
"kPythia6Jets86_104",
97 "kPythia6Jets104_125",
"kPythia6Jets125_150",
"kPythia6Jets150_180",
98 "kD0PbPb5500",
"kCharmSemiElPbPb5500",
"kBeautySemiElPbPb5500",
99 "kCocktailTRD",
"kPyJJ",
"kPyGJ",
100 "kMuonCocktailCent1",
"kMuonCocktailPer1",
"kMuonCocktailPer4",
101 "kMuonCocktailCent1HighPt",
"kMuonCocktailPer1HighPt",
"kMuonCocktailPer4HighPt",
102 "kMuonCocktailCent1Single",
"kMuonCocktailPer1Single",
"kMuonCocktailPer4Single",
103 "kFlow_2_2000",
"kFlow_10_2000",
"kFlow_6_2000",
"kFlow_6_5000",
"kHIJINGplus" 147 gRandom->SetSeed(
sseed);
148 cout<<
"Seed for random number generation= "<<gRandom->GetSeed()<<endl;
152 #if defined(__CINT__) 153 gSystem->Load(
"liblhapdf");
154 gSystem->Load(
"libEGPythia6");
155 gSystem->Load(
"libpythia6");
156 gSystem->Load(
"libAliPythia6");
157 gSystem->Load(
"libgeant321");
160 new TGeant3TGeo(
"C++ Interface to Geant3");
163 ((TGeant3*)gMC)->SetSWIT(4,100);
174 gAlice->Fatal(
"Config.C",
"Can not instatiate the Run Loader");
187 AliDecayer *decayer =
new AliDecayerPythia();
192 decayer->SetForceDecay(kHadronicD);
195 decayer->SetForceDecay(kSemiElectronic);
198 decayer->SetForceDecay(kSemiElectronic);
201 decayer->SetForceDecay(kAll);
205 gMC->SetExternalDecayer(decayer);
215 gMC->SetProcess(
"DCAY",1);
216 gMC->SetProcess(
"PAIR",1);
217 gMC->SetProcess(
"COMP",1);
218 gMC->SetProcess(
"PHOT",1);
219 gMC->SetProcess(
"PFIS",0);
220 gMC->SetProcess(
"DRAY",0);
221 gMC->SetProcess(
"ANNI",1);
222 gMC->SetProcess(
"BREM",1);
223 gMC->SetProcess(
"MUNU",1);
224 gMC->SetProcess(
"CKOV",1);
225 gMC->SetProcess(
"HADR",1);
226 gMC->SetProcess(
"LOSS",2);
227 gMC->SetProcess(
"MULS",1);
228 gMC->SetProcess(
"RAYL",1);
231 Float_t tofmax = 1.e10;
233 gMC->SetCut(
"CUTGAM", cut);
234 gMC->SetCut(
"CUTELE", cut);
235 gMC->SetCut(
"CUTNEU", cut);
236 gMC->SetCut(
"CUTHAD", cut);
237 gMC->SetCut(
"CUTMUO", cut);
238 gMC->SetCut(
"BCUTE", cut);
239 gMC->SetCut(
"BCUTM", cut);
240 gMC->SetCut(
"DCUTE", cut);
241 gMC->SetCut(
"DCUTM", cut);
242 gMC->SetCut(
"PPCUTM", cut);
243 gMC->SetCut(
"TOFMAX", tofmax);
274 TGeoGlobalMagField::Instance()->SetField(
new AliMagF(
"Maps",
"Maps", 1., 1.,
smag));
301 AliBODY *BODY =
new AliBODY(
"BODY",
"Alice envelop");
309 AliMAG *MAG =
new AliMAG(
"MAG",
"Magnet");
316 AliABSO *ABSO =
new AliABSOv3(
"ABSO",
"Muon Absorber");
323 AliDIPO *DIPO =
new AliDIPOv3(
"DIPO",
"Dipole version 3");
330 AliHALL *HALL =
new AliHALLv3(
"HALL",
"Alice Hall");
338 AliFRAMEv2 *
FRAME =
new AliFRAMEv2(
"FRAME",
"Space Frame");
346 AliSHIL *SHIL =
new AliSHILv3(
"SHIL",
"Shielding Version 3");
354 AliPIPE *PIPE =
new AliPIPEv3(
"PIPE",
"Beam Pipe");
361 AliITS *ITS =
new AliITSv11(
"ITS",
"ITS v11");
367 AliTPC *TPC =
new AliTPCv2(
"TPC",
"Default");
373 AliTOF *TOF =
new AliTOFv6T0(
"TOF",
"normal TOF");
380 AliHMPID *HMPID =
new AliHMPIDv3(
"HMPID",
"normal HMPID");
389 AliZDC *ZDC =
new AliZDCv3(
"ZDC",
"normal ZDC");
396 AliTRD *TRD =
new AliTRDv1(
"TRD",
"TRD slow simulator");
415 AliPHOS *
PHOS =
new AliPHOSv1(
"PHOS",
"IHEP");
422 AliPMD *PMD =
new AliPMDv1(
"PMD",
"normal PMD");
428 AliT0 *T0 =
new AliT0v1(
"T0",
"T0 Detector");
440 AliACORDE *ACORDE =
new AliACORDEv1(
"ACORDE",
"normal ACORDE");
446 AliVZERO *VZERO =
new AliVZEROv7(
"VZERO",
"normal VZERO");
453 return (180./TMath::Pi())*2.*atan(exp(-arg));
468 AliGenHIJINGpara *gener =
new AliGenHIJINGpara(50);
469 gener->SetMomentumRange(0, 999999.);
470 gener->SetPhiRange(0., 360.);
474 gener->SetThetaRange(thmin,thmax);
481 AliGenHIJINGpara *gener =
new AliGenHIJINGpara(86030);
482 gener->SetMomentumRange(0, 999999.);
483 gener->SetPhiRange(0., 360.);
487 gener->SetThetaRange(thmin,thmax);
494 AliGenHIJINGpara *gener =
new AliGenHIJINGpara(43015);
495 gener->SetMomentumRange(0, 999999.);
496 gener->SetPhiRange(0., 360.);
500 gener->SetThetaRange(thmin,thmax);
507 AliGenHIJINGpara *gener =
new AliGenHIJINGpara(21507);
508 gener->SetMomentumRange(0, 999999.);
509 gener->SetPhiRange(0., 360.);
513 gener->SetThetaRange(thmin,thmax);
525 gener->SetImpactParameterRange(0., 5.);
534 gener->SetImpactParameterRange(0., 2.);
546 gener->SetImpactParameterRange(5., 8.6);
555 gener->SetImpactParameterRange(8.6, 11.2);
564 gener->SetImpactParameterRange(11.2, 13.2);
573 gener->SetImpactParameterRange(13.2, 15.);
582 gener->SetImpactParameterRange(15., 100.);
594 gener->SetImpactParameterRange(0., 5.);
596 gener->SetTrigger(1);
597 gener->SetPtJet(25.);
598 gener->SetRadiation(isw);
599 gener->SetSimpleJets(!isw);
600 gener->SetJetEtaRange(-0.3,0.3);
601 gener->SetJetPhiRange(75., 165.);
611 gener->SetImpactParameterRange(0., 5.);
613 gener->SetTrigger(1);
614 gener->SetPtJet(50.);
615 gener->SetRadiation(isw);
616 gener->SetSimpleJets(!isw);
617 gener->SetJetEtaRange(-0.3,0.3);
618 gener->SetJetPhiRange(75., 165.);
628 gener->SetImpactParameterRange(0., 5.);
630 gener->SetTrigger(1);
631 gener->SetPtJet(75.);
632 gener->SetRadiation(isw);
633 gener->SetSimpleJets(!isw);
634 gener->SetJetEtaRange(-0.3,0.3);
635 gener->SetJetPhiRange(75., 165.);
645 gener->SetImpactParameterRange(0., 5.);
647 gener->SetTrigger(1);
648 gener->SetPtJet(100.);
649 gener->SetRadiation(isw);
650 gener->SetSimpleJets(!isw);
651 gener->SetJetEtaRange(-0.3,0.3);
652 gener->SetJetPhiRange(75., 165.);
662 gener->SetImpactParameterRange(0., 5.);
664 gener->SetTrigger(1);
665 gener->SetPtJet(200.);
666 gener->SetRadiation(isw);
667 gener->SetSimpleJets(!isw);
668 gener->SetJetEtaRange(-0.3,0.3);
669 gener->SetJetPhiRange(75., 165.);
681 gener->SetImpactParameterRange(0., 5.);
683 gener->SetTrigger(2);
684 gener->SetPtJet(25.);
685 gener->SetRadiation(isw);
686 gener->SetSimpleJets(!isw);
687 gener->SetJetEtaRange(-0.12, 0.12);
688 gener->SetJetPhiRange(220., 320.);
698 gener->SetImpactParameterRange(0., 5.);
700 gener->SetTrigger(2);
701 gener->SetPtJet(50.);
702 gener->SetRadiation(isw);
703 gener->SetSimpleJets(!isw);
704 gener->SetJetEtaRange(-0.12, 0.12);
705 gener->SetJetPhiRange(220., 320.);
715 gener->SetImpactParameterRange(0., 5.);
717 gener->SetTrigger(2);
718 gener->SetPtJet(75.);
719 gener->SetRadiation(isw);
720 gener->SetSimpleJets(!isw);
721 gener->SetJetEtaRange(-0.12, 0.12);
722 gener->SetJetPhiRange(220., 320.);
732 gener->SetImpactParameterRange(0., 5.);
734 gener->SetTrigger(2);
735 gener->SetPtJet(100.);
736 gener->SetRadiation(isw);
737 gener->SetSimpleJets(!isw);
738 gener->SetJetEtaRange(-0.12, 0.12);
739 gener->SetJetPhiRange(220., 320.);
749 gener->SetImpactParameterRange(0., 5.);
751 gener->SetTrigger(2);
752 gener->SetPtJet(200.);
753 gener->SetRadiation(isw);
754 gener->SetSimpleJets(!isw);
755 gener->SetJetEtaRange(-0.12, 0.12);
756 gener->SetJetPhiRange(220., 320.);
764 AliGenCocktail *gener =
new AliGenCocktail();
766 AliGenHijing *hijing =
new AliGenHijing(-1);
768 hijing->SetEnergyCMS(TMath::Sqrt(82./208.) * 14000.);
770 hijing->SetImpactParameterRange(0., 15.);
772 hijing->SetReferenceFrame(
"CMS");
773 hijing->SetBoostLHC(1);
775 hijing->SetProjectile(
"P", 1, 1);
776 hijing->SetTarget (
"A", 208, 82);
778 hijing->KeepFullEvent();
780 hijing->SetJetQuenching(0);
782 hijing->SetShadowing(1);
784 hijing->SetSpectators(0);
786 hijing->SetSelectAll(0);
788 AliGenSlowNucleons* gray =
new AliGenSlowNucleons(1);
789 AliSlowNucleonModel* model =
new AliSlowNucleonModelExp();
790 gray->SetSlowNucleonModel(model);
792 gener->AddGenerator(hijing,
"Hijing pPb", 1);
793 gener->AddGenerator(gray,
"Gray Particles",1);
800 AliGenPythia *gener =
new AliGenPythia(-1);
801 gener->SetMomentumRange(0,999999);
802 gener->SetThetaRange(0., 180.);
803 gener->SetYRange(-12,12);
804 gener->SetPtRange(0,1000);
805 gener->SetProcess(kPyMb);
806 gener->SetEnergyCMS(14000.);
813 AliGenPythia * gener =
new AliGenPythia(-1);
814 gener->SetEnergyCMS(5500.);
815 gener->SetProcess(kPyJets);
816 gener->SetJetEtaRange(-0.5, 0.5);
817 gener->SetJetPhiRange(0., 360.);
818 gener->SetJetEtRange(10., 1000.);
819 gener->SetGluonRadiation(1,1);
822 gener->SetStrucFunc(kCTEQ4L);
823 gener->SetPtHard(20., 24.);
824 gener->SetPycellParameters(2., 274, 432, 0., 4., 5., 1.0);
825 gener->SetForceDecay(kAll);
832 AliGenPythia * gener =
new AliGenPythia(-1);
833 gener->SetEnergyCMS(5500.);
834 gener->SetProcess(kPyJets);
835 gener->SetJetEtaRange(-0.5, 0.5);
836 gener->SetJetPhiRange(0., 360.);
837 gener->SetJetEtRange(10., 1000.);
838 gener->SetGluonRadiation(1,1);
841 gener->SetStrucFunc(kCTEQ4L);
842 gener->SetPtHard(24., 29.);
843 gener->SetPycellParameters(2., 274, 432, 0., 4., 5., 1.0);
844 gener->SetForceDecay(kAll);
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(29., 35.);
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(35., 42.);
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(42., 50.);
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(50., 60.);
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(60., 72.);
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(72., 86.);
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(86., 104.);
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(104., 125.);
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(125., 150.);
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(150., 180.);
1033 gener->SetPycellParameters(2., 274, 432, 0., 4., 5., 1.0);
1034 gener->SetForceDecay(kAll);
1041 AliGenPythia * gener =
new AliGenPythia(10);
1042 gener->SetProcess(kPyD0PbPbMNR);
1043 gener->SetStrucFunc(kCTEQ4L);
1044 gener->SetPtHard(2.1,-1.0);
1045 gener->SetEnergyCMS(5500.);
1046 gener->SetNuclei(208,208);
1047 gener->SetForceDecay(kHadronicD);
1048 gener->SetYRange(-2,2);
1049 gener->SetFeedDownHigherFamily(kFALSE);
1050 gener->SetStackFillOpt(AliGenPythia::kParentSelection);
1051 gener->SetCountMode(AliGenPythia::kCountParents);
1058 AliGenPythia * gener =
new AliGenPythia(10);
1059 gener->SetProcess(kPyCharmPbPbMNR);
1060 gener->SetStrucFunc(kCTEQ4L);
1061 gener->SetPtHard(2.1,-1.0);
1062 gener->SetEnergyCMS(5500.);
1063 gener->SetNuclei(208,208);
1064 gener->SetForceDecay(kSemiElectronic);
1065 gener->SetYRange(-2,2);
1066 gener->SetFeedDownHigherFamily(kFALSE);
1067 gener->SetCountMode(AliGenPythia::kCountParents);
1074 AliGenPythia *gener =
new AliGenPythia(10);
1075 gener->SetProcess(kPyBeautyPbPbMNR);
1076 gener->SetStrucFunc(kCTEQ4L);
1077 gener->SetPtHard(2.75,-1.0);
1078 gener->SetEnergyCMS(5500.);
1079 gener->SetNuclei(208,208);
1080 gener->SetForceDecay(kSemiElectronic);
1081 gener->SetYRange(-2,2);
1082 gener->SetFeedDownHigherFamily(kFALSE);
1083 gener->SetCountMode(AliGenPythia::kCountParents);
1090 AliGenCocktail *gener =
new AliGenCocktail();
1092 AliGenParam *phi =
new AliGenParam(10,
1093 new AliGenMUONlib(),
1094 AliGenMUONlib::kPhi,
1097 phi->SetPtRange(0, 100);
1098 phi->SetYRange(-1., +1.);
1099 phi->SetForceDecay(kDiElectron);
1101 AliGenParam *omega =
new AliGenParam(10,
1102 new AliGenMUONlib(),
1103 AliGenMUONlib::kOmega,
1106 omega->SetPtRange(0, 100);
1107 omega->SetYRange(-1., +1.);
1108 omega->SetForceDecay(kDiElectron);
1110 AliGenParam *jpsi =
new AliGenParam(10,
1111 new AliGenMUONlib(),
1112 AliGenMUONlib::kJpsiFamily,
1115 jpsi->SetPtRange(0, 100);
1116 jpsi->SetYRange(-1., +1.);
1117 jpsi->SetForceDecay(kDiElectron);
1119 AliGenParam *ups =
new AliGenParam(10,
1120 new AliGenMUONlib(),
1121 AliGenMUONlib::kUpsilonFamily,
1123 ups->SetPtRange(0, 100);
1124 ups->SetYRange(-1., +1.);
1125 ups->SetForceDecay(kDiElectron);
1127 AliGenParam *charm =
new AliGenParam(10,
1128 new AliGenMUONlib(),
1129 AliGenMUONlib::kCharm,
1131 charm->SetPtRange(0, 100);
1132 charm->SetYRange(-1.5, +1.5);
1133 charm->SetForceDecay(kSemiElectronic);
1136 AliGenParam *beauty =
new AliGenParam(10,
1137 new AliGenMUONlib(),
1138 AliGenMUONlib::kBeauty,
1140 beauty->SetPtRange(0, 100);
1141 beauty->SetYRange(-1.5, +1.5);
1142 beauty->SetForceDecay(kSemiElectronic);
1144 AliGenParam *beautyJ =
new AliGenParam(10,
1145 new AliGenMUONlib(),
1146 AliGenMUONlib::kBeauty,
1148 beautyJ->SetPtRange(0, 100);
1149 beautyJ->SetYRange(-1.5, +1.5);
1150 beautyJ->SetForceDecay(kBJpsiDiElectron);
1152 gener->AddGenerator(phi,
"Phi",1);
1153 gener->AddGenerator(omega,
"Omega",1);
1154 gener->AddGenerator(jpsi,
"J/psi",1);
1155 gener->AddGenerator(ups,
"Upsilon",1);
1156 gener->AddGenerator(charm,
"Charm",1);
1157 gener->AddGenerator(beauty,
"Beauty",1);
1158 gener->AddGenerator(beautyJ,
"J/Psi from Beauty",1);
1165 AliGenPythia *gener =
new AliGenPythia(-1);
1166 gener->SetEnergyCMS(5500.);
1167 gener->SetProcess(kPyJets);
1170 gener->SetYHard(-0.7,0.7);
1171 gener->SetJetEtaRange(-0.2,0.2);
1172 gener->SetEventListRange(0,1);
1179 AliGenPythia *gener =
new AliGenPythia(-1);
1180 gener->SetEnergyCMS(5500.);
1181 gener->SetProcess(kPyDirectGamma);
1184 gener->SetYHard(-1.0,1.0);
1185 gener->SetGammaEtaRange(-0.13,0.13);
1186 gener->SetGammaPhiRange(210.,330.);
1187 gener->SetEventListRange(0,1);
1194 AliGenMUONCocktail * gener =
new AliGenMUONCocktail();
1195 gener->SetPtRange(0.4,100.);
1196 gener->SetPhiRange(0.,360.);
1197 gener->SetYRange(-4.0,-2.4);
1198 gener->SetMuonPtCut(0.8);
1199 gener->SetMuonThetaCut(171.,178.);
1200 gener->SetMuonMultiplicity(2);
1201 gener->SetImpactParameterRange(0.,5.);
1208 AliGenMUONCocktail * gener =
new AliGenMUONCocktail();
1209 gener->SetPtRange(0.0,100.);
1210 gener->SetPhiRange(0.,360.);
1211 gener->SetYRange(-4.0,-2.4);
1212 gener->SetMuonPtCut(0.8);
1213 gener->SetMuonThetaCut(171.,178.);
1214 gener->SetMuonMultiplicity(2);
1215 gener->SetImpactParameterRange(5.,8.6);
1222 AliGenMUONCocktail * gener =
new AliGenMUONCocktail();
1223 gener->SetPtRange(0.0,100.);
1224 gener->SetPhiRange(0.,360.);
1225 gener->SetYRange(-4.0,-2.4);
1226 gener->SetMuonPtCut(0.8);
1227 gener->SetMuonThetaCut(171.,178.);
1228 gener->SetMuonMultiplicity(2);
1229 gener->SetImpactParameterRange(13.2,15.0);
1236 AliGenMUONCocktail * gener =
new AliGenMUONCocktail();
1237 gener->SetPtRange(0.0,100.);
1238 gener->SetPhiRange(0.,360.);
1239 gener->SetYRange(-4.0,-2.4);
1240 gener->SetMuonPtCut(2.5);
1241 gener->SetMuonThetaCut(171.,178.);
1242 gener->SetMuonMultiplicity(2);
1243 gener->SetImpactParameterRange(0.,5.);
1250 AliGenMUONCocktail * gener =
new AliGenMUONCocktail();
1251 gener->SetPtRange(0.0,100.);
1252 gener->SetPhiRange(0.,360.);
1253 gener->SetYRange(-4.0,-2.4);
1254 gener->SetMuonPtCut(2.5);
1255 gener->SetMuonThetaCut(171.,178.);
1256 gener->SetMuonMultiplicity(2);
1257 gener->SetImpactParameterRange(5.,8.6);
1264 AliGenMUONCocktail * gener =
new AliGenMUONCocktail();
1265 gener->SetPtRange(0.0,100.);
1266 gener->SetPhiRange(0.,360.);
1267 gener->SetYRange(-4.0,-2.4);
1268 gener->SetMuonPtCut(2.5);
1269 gener->SetMuonThetaCut(171.,178.);
1270 gener->SetMuonMultiplicity(2);
1271 gener->SetImpactParameterRange(13.2,15.0);
1278 AliGenMUONCocktail * gener =
new AliGenMUONCocktail();
1279 gener->SetPtRange(0.0,100.);
1280 gener->SetPhiRange(0.,360.);
1281 gener->SetYRange(-4.0,-2.4);
1282 gener->SetMuonPtCut(0.8);
1283 gener->SetMuonThetaCut(171.,178.);
1284 gener->SetMuonMultiplicity(1);
1285 gener->SetImpactParameterRange(0.,5.);
1292 AliGenMUONCocktail * gener =
new AliGenMUONCocktail();
1293 gener->SetPtRange(0.0,100.);
1294 gener->SetPhiRange(0.,360.);
1295 gener->SetYRange(-4.0,-2.4);
1296 gener->SetMuonPtCut(0.8);
1297 gener->SetMuonThetaCut(171.,178.);
1298 gener->SetMuonMultiplicity(1);
1299 gener->SetImpactParameterRange(5.,8.6);
1300 gener->SetNumberOfParticipants(229.3);
1307 AliGenMUONCocktail * gener =
new AliGenMUONCocktail();
1308 gener->SetPtRange(0.0,100.);
1309 gener->SetPhiRange(0.,360.);
1310 gener->SetYRange(-4.0,-2.4);
1311 gener->SetMuonPtCut(0.8);
1312 gener->SetMuonThetaCut(171.,178.);
1313 gener->SetMuonMultiplicity(1);
1314 gener->SetImpactParameterRange(13.2,15.0);
1349 AliGenCocktail *gener =
new AliGenCocktail();
1353 AliGenPythia * genpyc =
new AliGenPythia(230);
1354 genpyc->SetProcess(kPyCharmPbPbMNR);
1355 genpyc->SetStrucFunc(kCTEQ4L);
1356 genpyc->SetPtHard(2.1,-1.0);
1357 genpyc->SetEnergyCMS(5500.);
1358 genpyc->SetNuclei(208,208);
1359 genpyc->SetYRange(-999,999);
1360 genpyc->SetForceDecay(kAll);
1361 genpyc->SetFeedDownHigherFamily(kFALSE);
1362 genpyc->SetCountMode(AliGenPythia::kCountParents);
1365 AliGenPythia * genpyb =
new AliGenPythia(9);
1366 genpyb->SetProcess(kPyBeautyPbPbMNR);
1367 genpyb->SetStrucFunc(kCTEQ4L);
1368 genpyb->SetPtHard(2.75,-1.0);
1369 genpyb->SetEnergyCMS(5500.);
1370 genpyb->SetNuclei(208,208);
1371 genpyb->SetYRange(-999,999);
1372 genpyb->SetForceDecay(kAll);
1373 genpyb->SetFeedDownHigherFamily(kFALSE);
1374 genpyb->SetCountMode(AliGenPythia::kCountParents);
1378 AliGenSTRANGElib *lib =
new AliGenSTRANGElib();
1381 particle = kXiMinus;
1382 AliGenParam *genXi =
new AliGenParam(16,particle,lib->GetPt(particle),lib->GetY(particle),lib->GetIp(particle));
1383 genXi->SetPtRange(0., 12.);
1384 genXi->SetYRange(-1.1, 1.1);
1385 genXi->SetForceDecay(kNoDecay);
1389 particle = kOmegaMinus;
1390 AliGenParam *genOmega =
new AliGenParam(10,particle,lib->GetPt(particle),lib->GetY(particle),lib->GetIp(particle));
1391 genOmega->SetPtRange(0, 12.);
1392 genOmega->SetYRange(-1.1, 1.1);
1393 genOmega->SetForceDecay(kNoDecay);
1398 genHi->SwitchOffHeavyQuarks(kTRUE);
1399 genHi->SetImpactParameterRange(0.,5.);
1402 gener->AddGenerator(genHi,
"Hijing cent1", 1);
1403 gener->AddGenerator(genpyc,
"Extra charm", 1);
1404 gener->AddGenerator(genpyb,
"Extra beauty", 1);
1405 gener->AddGenerator(genXi,
"Xi" , 1);
1406 gener->AddGenerator(genOmega,
"Omega", 1);
1418 AliGenHijing *gener =
new AliGenHijing(-1);
1420 gener->SetEnergyCMS(5500.);
1422 gener->SetReferenceFrame(
"CMS");
1424 gener->SetProjectile(
"A", 208, 82);
1425 gener->SetTarget (
"A", 208, 82);
1427 gener->KeepFullEvent();
1429 gener->SetJetQuenching(1);
1431 gener->SetShadowing(1);
1433 gener->SetDecaysOff(1);
1435 gener->SetSpectators(0);
1437 gener->SetSelectAll(0);
1443 AliGenGeVSim* gener =
new AliGenGeVSim(0);
1449 Float_t sigma_eta = 2.75;
1452 Float_t etamax = 7.00;
1456 Float_t mm = mult * (TMath::Erf(etamax/sigma_eta/sqrt(2.)) / TMath::Erf(0.5/sigma_eta/sqrt(2.)));
1469 AliGeVSimParticle *pp =
new AliGeVSimParticle(kPiPlus, 1, 0.26 * mm, 0.25, sigma_eta) ;
1470 AliGeVSimParticle *pm =
new AliGeVSimParticle(kPiMinus, 1, 0.26 * mm, 0.25, sigma_eta) ;
1471 AliGeVSimParticle *p0 =
new AliGeVSimParticle(kPi0, 1, 0.26 * mm, 0.25, sigma_eta) ;
1474 AliGeVSimParticle *ks =
new AliGeVSimParticle(kK0Short, 1, 0.03 * mm, 0.30, sigma_eta) ;
1475 AliGeVSimParticle *kl =
new AliGeVSimParticle(kK0Long, 1, 0.03 * mm, 0.30, sigma_eta) ;
1476 AliGeVSimParticle *kp =
new AliGeVSimParticle(kKPlus, 1, 0.03 * mm, 0.30, sigma_eta) ;
1477 AliGeVSimParticle *km =
new AliGeVSimParticle(kKMinus, 1, 0.03 * mm, 0.30, sigma_eta) ;
1480 AliGeVSimParticle *pr =
new AliGeVSimParticle(kProton, 1, 0.05 * mm, 0.25, sigma_eta) ;
1481 AliGeVSimParticle *ne =
new AliGeVSimParticle(kNeutron, 1, 0.05 * mm, 0.25, sigma_eta) ;
1485 Float_t pTsaturation = 2. ;
1487 pp->SetEllipticParam(vn,pTsaturation,0.) ;
1488 pm->SetEllipticParam(vn,pTsaturation,0.) ;
1489 p0->SetEllipticParam(vn,pTsaturation,0.) ;
1490 pr->SetEllipticParam(vn,pTsaturation,0.) ;
1491 ne->SetEllipticParam(vn,pTsaturation,0.) ;
1492 ks->SetEllipticParam(vn,pTsaturation,0.) ;
1493 kl->SetEllipticParam(vn,pTsaturation,0.) ;
1494 kp->SetEllipticParam(vn,pTsaturation,0.) ;
1495 km->SetEllipticParam(vn,pTsaturation,0.) ;
1498 pp->SetDirectedParam(vn,1.0,0.) ;
1499 pm->SetDirectedParam(vn,1.0,0.) ;
1500 p0->SetDirectedParam(vn,1.0,0.) ;
1501 pr->SetDirectedParam(vn,1.0,0.) ;
1502 ne->SetDirectedParam(vn,1.0,0.) ;
1503 ks->SetDirectedParam(vn,1.0,0.) ;
1504 kl->SetDirectedParam(vn,1.0,0.) ;
1505 kp->SetDirectedParam(vn,1.0,0.) ;
1506 km->SetDirectedParam(vn,1.0,0.) ;
1509 gener->AddParticleType(pp) ;
1510 gener->AddParticleType(pm) ;
1511 gener->AddParticleType(p0) ;
1512 gener->AddParticleType(pr) ;
1513 gener->AddParticleType(ne) ;
1514 gener->AddParticleType(ks) ;
1515 gener->AddParticleType(kl) ;
1516 gener->AddParticleType(kp) ;
1517 gener->AddParticleType(km) ;
1520 TF1 *rpa =
new TF1(
"gevsimPsiRndm",
"1", 0, 360);
1522 gener->SetPtRange(0., 9.) ;
1523 gener->SetPhiRange(0, 360);
1528 gener->SetThetaRange(thmin,thmax);
1538 if (gSystem->Getenv(
"CONFIG_RUN_TYPE")) {
1539 for (Int_t iRun = 0; iRun <
kRunMax; iRun++) {
1540 if (strcmp(gSystem->Getenv(
"CONFIG_RUN_TYPE"),
pprRunName[iRun])==0) {
1542 cout<<
"Run type set to "<<
pprRunName[iRun]<<endl;
1548 if (gSystem->Getenv(
"CONFIG_SEED")) {
1549 sseed = atoi(gSystem->Getenv(
"CONFIG_SEED"));
AliGenHijing * HijingStandard()
printf("Chi2/npoints = %f\n", TMath::Sqrt(chi2/npoints))
void SetRunLoader(AliRunLoader *rloader)
static const TString & GetDefaultEventFolderName()
const char * pprTrigConfName[]
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.
Forward Multiplicity Detector based on Silicon wafers. This class is the driver for especially simula...
Forward Multiplicity Detector based on Silicon wafers.
static AliMagF::BMap_t smag
static PprTrigConf_t strig
static AliRunLoader * Open(const char *filename="galice.root", const char *eventfoldername=AliConfig::GetDefaultEventFolderName(), Option_t *option="READ")
virtual void SetCutVertexZ(Float_t cut=999999.)
AliGenerator * GeneratorFactory(PprRun_t srun)
void SetTriggerConfig(TString conf)
Float_t EtaToTheta(Float_t arg)
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[]
Base Class for EMCAL description.
virtual void SetVertexSmear(VertexSmear_t smear)
virtual void SetTrackingFlag(Int_t flag=1)
void SetNumberOfEventsPerFile(Int_t nevpf)
virtual void SetSigma(Float_t sx, Float_t sy, Float_t sz)
AliGenGeVSim * GeVSimStandard(Float_t, Float_t)
EMCal simulation manager class v2.
void ProcessEnvironmentVars()