3 // AliRoot Configuration for running aliroot with Monte Carlo.
4 // genExtFileConfig() includes the common setting for all MCs
5 // which has to be called after MC is instantiated.
6 // Called from MC specific configs (g3Config.C, g4Config.C).
8 // Extracted from G3 specific Config.C
9 // by I. Hrivnacova, IPN Orsay
12 Float_t EtaToTheta(Float_t arg);
13 AliGenerator* GeneratorFactory();
15 void genExtFileConfig(const TString& srun)
17 cout << "Running genExtFileConfig.C ... " << endl;
19 //=======================================================================
20 // Steering parameters for ALICE simulation
21 //=======================================================================
23 gMC->SetProcess("DCAY",1);
24 gMC->SetProcess("PAIR",1);
25 gMC->SetProcess("COMP",1);
26 gMC->SetProcess("PHOT",1);
27 gMC->SetProcess("PFIS",0);
28 gMC->SetProcess("DRAY",0);
29 gMC->SetProcess("ANNI",1);
30 gMC->SetProcess("BREM",1);
31 gMC->SetProcess("MUNU",1);
32 gMC->SetProcess("CKOV",1);
33 gMC->SetProcess("HADR",1);
34 gMC->SetProcess("LOSS",2);
35 gMC->SetProcess("MULS",1);
36 //gMC->SetProcess("RAYL",1);
38 Float_t cut = 1.e-3; // 1MeV cut by default
39 Float_t tofmax = 1.e10;
41 gMC->SetCut("CUTGAM", cut);
42 gMC->SetCut("CUTELE", cut);
43 gMC->SetCut("CUTNEU", cut);
44 gMC->SetCut("CUTHAD", cut);
45 gMC->SetCut("CUTMUO", cut);
46 gMC->SetCut("BCUTE", cut);
47 gMC->SetCut("BCUTM", cut);
48 gMC->SetCut("DCUTE", cut);
49 gMC->SetCut("DCUTM", cut);
50 gMC->SetCut("PPCUTM", cut);
51 gMC->SetCut("TOFMAX", tofmax);
53 //=======================================================================
55 //=======================================================================
57 // Set External decayer
58 AliDecayer *decayer = new AliDecayerPythia();
62 decayer->SetForceDecay(kHadronicD);
64 case kCharmSemiElPbPb5500:
65 decayer->SetForceDecay(kSemiElectronic);
67 case kBeautySemiElPbPb5500:
68 decayer->SetForceDecay(kSemiElectronic);
71 decayer->SetForceDecay(kAll);
75 gMC->SetExternalDecayer(decayer);
77 //=======================================================================
79 //=======================================================================
81 // External generator configuration
82 AliGenerator* gener = GeneratorFactory();
83 gener->SetOrigin(0, 0, 0); // vertex position
84 //gener->SetSigma(0, 0, 5.3); // Sigma in (X,Y,Z) (cm) on IP position
85 //gener->SetCutVertexZ(1.); // Truncate at 1 sigma
86 //gener->SetVertexSmear(kPerEvent);
87 gener->SetTrackingFlag(1);
90 cout << "Running genExtFileConfig.C finished ... " << endl;
93 Float_t EtaToTheta(Float_t arg){
94 return (180./TMath::Pi())*2.*atan(exp(-arg));
97 AliGenerator* GeneratorFactory() {
99 AliGenExtFile *gener = new AliGenExtFile(-1);
100 AliGenReaderTreeK * reader = new AliGenReaderTreeK();
102 reader->SetFileName("galice.root");
103 reader->AddDir("$ALICE_ROOT/test/vmctest/ppbench/gen");
104 gener->SetReader(reader);