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));
471 AliGenCosmicsParam *gener =
new AliGenCosmicsParam();
472 gener->SetNumberParticles(10);
473 gener->SetParamACORDE();
474 gener->SetYOrigin(260.);
475 gener->SetMomentumRange(0.2,100.);
476 gener->SetMaxAngleWRTVertical(3.1415/4.);
486 AliGenHIJINGpara *gener =
new AliGenHIJINGpara(86030);
487 gener->SetMomentumRange(0, 999999.);
488 gener->SetPhiRange(0., 360.);
492 gener->SetThetaRange(thmin,thmax);
499 AliGenHIJINGpara *gener =
new AliGenHIJINGpara(43015);
500 gener->SetMomentumRange(0, 999999.);
501 gener->SetPhiRange(0., 360.);
505 gener->SetThetaRange(thmin,thmax);
512 AliGenHIJINGpara *gener =
new AliGenHIJINGpara(21507);
513 gener->SetMomentumRange(0, 999999.);
514 gener->SetPhiRange(0., 360.);
518 gener->SetThetaRange(thmin,thmax);
530 gener->SetImpactParameterRange(0., 5.);
539 gener->SetImpactParameterRange(0., 2.);
551 gener->SetImpactParameterRange(5., 8.6);
560 gener->SetImpactParameterRange(8.6, 11.2);
569 gener->SetImpactParameterRange(11.2, 13.2);
578 gener->SetImpactParameterRange(13.2, 15.);
587 gener->SetImpactParameterRange(15., 100.);
599 gener->SetImpactParameterRange(0., 5.);
601 gener->SetTrigger(1);
602 gener->SetPtJet(25.);
603 gener->SetRadiation(isw);
604 gener->SetSimpleJets(!isw);
605 gener->SetJetEtaRange(-0.3,0.3);
606 gener->SetJetPhiRange(75., 165.);
616 gener->SetImpactParameterRange(0., 5.);
618 gener->SetTrigger(1);
619 gener->SetPtJet(50.);
620 gener->SetRadiation(isw);
621 gener->SetSimpleJets(!isw);
622 gener->SetJetEtaRange(-0.3,0.3);
623 gener->SetJetPhiRange(75., 165.);
633 gener->SetImpactParameterRange(0., 5.);
635 gener->SetTrigger(1);
636 gener->SetPtJet(75.);
637 gener->SetRadiation(isw);
638 gener->SetSimpleJets(!isw);
639 gener->SetJetEtaRange(-0.3,0.3);
640 gener->SetJetPhiRange(75., 165.);
650 gener->SetImpactParameterRange(0., 5.);
652 gener->SetTrigger(1);
653 gener->SetPtJet(100.);
654 gener->SetRadiation(isw);
655 gener->SetSimpleJets(!isw);
656 gener->SetJetEtaRange(-0.3,0.3);
657 gener->SetJetPhiRange(75., 165.);
667 gener->SetImpactParameterRange(0., 5.);
669 gener->SetTrigger(1);
670 gener->SetPtJet(200.);
671 gener->SetRadiation(isw);
672 gener->SetSimpleJets(!isw);
673 gener->SetJetEtaRange(-0.3,0.3);
674 gener->SetJetPhiRange(75., 165.);
686 gener->SetImpactParameterRange(0., 5.);
688 gener->SetTrigger(2);
689 gener->SetPtJet(25.);
690 gener->SetRadiation(isw);
691 gener->SetSimpleJets(!isw);
692 gener->SetJetEtaRange(-0.12, 0.12);
693 gener->SetJetPhiRange(220., 320.);
703 gener->SetImpactParameterRange(0., 5.);
705 gener->SetTrigger(2);
706 gener->SetPtJet(50.);
707 gener->SetRadiation(isw);
708 gener->SetSimpleJets(!isw);
709 gener->SetJetEtaRange(-0.12, 0.12);
710 gener->SetJetPhiRange(220., 320.);
720 gener->SetImpactParameterRange(0., 5.);
722 gener->SetTrigger(2);
723 gener->SetPtJet(75.);
724 gener->SetRadiation(isw);
725 gener->SetSimpleJets(!isw);
726 gener->SetJetEtaRange(-0.12, 0.12);
727 gener->SetJetPhiRange(220., 320.);
737 gener->SetImpactParameterRange(0., 5.);
739 gener->SetTrigger(2);
740 gener->SetPtJet(100.);
741 gener->SetRadiation(isw);
742 gener->SetSimpleJets(!isw);
743 gener->SetJetEtaRange(-0.12, 0.12);
744 gener->SetJetPhiRange(220., 320.);
754 gener->SetImpactParameterRange(0., 5.);
756 gener->SetTrigger(2);
757 gener->SetPtJet(200.);
758 gener->SetRadiation(isw);
759 gener->SetSimpleJets(!isw);
760 gener->SetJetEtaRange(-0.12, 0.12);
761 gener->SetJetPhiRange(220., 320.);
769 AliGenCocktail *gener =
new AliGenCocktail();
771 AliGenHijing *hijing =
new AliGenHijing(-1);
773 hijing->SetEnergyCMS(TMath::Sqrt(82./208.) * 14000.);
775 hijing->SetImpactParameterRange(0., 15.);
777 hijing->SetReferenceFrame(
"CMS");
778 hijing->SetBoostLHC(1);
780 hijing->SetProjectile(
"P", 1, 1);
781 hijing->SetTarget (
"A", 208, 82);
783 hijing->KeepFullEvent();
785 hijing->SetJetQuenching(0);
787 hijing->SetShadowing(1);
789 hijing->SetSpectators(0);
791 hijing->SetSelectAll(0);
793 AliGenSlowNucleons* gray =
new AliGenSlowNucleons(1);
794 AliSlowNucleonModel* model =
new AliSlowNucleonModelExp();
795 gray->SetSlowNucleonModel(model);
797 gener->AddGenerator(hijing,
"Hijing pPb", 1);
798 gener->AddGenerator(gray,
"Gray Particles",1);
805 AliGenPythia *gener =
new AliGenPythia(-1);
806 gener->SetMomentumRange(0,999999);
807 gener->SetThetaRange(0., 180.);
808 gener->SetYRange(-12,12);
809 gener->SetPtRange(0,1000);
810 gener->SetProcess(kPyMb);
811 gener->SetEnergyCMS(14000.);
818 AliGenPythia * gener =
new AliGenPythia(-1);
819 gener->SetEnergyCMS(5500.);
820 gener->SetProcess(kPyJets);
821 gener->SetJetEtaRange(-0.5, 0.5);
822 gener->SetJetPhiRange(0., 360.);
823 gener->SetJetEtRange(10., 1000.);
824 gener->SetGluonRadiation(1,1);
827 gener->SetStrucFunc(kCTEQ4L);
828 gener->SetPtHard(20., 24.);
829 gener->SetPycellParameters(2., 274, 432, 0., 4., 5., 1.0);
830 gener->SetForceDecay(kAll);
837 AliGenPythia * gener =
new AliGenPythia(-1);
838 gener->SetEnergyCMS(5500.);
839 gener->SetProcess(kPyJets);
840 gener->SetJetEtaRange(-0.5, 0.5);
841 gener->SetJetPhiRange(0., 360.);
842 gener->SetJetEtRange(10., 1000.);
843 gener->SetGluonRadiation(1,1);
846 gener->SetStrucFunc(kCTEQ4L);
847 gener->SetPtHard(24., 29.);
848 gener->SetPycellParameters(2., 274, 432, 0., 4., 5., 1.0);
849 gener->SetForceDecay(kAll);
856 AliGenPythia * gener =
new AliGenPythia(-1);
857 gener->SetEnergyCMS(5500.);
858 gener->SetProcess(kPyJets);
859 gener->SetJetEtaRange(-0.5, 0.5);
860 gener->SetJetPhiRange(0., 360.);
861 gener->SetJetEtRange(10., 1000.);
862 gener->SetGluonRadiation(1,1);
865 gener->SetStrucFunc(kCTEQ4L);
866 gener->SetPtHard(29., 35.);
867 gener->SetPycellParameters(2., 274, 432, 0., 4., 5., 1.0);
868 gener->SetForceDecay(kAll);
875 AliGenPythia * gener =
new AliGenPythia(-1);
876 gener->SetEnergyCMS(5500.);
877 gener->SetProcess(kPyJets);
878 gener->SetJetEtaRange(-0.5, 0.5);
879 gener->SetJetPhiRange(0., 360.);
880 gener->SetJetEtRange(10., 1000.);
881 gener->SetGluonRadiation(1,1);
884 gener->SetStrucFunc(kCTEQ4L);
885 gener->SetPtHard(35., 42.);
886 gener->SetPycellParameters(2., 274, 432, 0., 4., 5., 1.0);
887 gener->SetForceDecay(kAll);
894 AliGenPythia * gener =
new AliGenPythia(-1);
895 gener->SetEnergyCMS(5500.);
896 gener->SetProcess(kPyJets);
897 gener->SetJetEtaRange(-0.5, 0.5);
898 gener->SetJetPhiRange(0., 360.);
899 gener->SetJetEtRange(10., 1000.);
900 gener->SetGluonRadiation(1,1);
903 gener->SetStrucFunc(kCTEQ4L);
904 gener->SetPtHard(42., 50.);
905 gener->SetPycellParameters(2., 274, 432, 0., 4., 5., 1.0);
906 gener->SetForceDecay(kAll);
913 AliGenPythia * gener =
new AliGenPythia(-1);
914 gener->SetEnergyCMS(5500.);
915 gener->SetProcess(kPyJets);
916 gener->SetJetEtaRange(-0.5, 0.5);
917 gener->SetJetPhiRange(0., 360.);
918 gener->SetJetEtRange(10., 1000.);
919 gener->SetGluonRadiation(1,1);
922 gener->SetStrucFunc(kCTEQ4L);
923 gener->SetPtHard(50., 60.);
924 gener->SetPycellParameters(2., 274, 432, 0., 4., 5., 1.0);
925 gener->SetForceDecay(kAll);
932 AliGenPythia * gener =
new AliGenPythia(-1);
933 gener->SetEnergyCMS(5500.);
934 gener->SetProcess(kPyJets);
935 gener->SetJetEtaRange(-0.5, 0.5);
936 gener->SetJetPhiRange(0., 360.);
937 gener->SetJetEtRange(10., 1000.);
938 gener->SetGluonRadiation(1,1);
941 gener->SetStrucFunc(kCTEQ4L);
942 gener->SetPtHard(60., 72.);
943 gener->SetPycellParameters(2., 274, 432, 0., 4., 5., 1.0);
944 gener->SetForceDecay(kAll);
951 AliGenPythia * gener =
new AliGenPythia(-1);
952 gener->SetEnergyCMS(5500.);
953 gener->SetProcess(kPyJets);
954 gener->SetJetEtaRange(-0.5, 0.5);
955 gener->SetJetPhiRange(0., 360.);
956 gener->SetJetEtRange(10., 1000.);
957 gener->SetGluonRadiation(1,1);
960 gener->SetStrucFunc(kCTEQ4L);
961 gener->SetPtHard(72., 86.);
962 gener->SetPycellParameters(2., 274, 432, 0., 4., 5., 1.0);
963 gener->SetForceDecay(kAll);
970 AliGenPythia * gener =
new AliGenPythia(-1);
971 gener->SetEnergyCMS(5500.);
972 gener->SetProcess(kPyJets);
973 gener->SetJetEtaRange(-0.5, 0.5);
974 gener->SetJetPhiRange(0., 360.);
975 gener->SetJetEtRange(10., 1000.);
976 gener->SetGluonRadiation(1,1);
979 gener->SetStrucFunc(kCTEQ4L);
980 gener->SetPtHard(86., 104.);
981 gener->SetPycellParameters(2., 274, 432, 0., 4., 5., 1.0);
982 gener->SetForceDecay(kAll);
989 AliGenPythia * gener =
new AliGenPythia(-1);
990 gener->SetEnergyCMS(5500.);
991 gener->SetProcess(kPyJets);
992 gener->SetJetEtaRange(-0.5, 0.5);
993 gener->SetJetPhiRange(0., 360.);
994 gener->SetJetEtRange(10., 1000.);
995 gener->SetGluonRadiation(1,1);
998 gener->SetStrucFunc(kCTEQ4L);
999 gener->SetPtHard(104., 125.);
1000 gener->SetPycellParameters(2., 274, 432, 0., 4., 5., 1.0);
1001 gener->SetForceDecay(kAll);
1008 AliGenPythia * gener =
new AliGenPythia(-1);
1009 gener->SetEnergyCMS(5500.);
1010 gener->SetProcess(kPyJets);
1011 gener->SetJetEtaRange(-0.5, 0.5);
1012 gener->SetJetPhiRange(0., 360.);
1013 gener->SetJetEtRange(10., 1000.);
1014 gener->SetGluonRadiation(1,1);
1017 gener->SetStrucFunc(kCTEQ4L);
1018 gener->SetPtHard(125., 150.);
1019 gener->SetPycellParameters(2., 274, 432, 0., 4., 5., 1.0);
1020 gener->SetForceDecay(kAll);
1027 AliGenPythia * gener =
new AliGenPythia(-1);
1028 gener->SetEnergyCMS(5500.);
1029 gener->SetProcess(kPyJets);
1030 gener->SetJetEtaRange(-0.5, 0.5);
1031 gener->SetJetPhiRange(0., 360.);
1032 gener->SetJetEtRange(10., 1000.);
1033 gener->SetGluonRadiation(1,1);
1036 gener->SetStrucFunc(kCTEQ4L);
1037 gener->SetPtHard(150., 180.);
1038 gener->SetPycellParameters(2., 274, 432, 0., 4., 5., 1.0);
1039 gener->SetForceDecay(kAll);
1046 AliGenPythia * gener =
new AliGenPythia(10);
1047 gener->SetProcess(kPyD0PbPbMNR);
1048 gener->SetStrucFunc(kCTEQ4L);
1049 gener->SetPtHard(2.1,-1.0);
1050 gener->SetEnergyCMS(5500.);
1051 gener->SetNuclei(208,208);
1052 gener->SetForceDecay(kHadronicD);
1053 gener->SetYRange(-2,2);
1054 gener->SetFeedDownHigherFamily(kFALSE);
1055 gener->SetStackFillOpt(AliGenPythia::kParentSelection);
1056 gener->SetCountMode(AliGenPythia::kCountParents);
1063 AliGenPythia * gener =
new AliGenPythia(10);
1064 gener->SetProcess(kPyCharmPbPbMNR);
1065 gener->SetStrucFunc(kCTEQ4L);
1066 gener->SetPtHard(2.1,-1.0);
1067 gener->SetEnergyCMS(5500.);
1068 gener->SetNuclei(208,208);
1069 gener->SetForceDecay(kSemiElectronic);
1070 gener->SetYRange(-2,2);
1071 gener->SetFeedDownHigherFamily(kFALSE);
1072 gener->SetCountMode(AliGenPythia::kCountParents);
1079 AliGenPythia *gener =
new AliGenPythia(10);
1080 gener->SetProcess(kPyBeautyPbPbMNR);
1081 gener->SetStrucFunc(kCTEQ4L);
1082 gener->SetPtHard(2.75,-1.0);
1083 gener->SetEnergyCMS(5500.);
1084 gener->SetNuclei(208,208);
1085 gener->SetForceDecay(kSemiElectronic);
1086 gener->SetYRange(-2,2);
1087 gener->SetFeedDownHigherFamily(kFALSE);
1088 gener->SetCountMode(AliGenPythia::kCountParents);
1095 AliGenCocktail *gener =
new AliGenCocktail();
1097 AliGenParam *phi =
new AliGenParam(10,
1098 new AliGenMUONlib(),
1099 AliGenMUONlib::kPhi,
1102 phi->SetPtRange(0, 100);
1103 phi->SetYRange(-1., +1.);
1104 phi->SetForceDecay(kDiElectron);
1106 AliGenParam *omega =
new AliGenParam(10,
1107 new AliGenMUONlib(),
1108 AliGenMUONlib::kOmega,
1111 omega->SetPtRange(0, 100);
1112 omega->SetYRange(-1., +1.);
1113 omega->SetForceDecay(kDiElectron);
1115 AliGenParam *jpsi =
new AliGenParam(10,
1116 new AliGenMUONlib(),
1117 AliGenMUONlib::kJpsiFamily,
1120 jpsi->SetPtRange(0, 100);
1121 jpsi->SetYRange(-1., +1.);
1122 jpsi->SetForceDecay(kDiElectron);
1124 AliGenParam *ups =
new AliGenParam(10,
1125 new AliGenMUONlib(),
1126 AliGenMUONlib::kUpsilonFamily,
1128 ups->SetPtRange(0, 100);
1129 ups->SetYRange(-1., +1.);
1130 ups->SetForceDecay(kDiElectron);
1132 AliGenParam *charm =
new AliGenParam(10,
1133 new AliGenMUONlib(),
1134 AliGenMUONlib::kCharm,
1136 charm->SetPtRange(0, 100);
1137 charm->SetYRange(-1.5, +1.5);
1138 charm->SetForceDecay(kSemiElectronic);
1141 AliGenParam *beauty =
new AliGenParam(10,
1142 new AliGenMUONlib(),
1143 AliGenMUONlib::kBeauty,
1145 beauty->SetPtRange(0, 100);
1146 beauty->SetYRange(-1.5, +1.5);
1147 beauty->SetForceDecay(kSemiElectronic);
1149 AliGenParam *beautyJ =
new AliGenParam(10,
1150 new AliGenMUONlib(),
1151 AliGenMUONlib::kBeauty,
1153 beautyJ->SetPtRange(0, 100);
1154 beautyJ->SetYRange(-1.5, +1.5);
1155 beautyJ->SetForceDecay(kBJpsiDiElectron);
1157 gener->AddGenerator(phi,
"Phi",1);
1158 gener->AddGenerator(omega,
"Omega",1);
1159 gener->AddGenerator(jpsi,
"J/psi",1);
1160 gener->AddGenerator(ups,
"Upsilon",1);
1161 gener->AddGenerator(charm,
"Charm",1);
1162 gener->AddGenerator(beauty,
"Beauty",1);
1163 gener->AddGenerator(beautyJ,
"J/Psi from Beauty",1);
1170 AliGenPythia *gener =
new AliGenPythia(-1);
1171 gener->SetEnergyCMS(5500.);
1172 gener->SetProcess(kPyJets);
1175 gener->SetYHard(-0.7,0.7);
1176 gener->SetJetEtaRange(-0.2,0.2);
1177 gener->SetEventListRange(0,1);
1184 AliGenPythia *gener =
new AliGenPythia(-1);
1185 gener->SetEnergyCMS(5500.);
1186 gener->SetProcess(kPyDirectGamma);
1189 gener->SetYHard(-1.0,1.0);
1190 gener->SetGammaEtaRange(-0.13,0.13);
1191 gener->SetGammaPhiRange(210.,330.);
1192 gener->SetEventListRange(0,1);
1199 AliGenMUONCocktail * gener =
new AliGenMUONCocktail();
1200 gener->SetPtRange(0.4,100.);
1201 gener->SetPhiRange(0.,360.);
1202 gener->SetYRange(-4.0,-2.4);
1203 gener->SetMuonPtCut(0.8);
1204 gener->SetMuonThetaCut(171.,178.);
1205 gener->SetMuonMultiplicity(2);
1206 gener->SetImpactParameterRange(0.,5.);
1213 AliGenMUONCocktail * gener =
new AliGenMUONCocktail();
1214 gener->SetPtRange(0.0,100.);
1215 gener->SetPhiRange(0.,360.);
1216 gener->SetYRange(-4.0,-2.4);
1217 gener->SetMuonPtCut(0.8);
1218 gener->SetMuonThetaCut(171.,178.);
1219 gener->SetMuonMultiplicity(2);
1220 gener->SetImpactParameterRange(5.,8.6);
1227 AliGenMUONCocktail * gener =
new AliGenMUONCocktail();
1228 gener->SetPtRange(0.0,100.);
1229 gener->SetPhiRange(0.,360.);
1230 gener->SetYRange(-4.0,-2.4);
1231 gener->SetMuonPtCut(0.8);
1232 gener->SetMuonThetaCut(171.,178.);
1233 gener->SetMuonMultiplicity(2);
1234 gener->SetImpactParameterRange(13.2,15.0);
1241 AliGenMUONCocktail * gener =
new AliGenMUONCocktail();
1242 gener->SetPtRange(0.0,100.);
1243 gener->SetPhiRange(0.,360.);
1244 gener->SetYRange(-4.0,-2.4);
1245 gener->SetMuonPtCut(2.5);
1246 gener->SetMuonThetaCut(171.,178.);
1247 gener->SetMuonMultiplicity(2);
1248 gener->SetImpactParameterRange(0.,5.);
1255 AliGenMUONCocktail * gener =
new AliGenMUONCocktail();
1256 gener->SetPtRange(0.0,100.);
1257 gener->SetPhiRange(0.,360.);
1258 gener->SetYRange(-4.0,-2.4);
1259 gener->SetMuonPtCut(2.5);
1260 gener->SetMuonThetaCut(171.,178.);
1261 gener->SetMuonMultiplicity(2);
1262 gener->SetImpactParameterRange(5.,8.6);
1269 AliGenMUONCocktail * gener =
new AliGenMUONCocktail();
1270 gener->SetPtRange(0.0,100.);
1271 gener->SetPhiRange(0.,360.);
1272 gener->SetYRange(-4.0,-2.4);
1273 gener->SetMuonPtCut(2.5);
1274 gener->SetMuonThetaCut(171.,178.);
1275 gener->SetMuonMultiplicity(2);
1276 gener->SetImpactParameterRange(13.2,15.0);
1283 AliGenMUONCocktail * gener =
new AliGenMUONCocktail();
1284 gener->SetPtRange(0.0,100.);
1285 gener->SetPhiRange(0.,360.);
1286 gener->SetYRange(-4.0,-2.4);
1287 gener->SetMuonPtCut(0.8);
1288 gener->SetMuonThetaCut(171.,178.);
1289 gener->SetMuonMultiplicity(1);
1290 gener->SetImpactParameterRange(0.,5.);
1297 AliGenMUONCocktail * gener =
new AliGenMUONCocktail();
1298 gener->SetPtRange(0.0,100.);
1299 gener->SetPhiRange(0.,360.);
1300 gener->SetYRange(-4.0,-2.4);
1301 gener->SetMuonPtCut(0.8);
1302 gener->SetMuonThetaCut(171.,178.);
1303 gener->SetMuonMultiplicity(1);
1304 gener->SetImpactParameterRange(5.,8.6);
1305 gener->SetNumberOfParticipants(229.3);
1312 AliGenMUONCocktail * gener =
new AliGenMUONCocktail();
1313 gener->SetPtRange(0.0,100.);
1314 gener->SetPhiRange(0.,360.);
1315 gener->SetYRange(-4.0,-2.4);
1316 gener->SetMuonPtCut(0.8);
1317 gener->SetMuonThetaCut(171.,178.);
1318 gener->SetMuonMultiplicity(1);
1319 gener->SetImpactParameterRange(13.2,15.0);
1354 AliGenCocktail *gener =
new AliGenCocktail();
1358 AliGenPythia * genpyc =
new AliGenPythia(230);
1359 genpyc->SetProcess(kPyCharmPbPbMNR);
1360 genpyc->SetStrucFunc(kCTEQ4L);
1361 genpyc->SetPtHard(2.1,-1.0);
1362 genpyc->SetEnergyCMS(5500.);
1363 genpyc->SetNuclei(208,208);
1364 genpyc->SetYRange(-999,999);
1365 genpyc->SetForceDecay(kAll);
1366 genpyc->SetFeedDownHigherFamily(kFALSE);
1367 genpyc->SetCountMode(AliGenPythia::kCountParents);
1370 AliGenPythia * genpyb =
new AliGenPythia(9);
1371 genpyb->SetProcess(kPyBeautyPbPbMNR);
1372 genpyb->SetStrucFunc(kCTEQ4L);
1373 genpyb->SetPtHard(2.75,-1.0);
1374 genpyb->SetEnergyCMS(5500.);
1375 genpyb->SetNuclei(208,208);
1376 genpyb->SetYRange(-999,999);
1377 genpyb->SetForceDecay(kAll);
1378 genpyb->SetFeedDownHigherFamily(kFALSE);
1379 genpyb->SetCountMode(AliGenPythia::kCountParents);
1383 AliGenSTRANGElib *lib =
new AliGenSTRANGElib();
1386 particle = kXiMinus;
1387 AliGenParam *genXi =
new AliGenParam(16,particle,lib->GetPt(particle),lib->GetY(particle),lib->GetIp(particle));
1388 genXi->SetPtRange(0., 12.);
1389 genXi->SetYRange(-1.1, 1.1);
1390 genXi->SetForceDecay(kNoDecay);
1394 particle = kOmegaMinus;
1395 AliGenParam *genOmega =
new AliGenParam(10,particle,lib->GetPt(particle),lib->GetY(particle),lib->GetIp(particle));
1396 genOmega->SetPtRange(0, 12.);
1397 genOmega->SetYRange(-1.1, 1.1);
1398 genOmega->SetForceDecay(kNoDecay);
1403 genHi->SwitchOffHeavyQuarks(kTRUE);
1404 genHi->SetImpactParameterRange(0.,5.);
1407 gener->AddGenerator(genHi,
"Hijing cent1", 1);
1408 gener->AddGenerator(genpyc,
"Extra charm", 1);
1409 gener->AddGenerator(genpyb,
"Extra beauty", 1);
1410 gener->AddGenerator(genXi,
"Xi" , 1);
1411 gener->AddGenerator(genOmega,
"Omega", 1);
1423 AliGenHijing *gener =
new AliGenHijing(-1);
1425 gener->SetEnergyCMS(5500.);
1427 gener->SetReferenceFrame(
"CMS");
1429 gener->SetProjectile(
"A", 208, 82);
1430 gener->SetTarget (
"A", 208, 82);
1432 gener->KeepFullEvent();
1434 gener->SetJetQuenching(1);
1436 gener->SetShadowing(1);
1438 gener->SetDecaysOff(1);
1440 gener->SetSpectators(0);
1442 gener->SetSelectAll(0);
1448 AliGenGeVSim* gener =
new AliGenGeVSim(0);
1454 Float_t sigma_eta = 2.75;
1457 Float_t etamax = 7.00;
1461 Float_t mm = mult * (TMath::Erf(etamax/sigma_eta/sqrt(2.)) / TMath::Erf(0.5/sigma_eta/sqrt(2.)));
1474 AliGeVSimParticle *pp =
new AliGeVSimParticle(kPiPlus, 1, 0.26 * mm, 0.25, sigma_eta) ;
1475 AliGeVSimParticle *pm =
new AliGeVSimParticle(kPiMinus, 1, 0.26 * mm, 0.25, sigma_eta) ;
1476 AliGeVSimParticle *p0 =
new AliGeVSimParticle(kPi0, 1, 0.26 * mm, 0.25, sigma_eta) ;
1479 AliGeVSimParticle *ks =
new AliGeVSimParticle(kK0Short, 1, 0.03 * mm, 0.30, sigma_eta) ;
1480 AliGeVSimParticle *kl =
new AliGeVSimParticle(kK0Long, 1, 0.03 * mm, 0.30, sigma_eta) ;
1481 AliGeVSimParticle *kp =
new AliGeVSimParticle(kKPlus, 1, 0.03 * mm, 0.30, sigma_eta) ;
1482 AliGeVSimParticle *km =
new AliGeVSimParticle(kKMinus, 1, 0.03 * mm, 0.30, sigma_eta) ;
1485 AliGeVSimParticle *pr =
new AliGeVSimParticle(kProton, 1, 0.05 * mm, 0.25, sigma_eta) ;
1486 AliGeVSimParticle *ne =
new AliGeVSimParticle(kNeutron, 1, 0.05 * mm, 0.25, sigma_eta) ;
1490 Float_t pTsaturation = 2. ;
1492 pp->SetEllipticParam(vn,pTsaturation,0.) ;
1493 pm->SetEllipticParam(vn,pTsaturation,0.) ;
1494 p0->SetEllipticParam(vn,pTsaturation,0.) ;
1495 pr->SetEllipticParam(vn,pTsaturation,0.) ;
1496 ne->SetEllipticParam(vn,pTsaturation,0.) ;
1497 ks->SetEllipticParam(vn,pTsaturation,0.) ;
1498 kl->SetEllipticParam(vn,pTsaturation,0.) ;
1499 kp->SetEllipticParam(vn,pTsaturation,0.) ;
1500 km->SetEllipticParam(vn,pTsaturation,0.) ;
1503 pp->SetDirectedParam(vn,1.0,0.) ;
1504 pm->SetDirectedParam(vn,1.0,0.) ;
1505 p0->SetDirectedParam(vn,1.0,0.) ;
1506 pr->SetDirectedParam(vn,1.0,0.) ;
1507 ne->SetDirectedParam(vn,1.0,0.) ;
1508 ks->SetDirectedParam(vn,1.0,0.) ;
1509 kl->SetDirectedParam(vn,1.0,0.) ;
1510 kp->SetDirectedParam(vn,1.0,0.) ;
1511 km->SetDirectedParam(vn,1.0,0.) ;
1514 gener->AddParticleType(pp) ;
1515 gener->AddParticleType(pm) ;
1516 gener->AddParticleType(p0) ;
1517 gener->AddParticleType(pr) ;
1518 gener->AddParticleType(ne) ;
1519 gener->AddParticleType(ks) ;
1520 gener->AddParticleType(kl) ;
1521 gener->AddParticleType(kp) ;
1522 gener->AddParticleType(km) ;
1525 TF1 *rpa =
new TF1(
"gevsimPsiRndm",
"1", 0, 360);
1527 gener->SetPtRange(0., 9.) ;
1528 gener->SetPhiRange(0, 360);
1533 gener->SetThetaRange(thmin,thmax);
1543 if (gSystem->Getenv(
"CONFIG_RUN_TYPE")) {
1544 for (Int_t iRun = 0; iRun <
kRunMax; iRun++) {
1545 if (strcmp(gSystem->Getenv(
"CONFIG_RUN_TYPE"),
pprRunName[iRun])==0) {
1547 cout<<
"Run type set to "<<
pprRunName[iRun]<<endl;
1553 if (gSystem->Getenv(
"CONFIG_SEED")) {
1554 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()
Float_t EtaToTheta(Float_t arg)
static void Message(UInt_t level, const char *message, const char *module, const char *className, const char *function, const char *file, Int_t line)
static AliMagF::BMap_t smag
AliDetector class for MUON subsystem providing simulation data management.
Forward Multiplicity Detector based on Silicon wafers. This class is the driver for especially simula...
void ProcessEnvironmentVars()
Forward Multiplicity Detector based on Silicon wafers.
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.)
void SetTriggerConfig(TString conf)
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()
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)
const char * pprRunName[]
AliGenGeVSim * GeVSimStandard(Float_t, Float_t)
EMCal simulation manager class v2.
const char * pprTrigConfName[]
AliGenerator * GeneratorFactory(PprRun_t srun)